ImageDev

- Getting Started
- ImageDev Python
- ImageDev C#
- ImageDev C++
- Licensing Information
- Redistributable Files
- Processing
- Image Manipulation
- - Synthetic Images
  - - RandomImage2d
    - RandomImage3d
    - RandomGaussianImage2d
    - RandomGaussianImage3d
    - RadialFunctionImage2d
    - RadialFunctionImage3d
    - OrientedLinesImage2d
    - OrientedLinesImage3d
    - RandomSphereImage3d
    - BoxGridImage2d
    - BoxGridImage3d
    - WedgeMaskImage3d
    - PointSpreadFunctionImage3d
  - Image Editing
  - - ConvertImage
    - ResetImage
    - CopyImage
    - PasteImage2d
    - PasteImage3d
    - CropImage2d
    - CropImage3d
    - SampleImage2d
    - SampleImage3d
    - InterlaceFrames2d
    - DeinterlaceFrames2d
  - Stack Operations
  - - SequenceConcatenation
    - SequenceToMultispectral
    - SequenceToVolume
    - VolumeToSequence
    - MultispectralToSequence
    - GetSliceFromVolume3d
    - SetSliceToVolume3d
    - GetObliqueSliceFromVolume3d
    - ImageStackProjection3d
    - VolumeProjection3d
- Geometry And Matching
- - Geometric Transforms
  - - Shearing3d
    - TranslateImage2d
    - TranslateImage3d
    - Flip2d
    - Flip3d
    - FlipImage2d
    - FlipImage3d
    - TransposeImage2d
    - TransposeImage3d
    - SwapQuadrants
    - Rotate2d
    - Rotate3d
    - RotationGenerator3d
    - Resize2d
    - Resize3d
    - RescaleByFactor
    - RescaleImageByFactor
    - ResampleAffine2d
    - ResampleAffine3d
    - ResampleElastic2d
    - SurfaceUnfolding3d
  - Pattern Recognition
  - - BinaryCorrelation2d
    - CrossCorrelation2d
    - CorrelationByDifference2d
    - CorrelationBySignChange2d
  - Registration
  - - ImagePrealignment3d
    - AffineRegistration
    - ElasticRegistration2d
- Arithmetic And Logic
- - Arithmetical Operations
  - - AbsoluteValue
    - AbsoluteMaximumWithImage
    - ArithmeticOperationWithImage
    - ArithmeticOperationWithValue
    - BlendWithImage
    - BlendWithValue
    - DirectionalBlending2d
    - CombineByMask
    - ImageFormula
    - EigenDecomposition2d
    - EigenDecomposition3d
  - Logical Operations
  - - MaskImage
    - LogicalOperationWithImage
    - LogicalOperationWithValue
    - LogicalNot
    - InvertImage
    - BitShift
