SetSliceToVolume3d
Pastes a 2D image into a plane orthogonal to an axis of a 3D volume.
Access to parameter description
The SetSliceToVolume3d algorithm pastes a plane into a 3D image.
The 2D image must have dimensions consistent with the volume dimensions and the selected axis:
$$ \begin{array}{|c||c|c|c||} \hline \textbf{Selected Axis} & \textbf{Plane} & \textbf{$gx_s$} & \textbf{$gy_s$} \\ \hline \hline \textbf{X} & YZ & gy_v & gz_v \\ \hline \textbf{Y} & XZ & gx_v & gz_v \\ \hline \textbf{Z} & XY & gx_v & gy_v \\ \hline \end{array} $$ Where $(gx_v, gy_v, gz_v)$ is the input volume size in voxels for the X, Y, and Z directions and $(gx_s, gy_s)$ is the input slice size in pixels for the X and Y directions.
An exception is thrown if the input slice dimensions are not in compliance with this rule.
See also
Access to parameter description
The SetSliceToVolume3d algorithm pastes a plane into a 3D image.
The 2D image must have dimensions consistent with the volume dimensions and the selected axis:
$$ \begin{array}{|c||c|c|c||} \hline \textbf{Selected Axis} & \textbf{Plane} & \textbf{$gx_s$} & \textbf{$gy_s$} \\ \hline \hline \textbf{X} & YZ & gy_v & gz_v \\ \hline \textbf{Y} & XZ & gx_v & gz_v \\ \hline \textbf{Z} & XY & gx_v & gy_v \\ \hline \end{array} $$ Where $(gx_v, gy_v, gz_v)$ is the input volume size in voxels for the X, Y, and Z directions and $(gx_s, gy_s)$ is the input slice size in pixels for the X and Y directions.
An exception is thrown if the input slice dimensions are not in compliance with this rule.
See also
Function Syntax
This function returns the outputImage output parameter.
// Function prototype. std::shared_ptr< iolink::ImageView > setSliceToVolume3d( std::shared_ptr< iolink::ImageView > inputDestinationImage, std::shared_ptr< iolink::ImageView > inputSourceImage, SetSliceToVolume3d::Axis axis, int32_t sliceIndex, std::shared_ptr< iolink::ImageView > outputImage = NULL );
This function returns the outputImage output parameter.
// Function prototype. set_slice_to_volume_3d( input_destination_image, input_source_image, axis = SetSliceToVolume3d.Axis.Z_AXIS, slice_index = 1, output_image = None )
This function returns the outputImage output parameter.
// Function prototype. public static IOLink.ImageView SetSliceToVolume3d( IOLink.ImageView inputDestinationImage, IOLink.ImageView inputSourceImage, SetSliceToVolume3d.Axis axis = ImageDev.SetSliceToVolume3d.Axis.Z_AXIS, Int32 sliceIndex = 1, IOLink.ImageView outputImage = null );
Class Syntax
Parameters
Class Name | SetSliceToVolume3d |
---|
Parameter Name | Description | Type | Supported Values | Default Value | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
inputDestinationImage |
The input 3D image (the volume where the slice is inserted). | Image | Binary, Label, Grayscale or Multispectral | nullptr | |||||||
inputSourceImage |
The input 2D image (the slice to insert). | Image | Binary, Label, Grayscale or Multispectral | nullptr | |||||||
axis |
The axis orthogonal to the plane to set.
|
Enumeration | Z_AXIS | ||||||||
sliceIndex |
The axis index where to insert the slice. | Int32 | >=0 | 1 | |||||||
outputImage |
The output image. | Image | nullptr |
Object Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); auto foam_2d = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_2d.vip" ); SetSliceToVolume3d setSliceToVolume3dAlgo; setSliceToVolume3dAlgo.setInputDestinationImage( foam ); setSliceToVolume3dAlgo.setInputSourceImage( foam_2d ); setSliceToVolume3dAlgo.setAxis( SetSliceToVolume3d::Axis::Z_AXIS ); setSliceToVolume3dAlgo.setSliceIndex( 1 ); setSliceToVolume3dAlgo.execute(); std::cout << "outputImage:" << setSliceToVolume3dAlgo.outputImage()->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip")) foam__2d = imagedev.read_vip_image(imagedev_data.get_image_path("foam_2d.vip")) set_slice_to_volume_3d_algo = imagedev.SetSliceToVolume3d() set_slice_to_volume_3d_algo.input_destination_image = foam set_slice_to_volume_3d_algo.input_source_image = foam__2d set_slice_to_volume_3d_algo.axis = imagedev.SetSliceToVolume3d.Z_AXIS set_slice_to_volume_3d_algo.slice_index = 1 set_slice_to_volume_3d_algo.execute() print( "output_image:", str( set_slice_to_volume_3d_algo.output_image ) )
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); ImageView foam_2d = Data.ReadVipImage( @"Data/images/foam_2d.vip" ); SetSliceToVolume3d setSliceToVolume3dAlgo = new SetSliceToVolume3d { inputDestinationImage = foam, inputSourceImage = foam_2d, axis = SetSliceToVolume3d.Axis.Z_AXIS, sliceIndex = 1 }; setSliceToVolume3dAlgo.Execute(); Console.WriteLine( "outputImage:" + setSliceToVolume3dAlgo.outputImage.ToString() );
Function Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); auto foam_2d = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_2d.vip" ); auto result = setSliceToVolume3d( foam, foam_2d, SetSliceToVolume3d::Axis::Z_AXIS, 1 ); std::cout << "outputImage:" << result->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip")) foam__2d = imagedev.read_vip_image(imagedev_data.get_image_path("foam_2d.vip")) result = imagedev.set_slice_to_volume_3d( foam, foam__2d, imagedev.SetSliceToVolume3d.Z_AXIS, 1 ) print( "output_image:", str( result ) )
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); ImageView foam_2d = Data.ReadVipImage( @"Data/images/foam_2d.vip" ); IOLink.ImageView result = Processing.SetSliceToVolume3d( foam, foam_2d, SetSliceToVolume3d.Axis.Z_AXIS, 1 ); Console.WriteLine( "outputImage:" + result.ToString() );