[Insight-users] Exact extraction of level-set surfaces -> how?

Luis Ibanez luis.ibanez at kitware.com
Tue, 16 Mar 2004 13:32:00 -0500


Hi Nils,

You will be ok with a simple linear interpolator
as long as you preprocess your image first with the

AntiAliasImageFilter
http://www.itk.org/Insight/Doxygen/html/classitk_1_1AntiAliasBinaryImageFilter.html

or

if you smooth the level-set surface with the 4th order
level set filter
http://www.itk.org/Insight/Doxygen/html/classitk_1_1AnisotropicFourthOrderLevelSetImageFilter.html


Note that "sub-pixel accuracy" is a virtual concept.
These methods will compute "inter-pixels positions".
Whether those positions coincide with the actual
boundary of an anatomical structure or not...
that's another issue that has to be explored through
validation/evaluation.


You may find interesting the description of the process
used for generating the image on the cover of the SoftwareGuide.
It involves surface extraction and surface smoothing with a
combination of ITK and VTK methods.


A short description of the methods used for the Cover
is available at:
http://www.itk.org/cgi-bin/cvsweb.cgi/InsightDocuments/SoftwareGuide/Latex/Cover.tex?cvsroot=Insight

and the code is available at:
http://www.itk.org/cgi-bin/cvsweb.cgi/InsightDocuments/SoftwareGuide/Cover/Source/?cvsroot=Insight



Note also that the AntiAlias image filter is available
as a plugin in VolView. You can download VolView for
free from:

    http://www.kitware.com/products/volview.html

It is a nice exercise to enable contours in the
"View" menu by selecting the level-set value as
the iso-contour value, and then run the AntiAlias
image filter plugin to see how the surface of the
level set gets smoothed.

The source code of the plugins is available at


    InsightApplications/VolviewPlugins


You can modify it and/or use it as a base for
creating new plugins.



Regards,


   Luis




---------------------
Nils Hanssen wrote:

> Hi,
>  
> in order to visualize small structures segmented with level-sets, I 
> would like to extract the exact surface position with subpixel accuracy. 
> Can anybody tell me
>  
> 1) which interpolation makes sense (linear, cubic, higher order, ...)
> 2) how I can achive such an interpolation in an efficient manner.
>  
>  
> Thank you very much for your help!
>  
>  
> Regards,
> Nils