[Insight-users] narrow band level set implementation in ITK?

Biswajit Bose cielbleu at csail.mit.edu
Thu Sep 21 22:18:08 EDT 2006


Thanks for the pointers. I looked at the code for these filters briefly, 
and it seems like they all compute the solution to a generic level-set 
equation, which is given in the ItkSoftwareGuide (v2.4) as equation 9.3 
on page 531. The right-hand side of this equation involves 3 terms, each 
of which depends on 'x', 'grad Psi' and curvature. In other words, the 
'speed function' (the time derivative of the evolving curve) is a 
function of position and curvature alone.

Unfortunately, my curve evolution problem is more 'global', since it 
requires terms which depend on functions of the interior and exterior of 
the curve. Therefore, in addition to local properties such as position 
and curvature, my speed function depends on global properties such as 
the average intensity in the interior and the exterior of the evolving 
curve. Such region-based formulations are potentially more robust to 
noise than edge-based formulations (e.g. see Yezzi et al., Journal of 
Visual Communication and Image Representation, Vol. 13, No. 1, March 
2002, http://ssg.mit.edu/group/atsai/Papers/JVCIR02.pdf)

So, my question to the itk-community is, could someone point me to the 
relevant class that I should modify to achieve what I want?

I have been trying to trace the class hierarchies using the Doxygen 
documentation
(starting from the itkNarrowBandLevelSetImageFilter and 
itkLaplacianSegmentationLevelSetFunction classes), but there seems to be 
multiple levels of inheritance, and I am losing track of all the base 
and derived class methods. So I'm hoping that someone who is familiar 
with the level set code can help me quickly find the function I'm 
looking for.

Thanks,
Bis


Luis Ibanez wrote:

>
> Hi Bis,
>
> Yes,
>
> There are filters in ITK based on the Narrow Band approach.
>
> You may want to look at
>
>
>   itkNarrowBandLevelSetImageFilter
>   itkNarrowBandCurvesLevelSetImageFilter
>   itkNarrowBandThresholdSegmentationLevelSetImageFilter
>
>
> You will find them in the directory:
>
>
>             Insight/Code/Algorithms
>
>
> Note that in ITK the level set filters they implemented by
> pairing a "LevelSetImageFilter" and a "LevelSetFunction".
>
>
> The LevelSet filters indeed recompute the Speed image. Look for
> example at itkLaplacianSegmentationLevelSetFunction.
>
>
> There is a large family of Level Set methods in ITK, it is likely
> that you will find one that is closer to the approach that you
> want to implement, and you may find possible to modify the code
> without large amounts of effort.
>
>
> Please let us know if you have further questions,
>
>
>    Thanks
>
>
>
>       Luis
>
>
>
> ===========================
> Biswajit Bose wrote:
>
>> Hi,
>>
>> Is there an implementation of the narrow-band level-set method in 
>> ITK? I wish to implement a region-based curve evolution algorithm 
>> similar to those of Tsai [1] and Kim et al. [2]  for separation of 
>> regions of an image based on differences in mean intensity. I have 
>> available the speed function for my problem, and am looking for 
>> level-set code into which I can plug in this function to solve the 
>> associated PDE.
>>
>> I know that ITK has a filter that implements the fast marching 
>> method, but my speed function is such that it cannot guarantee 
>> constant expansion of the contour from its initial position.
>>
>> Any pointers in this regard will be appreciated.
>>
>> Thanks,
>> Bis
>>
>> [1] Andy Tsai, Ph.D. thesis, MIT, 2000 
>> (http://ssg.mit.edu/group/alumni/atsai/Papers/PhDThesis.pdf)
>> [2] Junmo Kim, John Fisher III, Anthony Yezzi, Jr. and Mujdat Cetin 
>> (ICIP 2002, vol. 3, pp. 797-800)
>>
>
>


-- 
Biswajit Bose
Graduate Research Assistant
EECS/CSAIL, MIT



More information about the Insight-users mailing list