[Insight-users] Chest CT Segmentation

Luis Ibanez luis . ibanez at kitware . com
Thu, 11 Dec 2003 17:09:25 -0500


Hi Henky,

A) If you find any situation in which any of the plugins
    crashes we will very much appreciate if you send us a
    description of the operations you performed before the
    crash, so we can reproduce it and debug it.

B) FastMarching should work pretty well on lung data,
    I just segmented from from a CT using olny one seed
    point (3D marker) per lung and using parameters

     Sigma = 1
     Bottom of bassing = 0.1
     Lowest of basin border = 6

   Is your dataset in hounsfield units ?

   You probably only need to adjust the values of the lowest
   basin border to your particular data. You do that by
   computing the GradientMagnitude of the input image and
   looking at the numerical value of the weakest borders
   of the Lung.  This will be the "lowest of basing border".


C) About the ThresholdSegmentation plugin for VolView,
    this is a new plugin that is not included in binary
    on the current VolView release. You can simply download
    the source code from

            InsightApplications/VolviewPlugIns

    All the ITK plugins for VolView are available there in
    source code. One of the nice properties of the plugins
    is that you don't need to wait for a release of VolView
    in order to get new plugins. You simply compile them and
    put their DLLs in the VolView/Plugins directory.



D) ConfidenceConnected is also a good option. The only
    drawback of this method is that it is enough to have
    one bad pixel in the boundary of the structure to
    make the region leak to the outside.



If you plan to automate the placement of the seed points
for the lungs (which will be useful for both the Confidence
Connected and FastMarching) I would suggest you to do the
following:

1) figure out a range of values for hounsfield units in which
    the lungs fit. That is, find a range of intensity values
    describing the lungs. You can actually run manually the
    Confidence connected filter and at the end query its
    values of mean and variance. From them you can figure out
    good values for the range of intensity values.

2) Use this [lower,upper] intensity values for thresholding
    the input image, then compute connected components and
    take the two largest ones. Chances are that they will
    correspond to the lungs.  Then on each one of these two
    components you compute the position of the center of
    mass and use it as seed point for the segmentation method.


This depends a lot on how standards your datasets will be.
That is, are they going to cover always the same region of
the chest ?

Does your acquisition protocol define the limits of the scan ?

Another interesting option is to segment a dataset interactively,
then subsample it to a 1/4 of linear size and use it as an atlas
for the new datasets to be segmented.

When you get a new dataset, you register it with the atlas,
apply the transformation to the seed point coordinates that
you defined interactively the first time and use these transformed
coordinates for placing the seed points in the new dataset.

You may want to experiment with the registration plugin in VolView.
It is doing multi-resolution with 1:1/2:1/4 resolution levels for
same modality datasets.




Regards,


    Luis


----------------------
Henky Wibowo wrote:

> Hi Luis,
> 
> I have been trying to get the Watershed segmentation algorithm to work on my
> CT images, but it kept crashing Volview. I couldn't get Fast Marching to
> segment the lung region from the image. There is no
> ThresholdSegmentationLevelSet filter in Volview 2.0.
> 
> So I tried to use ConfidenceConnected region growing segmentation algorithm
> by planting 2 seeds in the middle of the lung region. That seemed to work
> real well. Now I need to figure out where to plant the seed without human
> intervention. I can hardcode several possible values, but it's not an
> elegant solution. Any suggestions?
> 
> Thanks,
> 
> Henky.
> 
> -----Original Message-----
> From: Luis Ibanez [mailto:luis . ibanez at kitware . com]
> Sent: Monday, December 08, 2003 6:20 PM
> To: henky at iatrogenix . com
> Cc: insight-users at itk . org
> Subject: Re: [Insight-users] Chest CT Segmentation
> 
> 
> 
> Hi Henky,
> 
> Here are some ITK algorithms that you may
> want to try out for segmenting Lung from CT.
> 
> 
> 1)  Watersheds.
>      Please look at the example in the software guide
> 
>      http://www . itk . org/ItkSoftwareGuide . pdf
> 
>      Section 9.2 pdf-page 356.
> 
>      You should compute the GradientMagnitude of the
>      CT image and then run Watersheds in this output.
> 
> 
> 2)  ThresholdSegmentationLevelSet
>      You will find this method described in
>      http://www . itk . org/ItkSoftwareGuide . pdf
>      Section 9.3.4, pdf-page 386.
> 
> 
> 
> 3)  FastMarchingLevelSet
>      It is described in Section 9.3.1, pdf-page 365.
>      http://www . itk . org/ItkSoftwareGuide . pdf
>      If you find that FastMarching produces leaks
>      you can move to refine the level set using
>      the GeodesicActiveContour filter described in
>      Section 9.3.3, pdf-page 380.
> 
> 
> 
> An easy way to experiment with these algorithms
> is ot use the free version of VolView and run
> the ITK plugins that you will find in the
> "View->Filters" menu.
> 
> You can download VolView for free from
> 
>    http://www . kitware . com/products/volview . html
> 
> Once you find good parameters for segmenting your data
> set you can reproduce a pipeline in your own application.
> 
> 
> You will also find useful to look at the applications
> available in the InsightApplications checkout.
> 
> In particular to:
> 
>    - The SegmentationEditor (Watershed)
>    - SNAP (manual segmentation + Level Sets)
> 
> 
> NOTE that LevelSet algorithms expect your data to be
> represented with isotropic pixels. Chest CT is usually
> anisotropic. You may want to use the program
> 
>   Insight/Examples/Filtering/ResampleVolumesToBeIsotropic.cxx
> 
> in order to convert your CT to isotropic pixels.
> 
> 
> 
> Please let us know if you have further questions,
> 
> 
> 
> Thanks,
> 
> 
> 
>     Luis
> 
> 
> 
> ------------------------------
> Henky Wibowo wrote:
> 
> 
>>Hello,
>>
>>Can anyone give me a suggestion as which segmentation algorithm would do
>>well in segmenting the lung region in a stack of CT scan?
>>
>>Thanks,
>>
>>Henky
>>
>>
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users at itk . org
>>http://www . itk . org/mailman/listinfo/insight-users
>>
> 
> 
> 
> 
>