- Image Filtering
- - Grayscale Transforms
  - - RescaleIntensity
    - StackRescaleIntensity
    - MatchContrast
    - HistogramEqualization
    - Clahe2d
    - Clahe3d
    - AdaptiveHistogramEqualization
    - ApplyGrayscaleLut
    - BackgroundImage2d
    - RadialBackgroundImage2d
    - ShadingCorrection
    - Exponential
    - Logarithm
    - Square
    - SquareRoot
    - RingArtifactRemoval3d
    - BeamHardeningCorrection3d
  - Color Transforms
  - - ColorToLightness
    - GetColorChannel
    - ColorToGrayscale
    - GrayscaleToColor
    - ColorSpaceConversion
    - ColorAntialiasing2d
    - BayerToRgb2d
    - DecorrelationStretch2d
    - BlendAlphaChannelWithImage
    - BlendAlphaChannelWithValue
  - Smoothing And Denoising
  - - BoxFilter2d
    - BoxFilter3d
    - MedianFilter2d
    - MedianFilter3d
    - GaussianFilter2d
    - GaussianFilter3d
    - ExponentialFilter2d
    - RecursiveExponentialFilter2d
    - RecursiveExponentialFilter3d
    - NonLocalMeansFilter2d
    - NonLocalMeansFilter3d
    - CurvatureDrivenDiffusion
    - BilateralFilter2d
    - BilateralFilter3d
    - MajorityFilter2d
    - MajorityFilter3d
    - SigmaFilter2d
    - SigmaFilter3d
    - Despeckle2d
    - Despeckle3d
    - NagaoFilter2d
    - NagaoFilter3d
    - SnnFilter2d
    - SnnFilter3d
    - FlowInpainting
  - Sharpening
  - - Deblurring2d
    - Delineate2d
    - Delineate3d
    - UnsharpMasking2d
    - UnsharpMasking3d
    - Shade2d
    - RichardsonLucyDeconvolution
  - Texture Filters
  - - MeanFilter2d
    - MeanFilter3d
    - VarianceFilter2d
    - VarianceFilter3d
    - SkewnessFilter2d
    - SkewnessFilter3d
    - KurtosisFilter2d
    - KurtosisFilter3d
    - ContrastFilter2d
    - ContrastFilter3d
    - VariationFilter2d
    - VariationFilter3d
    - EnergyFilter2d
    - EnergyFilter3d
    - EntropyFilter2d
    - EntropyFilter3d
    - AutocorrelationFilter
    - LocalAutocorrelationFilter2d
    - ImageCurvature2d
    - ImageCurvature3d
    - StructureEnhancementFilter2d
    - StructureEnhancementFilter3d
    - ScaleSpaceLogFilter2d
    - ScaleSpaceLogFilter3d
  - Frequency Domain
  - - ComplexFft
    - ComplexFftInverse
    - ComplexCenteredFft
    - ComplexCenteredFftInverse
    - CartesianToPolar2d
    - PolarToCartesian2d
    - ConvolutionWithImage
    - ConvolutionWithImage2d
    - RadialFrequencyFilter2d
    - GaborFiltering2d
- Edge Detection
- - Gradient
  - - GradientOperator2d
    - GradientOperator3d
    - VectorToMagnitude2d
    - VectorToMagnitude3d
    - GradientVector2d
    - GradientVector3d
    - GradientMagnitude2d
    - GradientMagnitude3d
    - MorphologicalGradient2d
    - MorphologicalGradient3d
    - RadialGradientCentered2d
    - RadialGradientCentered3d
    - RadialGradientContour2d
    - RadialGradientContour3d
    - RadialGradientLabel2d
    - RadialGradientLabel3d
  - Laplacian
  - - DobFilter2d
    - DobFilter3d
    - MorphologicalLaplacian
    - RecursiveLaplacian2d
    - RecursiveLaplacian3d
  - Other Derivatives
  - - GaussianDerivative2d
    - GaussianDerivative3d
    - GaussianHessianMatrix2d
    - GaussianHessianMatrix3d
    - GaussianGradientTensor2d
    - GaussianGradientTensor3d
  - Edge Marking
  - - ImageLocalMaxima2d
    - ImageLocalMaxima3d
    - RidgeDetection
    - ZeroCrossings2d
    - DijkstraShortestPath2d
    - EigenvaluesToStructureness2d
    - EigenvaluesToStructureness3d
    - TensorVoting2d
    - CannyEdgeDetector2d
    - CannyEdgeDetector3d
