Package inra.ijpb.measure.region3d
Class IntrinsicVolumesAnalyzer3D
java.lang.Object
inra.ijpb.algo.AlgoStub
inra.ijpb.measure.region3d.RegionAnalyzer3D<IntrinsicVolumesAnalyzer3D.Result>
inra.ijpb.measure.region3d.IntrinsicVolumesAnalyzer3D
- 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
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
IntrinsicVolumesAnalyzer3D.Result
Inner class for storing results. -
Constructor Summary
Constructors Constructor Description IntrinsicVolumesAnalyzer3D()
Default empty constructor. -
Method Summary
Modifier and Type Method Description void
algoProgressChanged(AlgoEvent evt)
The method devoted to manage the change in the progression of the algorithm.void
algoStatusChanged(AlgoEvent evt)
The method devoted to manage the change in the status of the algorithm.IntrinsicVolumesAnalyzer3D.Result[]
analyzeRegions(ij.ImageStack image, int[] labels, ij.measure.Calibration calib)
Computes an instance of the generic type T for each region in input label image.ij.measure.ResultsTable
createTable(java.util.Map<java.lang.Integer,IntrinsicVolumesAnalyzer3D.Result> results)
Utility method that converts the detailed results of theRegionAnalyzer.analyzeRegions(ImagePlus)
method into an instance of ResultsTable to facilitate display by ImageJ.static double[]
eulerNumberLut(int conn)
Deprecated.int
getConnectivity()
int
getDirectionNumber()
static double[]
meanBreadthLut(ij.measure.Calibration calib, int nDirs, int conn2d)
Deprecated.useIntrinsicVolumes3DUtils
insteadvoid
setConnectivity(int connectivity)
void
setDirectionNumber(int directionNumber)
static double[]
surfaceAreaLut(ij.measure.Calibration calib, int nDirs)
Deprecated.useIntrinsicVolumes3DUtils
insteadstatic double[]
volumeLut(ij.measure.Calibration calib)
Deprecated.useIntrinsicVolumes3DUtils
insteadMethods inherited from class inra.ijpb.measure.region3d.RegionAnalyzer3D
analyzeRegions, analyzeRegions, computeTable, createMap
Methods inherited from class inra.ijpb.algo.AlgoStub
addAlgoListener, removeAlgoListener
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
IntrinsicVolumesAnalyzer3D
public IntrinsicVolumesAnalyzer3D()Default empty constructor.
-
-
Method Details
-
volumeLut
@Deprecated public static final double[] volumeLut(ij.measure.Calibration calib)Deprecated.useIntrinsicVolumes3DUtils
instead- Parameters:
calib
- spatial calibration- Returns:
- volume LUT
-
surfaceAreaLut
@Deprecated public static final double[] surfaceAreaLut(ij.measure.Calibration calib, int nDirs)Deprecated.useIntrinsicVolumes3DUtils
insteadComputes the Look-up table that is used to compute surface area.- Parameters:
calib
- the spatial calibration of the imagenDirs
- 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.useIntrinsicVolumes3DUtils
insteadComputes the Look-up table used to measure mean breadth within 3D images.- Parameters:
calib
- the spatial calibration of imagenDirs
- 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.useIntrinsicVolumes3DUtils
insteadComputes 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 theRegionAnalyzer.analyzeRegions(ImagePlus)
method into an instance of ResultsTable to facilitate display by ImageJ.- Specified by:
createTable
in interfaceRegionAnalyzer<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 classRegionAnalyzer3D<IntrinsicVolumesAnalyzer3D.Result>
- Parameters:
image
- the input 3D image containing label of particleslabels
- the array of labels within the imagecalib
- the spatial calibration of the image- Returns:
- an array of the type used to represent the analysis result of each region
-
algoProgressChanged
Description copied from interface:AlgoListener
The method devoted to manage the change in the progression of the algorithm.- Specified by:
algoProgressChanged
in interfaceAlgoListener
- Overrides:
algoProgressChanged
in classRegionAnalyzer3D<IntrinsicVolumesAnalyzer3D.Result>
- Parameters:
evt
- the AlgoEvent instance containing info about the algorithm.
-
algoStatusChanged
Description copied from interface:AlgoListener
The method devoted to manage the change in the status of the algorithm.- Specified by:
algoStatusChanged
in interfaceAlgoListener
- Overrides:
algoStatusChanged
in classRegionAnalyzer3D<IntrinsicVolumesAnalyzer3D.Result>
- Parameters:
evt
- the AlgoEvent instance containing info about the algorithm.
-
IntrinsicVolumes3DUtils
instead