ImageDev

RadialAutocorrelationProfile

Computes the radial autocorrelation function of a grayscale image from its center.

Access to parameter description

This algorithm calculates the radial autocorrelation function (two-point autocorrelation function) of the tomographic input image. The algorithm first computes the standard autocorrelation (that is, correlation for each offset in every direction). Then, mean and standard deviation are computed along circles in 2D (but over spherical shells in 3D) with center at 0 offset.

The output is a 3-column spreadsheet indicating, for each radius, the corresponding average intensity value and standard deviation.

See also

Function Syntax

This function returns the outputMeasurement output parameter.
// Function prototype.
RadialIntensityProfileMsr::Ptr
radialAutocorrelationProfile( std::shared_ptr< iolink::ImageView > inputImage, RadialIntensityProfileMsr::Ptr outputMeasurement = NULL );
This function returns the outputMeasurement output parameter.
// Function prototype.
radial_autocorrelation_profile( input_image, output_measurement = None )
This function returns the outputMeasurement output parameter.
// Function prototype.
public static RadialIntensityProfileMsr
RadialAutocorrelationProfile( IOLink.ImageView inputImage, RadialIntensityProfileMsr outputMeasurement = null );

Class Syntax

Parameters

Class Name RadialAutocorrelationProfile

Parameter Name Description Type Supported Values Default Value
input
inputImage
The input image. Image Binary or Grayscale nullptr
output
outputMeasurement
The output radial autocorrelation and its standard deviation result according to the distance from the image center. RadialIntensityProfileMsr nullptr

Object Examples

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

RadialAutocorrelationProfile radialAutocorrelationProfileAlgo;
radialAutocorrelationProfileAlgo.setInputImage( foam );
radialAutocorrelationProfileAlgo.execute();

std::cout << "mean: " << radialAutocorrelationProfileAlgo.outputMeasurement()->mean( 0 , 0 , 0 ) ;
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip"))

radial_autocorrelation_profile_algo = imagedev.RadialAutocorrelationProfile()
radial_autocorrelation_profile_algo.input_image = foam
radial_autocorrelation_profile_algo.execute()

print( 
print("mean: ", radial_autocorrelation_profile_algo.output_measurement.mean( 0 , 0 , 0 ) ) );
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" );

RadialAutocorrelationProfile radialAutocorrelationProfileAlgo = new RadialAutocorrelationProfile
{
    inputImage = foam
};
radialAutocorrelationProfileAlgo.Execute();

Console.WriteLine( "mean: " + radialAutocorrelationProfileAlgo.outputMeasurement.mean( 0 , 0 , 0 ) );

Function Examples

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

auto result = radialAutocorrelationProfile( foam );

std::cout << "mean: " << result->mean( 0 , 0 , 0 ) ;
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip"))

result = imagedev.radial_autocorrelation_profile( foam )

print( "mean: ", result.mean( 0 , 0 , 0 ) );
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" );

RadialIntensityProfileMsr result = Processing.RadialAutocorrelationProfile( foam );

Console.WriteLine(  "mean: " + result.mean( 0 , 0 , 0 )  );