RadialGradientCentered3d
Performs a three-dimensional gradient projection with a directional vector defined by a center point.
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 > radialGradientCentered3d( std::shared_ptr< iolink::ImageView > inputImageX, std::shared_ptr< iolink::ImageView > inputImageY, std::shared_ptr< iolink::ImageView > inputImageZ, iolink::Vector3i32 projectionCenter, std::shared_ptr< iolink::ImageView > outputNormalImage = NULL );
This function returns outputNormalImage.
// Function prototype. radial_gradient_centered_3d( input_image_x, input_image_y, input_image_z, projection_center = [3, 3, 3], output_normal_image = None )
This function returns outputNormalImage.
// Function prototype. public static IOLink.ImageView RadialGradientCentered3d( IOLink.ImageView inputImageX, IOLink.ImageView inputImageY, IOLink.ImageView inputImageZ, int[] projectionCenter = null, IOLink.ImageView outputNormalImage = null );
Class Syntax
Parameters
Class Name | RadialGradientCentered3d |
---|
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 | |
projectionCenter |
The center of projection coordinates. | Vector3i32 | >=0 | {3, 3, 3} | |
outputNormalImage |
The normal gradient output image. | Image | nullptr |
Object Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); RadialGradientCentered3d radialGradientCentered3dAlgo; radialGradientCentered3dAlgo.setInputImageX( foam ); radialGradientCentered3dAlgo.setInputImageY( foam ); radialGradientCentered3dAlgo.setInputImageZ( foam ); radialGradientCentered3dAlgo.setProjectionCenter( {3, 3, 3} ); radialGradientCentered3dAlgo.execute(); std::cout << "outputNormalImage:" << radialGradientCentered3dAlgo.outputNormalImage()->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip")) radial_gradient_centered_3d_algo = imagedev.RadialGradientCentered3d() radial_gradient_centered_3d_algo.input_image_x = foam radial_gradient_centered_3d_algo.input_image_y = foam radial_gradient_centered_3d_algo.input_image_z = foam radial_gradient_centered_3d_algo.projection_center = [3, 3, 3] radial_gradient_centered_3d_algo.execute() print( "output_normal_image:", str( radial_gradient_centered_3d_algo.output_normal_image ) )
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); RadialGradientCentered3d radialGradientCentered3dAlgo = new RadialGradientCentered3d { inputImageX = foam, inputImageY = foam, inputImageZ = foam, projectionCenter = new int[]{3, 3, 3} }; radialGradientCentered3dAlgo.Execute(); Console.WriteLine( "outputNormalImage:" + radialGradientCentered3dAlgo.outputNormalImage.ToString() );
Function Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); auto result = radialGradientCentered3d( foam, foam, foam, {3, 3, 3} ); std::cout << "outputNormalImage:" << result->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip")) result = imagedev.radial_gradient_centered_3d( foam, foam, foam, [3, 3, 3] ) print( "output_normal_image:", str( result ) )
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); IOLink.ImageView result = Processing.RadialGradientCentered3d( foam, foam, foam, new int[]{3, 3, 3} ); Console.WriteLine( "outputNormalImage:" + result.ToString() );