LocalThicknessMap3d
Computes a voxel-wise thickness of three-dimensional objects.
Access to parameter description
This algorithm assignes to each voxel a value representing the diameter of the largest ball containing the voxel and entirely inscribed in the object.
It starts by computing a Euclidean distance map inside the image objects. In a second step, the thickness map T is initialized with the values of the distance map. For each voxel v, with distance map value d(v), the ball B centered on v and with radius R=d(v) is browsed. The thickness T of these neighboring voxels w is set to max(T(w),R).
Finally, the thickness map is multiplied by 2 to obtain the largest ball diameter.
Note:
Reference:
T.Hildebrand, P.R egsegger. "A New Method for the Model-Independent Assessment of Thickness in Three-Dimensional Images". Journal of Microscopy, vol. 187, pp 67-75, Jan 1997.
See also
Access to parameter description
This algorithm assignes to each voxel a value representing the diameter of the largest ball containing the voxel and entirely inscribed in the object.
It starts by computing a Euclidean distance map inside the image objects. In a second step, the thickness map T is initialized with the values of the distance map. For each voxel v, with distance map value d(v), the ball B centered on v and with radius R=d(v) is browsed. The thickness T of these neighboring voxels w is set to max(T(w),R).
Finally, the thickness map is multiplied by 2 to obtain the largest ball diameter.
Note:
- Two modes of computation are available. The fast mode is especially useful when the input image contains some thick structures that are very long to compute. The resulting image is a bit less precise on the object borders. These artifacts are not damaging since the thickness measurement is generally not relevant on object borders.
- This algorithm does not take into account the input image calibration. The output values are systematically indicating diameter in voxel unit.
Reference:
T.Hildebrand, P.R egsegger. "A New Method for the Model-Independent Assessment of Thickness in Three-Dimensional Images". Journal of Microscopy, vol. 187, pp 67-75, Jan 1997.
See also
Function Syntax
This function returns outputMapImage.
// Function prototype
std::shared_ptr< iolink::ImageView > localThicknessMap3d( std::shared_ptr< iolink::ImageView > inputBinaryImage, LocalThicknessMap3d::Precision precision, std::shared_ptr< iolink::ImageView > outputMapImage = NULL );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |||||
---|---|---|---|---|---|---|---|---|---|
![]() |
inputBinaryImage |
The binary input image. | Image | Binary | nullptr | ||||
![]() |
precision |
The precision of the thickness computation.
|
Enumeration | FASTER | |||||
![]() |
outputMapImage |
The thickness map output image. Its dimensions are forced to the same values as the input. Its data type is 32-bit floating point. | Image | nullptr |
Object Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); LocalThicknessMap3d localThicknessMap3dAlgo; localThicknessMap3dAlgo.setInputBinaryImage( foam_sep ); localThicknessMap3dAlgo.setPrecision( LocalThicknessMap3d::Precision::FASTER ); localThicknessMap3dAlgo.execute(); std::cout << "outputMapImage:" << localThicknessMap3dAlgo.outputMapImage()->toString();
Function Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = localThicknessMap3d( foam_sep, LocalThicknessMap3d::Precision::FASTER ); std::cout << "outputMapImage:" << result->toString();