AverageObjectThickness3d
            Measures the thickness of structures inside the volume of interest of a three-dimensional binary image.
Access to parameter description
For an introduction:
        
The average object thickness $Th$ is computed as follows: $$ Th = k \times \frac{V}{S} $$ where
        
See also
		Access to parameter description
For an introduction:
- section Image Analysis
 - section Morphometry
 
The average object thickness $Th$ is computed as follows: $$ Th = k \times \frac{V}{S} $$ where
-  $k$ is a constant depending on the the selected model
- $k=2$ for the parallel plate model
 - $k=4$ for the cylinder rod model
 - $k=6$ for the sphere model
 
 - $S$ is the object surface
 - $V$ is the object volume
 
See also
Function Syntax
This function returns the outputMeasurement output parameter.
                        
                    
// Function prototype.
AverageObjectThicknessMsr::Ptr
averageObjectThickness3d( std::shared_ptr< iolink::ImageView > inputObjectImage,
                          std::shared_ptr< iolink::ImageView > inputMaskImage,
                          AverageObjectThickness3d::Model model,
                          AverageObjectThicknessMsr::Ptr outputMeasurement = NULL );
                    
This function returns the outputMeasurement output parameter.
                        
                    
// Function prototype.
average_object_thickness_3d( input_object_image,
                             input_mask_image,
                             model = AverageObjectThickness3d.Model.PARALLEL_PLATE_MODEL,
                             output_measurement = None )
                    
This function returns the outputMeasurement output parameter.
                        
                
// Function prototype.
public static AverageObjectThicknessMsr
AverageObjectThickness3d( IOLink.ImageView inputObjectImage,
                          IOLink.ImageView inputMaskImage,
                          AverageObjectThickness3d.Model model = ImageDev.AverageObjectThickness3d.Model.PARALLEL_PLATE_MODEL,
                          AverageObjectThicknessMsr outputMeasurement = null );
                    Class Syntax
Parameters
| Class Name | AverageObjectThickness3d | 
|---|
| Parameter Name | Description | Type | Supported Values | Default Value | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
![]()  | 
  inputObjectImage    | 
 The input 3D binary image. | Image | Binary | nullptr | ||||||
![]()  | 
  inputMaskImage    | 
 The binary image defining the volume of interest. The measurement is computed from voxels having a value of 1 in this image. If it equals null, the computation is performed from all voxels of the input image. It must have same dimensions as the input image. | Image | Binary | nullptr | ||||||
![]()  | 
  model    | 
 The structure model used to compute the thickness.
  | 
Enumeration | PARALLEL_PLATE_MODEL | |||||||
![]()  | 
  outputMeasurement    | 
 The output measurement result. | AverageObjectThicknessMsr | nullptr | |||||||
Object Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); AverageObjectThickness3d averageObjectThickness3dAlgo; averageObjectThickness3dAlgo.setInputObjectImage( foam_sep ); averageObjectThickness3dAlgo.setInputMaskImage( foam_sep ); averageObjectThickness3dAlgo.setModel( AverageObjectThickness3d::Model::PARALLEL_PLATE_MODEL ); averageObjectThickness3dAlgo.execute(); std::cout << "thickness: " << averageObjectThickness3dAlgo.outputMeasurement()->thickness( ) ;
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip"))
average_object_thickness_3d_algo = imagedev.AverageObjectThickness3d()
average_object_thickness_3d_algo.input_object_image = foam_sep
average_object_thickness_3d_algo.input_mask_image = foam_sep
average_object_thickness_3d_algo.model = imagedev.AverageObjectThickness3d.PARALLEL_PLATE_MODEL
average_object_thickness_3d_algo.execute()
print( 
print("thickness: ", average_object_thickness_3d_algo.output_measurement.thickness( ) ) );
            
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" );
AverageObjectThickness3d averageObjectThickness3dAlgo = new AverageObjectThickness3d
{
    inputObjectImage = foam_sep,
    inputMaskImage = foam_sep,
    model = AverageObjectThickness3d.Model.PARALLEL_PLATE_MODEL
};
averageObjectThickness3dAlgo.Execute();
Console.WriteLine( "thickness: " + averageObjectThickness3dAlgo.outputMeasurement.thickness( ) );
            Function Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = averageObjectThickness3d( foam_sep, foam_sep, AverageObjectThickness3d::Model::PARALLEL_PLATE_MODEL ); std::cout << "thickness: " << result->thickness( ) ;
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip"))
result = imagedev.average_object_thickness_3d( foam_sep, foam_sep, imagedev.AverageObjectThickness3d.PARALLEL_PLATE_MODEL )
print( "thickness: ", result.thickness( ) );
            ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); AverageObjectThicknessMsr result = Processing.AverageObjectThickness3d( foam_sep, foam_sep, AverageObjectThickness3d.Model.PARALLEL_PLATE_MODEL ); Console.WriteLine( "thickness: " + result.thickness( ) );

