ImageDev

- Getting Started
- ImageDev Python
- ImageDev C#
- ImageDev C++
- Licensing Information
- Redistributable Files
- Processing
- Image Manipulation
- - Synthetic Images
  - - RandomImage2d
    - RandomImage3d
    - RandomGaussianImage2d
    - RandomGaussianImage3d
    - RadialFunctionImage2d
    - RadialFunctionImage3d
    - OrientedLinesImage2d
    - OrientedLinesImage3d
    - RandomSphereImage3d
    - BoxGridImage2d
    - BoxGridImage3d
    - WedgeMaskImage3d
    - PointSpreadFunctionImage3d
  - Image Editing
  - - ConvertImage
    - ResetImage
    - CopyImage
    - PasteImage2d
    - PasteImage3d
    - CropImage2d
    - CropImage3d
    - SampleImage2d
    - SampleImage3d
    - InterlaceFrames2d
    - DeinterlaceFrames2d
  - Stack Operations
  - - SequenceConcatenation
    - SequenceToMultispectral
    - SequenceToVolume
    - VolumeToSequence
    - MultispectralToSequence
    - GetSliceFromVolume3d
    - SetSliceToVolume3d
    - GetObliqueSliceFromVolume3d
    - ImageStackProjection3d
    - VolumeProjection3d
- Geometry And Matching
- - Geometric Transforms
  - - Shearing3d
    - TranslateImage2d
    - TranslateImage3d
    - Flip2d
    - Flip3d
    - FlipImage2d
    - FlipImage3d
    - TransposeImage2d
    - TransposeImage3d
    - SwapQuadrants
    - Rotate2d
    - Rotate3d
    - RotationGenerator3d
    - Resize2d
    - Resize3d
    - RescaleByFactor
    - RescaleImageByFactor
    - ResampleAffine2d
    - ResampleAffine3d
    - ResampleElastic2d
    - SurfaceUnfolding3d
  - Pattern Recognition
  - - BinaryCorrelation2d
    - CrossCorrelation2d
    - CorrelationByDifference2d
    - CorrelationBySignChange2d
  - Registration
  - - ImagePrealignment3d
    - AffineRegistration
    - ElasticRegistration2d
- Arithmetic And Logic
- - Arithmetical Operations
  - - AbsoluteValue
    - AbsoluteMaximumWithImage
    - ArithmeticOperationWithImage
    - ArithmeticOperationWithValue
    - BlendWithImage
    - BlendWithValue
    - DirectionalBlending2d
    - CombineByMask
    - ImageFormula
    - EigenDecomposition2d
    - EigenDecomposition3d
  - Logical Operations
  - - MaskImage
    - LogicalOperationWithImage
    - LogicalOperationWithValue
    - LogicalNot
    - InvertImage
    - BitShift
