Class ChamferDistanceTransform3DFloat

java.lang.Object
inra.ijpb.algo.AlgoStub
inra.ijpb.binary.distmap.ChamferDistanceTransform3DFloat
All Implemented Interfaces:
Algo, ChamferDistanceTransform3D, DistanceTransform3D

public class ChamferDistanceTransform3DFloat
extends AlgoStub
implements ChamferDistanceTransform3D
Computes 3D distance transform on binary images using the chamfer weights provided by a ChamferMask3D object, and using 32-bits floating-point computation.
Author:
David Legland
  • Constructor Details

    • ChamferDistanceTransform3DFloat

      public ChamferDistanceTransform3DFloat​(ChamferMask3D mask)
      Creates a new algorithm for computing 3D distance maps on binary images based on a chamfer mask.
      Parameters:
      mask - the chamfer mask to use for propagating distances
    • ChamferDistanceTransform3DFloat

      public ChamferDistanceTransform3DFloat​(ChamferMask3D mask, boolean normalize)
      Creates a new algorithm for computing 3D distance maps on binary images based on a chamfer mask.
      Parameters:
      mask - the chamfer mask to use for propagating distances
      normalize - whether distance map should be normalized by the weight associated to orthogonal shifts
  • Method Details

    • mask

      public ChamferMask3D mask()
      Specified by:
      mask in interface ChamferDistanceTransform3D
      Returns:
      the chamfer mask used by this distance transform algorithm.
    • distanceMap

      public ij.ImageStack distanceMap​(ij.ImageStack image)
      Computes the distance map from a 3D binary image. Distance is computed for each foreground (white) pixel, as the chamfer distance to the nearest background (black) pixel.
      Specified by:
      distanceMap in interface DistanceTransform3D
      Parameters:
      image - a 3D binary image with white pixels (255) as foreground
      Returns:
      a new 3D image containing:
      • 0 for each background pixel
      • the distance to the nearest background pixel otherwise