CentroidPathTortuosity3d
            Computes the tortuosity of a path formed by the centroids on each plan along the Z axis of a three-dimensional binary image.
Access to parameter description
Tortuosity is the ratio of the length of a curve to the distance between the ends of it along the Z axis. In this algorithm, the distance between the ends of curve is given by the number of planes along the Z axis.
        
This algorithm first computes the centroid $c(i)$ of each plane $z(i)$ of the image. Then it computes the path length through the centroids $l=\Sigma d(i)$ and then divides it by the height traveled along the Z axis: $H=z(n)-z(0)$ .
 

Figure 1. Centroid path tortuosity computation
        See also 
      
        
		Access to parameter description
Tortuosity is the ratio of the length of a curve to the distance between the ends of it along the Z axis. In this algorithm, the distance between the ends of curve is given by the number of planes along the Z axis.
This algorithm first computes the centroid $c(i)$ of each plane $z(i)$ of the image. Then it computes the path length through the centroids $l=\Sigma d(i)$ and then divides it by the height traveled along the Z axis: $H=z(n)-z(0)$ .

Figure 1. Centroid path tortuosity computation
Function Syntax
This function returns the outputMeasurement output parameter.
                        
                    // Function prototype. CentroidTortuosity3dMsr::Ptr centroidPathTortuosity3d( std::shared_ptr< iolink::ImageView > inputBinaryImage, CentroidTortuosity3dMsr::Ptr outputMeasurement = NULL );
This function returns the outputMeasurement output parameter.
                        
                    // Function prototype. centroid_path_tortuosity_3d( input_binary_image, output_measurement = None )
This function returns the outputMeasurement output parameter.
                        
                // Function prototype. public static CentroidTortuosity3dMsr CentroidPathTortuosity3d( IOLink.ImageView inputBinaryImage, CentroidTortuosity3dMsr outputMeasurement = null );
Class Syntax
Parameters
| Class Name | CentroidPathTortuosity3d | 
|---|
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]()  | 
  inputBinaryImage    | 
 The input 3D binary image. | Image | Binary | nullptr | 
![]()  | 
  outputMeasurement    | 
 The output measurement result. | CentroidTortuosity3dMsr | nullptr | |
Object Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); CentroidPathTortuosity3d centroidPathTortuosity3dAlgo; centroidPathTortuosity3dAlgo.setInputBinaryImage( foam_sep ); centroidPathTortuosity3dAlgo.execute(); std::cout << "tortuosityFactor: " << centroidPathTortuosity3dAlgo.outputMeasurement()->tortuosityFactor( ) ;
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip"))
centroid_path_tortuosity_3d_algo = imagedev.CentroidPathTortuosity3d()
centroid_path_tortuosity_3d_algo.input_binary_image = foam_sep
centroid_path_tortuosity_3d_algo.execute()
print( 
print("tortuosityFactor: ", centroid_path_tortuosity_3d_algo.output_measurement.tortuosity_factor( ) ) );
            
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" );
CentroidPathTortuosity3d centroidPathTortuosity3dAlgo = new CentroidPathTortuosity3d
{
    inputBinaryImage = foam_sep
};
centroidPathTortuosity3dAlgo.Execute();
Console.WriteLine( "tortuosityFactor: " + centroidPathTortuosity3dAlgo.outputMeasurement.tortuosityFactor( ) );
            Function Examples
auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = centroidPathTortuosity3d( foam_sep ); std::cout << "tortuosityFactor: " << result->tortuosityFactor( ) ;
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip"))
result = imagedev.centroid_path_tortuosity_3d( foam_sep )
print( "tortuosityFactor: ", result.tortuosity_factor( ) );
            ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); CentroidTortuosity3dMsr result = Processing.CentroidPathTortuosity3d( foam_sep ); Console.WriteLine( "tortuosityFactor: " + result.tortuosityFactor( ) );

