AverageSpaceThickness3d
            Measures the separation thickness between structures inside the volume of interest of a three-dimensional binary image.
Access to parameter description
For an introduction:
Like the AverageObjectThickness3d algorithm, the structure separation thickness $Sp$ can be calculated with different models as follows: $$ Sp = Th\left(\frac{TV}{V}-1\right) $$ where
        
See also
		Access to parameter description
For an introduction:
- section Image Analysis
 - section Morphometry
 
Like the AverageObjectThickness3d algorithm, the structure separation thickness $Sp$ can be calculated with different models as follows: $$ Sp = Th\left(\frac{TV}{V}-1\right) $$ where
- $Th$ is the Average Object Thickness computed for the selected structure model
 - $TV$ is total volume of the image (volume of the mask if provided, else volume of the image bounding box)
 - $V$ is the object volume
 
See also
Function Syntax
This function returns the outputMeasurement output parameter.
                        
                    
// Function prototype.
AverageSpaceThicknessMsr::Ptr
averageSpaceThickness3d( std::shared_ptr< iolink::ImageView > inputObjectImage,
                         std::shared_ptr< iolink::ImageView > inputMaskImage,
                         AverageSpaceThickness3d::Model model,
                         AverageSpaceThicknessMsr::Ptr outputMeasurement = NULL );
                    
This function returns the outputMeasurement output parameter.
                        
                    
// Function prototype.
average_space_thickness_3d( input_object_image,
                            input_mask_image,
                            model = AverageSpaceThickness3d.Model.PARALLEL_PLATE_MODEL,
                            output_measurement = None )
                    
This function returns the outputMeasurement output parameter.
                        
                
// Function prototype.
public static AverageSpaceThicknessMsr
AverageSpaceThickness3d( IOLink.ImageView inputObjectImage,
                         IOLink.ImageView inputMaskImage,
                         AverageSpaceThickness3d.Model model = ImageDev.AverageSpaceThickness3d.Model.PARALLEL_PLATE_MODEL,
                         AverageSpaceThicknessMsr outputMeasurement = null );
                    Class Syntax
Parameters
| Class Name | AverageSpaceThickness3d | 
|---|
| 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. | AverageSpaceThicknessMsr | nullptr | |||||||
Object Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); AverageSpaceThickness3d averageSpaceThickness3dAlgo; averageSpaceThickness3dAlgo.setInputObjectImage( foam_sep ); averageSpaceThickness3dAlgo.setInputMaskImage( foam_sep ); averageSpaceThickness3dAlgo.setModel( AverageSpaceThickness3d::Model::PARALLEL_PLATE_MODEL ); averageSpaceThickness3dAlgo.execute(); std::cout << "thickness: " << averageSpaceThickness3dAlgo.outputMeasurement()->thickness( ) ;
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip"))
average_space_thickness_3d_algo = imagedev.AverageSpaceThickness3d()
average_space_thickness_3d_algo.input_object_image = foam_sep
average_space_thickness_3d_algo.input_mask_image = foam_sep
average_space_thickness_3d_algo.model = imagedev.AverageSpaceThickness3d.PARALLEL_PLATE_MODEL
average_space_thickness_3d_algo.execute()
print( 
print("thickness: ", average_space_thickness_3d_algo.output_measurement.thickness( ) ) );
            
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" );
AverageSpaceThickness3d averageSpaceThickness3dAlgo = new AverageSpaceThickness3d
{
    inputObjectImage = foam_sep,
    inputMaskImage = foam_sep,
    model = AverageSpaceThickness3d.Model.PARALLEL_PLATE_MODEL
};
averageSpaceThickness3dAlgo.Execute();
Console.WriteLine( "thickness: " + averageSpaceThickness3dAlgo.outputMeasurement.thickness( ) );
            Function Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = averageSpaceThickness3d( foam_sep, foam_sep, AverageSpaceThickness3d::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_space_thickness_3d( foam_sep, foam_sep, imagedev.AverageSpaceThickness3d.PARALLEL_PLATE_MODEL )
print( "thickness: ", result.thickness( ) );
            ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); AverageSpaceThicknessMsr result = Processing.AverageSpaceThickness3d( foam_sep, foam_sep, AverageSpaceThickness3d.Model.PARALLEL_PLATE_MODEL ); Console.WriteLine( "thickness: " + result.thickness( ) );