- Image Filtering
- - Grayscale Transforms
  - - RescaleIntensity
    - StackRescaleIntensity
    - MatchContrast
    - HistogramEqualization
    - Clahe2d
    - Clahe3d
    - AdaptiveHistogramEqualization
    - ApplyGrayscaleLut
    - BackgroundImage2d
    - RadialBackgroundImage2d
    - ShadingCorrection
    - Exponential
    - Logarithm
    - Square
    - SquareRoot
    - RingArtifactRemoval3d
    - BeamHardeningCorrection3d
  - Color Transforms
  - - ColorToLightness
    - GetColorChannel
    - ColorToGrayscale
    - GrayscaleToColor
    - ColorSpaceConversion
    - ColorAntialiasing2d
    - BayerToRgb2d
    - DecorrelationStretch2d
    - BlendAlphaChannelWithImage
    - BlendAlphaChannelWithValue
  - Smoothing And Denoising
  - - BoxFilter2d
    - BoxFilter3d
    - MedianFilter2d
    - MedianFilter3d
    - GaussianFilter2d
    - GaussianFilter3d
    - ExponentialFilter2d
    - RecursiveExponentialFilter2d
    - RecursiveExponentialFilter3d
    - NonLocalMeansFilter2d
    - NonLocalMeansFilter3d
    - CurvatureDrivenDiffusion
    - BilateralFilter2d
    - BilateralFilter3d
    - MajorityFilter2d
    - MajorityFilter3d
    - SigmaFilter2d
    - SigmaFilter3d
    - Despeckle2d
    - Despeckle3d
    - NagaoFilter2d
    - NagaoFilter3d
    - SnnFilter2d
    - SnnFilter3d
    - FlowInpainting
  - Sharpening
  - - Deblurring2d
    - Delineate2d
    - Delineate3d
    - UnsharpMasking2d
    - UnsharpMasking3d
    - Shade2d
    - RichardsonLucyDeconvolution
  - Texture Filters
  - - MeanFilter2d
    - MeanFilter3d
    - VarianceFilter2d
    - VarianceFilter3d
    - SkewnessFilter2d
    - SkewnessFilter3d
    - KurtosisFilter2d
    - KurtosisFilter3d
    - ContrastFilter2d
    - ContrastFilter3d
    - VariationFilter2d
    - VariationFilter3d
    - EnergyFilter2d
    - EnergyFilter3d
    - EntropyFilter2d
    - EntropyFilter3d
    - AutocorrelationFilter
    - LocalAutocorrelationFilter2d
    - ImageCurvature2d
    - ImageCurvature3d
    - StructureEnhancementFilter2d
    - StructureEnhancementFilter3d
    - ScaleSpaceLogFilter2d
    - ScaleSpaceLogFilter3d
  - Frequency Domain
  - - ComplexFft
    - ComplexFftInverse
    - ComplexCenteredFft
    - ComplexCenteredFftInverse
    - CartesianToPolar2d
    - PolarToCartesian2d
    - ConvolutionWithImage
    - ConvolutionWithImage2d
    - RadialFrequencyFilter2d
    - GaborFiltering2d
- Edge Detection
- - Gradient
  - - GradientOperator2d
    - GradientOperator3d
    - VectorToMagnitude2d
    - VectorToMagnitude3d
    - GradientVector2d
    - GradientVector3d
    - GradientMagnitude2d
    - GradientMagnitude3d
    - MorphologicalGradient2d
    - MorphologicalGradient3d
    - RadialGradientCentered2d
    - RadialGradientCentered3d
    - RadialGradientContour2d
    - RadialGradientContour3d
    - RadialGradientLabel2d
    - RadialGradientLabel3d
  - Laplacian
  - - DobFilter2d
    - DobFilter3d
    - MorphologicalLaplacian
    - RecursiveLaplacian2d
    - RecursiveLaplacian3d
  - Other Derivatives
  - - GaussianDerivative2d
    - GaussianDerivative3d
    - GaussianHessianMatrix2d
    - GaussianHessianMatrix3d
    - GaussianGradientTensor2d
    - GaussianGradientTensor3d
  - Edge Marking
  - - ImageLocalMaxima2d
    - ImageLocalMaxima3d
    - RidgeDetection
    - ZeroCrossings2d
    - DijkstraShortestPath2d
    - EigenvaluesToStructureness2d
    - EigenvaluesToStructureness3d
    - TensorVoting2d
    - CannyEdgeDetector2d
    - CannyEdgeDetector3d
- Image Segmentation
- - Binarization
  - - Thresholding
    - ThresholdingByCriterion
    - AutoThresholdingBright
    - AutoThresholdingDark
    - ColorThresholding
    - TopHat
    - FeatureAdaptiveThresholding
    - AdaptiveThresholding2d
    - AdaptiveThresholding3d
    - HysteresisThresholding
  - Labeling
  - - Labeling2d
    - Labeling3d
    - ReorderLabels
    - AssignLabel
    - AddObjectToLabel
    - GroupCloseLabelsl2d
  - Feature Selection
  - - KillBorder2d
    - KillBorder3d
    - RemoveSmallSpots
    - ObjectBoundaries
    - BinarySmoothing2d
    - BinarySmoothing3d
    - LabelInterfaces
  - Separating And Filling
  - - FillHoles2d
    - FillHoles3d
    - RemoveSmallHoles
    - FillImageBorder3d
    - ExpandLabelBoundaries
    - SeparateObjects
    - HExtremaWatershed
    - SeparateObjectsByBlock
    - HExtremaWatershedByBlock
    - ConvexHull2d
  - Region Growing
  - - MarkerBasedWatershed2d
    - MarkerBasedWatershed3d
    - MarkerBasedWatershedByBlock
    - MarkerBasedWatershedBasinsByBlock
    - ExpandLabelsOnBackground
    - FloodFillThreshold2d
    - FloodFillThreshold3d
    - Waterpixel
  - Computational Geometry
  - - PolylineResampler2d
    - PolylineResampler3d
    - PolylineExtrusion3d
    - SurfaceFitting3d
