[Insight-users] distance to isosurface transform

Luis Ibanez luis.ibanez at kitware.com
Mon Oct 8 09:31:39 EDT 2007


Hi Sam,


You can achieve the same goal by doing the following:


1) Take the image with the isosurface, and threshold it
    using that Iso-value.

2) Take the binary image resulting from (1) and pass it
    as input to the MaurerSignedDistanceImageFilter


The resulting image will be a distance map to the location
of the Iso-Surface.


If you only need the distance in a small boundary close
to the Iso-surface, you could use the same filter that
most LevelSet filters use for this purpose:


       itkReinitializeLevelSetImageFilter


see its usage, for example, in the filter:


    Insight/Code/BasicFilters/
      itkBinaryMaskToNarrowBandPointSetFilter.h



   Regards,


       Luis



--------------------
Sam Preston wrote:
> Hi all,
> 
> I've been looking for a filter that, for every point in the output
> image, will compute the euclidean distance to the nearest point on an
> isosurface of the input image.  Actually, I don't need it for every
> point in the image, only for some arbitrary neighborhood around the
> isosurface.  This is very similar to the
> IsoContourDistanceImageFilter, but I need the distance computed for a
> neighborhood greater than one pixel wide, and haven't found a filter
> that can perform this operation in ITK.  I have a greyscale image, not
> a binary image, and need the distance to be sub-voxel accurate.
> 
> If such a filter doesn't exist, my plan is to extract the
> marching-cubes mesh of the isosurface, and for a neighborhood around
> each pixel (where the neighborhood includes an intersection with the
> isosurface), find the nearest distance to any of the extracted
> triangles generated from cells in the neighborhood.
> 
> Does such a filter already exist, and if not, is my implementation
> reasonable (even if not extremely fast)?
> 
> Thanks,
> 
> -Sam
> 


More information about the Insight-users mailing list