ImageDev

RadialGradientLabel3d

Performs a three-dimensional gradient projection with a directional vector defined by a set of object centers of a label image.

Access to parameter description

For an introduction: The RadialGradientLabel3d algorithm performs a gradient projection by computing the directional vector from all centers of the objects in the input label image. For a voxel $P$ in the image, the center $C$ taken into account is the center of the closest object label.

Notice: See also

Function Syntax

This function returns outputNormalImage.
// Function prototype
std::shared_ptr< iolink::ImageView > radialGradientLabel3d( std::shared_ptr< iolink::ImageView > inputImageX, std::shared_ptr< iolink::ImageView > inputImageY, std::shared_ptr< iolink::ImageView > inputImageZ, std::shared_ptr< iolink::ImageView > inputMarkerImage, std::shared_ptr< iolink::ImageView > outputNormalImage = nullptr );
This function returns outputNormalImage.
// Function prototype.
radial_gradient_label_3d(input_image_x: idt.ImageType,
                         input_image_y: idt.ImageType,
                         input_image_z: idt.ImageType,
                         input_marker_image: idt.ImageType,
                         output_normal_image: idt.ImageType = None) -> idt.ImageType
This function returns outputNormalImage.
// Function prototype.
public static IOLink.ImageView
RadialGradientLabel3d( IOLink.ImageView inputImageX,
                       IOLink.ImageView inputImageY,
                       IOLink.ImageView inputImageZ,
                       IOLink.ImageView inputMarkerImage,
                       IOLink.ImageView outputNormalImage = null );

Class Syntax

Parameters

Parameter Name Description Type Supported Values Default Value
input
inputImageX
The X-gradient input image. Image Grayscale or Multispectral nullptr
input
inputImageY
The Y-gradient input image. Image Grayscale or Multispectral nullptr
input
inputImageZ
The Z-gradient input image. Image Grayscale or Multispectral nullptr
input
inputMarkerImage
The marker input image of the label objects to consider as centers. Image Label nullptr
output
outputNormalImage
The normal gradient output image. Image nullptr
Parameter Name Description Type Supported Values Default Value
input
input_image_x
The X-gradient input image. image Grayscale or Multispectral None
input
input_image_y
The Y-gradient input image. image Grayscale or Multispectral None
input
input_image_z
The Z-gradient input image. image Grayscale or Multispectral None
input
input_marker_image
The marker input image of the label objects to consider as centers. image Label None
output
output_normal_image
The normal gradient output image. image None
Parameter Name Description Type Supported Values Default Value
input
inputImageX
The X-gradient input image. Image Grayscale or Multispectral null
input
inputImageY
The Y-gradient input image. Image Grayscale or Multispectral null
input
inputImageZ
The Z-gradient input image. Image Grayscale or Multispectral null
input
inputMarkerImage
The marker input image of the label objects to consider as centers. Image Label null
output
outputNormalImage
The normal gradient output image. Image null

Object Examples

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

RadialGradientLabel3d radialGradientLabel3dAlgo;
radialGradientLabel3dAlgo.setInputImageX( foam );
radialGradientLabel3dAlgo.setInputImageY( foam );
radialGradientLabel3dAlgo.setInputImageZ( foam );
radialGradientLabel3dAlgo.setInputMarkerImage( foam_sep_label );
radialGradientLabel3dAlgo.execute();

std::cout << "outputNormalImage:" << radialGradientLabel3dAlgo.outputNormalImage()->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip"))
foam_sep_label = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep_label.vip"))

radial_gradient_label_3d_algo = imagedev.RadialGradientLabel3d()
radial_gradient_label_3d_algo.input_image_x = foam
radial_gradient_label_3d_algo.input_image_y = foam
radial_gradient_label_3d_algo.input_image_z = foam
radial_gradient_label_3d_algo.input_marker_image = foam_sep_label
radial_gradient_label_3d_algo.execute()

print("output_normal_image:", str(radial_gradient_label_3d_algo.output_normal_image))
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" );
ImageView foam_sep_label = Data.ReadVipImage( @"Data/images/foam_sep_label.vip" );

RadialGradientLabel3d radialGradientLabel3dAlgo = new RadialGradientLabel3d
{
    inputImageX = foam,
    inputImageY = foam,
    inputImageZ = foam,
    inputMarkerImage = foam_sep_label
};
radialGradientLabel3dAlgo.Execute();

Console.WriteLine( "outputNormalImage:" + radialGradientLabel3dAlgo.outputNormalImage.ToString() );

Function Examples

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

auto result = radialGradientLabel3d( foam, foam, foam, foam_sep_label );

std::cout << "outputNormalImage:" << result->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip"))
foam_sep_label = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep_label.vip"))

result = imagedev.radial_gradient_label_3d(foam, foam, foam, foam_sep_label)

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

IOLink.ImageView result = Processing.RadialGradientLabel3d( foam, foam, foam, foam_sep_label );

Console.WriteLine( "outputNormalImage:" + result.ToString() );