Convert a narrow-band level set into a "full-band" level set

Hey all,

I have a narrow-band level set segmentation created from an ITK/VTK-based package (VMTK). However, I’d like to convert this narrow-band level set into a full-band, e.g., get a full distance field from the interpolated isocontour/zero-level set throughout the entire image volume. What is the best way to go about this? I’d specifically like to keep the exact same zero-level set/subvoxel precision, so I want to avoid any method that requires a binary mask conversion.

I’ve tried the IsoContourDistance filter using SimpleITK, but this only outputs another narrow-banded image.

Have you tried increasing NarrowBand’s Inner and Total Radius?

Hello @tossin,

Would a filter like the HausdorffDistanceImageFilterSimpleITK: itk::simple::HausdorffDistanceImageFilter Class Reference) meet your needs?

Hi,

Welcome to the ITK community! :sun_with_face:

The FastMarchingImageFilter may be of interest.

Hey all, thanks for the suggestions. I should mention that I’ve been primarily working in Python and SimpleITK, so there are probably many ITK filters/features that I’m unfamiliar with.

  • I haven’t tried manipulating the narrow band characteristics yet for IsoContourDistance. It seems narrow-band related classes and filters in general aren’t exposed in SimpleITK.
  • Re: HausdorffDistanceImageFilter, I think the HausdorffDistanceImageFilter works best with two images, but I’m only trying to take one image/level set and then extend the values.

Diving deeper into ITK, I think what I want specifically is itkReinitializeLevelSetImageFilter, which the documentation says uses FastMarchingImageFilter under the hood (and also LevelSetNeighborhoodExtractor, though it doesn’t seem to be available in Python). I’ll have to test it out to be sure.

This filter seems to be missing in SimpleITK. I’ll look into wrapping it today.

2 Likes

I have made a PR with new wrapping for the filter:

If testing goes smoothly and the PR is merged tonight. Then the filter will be available in the nightly “latest” binaries: