Class GeodesicReconstruction3DHybrid1Image3D

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

public class GeodesicReconstruction3DHybrid1Image3D
extends GeodesicReconstruction3DAlgoStub

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

Performs forward and backward passes, then performs an additional forward pass only to initialize the queue, and finally processes all voxels in the queue.

Uses specialized class to access the values in 3D image stacks, by avoiding to check bounds at each access. Process all type of images by using double precision computation.

Author:
David Legland
  • Constructor Details

    • GeodesicReconstruction3DHybrid1Image3D

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

      public GeodesicReconstruction3DHybrid1Image3D​(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)
    • GeodesicReconstruction3DHybrid1Image3D

      public GeodesicReconstruction3DHybrid1Image3D​(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)
    • GeodesicReconstruction3DHybrid1Image3D

      public GeodesicReconstruction3DHybrid1Image3D​(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