Hi.<br><br>I just send this for anyone that could be interrested in the itkNaryMeanImageFilter created for my problem.<br><br>There was a little problem of types. <br>With the code of &quot;itkNaryMeanImageFilter&quot; that was given in the former mail, if you wanted to calculate the mean of a lot of images, there was an overflow of the variable &quot;AccumulatorType mean = NumericTraits&lt; TOutput &gt;::Zero;&quot; in the &quot;for&quot; :<br>
<br><span style="font-family: courier new,monospace;">for( unsigned int i=0; i&lt; input.size(); i++ )</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp; </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp; mean += static_cast&lt; TOutput &gt;(input[i])</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp; </span><br>
<br>Even I divied &quot;static_cast&lt; TOutput &gt;(input[i])&quot; by the number of images in the &quot;for&quot;, I had till problems (some parts of the image were black)<br><br>Thats why I replace that part of the code by that one :<br>
<br><br><span style="font-family: courier new,monospace;">//AccumulatorType mean = NumericTraits&lt; TOutput &gt;::Zero;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">long double total = 0;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp; for( unsigned int i=0; i&lt; input.size(); i++ )</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp; </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;//mean += (static_cast&lt; TOutput &gt;(input[i])) / input.size() ;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;total += static_cast&lt; TOutput &gt;(input[i]) ;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp; //return static_cast&lt;TOutput&gt;( mean );</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp; total = total / input.size();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp; return static_cast&lt;TOutput&gt;( total );</span><br>
<br><br><br>I give you here the final code of itkNaryMeanImageFilter that works + my program that take multiple mhd images and that give as output the mean of that images (Sorry the &quot;cout&quot; are in French ;-) ) <br>
<br>I hope it will be useful for anyone interrested...<br><br><br><br>Stéphane.<br><br><br><span style="font-family: courier new,monospace;">/*=========================================================================</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;Program:&nbsp;&nbsp; Insight Segmentation &amp; Registration Toolkit</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;Module:&nbsp;&nbsp;&nbsp; $RCSfile: itkNaryMeanImageFilter.h,v $</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;Language:&nbsp; C++</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;Date:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $Date$</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;Version:&nbsp;&nbsp; $Revision$</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;Copyright (c) Insight Software Consortium. All rights reserved.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;See ITKCopyright.txt or <a href="http://www.itk.org/HTML/Copyright.htm">http://www.itk.org/HTML/Copyright.htm</a> for details.</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; This software is distributed WITHOUT ANY WARRANTY; without even</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; PURPOSE.&nbsp; See the above copyright notices for more information.</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">=========================================================================*/</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">#ifndef __itkNaryMeanImageFilter_h</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">#define __itkNaryMeanImageFilter_h</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">#include &quot;itkNaryFunctorImageFilter.h&quot;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">#include &quot;itkNumericTraits.h&quot;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">namespace itk</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">{</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/** \class NaryMeanImageFilter</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;* \brief Implements an operator for pixel-wise mean of N images.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;*</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;* This class is parametrized over the types of the two</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;* input images and the type of the output image.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;* Numeric conversions (castings) are done by the C++ defaults.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;*</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;* The pixel type of the input 1 image must have a valid defintion of</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;* the operator+ with a pixel type of the image 2. This condition is</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;* required because internally this filter will perform the operation</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;*</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sum of input pixels / number of inputs</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;*</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;* Additionally the type resulting from the mean, will be cast to</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;* the pixel type of the output image.</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;*</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;* The total operation over one pixel will be</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;*</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;*&nbsp; output_pixel = static_cast&lt;OutputPixelType&gt;( sum of input pixels /</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">num inputs )</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;*</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;* \warning No numeric overflow checking is performed in this filter.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;*</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;* \ingroup IntensityImageFilters&nbsp; Multithreaded</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;*/</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">namespace Functor {</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">template&lt; class TInput, class TOutput &gt;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">class Mean</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">{</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">public:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;typedef typename NumericTraits&lt; TInput &gt;::AccumulateType AccumulatorType;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;Mean() {}</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;~Mean() {}</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;inline TOutput operator()( const std::vector&lt; TInput &gt; &amp; input )</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;{&nbsp;&nbsp; </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp; long double total = 0;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp; for( unsigned int i=0; i&lt; input.size(); i++ )</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;total += static_cast&lt; TOutput &gt;(input[i]) ;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp; total = total / input.size();</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp; return static_cast&lt;TOutput&gt;( total );</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;}</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;bool operator== (const Mean&amp;) const</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;{</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp; return true;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;}</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;bool operator!= (const Mean&amp;) const</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;{</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp; return false;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;}</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">};</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">}</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">template &lt;class TInputImage, class TOutputImage&gt;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">class ITK_EXPORT NaryMeanImageFilter :</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp; public</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">NaryFunctorImageFilter&lt;TInputImage,TOutputImage,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Functor::Mean&lt;typename TInputImage::PixelType,</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">typename TInputImage::PixelType &gt; &gt;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">{</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">public:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;/** Standard class typedefs. */</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;typedef NaryMeanImageFilter&nbsp; Self;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;typedef NaryFunctorImageFilter&lt;TInputImage,TOutputImage,</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Functor::Mean&lt;typename TInputImage::PixelType,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; typename TInputImage::PixelType&nbsp; &gt; &gt;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Superclass;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;typedef SmartPointer&lt;Self&gt;&nbsp;&nbsp; Pointer;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;typedef SmartPointer&lt;const Self&gt;&nbsp; ConstPointer;</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;/** Method for creation through the object factory. */</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;itkNewMacro(Self);</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;/** Runtime information support. */</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;itkTypeMacro(NaryMeanImageFilter,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NaryFunctorImageFilter);</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">#ifdef ITK_USE_CONCEPT_CHECKING</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;/** Begin concept checking */</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;itkConceptMacro(InputConvertibleToOutputCheck,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp; (Concept::Convertible&lt;typename TInputImage::PixelType,</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; typename TOutputImage::PixelType&gt;));</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;itkConceptMacro(InputHasZeroCheck,</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp; (Concept::HasZero&lt;typename TInputImage::PixelType&gt;));</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;/** End concept checking */</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">#endif</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">protected:</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;NaryMeanImageFilter() {}</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;virtual ~NaryMeanImageFilter() {}</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">private:</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;NaryMeanImageFilter(const Self&amp;); //purposely not implemented</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;void operator=(const Self&amp;); //purposely not implemented</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">};</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">} // end namespace itk</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">#endif</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">**********************************************************************************************************************************************<br>
**********************************************************************************************************************************************<br>**********************************************************************************************************************************************<br>
<br><br><br><span style="font-family: courier new,monospace;">&nbsp;#include &quot;itkImage.h&quot;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;#include &quot;itkImageFileReader.h&quot;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;#include &quot;itkImageFileWriter.h&quot; </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;#include &quot;itkImageIOBase.h&quot;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;#include &quot;itkNaryMeanImageFilter.h&quot;</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;int main( int argc, char * argv[] )</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;{</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;if( argc &lt; 4 )</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;{</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;std::cerr &lt;&lt; &quot;Usage: &quot; &lt;&lt; std::endl;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;std::cerr &lt;&lt; argv[0] &lt;&lt; &quot; Image1.mhd Image2.mhd [ImageX.mhd]* NomImageOutput.mhd&quot; &lt;&lt; std::endl;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;return EXIT_FAILURE;</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;}</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;typedef&nbsp;&nbsp; signed short PixelType; // être sûr que c&#39;est le bon type !!&nbsp; </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;typedef itk::Image&lt; PixelType, 3 &gt; ImageType;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;typedef itk::ImageFileReader&lt; ImageType &gt; ReaderType;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;typedef itk::ImageFileWriter&lt; ImageType &gt; WriterType;</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;typedef itk::NaryMeanImageFilter&lt; ImageType,</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; ImageType &gt; MeanFilterType;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;int nbImages = argc - 2;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;ReaderType::Pointer reader = ReaderType::New();</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;MeanFilterType::Pointer addition = MeanFilterType::New();</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;std::cout &lt;&lt; std::endl;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;for (int i = 0 ; i &lt; nbImages ; i++)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">{&nbsp;&nbsp;&nbsp; </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; reader-&gt;SetFileName( argv[i+1] );</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; reader-&gt;Update();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; ImageType::Pointer input = reader-&gt;GetOutput();</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; input-&gt;DisconnectPipeline();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; addition-&gt;SetInput( i , input );&nbsp;&nbsp;&nbsp; </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; &quot;Image n°&quot; &lt;&lt; i+1 &lt;&lt; &quot; [&quot; &lt;&lt; argv[i+1] &lt;&lt; &quot;] ajoutée&quot; &lt;&lt; std::endl &lt;&lt; std::endl;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">}</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;addition-&gt; Update();</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;WriterType::Pointer writer = WriterType::New();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;writer-&gt;SetFileName( argv[nbImages+1] );</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;writer-&gt;SetInput(addition-&gt;GetOutput());</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;std::cout &lt;&lt; &quot;Ecriture du fichier...&quot; &lt;&lt; std::endl &lt;&lt; std::endl;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;writer-&gt;Update();</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;std::cout &lt;&lt; &quot;Fichier &#39;&quot; &lt;&lt; argv[nbImages+1] &lt;&lt; &quot;&#39; créé&quot; &lt;&lt; std::endl;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;return EXIT_SUCCESS;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;}</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">&nbsp;</span><br style="font-family: courier new,monospace;"><br>