Class IntrinsicVolumes3DUtils

java.lang.Object
inra.ijpb.measure.region3d.IntrinsicVolumes3DUtils

public class IntrinsicVolumes3DUtils
extends java.lang.Object
Utility functions for classes that compute 3D intrinsic volumes measures.
Author:
dlegland
See Also:
IntrinsicVolumes3D
  • Method Summary

    Modifier and Type Method Description
    static double[] directionWeights3d13​(ij.measure.Calibration calib)
    Returns an array with seven values corresponding the unique direction vectors obtained with 13 directions.
    static double[] directionWeights3d3​(ij.measure.Calibration calib)
    Returns an array with seven values corresponding the unique direction vectors obtained with 3 directions.
    static double[] eulerNumberLut​(int conn)
    Computes the look-up table for measuring Euler number in binary 3D image, depending on the connectivity.
    static double[] meanBreadthLut​(ij.measure.Calibration calib, int nDirs, int conn2d)
    Computes the Look-up table used to measure mean breadth within 3D images.
    static double samplingVolume​(ij.ImageStack image, ij.measure.Calibration calib)
    Returns the "inner volume" of the 3D image, i.e. the calibrated volume of the image without taking into account the voxels at the border of the image.
    static double[] surfaceAreaLut​(ij.measure.Calibration calib, int nDirs)
    Computes the Look-up table that is used to compute surface area.
    static double[] volumeLut​(ij.measure.Calibration calib)
    Computes the Look-up table that is used to compute volume.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • volumeLut

      public static final double[] volumeLut​(ij.measure.Calibration calib)
      Computes the Look-up table that is used to compute volume.
      Parameters:
      calib - the spatial calibration of the image
      Returns:
      the look-up-table between binary voxel configuration index and contribution to volume measure
    • surfaceAreaLut

      public static final double[] surfaceAreaLut​(ij.measure.Calibration calib, int nDirs)
      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

      public static final double[] meanBreadthLut​(ij.measure.Calibration calib, int nDirs, int conn2d)
      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
    • directionWeights3d3

      public static final double[] directionWeights3d3​(ij.measure.Calibration calib)
      Returns an array with seven values corresponding the unique direction vectors obtained with 3 directions. The results simply consists in 1/3 for the three main directions, and 0 otherwise. The method is provided for the sake of homogeneity with directionWeights3d13.
      Parameters:
      calib - the spatial calibration of the 3D image
      Returns:
      an array of seven values, corresponding to the three isothetic, three plane diagonal, and one cube diagonal directions.
    • directionWeights3d13

      public static final double[] directionWeights3d13​(ij.measure.Calibration calib)
      Returns an array with seven values corresponding the unique direction vectors obtained with 13 directions.
      Parameters:
      calib - the spatial calibration of the 3D image
      Returns:
      an array of seven values, corresponding to the three isothetic, three plane diagonal, and one cube diagonal directions.
    • eulerNumberLut

      public static final double[] eulerNumberLut​(int conn)
      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
    • samplingVolume

      public static final double samplingVolume​(ij.ImageStack image, ij.measure.Calibration calib)
      Returns the "inner volume" of the 3D image, i.e. the calibrated volume of the image without taking into account the voxels at the border of the image.
      Parameters:
      image - the input 3D image
      calib - the spatial calibration of the image
      Returns:
      the calibrated volume of the portion of image witout border voxels