- Mathematical Morphology
- - Erosion And Dilation
  - - Erosion2d
    - Erosion3d
    - Dilation2d
    - Dilation3d
    - ErosionDisk2d
    - ErosionDisk3d
    - ErosionBall3d
    - DilationDisk2d
    - DilationDisk3d
    - DilationBall3d
    - ErosionLine2d
    - ErosionLine3d
    - DilationLine2d
    - DilationLine3d
    - ErosionColor2d
    - DilationColor2d
    - SelectiveErosion2d
    - SelectiveErosion3d
    - SelectiveDilation2d
    - SelectiveDilation3d
  - Opening And Closing
  - - Opening2d
    - Opening3d
    - Closing2d
    - Closing3d
    - OpeningDisk2d
    - OpeningDisk3d
    - OpeningBall3d
    - ClosingDisk2d
    - ClosingDisk3d
    - ClosingBall3d
    - OpeningLine2d
    - OpeningLine3d
    - ClosingLine2d
    - ClosingLine3d
    - OpeningLineMaximum
    - ClosingLineMinimum
    - OpeningColor2d
    - ClosingColor2d
    - OpeningByReconstruction2d
    - OpeningByReconstruction3d
    - ClosingByReconstruction2d
    - ClosingByReconstruction3d
    - OpeningDiskByReconstruction2d
    - OpeningBallByReconstruction3d
    - ClosingDiskByReconstruction2d
    - ClosingBallByReconstruction3d
    - SelectiveOpening2d
    - SelectiveOpening3d
    - SelectiveClosing2d
    - SelectiveClosing3d
  - Hit Or Miss And Skeleton
  - - Skeleton
    - Centerline3d
    - InfluenceZones
    - Centroid2d
    - EndPoints2d
    - EndPoints3d
    - Pruning2d
    - Pruning3d
    - IsolatedPoints2d
    - IsolatedPoints3d
    - TriplePoints2d
    - InteriorPoints2d
    - ApplyMorphologicalLut2d
    - ApplyMorphologicalLut3d
  - Geodesic Transformations
  - - ReconstructionFromMarkers2d
    - ReconstructionFromMarkers3d
    - GrayscaleReconstruction2d
    - GrayscaleReconstruction3d
    - GrayscaleFillHoles2d
    - GrayscaleFillHoles3d
    - HExtrema2d
    - HExtrema3d
    - RegionalExtrema2d
    - RegionalExtrema3d
    - UltimateErosion
  - Distance Maps
  - - DistanceMap2d
    - DistanceMap3d
    - EuclideanDistanceMap3d
    - EuclideanDistanceMap2d
    - GeodesicDistanceMap
    - ClosestBoundaryPoints2d
    - ClosestBoundaryPoints3d
    - TimeMap
    - LocalThicknessMap3d
    - GeodesicPropagation2d
    - GeodesicMaxima
    - GeodesicMinima
