StructureModelIndex3d
Indicates the relative prevalence of rod and plate structures in three-dimensional binary image.
Access to parameter description
For an introduction:
This algorithm dilates the input binarized image as shown in the fragmentation index algorithm documentation. The kernelRadius parameter is the number of iterations of dilation performed with a cubic structuring element of size 3.
The Structure Model Index $SMI$ is given by: $$ SMI = 6\times\frac{S_d -S}{S\times \Delta_d}\times\frac{V}{S} $$ where
Reference:
T.Hildebrand, P.Ruegsegger. "Quantification of Bone Microarchitecture with the Structure Model Index". Comput Methods Biomech Biomed Engin., vol. 1, pp. 15-23, 1997.
See also
Access to parameter description
For an introduction:
- section Image Analysis
- section Morphometry
This algorithm dilates the input binarized image as shown in the fragmentation index algorithm documentation. The kernelRadius parameter is the number of iterations of dilation performed with a cubic structuring element of size 3.
The Structure Model Index $SMI$ is given by: $$ SMI = 6\times\frac{S_d -S}{S\times \Delta_d}\times\frac{V}{S} $$ where
- $S$ is the object surface area before dilation
- $S_d$ is the object surface area after dilation
- $\Delta_d$ is the radius of dilation structuring element, in calibration unit
- $V$ is the initial, undilated object volume
Reference:
T.Hildebrand, P.Ruegsegger. "Quantification of Bone Microarchitecture with the Structure Model Index". Comput Methods Biomech Biomed Engin., vol. 1, pp. 15-23, 1997.
See also
Function Syntax
This function returns outputMeasurement.
// Function prototype
StructureModelIndexMsr::Ptr structureModelIndex3d( std::shared_ptr< iolink::ImageView > inputImage, int32_t kernelRadius, StructureModelIndexMsr::Ptr outputMeasurement = NULL );
This function returns outputMeasurement.
// Function prototype. structure_model_index_3d( input_image, kernel_radius = 3, output_measurement = None )
This function returns outputMeasurement.
// Function prototype. public static StructureModelIndexMsr StructureModelIndex3d( IOLink.ImageView inputImage, Int32 kernelRadius = 3, StructureModelIndexMsr outputMeasurement = null );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputImage |
The 3D binary input image. | Image | Binary | nullptr | |
kernelRadius |
The kernel radius in voxels of the spherical structuring element used for the dilation. | Int32 | >=1 | 3 | |
outputMeasurement |
The output measurement result. | StructureModelIndexMsr | nullptr |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
input_image |
The 3D binary input image. | image | Binary | None | |
kernel_radius |
The kernel radius in voxels of the spherical structuring element used for the dilation. | int32 | >=1 | 3 | |
output_measurement |
The output measurement result. | StructureModelIndexMsr | None |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputImage |
The 3D binary input image. | Image | Binary | null | |
kernelRadius |
The kernel radius in voxels of the spherical structuring element used for the dilation. | Int32 | >=1 | 3 | |
outputMeasurement |
The output measurement result. | StructureModelIndexMsr | null |
Object Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); StructureModelIndex3d structureModelIndex3dAlgo; structureModelIndex3dAlgo.setInputImage( foam_sep ); structureModelIndex3dAlgo.setKernelRadius( 3 ); structureModelIndex3dAlgo.execute(); std::cout << "index: " << structureModelIndex3dAlgo.outputMeasurement()->index( ) ;
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) structure_model_index_3d_algo = imagedev.StructureModelIndex3d() structure_model_index_3d_algo.input_image = foam_sep structure_model_index_3d_algo.kernel_radius = 3 structure_model_index_3d_algo.execute() print( "index: ", str( structure_model_index_3d_algo.output_measurement.index( ) ) )
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); StructureModelIndex3d structureModelIndex3dAlgo = new StructureModelIndex3d { inputImage = foam_sep, kernelRadius = 3 }; structureModelIndex3dAlgo.Execute(); Console.WriteLine( "index: " + structureModelIndex3dAlgo.outputMeasurement.index( ) );
Function Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = structureModelIndex3d( foam_sep, 3 ); std::cout << "index: " << result->index( ) ;
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip")) result = imagedev.structure_model_index_3d( foam_sep, 3 ) print( "index: ", str( result.index( ) ) )
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); StructureModelIndexMsr result = Processing.StructureModelIndex3d( foam_sep, 3 ); Console.WriteLine( "index: " + result.index( ) );