- Image Segmentation
- - Binarization
  - - Thresholding
    - ThresholdingByCriterion
    - AutoThresholdingBright
    - AutoThresholdingDark
    - ColorThresholding
    - TopHat
    - FeatureAdaptiveThresholding
    - AdaptiveThresholding2d
    - AdaptiveThresholding3d
    - HysteresisThresholding
  - Labeling
  - - Labeling2d
    - Labeling3d
    - ReorderLabels
    - AssignLabel
    - AddObjectToLabel
    - GroupCloseLabelsl2d
  - Feature Selection
  - - KillBorder2d
    - KillBorder3d
    - RemoveSmallSpots
    - ObjectBoundaries
    - BinarySmoothing2d
    - BinarySmoothing3d
    - LabelInterfaces
  - Separating And Filling
  - - FillHoles2d
    - FillHoles3d
    - RemoveSmallHoles
    - FillImageBorder3d
    - ExpandLabelBoundaries
    - SeparateObjects
    - HExtremaWatershed
    - SeparateObjectsByBlock
    - HExtremaWatershedByBlock
    - ConvexHull2d
  - Region Growing
  - - MarkerBasedWatershed2d
    - MarkerBasedWatershed3d
    - MarkerBasedWatershedByBlock
    - MarkerBasedWatershedBasinsByBlock
    - ExpandLabelsOnBackground
    - FloodFillThreshold2d
    - FloodFillThreshold3d
    - Waterpixel
  - Computational Geometry
  - - PolylineResampler2d
    - PolylineResampler3d
    - PolylineExtrusion3d
    - SurfaceFitting3d
- Mathematical Morphology
- - Erosion And Dilation
  - - Erosion2d
    - Erosion3d
    - Dilation2d
    - Dilation3d
    - ErosionDisk2d
    - ErosionDisk3d
    - ErosionBall3d
    - DilationDisk2d
    - DilationDisk3d
    - DilationBall3d
    - ErosionLine2d
    - ErosionLine3d
    - DilationLine2d
    - DilationLine3d
    - ErosionColor2d
    - DilationColor2d
    - SelectiveErosion2d
    - SelectiveErosion3d
    - SelectiveDilation2d
    - SelectiveDilation3d
  - Opening And Closing
  - - Opening2d
    - Opening3d
    - Closing2d
    - Closing3d
    - OpeningDisk2d
    - OpeningDisk3d
    - OpeningBall3d
    - ClosingDisk2d
    - ClosingDisk3d
    - ClosingBall3d
    - OpeningLine2d
    - OpeningLine3d
    - ClosingLine2d
    - ClosingLine3d
    - OpeningLineMaximum
    - ClosingLineMinimum
    - OpeningColor2d
    - ClosingColor2d
    - OpeningByReconstruction2d
    - OpeningByReconstruction3d
    - ClosingByReconstruction2d
    - ClosingByReconstruction3d
    - OpeningDiskByReconstruction2d
    - OpeningBallByReconstruction3d
    - ClosingDiskByReconstruction2d
    - ClosingBallByReconstruction3d
    - SelectiveOpening2d
    - SelectiveOpening3d
    - SelectiveClosing2d
    - SelectiveClosing3d
  - Hit Or Miss And Skeleton
  - - Skeleton
    - Centerline3d
    - InfluenceZones
    - Centroid2d
    - EndPoints2d
    - EndPoints3d
    - Pruning2d
    - Pruning3d
    - IsolatedPoints2d
    - IsolatedPoints3d
    - TriplePoints2d
    - InteriorPoints2d
    - ApplyMorphologicalLut2d
    - ApplyMorphologicalLut3d
  - Geodesic Transformations
  - - ReconstructionFromMarkers2d
    - ReconstructionFromMarkers3d
    - GrayscaleReconstruction2d
    - GrayscaleReconstruction3d
    - GrayscaleFillHoles2d
    - GrayscaleFillHoles3d
    - HExtrema2d
    - HExtrema3d
    - RegionalExtrema2d
    - RegionalExtrema3d
    - UltimateErosion
  - Distance Maps
  - - DistanceMap2d
    - DistanceMap3d
    - EuclideanDistanceMap3d
    - EuclideanDistanceMap2d
    - GeodesicDistanceMap
    - ClosestBoundaryPoints2d
    - ClosestBoundaryPoints3d
    - TimeMap
    - LocalThicknessMap3d
    - GeodesicPropagation2d
    - GeodesicMaxima
    - GeodesicMinima