- Image Analysis
- - Image Measurements
  - - BinaryAnalysis
    - Area2d
    - Area3d
    - IntensityIntegral2d
    - IntensityIntegral3d
    - ObjectCount
    - DistanceMean2d
    - EulerNumber2d
    - EulerNumber3d
    - FractalDimension
    - CurvatureIntegrals3d
  - Image Statistics
  - - IntensityExtrema
    - IntensityStatistics
    - IntensityMaskedStatistics
    - IntensityHistogram
    - IntensityBinHistogram
    - AutoThresholdingValue
    - CompareImage
    - CompareValue
    - SimilarityMetricValue
    - SsimValue2d
    - SsimValue3d
    - RegionSimilarity
    - RadialIntensityProfile2d
    - RadialIntensityProfile3d
    - CylindricalIntensityProfile3d
    - RadialAutocorrelationProfile
    - Cooccurrence2d
    - MeasureGaussianNoise
    - LocalMaxima2d
    - LocalMaxima3d
    - PeakExtractor
    - LocalDensityMap2d
    - LocalDensityMap3d
    - SegmentationMetrics
  - Individual Measurements
  - - VolumeFractionByLabel
    - LabelCountByRegion
    - VolumeFractionByRegion
    - LabelAnalysis
    - LabelFiltering
    - LabelFilteringAnalysis
    - FilterAnalysis
    - MeasurementToImage
    - FilterByMeasurement
    - SieveLabeling
  - Moments And Orientations
  - - MomentsOfInertia2d
    - MomentsOfInertia3d
    - InertiaMoment2d
    - Eccentricity2d
    - OrientationMapFourier3d
    - OrientationMatchingFourier3d
  - Morphometry
  - - ObjectVolume
    - TotalImageVolume
    - ObjectBoundaryArea
    - TotalImageBoundaryArea
    - AverageObjectAreaPerSlice3d
    - AverageObjectCountPerSlice3d
    - ObjectImageRatio
    - ObjectSpecificSurface
    - ObjectSurfaceDensity
    - PorosityPercentage3d
    - FragmentationIndex
    - StructureModelIndex3d
    - AverageObjectThickness3d
    - AverageSpaceThickness3d
    - ObjectLinearDensity3d
    - DegreeOfAnisotropy
  - Propagation
  - - AxisPropagationBinary3d
    - AxisPropagationBinaryWithSeeds3d
    - AxisPropagationLabel3d
    - AxisPropagationLabelWithSeeds3d
    - AxisPropagationDistance3d
    - EstimateShortestPath3d
    - PercolationThreshold3d
    - AxisConnectivity3d
    - CentroidPathTortuosity3d
- Machine Learning
- - Classification
  - - AutoSegmentation3Phases
    - AutoIntensityClassification
    - SupervisedTextureClassification2d
    - SupervisedTextureClassification3d
    - TextureClassificationCreate
    - TextureClassificationTrain
    - TextureClassificationApply
  - Deep learning
  - - OnnxPredictionFiltering2d
    - OnnxPredictionFiltering3d
    - OnnxPredictionSegmentation2d
    - OnnxPredictionSegmentation3d
    - OnnxPredictionTwoOutputs2d
    - OnnxPredictionTwoOutputs3d
- Business Application
- - Dental
  - - DentalWallSegmentation3d
    - DentalMeshExtraction3d
    - DentalUnfolding3d
- IO
- - Image Data
  - - ReadVipImage
    - WriteVipImage
  - Algebraic Data
  - - ReadArrayXd
    - ReadArrayXi64
    - WriteArrayXd
    - WriteArrayXi64
  - Model
  - - ReadOnnxModel
- CUDA
- - Geometry And Matching
  - - CudaCrossCorrelation2d
    - CudaTemplateMatching3d
  - Image Filtering
  - - CudaBoxFilter2d
    - CudaMedianFilter2d
    - CudaGaussianFilter3d
    - CudaAdaptiveManifoldNlmFilter
  - Mathematical Morphology
  - - CudaErosion2d
    - CudaDilation2d
    - CudaOpening2d
    - CudaClosing2d
- Utilities
- Initialization
- Processing
- Syntax Check
- Visualization
- Data Object
- Image Data
- Kernels
- - MorphologicalKernel2d
  - MorphologicalKernel3d
  - MorphologicalLut2d
  - MorphologicalLut3d
- Model
- - TextureClassificationModel
  - OnnxModel
