Thank you very much for your help Dan,<br><br><br>I tried &quot;MeanImageFilter&quot; but I&#39;m not sure I can calculate the mean of several images.<br>In fact, the functions SetInput1, SetInput2,... don&#39;t exist for MeanImageFilter...<br>
<br>Do you have some advice ?<br><br><br>Meanwhile, I&#39;m going to try the DivideImageFilter.<br><br><br><br>Thank you in advance,<br><br><br><br>Stéphane<br><br><br><br><br><div class="gmail_quote">2008/10/22 Dan Mueller <span dir="ltr">&lt;<a href="mailto:dan.muel@gmail.com">dan.muel@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Stéphane,<br>
<br>
You probably want the MeanImageFilter:<br>
 &nbsp; &nbsp;<a href="http://www.itk.org/Doxygen/html/classitk_1_1MeanImageFilter.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1MeanImageFilter.html</a><br>
<br>
You can use it in the same way as the add image filter that Luis<br>
described in his reply to your original question.<br>
<div class="Ih2E3d"><br>
 &nbsp; reader-&gt;SetFileName( name[0] );<br>
 &nbsp; reader-&gt;Update();<br>
 &nbsp; ImageType::Pointer inputImage1 = reader-&gt;GetOutput();<br>
</div> &nbsp; mean-&gt;SetInput1( inputImage1 );<br>
<br>
 &nbsp; for( int i=1; i&lt;numberOfFiles; i++)<br>
<div class="Ih2E3d"> &nbsp; &nbsp; {<br>
 &nbsp; &nbsp; reader-&gt;SetFileName( name[i] );<br>
 &nbsp; &nbsp; reader-&gt;Update();<br>
 &nbsp; &nbsp; ImageType::Pointer inputImage2 = reader-&gt;GetOutput();<br>
 &nbsp; &nbsp; inputImage2-&gt;DisconnectPipeline();<br>
</div> &nbsp; &nbsp; mean&gt;SetInput2( inputImage2 );<br>
 &nbsp; &nbsp; mean-&gt;Update();<br>
<div class="Ih2E3d"> &nbsp; &nbsp; ImageType::Pointer sumImage = adder-&gt;GetOutput();<br>
</div> &nbsp; &nbsp; meanImage-&gt;DisconnectPipeline();<br>
 &nbsp; &nbsp; mean-&gt;SetInput1( meanImage );<br>
 &nbsp; &nbsp; }<br>
<br>
 &nbsp;// Here &nbsp;meanImage has the output.<br>
<br>
Alternatively, you could use the DivideImageFilter after you have<br>
computed the sum:<br>
 &nbsp; &nbsp;<a href="http://www.itk.org/Doxygen/html/classitk_1_1DivideImageFilter.html" target="_blank">http://www.itk.org/Doxygen/html/classitk_1_1DivideImageFilter.html</a><br>
<div class="Ih2E3d"><br>
Hope this helps.<br>
<br>
Regards, Dan<br>
<br>
</div>2008/10/22 Stéphane CALANDE &lt;<a href="mailto:scalande@gmail.com">scalande@gmail.com</a>&gt;:<br>
<div><div></div><div class="Wj3C7c">&gt; Finally, I think that &quot;itkAddImageFilter&quot; is not what I need.<br>
&gt;<br>
&gt; Which function can I use to create a program that takes multiple 3D<br>
&gt; images.mhd as input and create as output one 3D image.mhd containing the<br>
&gt; average(mean) of the multiple images ?<br>
&gt;<br>
&gt; Any help is appreciated...<br>
&gt;<br>
&gt;<br>
&gt; Thank you !<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Stéphane<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; 2008/10/22 Stéphane CALANDE &lt;<a href="mailto:scalande@gmail.com">scalande@gmail.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Hi Luis, hi everybody...<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I have little problems with the program I created to add my images (see<br>
&gt;&gt; former mail) : in fact I badly expressed myself.<br>
&gt;&gt; I don&#39;t want a program that &quot;sums&quot; my 3D metaheaders images, but I want a<br>
&gt;&gt; program that give, as output, a file containing a MEAN of the images.<br>
&gt;&gt;<br>
&gt;&gt; If I have 10 images represented by different &quot;grey-level&quot;, the image I<br>
&gt;&gt; want is an other &quot;grey-level&quot; one (but now the problem is that the output<br>
&gt;&gt; image is black and white, probably because of the SUM, isn&#39;t it?)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Luis, I&#39;d like to know if the program you gave me (just under this mail)<br>
&gt;&gt; can resolve that problem ?<br>
&gt;&gt;<br>
&gt;&gt; I&#39;m trying to compile it but the variable &quot;adder&quot; is undeclared... What is<br>
&gt;&gt; the type of &quot;adder&quot; ? Can you help me ?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Thank you very much !!<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Stéphane<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2008/10/16 Luis Ibanez &lt;<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi Stéphane<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; It should be relatively straight forward to implement this.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Put the list of filenames in an array of std::strings called<br>
&gt;&gt;&gt; &quot;name&quot; and do the following:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;reader-&gt;SetFileName( name[0] );<br>
&gt;&gt;&gt; &nbsp; &nbsp;reader-&gt;Update();<br>
&gt;&gt;&gt; &nbsp; &nbsp;ImageType::Pointer inputImage1 = reader-&gt;GetOutput();<br>
&gt;&gt;&gt; &nbsp; &nbsp;adder-&gt;SetInput1( inputImage1 );<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;for( int i=0; i&lt;numberOfFiles; i++)<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;{<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;reader-&gt;SetFileName( name[i] );<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;reader-&gt;Update();<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;ImageType::Pointer inputImage2 = reader-&gt;GetOutput();<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;inputImage2-&gt;DisconnectPipeline();<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;adder-&gt;SetInput2( inputImage2 );<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;adder-&gt;Update();<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;ImageType::Pointer sumImage = adder-&gt;GetOutput();<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;sumImage-&gt;DisconnectPipeline();<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;adder-&gt;SetInput1( sumImage );<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; // Here &nbsp;sumImage has the output.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Note the use of the DisconnectPipeline() method, that<br>
&gt;&gt;&gt; makes possible to reuse the reader and the adder filter.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Regards,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; Luis<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; -------------------------<br>
&gt;&gt;&gt; Stéphane CALANDE wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I&#39;m a newbie in ITK and I&#39;m looking for a example of program that takes,<br>
&gt;&gt;&gt;&gt; as input, several 3D metaheader image (.mhd) having the same spacing,<br>
&gt;&gt;&gt;&gt; size,... and that &quot;sums&quot; these images to create one &quot;total_Image.mhd&quot; having<br>
&gt;&gt;&gt;&gt; the same size, spacing,... than the input ones.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Does it exist ?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Thank you very much.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Regards,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Stéphane<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; ------------------------------------------------------------------------<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; Insight-users mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br>
&gt;&gt;&gt;&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Insight-users mailing list<br>
&gt; <a href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br>
&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>