[Insight-users] ITK example that sums multiple metaheader images

Stéphane CALANDE scalande at gmail.com
Wed Oct 22 08:58:31 EDT 2008


Thank you for the explanation of "Nary" ;-)

I'm not an expert... but to change something in the code I need
"itkNaryAddImageFilter*.cxx*" and not "itkNaryAddImageFilter*.h*" ?

Do I talk nonsense?



Thank you,

Stéphane




2008/10/22 Dan Mueller <dan.muel at gmail.com>

> Hi Stéphane,
>
> > - Why do you tell me about "NaryAddImageFilter" ? I was using
> > AddImageFilter.
> I mentioned NaryAddImageFilter in my first response to your question
> (which I see now I forgot to send to the mailing list).
>
> > What's the difference ?
> AddImageFilter takes 2 inputs, NaryAddImageFilter takes N inputs (ie.
> unary, binary, "n"-ary).
>
> > - I have no "NaryAddImageFilter.cxx" or "AddImageFilter.cxx" in my ITK
> > repertory. I didn't find it on the Internet either. Where can I find it
> if I
> > want to transform "Add" to "Mean" ?
> You will find it in Code\BasicFilters\itkNaryAddImageFilter.h.
>
> Hope this helps.
>
> Regards, Dan
>
> 2008/10/22 Stéphane CALANDE <scalande at gmail.com>:
> > Thank you Dan ;-)
> >
> > I have 2 questions :
> >
> > - Why do you tell me about "NaryAddImageFilter" ? I was using
> > AddImageFilter. What's the difference ?
> >
> > - I have no "NaryAddImageFilter.cxx" or "AddImageFilter.cxx" in my ITK
> > repertory. I didn't find it on the Internet either. Where can I find it
> if I
> > want to transform "Add" to "Mean" ?
> >
> >
> >
> > Have a nice day,
> >
> >
> >
> > Stéphane
> >
> >
> >
> > 2008/10/22 Dan Mueller <dan.muel at gmail.com>
> >>
> >> Hi Stéphane,
> >>
> >> Yes, good point: the MeanImageFilter will not work for multiple
> >> images. Sorry for the confusion, I did not think carefully enough
> >> before sending the email.
> >>
> >> You will either have to make your own NaryMeanImageFilter (similar to
> >> NaryAddImageFilter) or use the NaryAddImageFilter and the
> >> DivideImageFilter together.
> >>
> >> Regards, Dan
> >>
> >> 2008/10/22 Stéphane CALANDE <scalande at gmail.com>:
> >> > Thank you very much for your help Dan,
> >> >
> >> >
> >> > I tried "MeanImageFilter" but I'm not sure I can calculate the mean of
> >> > several images.
> >> > In fact, the functions SetInput1, SetInput2,... don't exist for
> >> > MeanImageFilter...
> >> >
> >> > Do you have some advice ?
> >> >
> >> >
> >> > Meanwhile, I'm going to try the DivideImageFilter.
> >> >
> >> >
> >> >
> >> > Thank you in advance,
> >> >
> >> >
> >> >
> >> > Stéphane
> >> >
> >> >
> >> >
> >> >
> >> > 2008/10/22 Dan Mueller <dan.muel at gmail.com>
> >> >>
> >> >> Hi Stéphane,
> >> >>
> >> >> You probably want the MeanImageFilter:
> >> >>    http://www.itk.org/Doxygen/html/classitk_1_1MeanImageFilter.html
> >> >>
> >> >> You can use it in the same way as the add image filter that Luis
> >> >> described in his reply to your original question.
> >> >>
> >> >>   reader->SetFileName( name[0] );
> >> >>   reader->Update();
> >> >>   ImageType::Pointer inputImage1 = reader->GetOutput();
> >> >>   mean->SetInput1( inputImage1 );
> >> >>
> >> >>   for( int i=1; i<numberOfFiles; i++)
> >> >>     {
> >> >>     reader->SetFileName( name[i] );
> >> >>     reader->Update();
> >> >>     ImageType::Pointer inputImage2 = reader->GetOutput();
> >> >>     inputImage2->DisconnectPipeline();
> >> >>     mean>SetInput2( inputImage2 );
> >> >>     mean->Update();
> >> >>     ImageType::Pointer sumImage = adder->GetOutput();
> >> >>     meanImage->DisconnectPipeline();
> >> >>     mean->SetInput1( meanImage );
> >> >>     }
> >> >>
> >> >>  // Here  meanImage has the output.
> >> >>
> >> >> Alternatively, you could use the DivideImageFilter after you have
> >> >> computed the sum:
> >> >>
> http://www.itk.org/Doxygen/html/classitk_1_1DivideImageFilter.html
> >> >>
> >> >> Hope this helps.
> >> >>
> >> >> Regards, Dan
> >> >>
> >> >> 2008/10/22 Stéphane CALANDE <scalande at gmail.com>:
> >> >> > Finally, I think that "itkAddImageFilter" is not what I need.
> >> >> >
> >> >> > Which function can I use to create a program that takes multiple 3D
> >> >> > images.mhd as input and create as output one 3D image.mhd
> containing
> >> >> > the
> >> >> > average(mean) of the multiple images ?
> >> >> >
> >> >> > Any help is appreciated...
> >> >> >
> >> >> >
> >> >> > Thank you !
> >> >> >
> >> >> >
> >> >> >
> >> >> > Stéphane
> >> >> >
> >> >> >
> >> >> >
> >> >> >
> >> >> > 2008/10/22 Stéphane CALANDE <scalande at gmail.com>
> >> >> >>
> >> >> >> Hi Luis, hi everybody...
> >> >> >>
> >> >> >>
> >> >> >> I have little problems with the program I created to add my images
> >> >> >> (see
> >> >> >> former mail) : in fact I badly expressed myself.
> >> >> >> I don't want a program that "sums" my 3D metaheaders images, but I
> >> >> >> want
> >> >> >> a
> >> >> >> program that give, as output, a file containing a MEAN of the
> >> >> >> images.
> >> >> >>
> >> >> >> If I have 10 images represented by different "grey-level", the
> image
> >> >> >> I
> >> >> >> want is an other "grey-level" one (but now the problem is that the
> >> >> >> output
> >> >> >> image is black and white, probably because of the SUM, isn't it?)
> >> >> >>
> >> >> >>
> >> >> >> Luis, I'd like to know if the program you gave me (just under this
> >> >> >> mail)
> >> >> >> can resolve that problem ?
> >> >> >>
> >> >> >> I'm trying to compile it but the variable "adder" is undeclared...
> >> >> >> What
> >> >> >> is
> >> >> >> the type of "adder" ? Can you help me ?
> >> >> >>
> >> >> >>
> >> >> >> Thank you very much !!
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> Stéphane
> >> >> >>
> >> >> >>
> >> >> >> 2008/10/16 Luis Ibanez <luis.ibanez at kitware.com>
> >> >> >>>
> >> >> >>> Hi Stéphane
> >> >> >>>
> >> >> >>> It should be relatively straight forward to implement this.
> >> >> >>>
> >> >> >>> Put the list of filenames in an array of std::strings called
> >> >> >>> "name" and do the following:
> >> >> >>>
> >> >> >>>
> >> >> >>>    reader->SetFileName( name[0] );
> >> >> >>>    reader->Update();
> >> >> >>>    ImageType::Pointer inputImage1 = reader->GetOutput();
> >> >> >>>    adder->SetInput1( inputImage1 );
> >> >> >>>
> >> >> >>>    for( int i=0; i<numberOfFiles; i++)
> >> >> >>>      {
> >> >> >>>      reader->SetFileName( name[i] );
> >> >> >>>      reader->Update();
> >> >> >>>      ImageType::Pointer inputImage2 = reader->GetOutput();
> >> >> >>>      inputImage2->DisconnectPipeline();
> >> >> >>>      adder->SetInput2( inputImage2 );
> >> >> >>>      adder->Update();
> >> >> >>>      ImageType::Pointer sumImage = adder->GetOutput();
> >> >> >>>      sumImage->DisconnectPipeline();
> >> >> >>>      adder->SetInput1( sumImage );
> >> >> >>>      }
> >> >> >>>
> >> >> >>>   // Here  sumImage has the output.
> >> >> >>>
> >> >> >>>
> >> >> >>> Note the use of the DisconnectPipeline() method, that
> >> >> >>> makes possible to reuse the reader and the adder filter.
> >> >> >>>
> >> >> >>>
> >> >> >>>
> >> >> >>> Regards,
> >> >> >>>
> >> >> >>>
> >> >> >>>   Luis
> >> >> >>>
> >> >> >>>
> >> >> >>> -------------------------
> >> >> >>> Stéphane CALANDE wrote:
> >> >> >>>>
> >> >> >>>> Hi,
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> I'm a newbie in ITK and I'm looking for a example of program
> that
> >> >> >>>> takes,
> >> >> >>>> as input, several 3D metaheader image (.mhd) having the same
> >> >> >>>> spacing,
> >> >> >>>> size,... and that "sums" these images to create one
> >> >> >>>> "total_Image.mhd"
> >> >> >>>> having
> >> >> >>>> the same size, spacing,... than the input ones.
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> Does it exist ?
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> Thank you very much.
> >> >> >>>>
> >> >> >>>>
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> Regards,
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> Stéphane
> >> >> >>>>
> >> >> >>>>
> >> >> >>>>
> >> >> >>>>
> >> >> >>>>
> ------------------------------------------------------------------------
> >> >> >>>>
> >> >> >>>> _______________________________________________
> >> >> >>>> Insight-users mailing list
> >> >> >>>> Insight-users at itk.org
> >> >> >>>> http://www.itk.org/mailman/listinfo/insight-users
> >> >> >>
> >> >> >
> >> >> >
> >> >> > _______________________________________________
> >> >> > Insight-users mailing list
> >> >> > Insight-users at itk.org
> >> >> > http://www.itk.org/mailman/listinfo/insight-users
> >> >> >
> >> >> >
> >> >
> >> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20081022/20b5d45e/attachment-0001.htm>


More information about the Insight-users mailing list