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:
Notice:
Access to parameter description
For an introduction:
- section Edge Detection
- section Introduction to Gradient
- section Gradient Projections
Notice:
- A common way to get input images $G_x$, $G_y$ and $G_z$ is to apply the Canny-Deriche operator in the X, Y, and Z directions, using GradientOperator3d with a spread of 60.
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 = NULL );
This function returns outputNormalImage.
// Function prototype.
radial_gradient_label_3d( input_image_x,
input_image_y,
input_image_z,
input_marker_image,
output_normal_image = None )
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 | |
|---|---|---|---|---|---|
![]() |
inputImageX |
The X-gradient input image. | Image | Grayscale or Multispectral | nullptr |
![]() |
inputImageY |
The Y-gradient input image. | Image | Grayscale or Multispectral | nullptr |
![]() |
inputImageZ |
The Z-gradient input image. | Image | Grayscale or Multispectral | nullptr |
![]() |
inputMarkerImage |
The marker input image of the label objects to consider as centers. | Image | Label | nullptr |
![]() |
outputNormalImage |
The normal gradient output image. | Image | nullptr | |
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]() |
input_image_x |
The X-gradient input image. | image | Grayscale or Multispectral | None |
![]() |
input_image_y |
The Y-gradient input image. | image | Grayscale or Multispectral | None |
![]() |
input_image_z |
The Z-gradient input image. | image | Grayscale or Multispectral | None |
![]() |
input_marker_image |
The marker input image of the label objects to consider as centers. | image | Label | None |
![]() |
output_normal_image |
The normal gradient output image. | image | None | |
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]() |
inputImageX |
The X-gradient input image. | Image | Grayscale or Multispectral | null |
![]() |
inputImageY |
The Y-gradient input image. | Image | Grayscale or Multispectral | null |
![]() |
inputImageZ |
The Z-gradient input image. | Image | Grayscale or Multispectral | null |
![]() |
inputMarkerImage |
The marker input image of the label objects to consider as centers. | Image | Label | null |
![]() |
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() );

