[Insight-users] I need help on tuning Laplacian Level Set Segmentation (LaplacianSegmentationLevelSetImageFilter.cxx)

Dawood Masslawi masslawi at gmail.com
Thu Feb 3 21:15:37 EST 2011


Hi John,
I don't think performing the diffusion filter twice would be the 
source of the problem unless if its parameter settings would be 
extremely out of proportion.
For better convergence it is best to have a good initial estimation
of the level set as a seed image. Larger number of iterations alone
does not guarantee the convergence.
Basically using the diffusion filter improves the quality of the
segmentation, however over-diffusing the images can cause loss of 
details. 
You can use the resulting image (SpeedImage.mha) to determine that 
to what extent you want to diffuse the input image. Increasing the 
number of diffusion iterations and lower values for the conductance
will give a more diffused image.
Propagation weight determines the relative amount emphasis on 
the propagation speed and with higher values results in narrower 
surfaces, opposing to the curvature weight (curvature scaling) which 
with higher values gains smoother surfaces.
The isovalue I think is best to be assigned as halfway between the
maximum and minimum values in the seed image. 
Also, Premature elimination might be the result of the low maximum 
allowed RMS.
As for number of iterations for both diffusion and segmentation after
couple of tries and assigning different values you should be able to
find the best fit for your application.
Best regards,
Dawood

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Hi again,

>
> I have made some progress on my own by randomly selecting an isovalue of
> 0.5.  Now my level set segmentation is no longer pitted, but it has the same
> volume in mm^3 as the initially inputted fuzzy connectedness segmentation.
> It only performed one iteration and the RMS change was 0.0014962.  The
> maximum RMS error was set to 0.002 and the maximum number of iterations was
> set to 100. The number of diffusion iterations was set to 10, the diffusion
> conductance was set to 2.0, the propagation weight was set to 1.0, the
> initial model isovalue was set to 0.5, and the maximum number of iterations
> was set to 100.
>
> Any further advice is welcome.
>
>
Thanks,
>


> John
>


> On Thu, Feb 3, 2011 at 12:11 PM, John Drozd <john.drozd at gmail.com> wrote:
>
>> Hello,
>> I have performed a reasonable fuzzy connectedness segmentation (that I
>> modified to use multiple seeds) of lateral human brain ventricles in an MRI
>> brain image of a mildly cognitive impaired person that I obtained from the
>> ADNI database.
>> Prior to performing the fuzzy connectedness segmentation, I smoothed the
>> noise and enhanced the edges using an Anisotropic Diffusion filter.
>> I am trying to use this fuzzy connectedness segmentation as my initial
>> level set for a level set segmentation but when performing a Laplacian Level
>> Set segmentation, I get a pitted volume.
>> I think the following are my problems.
>> 1) When I load the label map from the fuzzy connectedness segmentation
>> into 3D Slicer to view it, I get Fg: None and Bg: 1 for the segmented
>> volume, and Fg: None and Bg: 0 for the black area that surrounds the
>> ventricles.  I think that I am setting my foreground and background values
>> incorrectly. I feel this is a problem because I need to specify an isovalue
>> midway between the foreground and background values.  I can send you my
>> fuzzy connectedness and Laplacian level set segmentation code if this would
>> help you be able to help me.  Also, the laplacian level set segmentation
>> performs anisotropic diffusion. Because I perform this prior to my fuzzy
>> connectedness segmentation, I am essentially performing anisotropic
>> diffusion twice.  Could this be a problem?
>> 2) Also, how do you run the level set segmentation to go to convergence.
>> Do you just input a large maximum number of iterations?
>> 3) Also how can I use the outputted "speedImage.mha" figure to help me
>> tune my parameters for "DiffusionIterations", "DiffusionConductance",
>> "PropagationWeight", "InitialModelIsovalue" and "MaximumIterations".  I can
>> send you the speed image as well.
>> 4) Also, the level set segmentation only performs 1 iteration eventhough I
>> specified a maximum 100 iterations.  Should I use a smaller RMS error than
>> 0.002?
>>
>> Any help would be appreciated.
>>
>> Thanks for your time,
>>
>> John
>>
>> --
>> John Drozd
>> Post-Doctoral Fellow, Robarts Research Institute
>> The University of Western Ontario
>> London, ON, Canada
>>


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110203/fc0fc4c4/attachment.htm>


More information about the Insight-users mailing list