[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