Class IntrinsicVolumesAnalyzer3D

java.lang.Object
All Implemented Interfaces:
Algo, AlgoListener, RegionAnalyzer<IntrinsicVolumesAnalyzer3D.Result>

public class IntrinsicVolumesAnalyzer3D
extends RegionAnalyzer3D<IntrinsicVolumesAnalyzer3D.Result>
implements AlgoListener
Computation of intrinsic volumes (Volume, Surface Area, Mean Breadth and Euler Number) for 3D binary or label images, based on the RegionAnalyzer3D interface. The IntrinsicVolumes3D class provides static classes to facilitate usage when no algorithm monitoring is necessary.
Author:
dlegland
See Also:
IntrinsicVolumes3D, IntrinsicVolumesAnalyzer2D
  • Constructor Details

    • IntrinsicVolumesAnalyzer3D

      public IntrinsicVolumesAnalyzer3D()
      Default empty constructor.
  • Method Details

    • volumeLut

      @Deprecated public static final double[] volumeLut​(ij.measure.Calibration calib)
      Deprecated.
      Parameters:
      calib - spatial calibration
      Returns:
      volume LUT
    • surfaceAreaLut

      @Deprecated public static final double[] surfaceAreaLut​(ij.measure.Calibration calib, int nDirs)
      Deprecated.
      Computes the Look-up table that is used to compute surface area.
      Parameters:
      calib - the spatial calibration of the image
      nDirs - the number of directions to consider, either 3 or 13
      Returns:
      the look-up-table between binary voxel configuration index and contribution to surface area measure
    • meanBreadthLut

      @Deprecated public static final double[] meanBreadthLut​(ij.measure.Calibration calib, int nDirs, int conn2d)
      Deprecated.
      Computes the Look-up table used to measure mean breadth within 3D images.
      Parameters:
      calib - the spatial calibration of image
      nDirs - the number of directions (3 or 13)
      conn2d - the connectivity to use on square faces of plane sections (4 or 8)
      Returns:
      a look-up table with 256 entries
    • eulerNumberLut

      @Deprecated public static final double[] eulerNumberLut​(int conn)
      Deprecated.
      Computes the look-up table for measuring Euler number in binary 3D image, depending on the connectivity. The input structure should not touch image border. See "3D Images of Material Structures", from J. Ohser and K. Schladitz, Wiley 2009, tables 3.2 p. 52 and 3.3 p. 53.
      Parameters:
      conn - the 3D connectivity, either 6 or 26
      Returns:
      a look-up-table with 256 entries
    • getDirectionNumber

      public int getDirectionNumber()
      Returns:
      the directionNumber used to compute surface area and mean breadth
    • setDirectionNumber

      public void setDirectionNumber​(int directionNumber)
      Parameters:
      directionNumber - the number of directions used to compute surface area and mean breadth (either 3 or 13, default is 13)
    • getConnectivity

      public int getConnectivity()
      Returns:
      the connectivity used to compute Euler number
    • setConnectivity

      public void setConnectivity​(int connectivity)
      Parameters:
      connectivity - the connectivity used to compute Euler number (either 6 or 26, default is 6)
    • createTable

      public ij.measure.ResultsTable createTable​(java.util.Map<java.lang.Integer,​IntrinsicVolumesAnalyzer3D.Result> results)
      Description copied from interface: RegionAnalyzer
      Utility method that converts the detailed results of the RegionAnalyzer.analyzeRegions(ImagePlus) method into an instance of ResultsTable to facilitate display by ImageJ.
      Specified by:
      createTable in interface RegionAnalyzer<IntrinsicVolumesAnalyzer3D.Result>
      Parameters:
      results - the mapping between each region label and the result of the analysis
      Returns:
      an instance of ResultsTable containing results presented in a tabular format.
    • analyzeRegions

      public IntrinsicVolumesAnalyzer3D.Result[] analyzeRegions​(ij.ImageStack image, int[] labels, ij.measure.Calibration calib)
      Description copied from class: RegionAnalyzer3D
      Computes an instance of the generic type T for each region in input label image.
      Specified by:
      analyzeRegions in class RegionAnalyzer3D<IntrinsicVolumesAnalyzer3D.Result>
      Parameters:
      image - the input 3D image containing label of particles
      labels - the array of labels within the image
      calib - the spatial calibration of the image
      Returns:
      an array of the type used to represent the analysis result of each region
    • algoProgressChanged

      public void algoProgressChanged​(AlgoEvent evt)
      Description copied from interface: AlgoListener
      The method devoted to manage the change in the progression of the algorithm.
      Specified by:
      algoProgressChanged in interface AlgoListener
      Overrides:
      algoProgressChanged in class RegionAnalyzer3D<IntrinsicVolumesAnalyzer3D.Result>
      Parameters:
      evt - the AlgoEvent instance containing info about the algorithm.
    • algoStatusChanged

      public void algoStatusChanged​(AlgoEvent evt)
      Description copied from interface: AlgoListener
      The method devoted to manage the change in the status of the algorithm.
      Specified by:
      algoStatusChanged in interface AlgoListener
      Overrides:
      algoStatusChanged in class RegionAnalyzer3D<IntrinsicVolumesAnalyzer3D.Result>
      Parameters:
      evt - the AlgoEvent instance containing info about the algorithm.