- Image Analysis
- - Image Measurements
  - - BinaryAnalysis
    - Area2d
    - Area3d
    - IntensityIntegral2d
    - IntensityIntegral3d
    - ObjectCount
    - DistanceMean2d
    - EulerNumber2d
    - EulerNumber3d
    - FractalDimension
    - CurvatureIntegrals3d
  - Image Statistics
  - - IntensityExtrema
    - IntensityStatistics
    - IntensityMaskedStatistics
    - IntensityHistogram
    - IntensityBinHistogram
    - AutoThresholdingValue
    - CompareImage
    - CompareValue
    - SimilarityMetricValue
    - SsimValue2d
    - SsimValue3d
    - RegionSimilarity
    - RadialIntensityProfile2d
    - RadialIntensityProfile3d
    - CylindricalIntensityProfile3d
    - RadialAutocorrelationProfile
    - Cooccurrence2d
    - MeasureGaussianNoise
    - LocalMaxima2d
    - LocalMaxima3d
    - PeakExtractor
    - LocalDensityMap2d
    - LocalDensityMap3d
    - SegmentationMetrics
  - Individual Measurements
  - - VolumeFractionByLabel
    - LabelCountByRegion
    - VolumeFractionByRegion
    - LabelAnalysis
    - LabelFiltering
    - LabelFilteringAnalysis
    - FilterAnalysis
    - MeasurementToImage
    - FilterByMeasurement
    - SieveLabeling
  - Moments And Orientations
  - - MomentsOfInertia2d
    - MomentsOfInertia3d
    - InertiaMoment2d
    - Eccentricity2d
    - OrientationMapFourier3d
    - OrientationMatchingFourier3d
  - Morphometry
  - - ObjectVolume
    - TotalImageVolume
    - ObjectBoundaryArea
    - TotalImageBoundaryArea
    - AverageObjectAreaPerSlice3d
    - AverageObjectCountPerSlice3d
    - ObjectImageRatio
    - ObjectSpecificSurface
    - ObjectSurfaceDensity
    - PorosityPercentage3d
    - FragmentationIndex
    - StructureModelIndex3d
    - AverageObjectThickness3d
    - AverageSpaceThickness3d
    - ObjectLinearDensity3d
    - DegreeOfAnisotropy
  - Propagation
  - - AxisPropagationBinary3d
    - AxisPropagationBinaryWithSeeds3d
    - AxisPropagationLabel3d
    - AxisPropagationLabelWithSeeds3d
    - AxisPropagationDistance3d
    - EstimateShortestPath3d
    - PercolationThreshold3d
    - AxisConnectivity3d
    - CentroidPathTortuosity3d
- Machine Learning
- - Classification
  - - AutoSegmentation3Phases
    - AutoIntensityClassification
    - SupervisedTextureClassification2d
    - SupervisedTextureClassification3d
    - TextureClassificationCreate
    - TextureClassificationTrain
    - TextureClassificationApply
  - Deep learning
  - - OnnxPredictionFiltering2d
    - OnnxPredictionFiltering3d
    - OnnxPredictionSegmentation2d
    - OnnxPredictionSegmentation3d
    - OnnxPredictionTwoOutputs2d
    - OnnxPredictionTwoOutputs3d
- Business Application
- - Dental
  - - DentalWallSegmentation3d
    - DentalMeshExtraction3d
    - DentalUnfolding3d
- IO
- - Image Data
  - - ReadVipImage
    - WriteVipImage
  - Algebraic Data
  - - ReadArrayXd
    - ReadArrayXi64
    - WriteArrayXd
    - WriteArrayXi64
  - Model
  - - ReadOnnxModel
- CUDA
- - Geometry And Matching
  - - CudaCrossCorrelation2d
    - CudaTemplateMatching3d
  - Image Filtering
  - - CudaBoxFilter2d
    - CudaMedianFilter2d
    - CudaGaussianFilter3d
    - CudaAdaptiveManifoldNlmFilter
  - Mathematical Morphology
  - - CudaErosion2d
    - CudaDilation2d
    - CudaOpening2d
    - CudaClosing2d
