ImageDev

RadialIntensityProfile3d

Computes a radial intensity profile on a 3D image.

Access to parameter description

This algorithm computes an intensity profile that consists in the average intensity at a distance r from a given center.

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

<b> Figure 1.</b> 3D radial intensity profile
Figure 1. 3D radial intensity profile

See also

Function Syntax

This function returns the outputMeasurement output parameter.
// Function prototype.
RadialIntensityProfileMsr::Ptr
radialIntensityProfile3d( std::shared_ptr< iolink::ImageView > inputImage,
                          RadialIntensityProfile3d::CenterMode centerMode,
                          iolink::Vector3u32 center,
                          uint32_t maximumRadius,
                          RadialIntensityProfileMsr::Ptr outputMeasurement = NULL );
This function returns the outputMeasurement output parameter.
// Function prototype.
radial_intensity_profile_3d( input_image,
                             center_mode = RadialIntensityProfile3d.CenterMode.IMAGE_CENTER,
                             center = [0, 0, 0],
                             maximum_radius = 0,
                             output_measurement = None )
This function returns the outputMeasurement output parameter.
// Function prototype.
public static RadialIntensityProfileMsr
RadialIntensityProfile3d( IOLink.ImageView inputImage,
                          RadialIntensityProfile3d.CenterMode centerMode = ImageDev.RadialIntensityProfile3d.CenterMode.IMAGE_CENTER,
                          uint[] center = null,
                          UInt32 maximumRadius = 0,
                          RadialIntensityProfileMsr outputMeasurement = null );

Class Syntax

Parameters

Class Name RadialIntensityProfile3d

Parameter Name Description Type Supported Values Default Value
input
inputImage
The input image. Any type of image is accepted. Image Binary, Label, Grayscale or Multispectral nullptr
input
centerMode
The way to define the origin of the radii.
IMAGE_CENTER The origin of the radii is the center of the input image.
OTHER The origin of the radii is user defined.
Enumeration IMAGE_CENTER
input
center
The origin of the radii in pixel coordinates. It is only used in OTHER mode. Vector3u32 Any value {0, 0, 0}
input
maximumRadius
The radius in voxels up to which intensities are included in the profile. UInt32 Any value 0
output
outputMeasurement
The output object containing the computed radii, averaged intensities, and standard deviation. RadialIntensityProfileMsr nullptr

Object Examples

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

RadialIntensityProfile3d radialIntensityProfile3dAlgo;
radialIntensityProfile3dAlgo.setInputImage( foam );
radialIntensityProfile3dAlgo.setCenterMode( RadialIntensityProfile3d::CenterMode::IMAGE_CENTER );
radialIntensityProfile3dAlgo.setCenter( {0, 0, 0} );
radialIntensityProfile3dAlgo.setMaximumRadius( 55 );
radialIntensityProfile3dAlgo.execute();

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

radial_intensity_profile_3d_algo = imagedev.RadialIntensityProfile3d()
radial_intensity_profile_3d_algo.input_image = foam
radial_intensity_profile_3d_algo.center_mode = imagedev.RadialIntensityProfile3d.IMAGE_CENTER
radial_intensity_profile_3d_algo.center = [0, 0, 0]
radial_intensity_profile_3d_algo.maximum_radius = 55
radial_intensity_profile_3d_algo.execute()

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

RadialIntensityProfile3d radialIntensityProfile3dAlgo = new RadialIntensityProfile3d
{
    inputImage = foam,
    centerMode = RadialIntensityProfile3d.CenterMode.IMAGE_CENTER,
    center = new uint[]{0, 0, 0},
    maximumRadius = 55
};
radialIntensityProfile3dAlgo.Execute();

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

Function Examples

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

auto result = radialIntensityProfile3d( foam, RadialIntensityProfile3d::CenterMode::IMAGE_CENTER, {0, 0, 0}, 55 );

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

result = imagedev.radial_intensity_profile_3d( foam, imagedev.RadialIntensityProfile3d.IMAGE_CENTER, [0, 0, 0], 55 )

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

RadialIntensityProfileMsr result = Processing.RadialIntensityProfile3d( foam, RadialIntensityProfile3d.CenterMode.IMAGE_CENTER, new uint[]{0, 0, 0}, 55 );

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