<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<STYLE>BODY {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana
}
PRE {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
BLOCKQUOTE {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
A {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
MENU {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
DD {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
UL {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
DT {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
DIR {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
ADDRESS {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
H5 {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
H6 {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
HR {
MARGIN-TOP: 0em; FONT-SIZE: 10pt; MARGIN-BOTTOM: 0em; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
P {
FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
TD {
FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
TR {
FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
P.MsoNormal {
FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
LI.MsoNormal {
FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
DIV.MsoNormal {
FONT-SIZE: 10pt; MARGIN: 0in 0in 6pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
LI {
MARGIN-TOP: 3pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
UL {
MARGIN-TOP: 3pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
OL {
MARGIN-TOP: 3pt; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3pt; COLOR: #000000; FONT-FAMILY: Verdana,Arial,sans-serif
}
H1 {
FONT-SIZE: 16pt; MARGIN: 12pt 0in 3pt; COLOR: #003366; FONT-FAMILY: Verdana,Arial,sans-serif
}
H2 {
FONT-SIZE: 14pt; MARGIN: 12pt 0in 3pt; COLOR: #003366; FONT-STYLE: italic; FONT-FAMILY: Verdana,Arial,sans-serif
}
H3 {
FONT-SIZE: 12pt; MARGIN: 12pt 0in 3pt; COLOR: #003366; FONT-FAMILY: Verdana,Arial,sans-serif
}
H4 {
FONT-SIZE: 11pt; MARGIN: 12pt 0in 3pt; COLOR: #003366; FONT-FAMILY: Verdana,Arial,sans-serif
}
</STYLE>
<META name=GENERATOR content="MSHTML 8.00.7600.16625"></HEAD>
<BODY style="FONT-FAMILY: Verdana; COLOR: #000000; FONT-SIZE: 10pt" id=ridBody
background="">
<DIV> </DIV>
<DIV align=left><SPAN class=193411606-22102010>Hi,</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010>I wrote a VTK filter and have
some questions to the design/pipeling:</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010>I made (or wanted to made) a
filter which takes at least two 3D images as input (maximum 4
inputs) and one image as output. Therefore i made:</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010>class MyFilter : public
vtkImageAlgorithm</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010>{</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010>
private:</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010>
<P><SPAN class=193411606-22102010>
</SPAN>MyFilter ()<SPAN class=193411606-22102010> {<FONT
color=#0000ff>this</FONT>->SetNumberOfInputPorts(<SPAN
class=193411606-22102010>2</SPAN>);}</SPAN></P></SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010>
public:</SPAN></DIV>
<DIV align=left><SPAN
class=193411606-22102010> void
SetImage1(vtkImageData* poImage){<FONT color=#0000ff><FONT
color=#0000ff>this</FONT></FONT>->SetInput(0, poImage);}</SPAN></DIV>
<DIV align=left><SPAN
class=193411606-22102010> void
SetImage2(vtkImageData* poImage){<FONT color=#0000ff><FONT
color=#0000ff>this</FONT></FONT>->SetInput(1, poImage);}</SPAN></DIV>
<DIV align=left><SPAN
class=193411606-22102010> void
SetImage3(vtkImageData* poImage)</SPAN><SPAN
class=193411606-22102010> </DIV>
<DIV align=left>
<P><SPAN class=193411606-22102010>
{</SPAN><SPAN class=193411606-22102010><FONT color=#0000ff><FONT
color=#0000ff></P>
<P><SPAN
class=193411606-22102010>
</SPAN>if</FONT></FONT>(<FONT color=#0000ff><FONT
color=#0000ff>this</FONT></FONT>->GetNumberOfInputPorts() < <SPAN
class=193411606-22102010>3</SPAN>)</P>
<P><FONT color=#0000ff><SPAN
class=193411606-22102010>
</SPAN>this</FONT>->SetNumberOfInputPorts(<SPAN
class=193411606-22102010>3</SPAN>);</P>
<P><FONT color=#0000ff><SPAN
class=193411606-22102010>
</SPAN>this</FONT>->SetInput(<SPAN class=193411606-22102010>2</SPAN>,
poImage);</P>
<P><SPAN class=193411606-22102010>
}</SPAN></P></SPAN></SPAN></DIV>
<DIV align=left><SPAN
class=193411606-22102010> void
SetImage4(vtkImageData* poImage)</SPAN></DIV>
<DIV align=left><SPAN
class=193411606-22102010> {<SPAN
class=193411606-22102010><FONT color=#0000ff><FONT color=#0000ff>
<P><SPAN
class=193411606-22102010>
</SPAN>if</FONT></FONT>(<FONT color=#0000ff><FONT
color=#0000ff>this</FONT></FONT>->GetNumberOfInputPorts() < <SPAN
class=193411606-22102010>4</SPAN>)</P>
<P><FONT color=#0000ff><SPAN
class=193411606-22102010>
</SPAN>this</FONT>->SetNumberOfInputPorts(<SPAN
class=193411606-22102010>4</SPAN>);</P>
<P><FONT color=#0000ff><SPAN
class=193411606-22102010>
</SPAN>this</FONT>->SetInput(<SPAN class=193411606-22102010>3</SPAN>,
poImage);</P>
<P><SPAN class=193411606-22102010>
}</SPAN></P>
<P><SPAN class=193411606-22102010> private:</SPAN></P>
<P><SPAN class=193411606-22102010> void
RequestData(....){...};</SPAN></SPAN></SPAN></P></DIV>
<DIV align=left><SPAN class=193411606-22102010>}</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010>The problem is that the input
images can have different sizes, e.g.:</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010>First image:
512x512x160</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010>Second image:
512x512x180</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010>Third image:
256x256x160</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010>Fourth image:
256x256x180</SPAN></DIV>
<DIV align=left><SPAN class=193411606-22102010></SPAN> </DIV>
<DIV align=left><SPAN class=193411606-22102010>When i print the input images in
RequestData i can see that Update Extent is larger than the Whole Extent, and
that Dimensions and Extent field is wrong (values from the first image)! Do i
need to specify anything more?</SPAN></DIV></BODY></HTML>