[Insight-users] EM with volumetric images in ITK

Luis Ibanez luis.ibanez at kitware.com
Tue Apr 24 17:15:04 EDT 2007


Hi Audette,


The code for Expectation Maximization using a Gaussian Mixture
Model should be indepented of the image dimension.


You may want to look at the Examples in the ITK Users Guide

     http://www.itk.org/ItkSoftwareGuide.pdf

In particular to Section 10.4.4.
" Expectation Maximization Mixture Model Estimation"
in pdf-pages 720-723.


In this example, a ListSample is used as input to the
classification framework.

In your case, you can replace the ListSample with the
combination of the two following classes:



   1) ImageToVectorImageFilter:
http://www.itk.org/Insight/Doxygen/html/classitk_1_1ImageToVectorImageFilter.html
              for combining your N scalar images
              into a single VectorImage of N components


   2) ImageToListAdaptor:
http://www.itk.org/Insight/Doxygen/html/classitk_1_1Statistics_1_1ImageToListAdaptor.html
              for presenting your image of
              N components as a ListSample.



With these two classes, the dimension of the image is
irrelevant.



BTW, You may also be interested in using the EM Module of Slicer.
You can download Slicer3  from :

             http://www.slicer.org/

A description of the Expectation Maximization module
can be found at:


    http://www.na-mic.org/Wiki/index.php/Slicer3:EM


A screenshot is available at:
http://www.na-mic.org/Wiki/images/b/b4/EMSegmentSlicer3_Segmentation.png


An example can be run using the Tutorial instructions in
http://wiki.na-mic.org/Wiki/index.php/Slicer3:EM#EMSegment_Tutorial


Note that the this EM module is more sophisticated in the
sense that it simultaneously perform: MRI bias correction,
segmentation, and registration of the datasets. This is
usually a nice combination, but, depending on the setup
of your problem, it may be more than what you need.



    Please let us know if you have further questions,



       Thanks


          Luis



---------------------
Audette, Michel wrote:
> Hi all, 
> 
> I am looking for a method, or an example, for running Expectation Maximization with Gaussian Mixtures on a 3D image volume. The one example, on a 2D image, that I find seems to define a histogram from the image, then use the histogram elements to comprise a sample over which runs the EM method, but I dont think that this is correct...
> 
>   for ( unsigned int i = 0 ; i < histogramSize ; ++i )
>     {
>        sample->PushBack( histogram->GetFrequency( bin, 0 ) );//0 is for first channel
>     }
> 
> I want to initialize the EM method with assistance from the histogram, but run EM with the actual data. 
> 
> If I use a sampling method looped over the 3 indices of the volume, the method seems to take a long time to run. Is there a way of using the input volume while limiting the complexity? 
> 
> Can anyone offer an example or suggestions? 
> 
> Best regards, 
> 
> 
> Michel Audette, Ph.D. 
> Innovation Center Computer Assisted Surgery (ICCAS) 
> Philipp-Rosenthal-Strasse 55
> Leipzig, Germany
> Phone: ++49 (0) 341 / 97 - 1 20 13
> Fax: ++49 (0) 341 / 97 - 1 20 09
> 
> 
>  
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 


More information about the Insight-users mailing list