- Utilities
- Initialization
- Processing
- Syntax Check
- Visualization
- Data Object
- Image Data
- Kernels
- - MorphologicalKernel2d
  - MorphologicalKernel3d
  - MorphologicalLut2d
  - MorphologicalLut3d
- Model
- - TextureClassificationModel
  - OnnxModel
- Global Measurements
- - Image Measurements
  - - Area2dMsr
    - Area3dMsr
    - IntensityIntegral2dMsr
    - IntensityIntegral3dMsr
    - ObjectCountMsr
    - DistanceMeanMsr
    - Euler2dMsr
    - Euler3dMsr
    - FractalMsr
    - CurvatureIntegralsMsr
  - Image Statistics
  - - IntensityExtremaMsr
    - StatisticsMsr
    - IntensityHistogramMsr
    - IntensityBinHistogramMsr
    - CompareMsr
    - SimilarityMetricValueMsr
    - SsimValueMsr
    - RegionSimilarityMsr
    - SegmentationMetricsObjectMsr
    - SegmentationMetricsImageMsr
    - CylindricalIntensityProfileMsr
    - RadialIntensityProfileMsr
    - CorrelationMsr
    - CoocurrrenceMsr
    - GaussianNoiseMsr
    - LocalMaximaMsr
    - PeakExtractorMsr
  - Individual Measurements
  - - VolumeFractionByLabelMsr
    - LabelCountByRegionMsr
    - VolumeFractionByRegionMsr
  - Moments And Orientations
  - - MomentsOfInertia2dMsr
    - MomentsOfInertia3dMsr
    - MeanInertiaMomentMsr
    - Eccentricity2dMsr
    - LocalOrientation3dMsr
  - Morphometry
  - - ObjectVolumeMsr
    - ImageVolumeMsr
    - ObjectBoundaryAreaMsr
    - ImageBoundaryAreaMsr
    - AverageObjectAreaPerSliceMsr
    - AverageObjectCountPerSliceMsr
    - ObjectImageRatioMsr
    - ObjectSpecificSurfaceMsr
    - ObjectSurfaceDensityMsr
    - PorosityPercentageMsr
    - FragmentationMsr
    - StructureModelIndexMsr
    - AverageObjectThicknessMsr
    - AverageSpaceThicknessMsr
    - ObjectLinearDensityMsr
    - AnisotropyDegreeMsr
  - Propagation
  - - AxisPropagationBinary3dMsr
    - AxisPropagationLabel3dMsr
    - AxisPropagationDistance3dMsr
    - PercolationThreshold3dMsr
    - CentroidTortuosity3dMsr
  - Geometry And Matching
  - - CrossCorrelation2dMsr
  - Edge Detection
  - - CannyEdgeDetectorMsr
  - Image Segmentation
  - - AutoThresholdingMsr
    - AutoSegmentation3PhasesMsr
  - Mathematical Morphology
  - - ApplyMorphologicalLutMsr
- Analysis Measurements
- - AnalysisMsr
  - Measurement
  - Native Measurements
  - - Geometry
    - Feret
    - Intensity
    - Histogram
    - Inertia
    - Locate
    - Segment
    - Cooccurrence
  - CustomMeasurement
  - MeasurementAttributes
  - - Quantile
    - Histogram
    - Feret2d
    - Feret3d
    - NeighborCount
    - Cooccurrence
    - Breadth3d
  - MeasurementGroup
- Measurement Information
- - FieldInformation
  - CustomMeasurementInfo
- CUDA
- - CudaContext
- User Guide
- First Steps
- - Hello ImageDev
  - Initialize ImageDev
- Image Management
- - Create 2D Image
  - Create 3D Image
  - Data Transfer
- Standard Processing
- - Denoising
  - Thresholding
- Image Analysis
- - Global Analysis
  - Label Analysis
  - Measurement Browsing
  - Measurement Group
  - Custom Analysis
