[Insight-users] ThresholdSegmentationLevelSet (itk)

Luis Ibanez luis.ibanez at kitware.com
Mon Apr 2 19:24:05 EDT 2012


Hi Abder


1) Your addition of the gradient anisotropic diffusion filter look OK.
2) You don't need to call Update() in the new filter. The pipeline
takes care of that.
3) You need to set the parameters of the smoothing filter.
     - conductance = 3.0
     - time step  = 0.05
     - number of iterations = 5 to 10


If you want to rate the segmentation you need
to do it in the context of a clinical application.

What is your clinical application ?

You will find examples of Command observers
in the ITK/Examples directory.

Also, please consult the ITK Software Guide

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



   Luis


---------------------------------------------
On Sun, Apr 1, 2012 at 1:07 PM, Abder-Rahman Ali
<abder.rahman.ali at gmail.com> wrote:
> Hi Luis,
>
> Thanks so much for your kind reply and explanation.
>
> The purpose of the segmentation here is to select the ascending aorta. Based
> on that, how much do you rate this segmentation?
>
> If I want to apply the "Gradient Anisotropic diffusion" filter for example
> for smoothing, would it be as I added it in the attached file. The
> modifications are on the following lines:
>
> 116, 199, 200, 297, 298, and 304
>
> Finally, you just mentioned that you have added a command observer. Where
> can I find this in code?
>
> Thanks a lot and appreciate your kind patience.
>
> Abder-Rahman
>
>
> On Sun, Apr 1, 2012 at 4:30 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>
>> Hi Abder
>>
>>
>> Your .cxx file had multiple bugs,
>> particularly in the use of the argv arguments.
>>
>> Please find attached a fixed version.
>>
>> A command observer has been added in order
>> to track the evolution of the level set.
>>
>> If you plot the output, you will see that the
>> RMS value start converging towards 600
>> iterations.
>>
>> The command line that I used to run it is.
>>
>> ./thresholdLS IM.mha output.mha 35 17 28 5 500 1000 1
>>
>> That is
>>
>> seed x,y,z =   35 17 28
>>
>> initial radius = 5
>>
>> lower threshold = 500
>> upper threshold = 1000
>>
>> curvature scaling  = 1
>>
>>
>> The aorta in this image have values around 550,
>> and it is the brightest object in the image, so,
>> choosing a lower threshold of 500, and  a very
>> high upper threshold captures the aorta.
>>
>>
>> ---
>>
>> Lateral comments:
>>
>>
>> 1) There is no such thing as the "best" value
>>    for any parameter in a segmentation.
>>
>>    We can only find values that are "good enough"
>>    for the task that you are pursuing.
>>
>>    The concept of "best value", or "best algorithm"
>>    is a distortion resulting from the decadent
>>    Publishing practices that had mislead the
>>    medical image community for many years,
>>    both in Journals and Conferences.
>>
>>    Unfortunately it continues to be propagated
>>    in our field, as a way of making possible to
>>    run conferences the way competitions are
>>    run in State Fairs... it is sad... really sad.
>>
>>
>> 2) Rating a segmentation is an exercise that
>>    only makes sense in the context of the
>>    application that you are going to give
>>    to the output segmentation.
>>
>>     Is this to implant a stent in the aorta ?
>>     Is this to deliver radiation treatment ?
>>     Is this to measure the diameter ?
>>
>>
>>
>>  Regards,
>>
>>
>>       Luis
>>
>>
>> -------------------------------------------------------------
>> On Fri, Mar 30, 2012 at 5:30 AM, Abder-Rahman Ali
>> <abder.rahman.ali at gmail.com> wrote:
>> > Hello,
>> >
>> > Sorry for bothering again...
>> >
>> > I just have a small question and thought you may have an idea on this,
>> > especially that I'm kind of new to segmentation.
>> >
>> > I'm using "ThresholdSegmentationLevelSet" on a 3D image as shown in the
>> > attached code. I also attached "IM.mha" which represents an ascending
>> > aorta.
>> >
>> > Please note that the seed point is (x=35, y=17,z=28).
>> >
>> > I just want to ask:
>> >
>> > - What would be the best choice of upper and lower thresholds?
>> > - What would be the best value for SetCurvatureScaling()?
>> > - If you want to rate how well this segmentation worked, how much will
>> > you
>> > give it on a scale of 1-10 (1:bad, 10=best)?
>> >
>> > Thanks a lot and apologize for my disturbance.
>> >
>> > Abder-Rahman
>
>


More information about the Insight-users mailing list