[Insight-users] GeodesicActiveContourLevelSetImageFilter output- help needed

Gita das_gita at hotmail.com
Wed Jul 2 20:00:50 EDT 2008


Hallo All,

I am trying to use a GeodesicActiveContourLevelSetImageFilter to fine
tune my segmented image.
The segmented image is used as the initial level set and the raw scan
(after processed by Smoothing, Gradient Magnitude and Sigmoid filters)
is used as the feature image. A sigma value of 0.5 is used for Smoothing
filter. The values of alpha and beta (for Sigmoid filter) are -12 and 49
(as K1=85, k2=13 for the image at the output of GradientMagnitude
filter). The value of propagationScaling is 1.

The input images have been re-sampled to produce isotropic voxels and
the output pixel type has been set as float.

A portion of my code:

typedef  itk::GeodesicActiveContourLevelSetImageFilter<FType, FType >
GeodesicActiveContourFilterType;
  GeodesicActiveContourFilterType::Pointer geodesicActiveContour =  
GeodesicActiveContourFilterType::New();
  geodesicActiveContour->SetPropagationScaling( propagationScaling );
  geodesicActiveContour->SetCurvatureScaling( 1.0 );
  geodesicActiveContour->SetAdvectionScaling( 1.0 );
  geodesicActiveContour->SetMaximumRMSError( 0.02 );
  geodesicActiveContour->SetNumberOfIterations(800 );
  geodesicActiveContour->SetInput(inputSeg);//initial level set
  geodesicActiveContour->SetFeatureImage(sigmoid->GetOutput()
);//feature image
  geodesicActiveContour->Update();
  writeIm<FType> (geodesicActiveContour->GetOutput(), "geo.nii.gz");

Please find attached files for segmented and output images.

Q1: The output image geo.nii.gz i.e output of
GeodesicActiveContourLevelSetImageFilter) has a value of 4 in the
innermost region, then 1, then 0, then 1 and -4. Please see the attached
file. The contour having a value of 0 is rather closer to my initial
segmentation. The one with -4 makes the vessels much fatter. I thought I
should get a 0-value corresponding to boundary, +ve inside & -ve
outside. I do not understand why I get 1-0-1 layers. Although while
playing with the value of sigma I noticed significant changes in the
output. For ex. with sigma=3, 1-0-1 almost disappears from boundary as
seen in the attached image. However, for some slices I still get values
other than 4 in the inside region which leads to funny results. I tried
to change propagation, curvature and advection values as well as the
number of iterations. None of them had any effect on output except sigma.

How can I choose the parameters that will produce good segmentation.

Q2: Also, what determines the value of 4/-4? Is it determined by the
value of alpha and beta? I tried to use a different ratio but the output
is still the same.

Any help would be greatly appreciated.
Kind regards,
Gita Das
http://www.nabble.com/file/p18249367/geo.nii.gz geo.nii.gz 
http://www.nabble.com/file/p18249367/bourkeleft2_carotid_seg.nii.gz
bourkeleft2_carotid_seg.nii.gz 


-- 
View this message in context: http://www.nabble.com/GeodesicActiveContourLevelSetImageFilter-output--help-needed-tp18249367p18249367.html
Sent from the ITK - Users mailing list archive at Nabble.com.



More information about the Insight-users mailing list