- Advanced Processing
- - Algorithm Tracking
- Typical Use Cases
- - Particle Analysis
  - Pore Analysis

# GetObliqueSliceFromVolume3d

Extracts a 2D section from a 3D volume.
Access to parameter description
GetObliqueSliceFromVolume3d extracts a section of a 3D image, given a point of this section and the theta and phi angles of its normal given in respect to the spherical coordinates generally used in mathematics.
The 2D image is created with dimensions deduced from the intersection between the input volume and the plane defined by the point and normal inputs.
See also

- GetSliceFromVolume3d
- OrientedLinesImage3d

##
Function Syntax

This function returns outputImage.

    // Function prototype
    std::shared_ptr< iolink::ImageView >
    getObliqueSliceFromVolume3d( std::shared_ptr< iolink::ImageView > inputImage,
                                 const iolink::Vector3i32& pointCoordinates,
                                 double thetaAngle,
                                 double phiAngle,
                                 GetObliqueSliceFromVolume3d::InterpolationType interpolationType,
                                 std::shared_ptr< iolink::ImageView > outputImage = nullptr );

This function returns outputImage.

    // Function prototype.
    get_oblique_slice_from_volume_3d(input_image: idt.ImageType,
                                     point_coordinates: Iterable[int] = [1, 1, 1],
                                     theta_angle: float = 0,
                                     phi_angle: float = 0,
                                     interpolation_type: GetObliqueSliceFromVolume3d.InterpolationType = GetObliqueSliceFromVolume3d.InterpolationType.NEAREST_NEIGHBOR,
                                     output_image: idt.ImageType = None) -> idt.ImageType

This function returns outputImage.

    // Function prototype.
    public static IOLink.ImageView
    GetObliqueSliceFromVolume3d( IOLink.ImageView inputImage,
                                 int[] pointCoordinates = null,
                                 double thetaAngle = 0,
                                 double phiAngle = 0,
                                 GetObliqueSliceFromVolume3d.InterpolationType interpolationType = ImageDev.GetObliqueSliceFromVolume3d.InterpolationType.NEAREST_NEIGHBOR,
                                 IOLink.ImageView outputImage = null );

