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 the outputMeasurement output parameter.
                        
                    
// Function prototype.
StructureModelIndexMsr::Ptr
structureModelIndex3d( std::shared_ptr< iolink::ImageView > inputImage,
                       int32_t kernelRadius,
                       StructureModelIndexMsr::Ptr outputMeasurement = NULL );
                    
This function returns the outputMeasurement output parameter.
                        
                    // Function prototype. structure_model_index_3d( input_image, kernel_radius = 3, output_measurement = None )
This function returns the outputMeasurement output parameter.
                        
                
// Function prototype.
public static StructureModelIndexMsr
StructureModelIndex3d( IOLink.ImageView inputImage,
                       Int32 kernelRadius = 3,
                       StructureModelIndexMsr outputMeasurement = null );
                    Class Syntax
Parameters
| Class Name | StructureModelIndex3d | 
|---|
| 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 | |
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( 
print("index: ", 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: ", result.index( ) );
            ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); StructureModelIndexMsr result = Processing.StructureModelIndex3d( foam_sep, 3 ); Console.WriteLine( "index: " + result.index( ) );

