Processing math: 100%
ImageDev

CurvatureIntegrals3d

Computes the integral of mean curvature and integral of total curvature of objects in a three-dimensional binary image.

Access to parameter description

For an introduction: section Image Analysis.

Intuitively, "curvature" is the amount by which a geometric object deviates from being "flat".

This algorithm computes a local measure. It is obtained as the sum of measurements in local 2x2x2 neighborhoods (a cube), for 13 planes associated with different normal directions and hitting three or four vertices of the cells (in the cubical lattice).

In the case of very elongated objects (needles or fibers), the integral of mean curvature M can be used to measure the length L of the object: L=M/π

For a convex object, the integral of mean curvature M is (up to a constant) equivalent to the mean diameter; for instance, M=2πd  , where  d=11313i=0di The Euler number and the Integral of total curvature carry the same information about the object. They differ by the constant factor 4π. Considering a set X of the 3-dimensional space and χ(X) being its Euler number, then the integral total curvature of X is K(X)=4πχ(X).

Reference See also

Function Syntax

This function returns outputMeasurement.
// Function prototype
CurvatureIntegralsMsr::Ptr curvatureIntegrals3d( std::shared_ptr< iolink::ImageView > inputBinaryImage, CurvatureIntegralsMsr::Ptr outputMeasurement = NULL );

Class Syntax

Parameters

Parameter Name Description Type Supported Values Default Value
input
inputBinaryImage
The 3D binary input image. Image Binary nullptr
output
outputMeasurement
The output measurement result. CurvatureIntegralsMsr nullptr

Object Examples

auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" );

CurvatureIntegrals3d curvatureIntegrals3dAlgo;
curvatureIntegrals3dAlgo.setInputBinaryImage( foam_sep );
curvatureIntegrals3dAlgo.execute();

std::cout << "meanCurvature: " << curvatureIntegrals3dAlgo.outputMeasurement()->meanCurvature( ) ;

Function Examples

auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" );

auto result = curvatureIntegrals3d( foam_sep );

std::cout << "meanCurvature: " << result->meanCurvature( ) ;