##
Class Syntax

    // Command constructor.
    GetObliqueSliceFromVolume3d();

    /// Gets the inputImage parameter.
    /// The input 3D image (the volume from which the slice is extracted).
    std::shared_ptr< iolink::ImageView > inputImage() const;
    /// Sets the inputImage parameter.
    /// The input 3D image (the volume from which the slice is extracted).
    void setInputImage( std::shared_ptr< iolink::ImageView > inputImage );

    /// Gets the pointCoordinates parameter.
    /// Coordinates of a point of the 3D section.
    iolink::Vector3i32 pointCoordinates() const;
    /// Sets the pointCoordinates parameter.
    /// Coordinates of a point of the 3D section.
    void setPointCoordinates( const iolink::Vector3i32& pointCoordinates );

    /// Gets the thetaAngle parameter.
    /// The azimuthal angle in degrees (angle between the X axis and the projection of the normal on XY plane).
    double thetaAngle() const;
    /// Sets the thetaAngle parameter.
    /// The azimuthal angle in degrees (angle between the X axis and the projection of the normal on XY plane).
    void setThetaAngle( const double& thetaAngle );

    /// Gets the phiAngle parameter.
    /// The polar angle in degrees (angle between the normal and the Z axis).
    double phiAngle() const;
    /// Sets the phiAngle parameter.
    /// The polar angle in degrees (angle between the normal and the Z axis).
    void setPhiAngle( const double& phiAngle );

    /// Gets the interpolationType parameter.
    /// The interpolation mode. Method used to calculate the intensity of each result voxel.
    GetObliqueSliceFromVolume3d::InterpolationType interpolationType() const;
    /// Sets the interpolationType parameter.
    /// The interpolation mode. Method used to calculate the intensity of each result voxel.
    void setInterpolationType( const GetObliqueSliceFromVolume3d::InterpolationType& interpolationType );

    /// Gets the outputImage parameter.
    /// The output 2D image (the extracted slice).
    std::shared_ptr< iolink::ImageView > outputImage() const;
    /// Sets the outputImage parameter.
    /// The output 2D image (the extracted slice).
    void setOutputImage( std::shared_ptr< iolink::ImageView > outputImage );

    // Method to launch the command.
    void execute();

    # Property of the inputImage parameter.
    GetObliqueSliceFromVolume3d.input_image
    # Property of the pointCoordinates parameter.
    GetObliqueSliceFromVolume3d.point_coordinates
    # Property of the thetaAngle parameter.
    GetObliqueSliceFromVolume3d.theta_angle
    # Property of the phiAngle parameter.
    GetObliqueSliceFromVolume3d.phi_angle
    # Property of the interpolationType parameter.
    GetObliqueSliceFromVolume3d.interpolation_type
    # Property of the outputImage parameter.
    GetObliqueSliceFromVolume3d.output_image

    // Method to launch the command.
    execute()

    // Command constructor.
    GetObliqueSliceFromVolume3d()

    // Property of the inputImage parameter.
    GetObliqueSliceFromVolume3d.inputImage
    // Property of the pointCoordinates parameter.
    GetObliqueSliceFromVolume3d.pointCoordinates
    // Property of the thetaAngle parameter.
    GetObliqueSliceFromVolume3d.thetaAngle
    // Property of the phiAngle parameter.
    GetObliqueSliceFromVolume3d.phiAngle
    // Property of the interpolationType parameter.
    GetObliqueSliceFromVolume3d.interpolationType
    // Property of the outputImage parameter.
    GetObliqueSliceFromVolume3d.outputImage

    // Method to launch the command.
    Execute()

## Parameters

Parameter Name | Description | Type | Supported Values | Default Value
--- | --- | --- | --- | ---
| inputImage | The input 3D image (the volume from which the slice is extracted). | Image | Binary, Label, Grayscale or Multispectral | nullptr
| pointCoordinates | Coordinates of a point of the 3D section. | Vector3i32 | >=0 | {1, 1, 1}
| thetaAngle | The azimuthal angle in degrees (angle between the X axis and the projection of the normal on XY plane). | Float64 | Any value | 0
| phiAngle | The polar angle in degrees (angle between the normal and the Z axis). | Float64 | Any value | 0
| interpolationType | The interpolation mode. Method used to calculate the intensity of each result voxel.
NEAREST_NEIGHBOR | This mode gets the value of the nearest voxel.
LINEAR | This mode gets the cubic interpolation from the nearest voxels.
| Enumeration |  | NEAREST_NEIGHBOR
| outputImage | The output 2D image (the extracted slice). | Image |  | nullptr

Parameter Name | Description | Type | Supported Values | Default Value
--- | --- | --- | --- | ---
| input_image | The input 3D image (the volume from which the slice is extracted). | image | Binary, Label, Grayscale or Multispectral | None
| point_coordinates | Coordinates of a point of the 3D section. | vector3i32 | >=0 | [1, 1, 1]
| theta_angle | The azimuthal angle in degrees (angle between the X axis and the projection of the normal on XY plane). | float64 | Any value | 0
| phi_angle | The polar angle in degrees (angle between the normal and the Z axis). | float64 | Any value | 0
| interpolation_type | The interpolation mode. Method used to calculate the intensity of each result voxel.
NEAREST_NEIGHBOR | This mode gets the value of the nearest voxel.
LINEAR | This mode gets the cubic interpolation from the nearest voxels.
| enumeration |  | NEAREST_NEIGHBOR
| output_image | The output 2D image (the extracted slice). | image |  | None

