Measure the anisotropy in a labeled region
#include "dip_measurement.h"
dip_int dip_FeatureAnisotropy2DID ( void )
dip_float
dip_FeatureAnisotropy2DID returns the ID value of this measurement function, that is registered by Initialise.
The grey value input image should contain an orientation field. For each labeled region, a tensor is constructed at each of the region's pixels. This tensor is as follow:
cos^2(phi) cos(phi)sin(phi) [ ] cos(phi)sin(phi) sin^2(phi)
The next step is to compute a new tensor, each element computed by averaging the corresponding elements of all the individual tensors. This average tensor represents the orientation information of the region as a whole. Eigenvalue analysis of this tensor yields two eigenvalues, the largest l0, the smallest l1. The anisotropy measure is:
( l0 - l1 ) / ( l0 + l1 )
which is zero for a fully isotropic regions (i.e. one where there is no preferred orientation), and one for a fully anisotropic region (i.e. when there is a single orientation).
This function ignores any physical dimensions passed through the Measure function.
FeatureAnisotropy2D, FeatureBendingEnergy, FeatureCenter, FeatureChainCodeBendingEnergy, FeatureConvexArea, FeatureConvexPerimeter, FeatureConvexity, FeatureDimension, FeatureExcessKurtosis, FeatureFeret, FeatureGinertia, FeatureGmu, FeatureGravity, FeatureInertia, FeatureLongestChaincodeRun, FeatureMass, FeatureMaxVal, FeatureMaximum, FeatureMean, FeatureMinVal, FeatureMinimum, FeatureMu, FeatureOrientation2D, FeatureP2A, FeaturePerimeter, FeatureRadius, FeatureShape, FeatureSize, FeatureSkewness, FeatureStdDev, FeatureSum, FeatureSurfaceArea