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 outputMeasurement.
// Function prototype
CentroidTortuosity3dMsr::Ptr centroidPathTortuosity3d( std::shared_ptr< iolink::ImageView > inputBinaryImage, CentroidTortuosity3dMsr::Ptr outputMeasurement = NULL );
This function returns outputMeasurement.
// Function prototype. centroid_path_tortuosity_3d( input_binary_image, output_measurement = None )
This function returns outputMeasurement.
// 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( "tortuosityFactor: ", str( 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: ", str( result.tortuosity_factor( ) ) )
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); CentroidTortuosity3dMsr result = Processing.CentroidPathTortuosity3d( foam_sep ); Console.WriteLine( "tortuosityFactor: " + result.tortuosityFactor( ) );