- Global Measurements
- - Image Measurements
  - - Area2dMsr
    - Area3dMsr
    - IntensityIntegral2dMsr
    - IntensityIntegral3dMsr
    - ObjectCountMsr
    - DistanceMeanMsr
    - Euler2dMsr
    - Euler3dMsr
    - FractalMsr
    - CurvatureIntegralsMsr
  - Image Statistics
  - - IntensityExtremaMsr
    - StatisticsMsr
    - IntensityHistogramMsr
    - IntensityBinHistogramMsr
    - CompareMsr
    - SimilarityMetricValueMsr
    - SsimValueMsr
    - RegionSimilarityMsr
    - SegmentationMetricsObjectMsr
    - SegmentationMetricsImageMsr
    - CylindricalIntensityProfileMsr
    - RadialIntensityProfileMsr
    - CorrelationMsr
    - CoocurrrenceMsr
    - GaussianNoiseMsr
    - LocalMaximaMsr
    - PeakExtractorMsr
  - Individual Measurements
  - - VolumeFractionByLabelMsr
    - LabelCountByRegionMsr
    - VolumeFractionByRegionMsr
  - Moments And Orientations
  - - MomentsOfInertia2dMsr
    - MomentsOfInertia3dMsr
    - MeanInertiaMomentMsr
    - Eccentricity2dMsr
    - LocalOrientation3dMsr
  - Morphometry
  - - ObjectVolumeMsr
    - ImageVolumeMsr
    - ObjectBoundaryAreaMsr
    - ImageBoundaryAreaMsr
    - AverageObjectAreaPerSliceMsr
    - AverageObjectCountPerSliceMsr
    - ObjectImageRatioMsr
    - ObjectSpecificSurfaceMsr
    - ObjectSurfaceDensityMsr
    - PorosityPercentageMsr
    - FragmentationMsr
    - StructureModelIndexMsr
    - AverageObjectThicknessMsr
    - AverageSpaceThicknessMsr
    - ObjectLinearDensityMsr
    - AnisotropyDegreeMsr
  - Propagation
  - - AxisPropagationBinary3dMsr
    - AxisPropagationLabel3dMsr
    - AxisPropagationDistance3dMsr
    - PercolationThreshold3dMsr
    - CentroidTortuosity3dMsr
  - Geometry And Matching
  - - CrossCorrelation2dMsr
  - Edge Detection
  - - CannyEdgeDetectorMsr
  - Image Segmentation
  - - AutoThresholdingMsr
    - AutoSegmentation3PhasesMsr
  - Mathematical Morphology
  - - ApplyMorphologicalLutMsr
- Analysis Measurements
- - AnalysisMsr
  - Measurement
  - Native Measurements
  - - Geometry
    - Feret
    - Intensity
    - Histogram
    - Inertia
    - Locate
    - Segment
    - Cooccurrence
  - CustomMeasurement
  - MeasurementAttributes
  - - Quantile
    - Histogram
    - Feret2d
    - Feret3d
    - NeighborCount
    - Cooccurrence
    - Breadth3d
  - MeasurementGroup
- Measurement Information
- - FieldInformation
  - CustomMeasurementInfo
- CUDA
- - CudaContext
- User Guide
- First Steps
- - Hello ImageDev
  - Initialize ImageDev
- Image Management
- - Create 2D Image
  - Create 3D Image
  - Data Transfer
- Standard Processing
- - Denoising
  - Thresholding
- Image Analysis
- - Global Analysis
  - Label Analysis
  - Measurement Browsing
  - Measurement Group
  - Custom Analysis
- Advanced Processing
- - Algorithm Tracking
- Typical Use Cases
- - Particle Analysis
  - Pore Analysis

# Feret

Contains measurements based on Feret diameter, which is a one-dimensional measurement that estimates how "wide" an object is when projected in a given direction.
Feret diameter is defined as the distance between two parallel tangents of a particle in a given direction, like the measurement by a caliper (see Figure 1).
This definition is extended to 3D with the distance between two tangent planes.
Figure 1. Feret diameter

### Derivative measurements

Measuring a Feret diameter in a particular direction is usually irrelevant. Even if in 2D it is possible to obtain each Feret diameter of a predefined set of directions (or distribution), this information is not available in 3D.
It is more convenient to consider derivative measurements such as minimum, maximum, or average diameters and their associated orientations when available.
Some examples of Feret derivative measurements are shown in Figure 2.
Figure 2. Some Feret derivative measurements

### 2D Feret diameter distribution

