Class GeodesicReconstruction3DHybrid0Float

java.lang.Object
inra.ijpb.algo.AlgoStub
inra.ijpb.morphology.geodrec.GeodesicReconstruction3DAlgoStub
inra.ijpb.morphology.geodrec.GeodesicReconstruction3DHybrid0Float
All Implemented Interfaces:
Algo, GeodesicReconstruction3DAlgo

public class GeodesicReconstruction3DHybrid0Float
extends GeodesicReconstruction3DAlgoStub

Geodesic reconstruction for 3D stacks of floats, using hybrid algorithm. This class manages both reconstructions by dilation and erosion.

This version first performs forward scan, then performs a backward scan that also add lower-right neighbors to the queue, and finally processes voxels in the queue. It is intended to work on float 3D images, using 6 or 26 adjacencies.

For efficiency, the stack of FloatProcessor objects corresponding to the 3D image is stored internally as float arrays, thus avoiding conversion induced by the ImageStack object.

Author:
David Legland
  • Constructor Details

    • GeodesicReconstruction3DHybrid0Float

      public GeodesicReconstruction3DHybrid0Float()
      Creates a new instance of geodesic reconstruction by dilation algorithm, using the default connectivity 6.
    • GeodesicReconstruction3DHybrid0Float

      public GeodesicReconstruction3DHybrid0Float​(GeodesicReconstructionType type)
      Creates a new instance of geodesic reconstruction by dilation algorithm, that specifies the type of reconstruction, and using the connectivity 6.
      Parameters:
      type - the type of reconstruction (erosion or dilation)
    • GeodesicReconstruction3DHybrid0Float

      public GeodesicReconstruction3DHybrid0Float​(GeodesicReconstructionType type, int connectivity)
      Creates a new instance of geodesic reconstruction by dilation algorithm, that specifies the type of reconstruction, and the connectivity to use.
      Parameters:
      type - the type of reconstruction (erosion or dilation)
      connectivity - the 3D connectivity to use (either 6 or 26)
    • GeodesicReconstruction3DHybrid0Float

      public GeodesicReconstruction3DHybrid0Float​(int connectivity)
      Creates a new instance of geodesic reconstruction by dilation algorithm, that specifies the connectivity to use.
      Parameters:
      connectivity - the 3D connectivity to use (either 6 or 26)
  • Method Details

    • getReconstructionType

      public GeodesicReconstructionType getReconstructionType()
      Returns:
      the reconstructionType
    • setReconstructionType

      public void setReconstructionType​(GeodesicReconstructionType reconstructionType)
      Parameters:
      reconstructionType - the reconstructionType to set
    • applyTo

      public ij.ImageStack applyTo​(ij.ImageStack marker, ij.ImageStack mask)
      Run the reconstruction by dilation algorithm using the images specified as argument.
      Parameters:
      marker - image used to initialize the reconstruction
      mask - image used to constrain the reconstruction
      Returns:
      the geodesic reconstruction of marker image constrained by mask image
    • applyTo

      public ij.ImageStack applyTo​(ij.ImageStack marker, ij.ImageStack mask, ij.ImageStack binaryMask)
      Run the reconstruction by dilation algorithm using the images specified as argument.
      Parameters:
      marker - image used to initialize the reconstruction
      mask - image used to constrain the reconstruction
      binaryMask - binary mask to restrict the region of application
      Returns:
      the geodesic reconstruction of marker image constrained by mask image