[Insight-users] Liver segmentation from CT Images

Luis Ibanez luis.ibanez at kitware.com
Sun Sep 24 10:44:30 EDT 2006


Hi Rahul,


There is no such a thing as


                 "The Best Algorithm"


This concept is an intellectual aberration promoted by the
*decadence* of the Publishing system used in our community.


The phrase

               "Algorithm X is the Best"


Is actually a crude advertisement for Algorithm X, that only
promotes *ignorance* and *superstition* in our community.


Such a phrase should only be used in the conclusions of a paper
submitted to any of the reputation-based decadent Journals that
are not interested in following any scientific methodology, and
are only used for measuring "scientific productivity".



The correct expression to be used when addressing a scientific
community will read something like:


     When comparing Method A with Method B,
     implemented with the source code *provided* in appendix I,
     for the set of images *provided* in the appendix II,
     and the set of parameters *provided* in appendix III,
     we measured the following relative behaviors listed in Table I.



   In any other case, whoever tells you that algorithms X is
   "The Best", is simply trying to sell you a vacuum-cleaner.




Reporting that you


           "Tried algorithm A and algorithm B
            but didn't got a proper segmentation"


                 Is an *useless* claim.


It is not accompanied by the source code that you used,
It is not accompanied by the images that you are trying to segment
It is not accompanied by the "non-proper" segmentations that you got
It is not accompanied by the parameters that you used.


Do we know if there was a bug in the way you used the source code ?

Do we know if the parameters that you set in the filters were not
appropriate for that input image that you have ?

Do we know if what you call a non-proper segmentation, is not
too far of a good segmentation and just need some parameter fine
tunning ?


    There are many ways of using algorithms incorrectly...
    There are few ways of using them right.
    Reporting that one attempt failed,...
    doesn't really mean much.



-----


What you probably want is to find an algorithm that provides
a segmentation appropriate for the constrains of your clinical
application. Those constrains probably include


   a) A certain amount of user interaction
   b) A certain computation time
   c) A certain memory consumption
   d) A certain repeatability
   e) A certain precision


The two methods that you are suggesting are reasonable for
attempting a Liver segmentation out of CT data. You may want
to precede them with a noise reduction filter, such as the
MedianFilter, the CurvatureFlowImage filter or the Gradient
anisotropic filter.


Please look at the ITK Software Guide:

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

In particular to Section 6.7, "Smoothing Filters" in
pdf-pages 217-248, and to Section 6.6.2 "Median Filter"
in pdf-pages 201-203.


The two methods that you are considering are almost equivalent
in the sense that both of them perform a region growing, that
is controlled by the intensity range of the pixels to be admitted
in the region. The difference between the two methods is how they
arrive to find the intensity values of that range. In the
ThresholdSegmentationLevelSet you must provide those two
values, while in the Confidence connected you must provide
a multiplier of the standard deviation of intensities in the
Liver.

The ThresholdSegmentationLevelSet allows you to add a curvature
constrain that is not available in the ConfidenceConnected
image filter. However, the LevelSet filter requires you to
provide an initial Level Set, while the confidence connected
only requires you to provide some seed points.

In practice, you probably should use *both* of these filters
together, one after another. The confidence connected filter
will give you a fast but dirty segmentation, that you could
use as the initial level set to be passed to the Threshold
SegmentationLevelSet filter. Then you will refine the
segmentation using the level set filter.


Your full pipeline could look like:

   NoiseReduction--->ConfidenceConnected--->ThresholdLevelSet


Note that you probably want to set the intensity range of the
ThresholdLevelSet to be the same that was computed by the
ConfidenceConnected filter, so that the pipeline is consistent.



You may also want to look at the Application:


      InsightApplications/
          LiverTumorSegmentation


That provides an FLTK GUI for the filters


     ConfidenceConnected
     ConnectedThreshold
     ThresholdLevelSetSegmentation



Please let us know if you have other questions,




    Thanks



       Luis



===================
rahul kumar wrote:
> Hi All,
> i want to segement Liver from CT images. 
> What algorithm is best to do this? 
> I tried Region Grwoing(Confidence Connected) and Level
> Set( ThresholdSegmentationLevelSet) but didn't get
> proper segmentation.
> Thanks a lot.
> rahul
> 
> _______________________________________________
> 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