In 2D, Feret diameters are computed along all redefined directions in the range [0; 180[ degrees from which can be determined the minimum, the mean, and the maximum.
By default the distribution of 2D Feret diameters is made up of a sampling of 10 angles from 0 to 162 degrees with a step of 18 degrees.
This distribution can be customized with the Feret 2D angles attributes.

### 3D Feret diameter distribution

In 3D, the distribution is computed to get the predefined number of angles regularly spread around the upper part of the unit sphere. By default a sampling of 31 angles.
This distribution can be customized with the Feret 3D angles attributes.
Figure 3. Example of a distribution of 3D angles
The orientations are defined by the couple of angles from spherical coordinates, as often used in mathematics, the azimuthal angle $\theta$ and the polar angle $\phi$.
Figure 4. Azimuthal and polar angles
See related example

- MeasurementBrowsing

### Object members

Measurement name | Description | Element type | Indexing | Physical Information
--- | --- | --- | --- | ---
FeretDiameter2d | The Feret diameters distribution expressed in the image calibration unit. This measurement is a distribution; the Feret diameter is given for each direction through a special index. The corresponding angle can be obtained with the orientation() method of the Feret 2D attributes. | Floating point | [label, direction] | LENGTH
FeretMin2d | The minimum of the 2D Feret diameters expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMin3d | The minimum of the 3D Feret diameters expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMinOrientation2d | The angle of the minimum of the 2D Feret diameters, in degrees. | Floating point | [label] | ANGLE
FeretMinOrientationPhi3d | The Phi angle of the minimum of the 3D Feret diameters, in degrees and lying in the range [0,90]. | Floating point | [label] | ANGLE
FeretMinOrientationTheta3d | The Theta angle of the minimum of the 3D Feret diameters, in degrees and lying in the range [-180,+180[. | Floating point | [label] | ANGLE
FeretMax3d | The maximum of the 3D Feret diameters expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMaxOrientationPhi3d | The Phi angle of the maximum of the 3D Feret diameters, in degrees and lying in the range [0,90]. | Floating point | [label] | ANGLE
FeretMaxOrientationTheta3d | The Theta angle of the maximum of the 3D Feret diameters, in degrees and lying in the range [-180,+180[. | Floating point | [label] | ANGLE
FeretMaxOrientation2d | The angle of the maximum of the 2D Feret diameters. | Floating point | [label] | ANGLE
FeretMax2d | The maximum of the Feret diameters expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMean2d | The average of the 2D Feret diameters expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMean3d | The average of the 3D Feret diameters expressed in the image calibration unit. | Floating point | [label] | LENGTH
Breadth2d | The Feret diameter orthogonal to the maximum 2D Feret diameter, expressed in the image calibration unit. | Floating point | [label] | LENGTH
SideLength2d | The Feret diameter orthogonal to the minimum 2D Feret diameter, expressed in the image calibration unit. For a square or rectangular object, the maximum Feret diameter does not represent its side length but its diagonal. | Floating point | [label] | LENGTH
FeretRatio2d | The orthogonal diameter to the smallest 2D Feret diameter ratio, which represents an elongation factor. Let $a$ be the minimal Feret diameters, and let $b$ be the Feret diameter closest to the normal of the minimal Feret diameter. The Feret Shape is the ratio $b/a$. Note that the accuracy highly depends on the number of Feret 2D directions used. | Floating point | [label] | RATIO
FeretRatio3d | The orthogonal diameter to the smallest 3D Feret diameter ratio, which represents an elongation factor. This shape factor is defined as $(D/d)$, where $d$ is the minimum Feret diameter ( FeretMin3d) and $D$ is the maximum Feret diameter in the orthogonal direction (90 degrees from the minimum Feret diameter, generally not FeretMax3d). Feret 3D diameter measurements rely on sampling in a direction 3D distribution (31 directions by default). | Floating point | [label] | RATIO
FeretInputX2d | The x coordinate of input points of the Feret two-dimensional distribution, expressed in pixel units. This measurement is a distribution, the Feret diameter is given for each direction through a special index. The corresponding angle can be obtained with the orientation() method of the Feret 2D attributes. | Floating point | [label, direction] | LENGTH
FeretInputY2d | The y coordinate of input point of the Feret two-dimensional distribution, expressed in pixel units. This measurement is a distribution, the Feret diameter is given for each direction through a special index. The corresponding angle can be obtained with the orientation() method of the Feret 2D attributes. | Floating point | [label, direction] | LENGTH
FeretOutputX2d | The x coordinate of output point of the Feret two-dimensional distribution, expressed in pixel units. This measurement is a distribution, the Feret diameter is given for each direction through a special index. The corresponding angle can be obtained with the orientation() method of the Feret 2D attributes. | Floating point | [label, direction] | LENGTH
FeretOutputY2d | The y coordinate of output point of the Feret two-dimensional distribution, expressed in pixel units. This measurement is a distribution, the Feret diameter is given for each direction through a special index. The corresponding angle can be obtained with the orientation() method of the Feret 2D attributes. | Floating point | [label, direction] | LENGTH
Breadth3d | The largest distance between two parallel lines touching the object without intersecting it, and lying in a plane orthogonal to the maximum 3D Feret diameter, expressed in the image calibration unit. The direction of the largest 3D Feret diameter is first determined (FeretMaxOrientationPhi3d, FeretMaxOrientationTheta3d). The breadth measurement is then evaluated as the maximum 2D Feret diameter in planes orthogonal to this direction. Figure 4. Example of breadth 3D measure | Floating point | [label] | LENGTH
BreadthOrientationPhi3d | The Phi angle of the Breadth orientation, in degrees and lying in the range [0,90]. | Floating point | [label] | ANGLE
BreadthOrientationTheta3d | The Theta angle of the Breadth orientation, in degrees and lying in the range [-180,+180[. | Floating point | [label] | ANGLE
Thickness3d | The largest distance between two parallel lines touching the object without intersecting it, and lying in a plane orthogonal to the maximum 3D Feret diameter and also orthogonal to the Breadth, expressed in the image calibration unit. The Breadth3d measurement is first determined, the thickness measurement is then evaluated as the maximum Feret diameter orthogonal to the Breadth3d and FeretMax3d directions. | Floating point | [label] | LENGTH
ThicknessOrientationPhi3d | The Phi angle of the Thickness orientation, in degrees and lying in the range [0,90]. | Floating point | [label] | ANGLE
ThicknessOrientationTheta3d | The Theta angle of the Thickness orientation, in degrees and lying in the range [-180,+180[. | Floating point | [label] | ANGLE
FeretMaxInputX3d | The x coordinate of the FeretMax3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMaxInputY3d | The y coordinate of the FeretMax3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMaxInputZ3d | The z coordinate of the FeretMax3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMaxOutputX3d | The x coordinate of the FeretMax3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMaxOutputY3d | The y coordinate of the FeretMax3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMaxOutputZ3d | The z coordinate of the FeretMax3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMinInputX3d | The x coordinate of the FeretMin3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMinInputY3d | The y coordinate of the FeretMin3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMinInputZ3d | The z coordinate of the FeretMin3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMinOutputX3d | The x coordinate of the FeretMin3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMinOutputY3d | The y coordinate of the FeretMin3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
FeretMinOutputZ3d | The z coordinate of the FeretMin3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
BreadthInputX3d | The x coordinate of the Breadth3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
BreadthInputY3d | The y coordinate of the Breadth3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
BreadthInputZ3d | The z coordinate of the Breadth3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
BreadthOutputX3d | The x coordinate of the Breadth3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
BreadthOutputY3d | The y coordinate of the Breadth3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
BreadthOutputZ3d | The z coordinate of the Breadth3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
ThicknessInputX3d | The x coordinate of the Thickness3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
ThicknessInputY3d | The y coordinate of the Thickness3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
ThicknessInputZ3d | The z coordinate of the Thickness3d diameter input point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
ThicknessOutputX3d | x coordinate of the Thickness3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
ThicknessOutputY3d | The y coordinate of the Thickness3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH
ThicknessOutputZ3d | The z coordinate of the Thickness3d diameter output point, expressed in the image calibration unit. | Floating point | [label] | LENGTH

### Object methods

Method | Description
--- | ---
void toDataFrame() | Convert the measurement to an IOLink.DataFrame

Method | Description
--- | ---
void ToDataFrame() | Convert the measurement to an IOLink.DataFrame

Method | Description
--- | ---
void to_data_frame() | Convert the measurement to an IOLink.DataFrame

© 2025 Thermo Fisher Scientific Inc. All rights reserved.