Parameter Name | Description | Type | Supported Values | Default Value
--- | --- | --- | --- | ---
| inputImage | The input 3D image (the volume from which the slice is extracted). | Image | Binary, Label, Grayscale or Multispectral | null
| pointCoordinates | Coordinates of a point of the 3D section. | Vector3i32 | >=0 | {1, 1, 1}
| thetaAngle | The azimuthal angle in degrees (angle between the X axis and the projection of the normal on XY plane). | Float64 | Any value | 0
| phiAngle | The polar angle in degrees (angle between the normal and the Z axis). | Float64 | Any value | 0
| interpolationType | The interpolation mode. Method used to calculate the intensity of each result voxel.
NEAREST_NEIGHBOR | This mode gets the value of the nearest voxel.
LINEAR | This mode gets the cubic interpolation from the nearest voxels.
| Enumeration |  | NEAREST_NEIGHBOR
| outputImage | The output 2D image (the extracted slice). | Image |  | null

## Object Examples

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

    GetObliqueSliceFromVolume3d getObliqueSliceFromVolume3dAlgo;
    getObliqueSliceFromVolume3dAlgo.setInputImage( foam );
    getObliqueSliceFromVolume3dAlgo.setPointCoordinates( {1, 1, 1} );
    getObliqueSliceFromVolume3dAlgo.setThetaAngle( 0.0 );
    getObliqueSliceFromVolume3dAlgo.setPhiAngle( 0.0 );
    getObliqueSliceFromVolume3dAlgo.setInterpolationType( GetObliqueSliceFromVolume3d::InterpolationType::NEAREST_NEIGHBOR );
    getObliqueSliceFromVolume3dAlgo.execute();

    std::cout << "outputImage:" << getObliqueSliceFromVolume3dAlgo.outputImage()->toString();

    foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip"))

    get_oblique_slice_from_volume_3d_algo = imagedev.GetObliqueSliceFromVolume3d()
    get_oblique_slice_from_volume_3d_algo.input_image = foam
    get_oblique_slice_from_volume_3d_algo.point_coordinates = [1, 1, 1]
    get_oblique_slice_from_volume_3d_algo.theta_angle = 0.0
    get_oblique_slice_from_volume_3d_algo.phi_angle = 0.0
    get_oblique_slice_from_volume_3d_algo.interpolation_type = imagedev.GetObliqueSliceFromVolume3d.NEAREST_NEIGHBOR
    get_oblique_slice_from_volume_3d_algo.execute()

    print("output_image:", str(get_oblique_slice_from_volume_3d_algo.output_image))

    ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" );

    GetObliqueSliceFromVolume3d getObliqueSliceFromVolume3dAlgo = new GetObliqueSliceFromVolume3d
    {
        inputImage = foam,
        pointCoordinates = new int[]{1, 1, 1},
        thetaAngle = 0.0,
        phiAngle = 0.0,
        interpolationType = GetObliqueSliceFromVolume3d.InterpolationType.NEAREST_NEIGHBOR
    };
    getObliqueSliceFromVolume3dAlgo.Execute();

    Console.WriteLine( "outputImage:" + getObliqueSliceFromVolume3dAlgo.outputImage.ToString() );

## Function Examples

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

    auto result = getObliqueSliceFromVolume3d( foam, {1, 1, 1}, 0.0, 0.0, GetObliqueSliceFromVolume3d::InterpolationType::NEAREST_NEIGHBOR );

    std::cout << "outputImage:" << result->toString();

    foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip"))

    result = imagedev.get_oblique_slice_from_volume_3d(foam, [1, 1, 1], 0.0, 0.0, imagedev.GetObliqueSliceFromVolume3d.NEAREST_NEIGHBOR)

    print("output_image:", str(result))

    ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" );

    IOLink.ImageView result = Processing.GetObliqueSliceFromVolume3d( foam, new int[]{1, 1, 1}, 0.0, 0.0, GetObliqueSliceFromVolume3d.InterpolationType.NEAREST_NEIGHBOR );

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

© 2025 Thermo Fisher Scientific Inc. All rights reserved.