IDS peak ICV v1.3.0
Loading...
Searching...
No Matches
XYZImage.cs
Go to the documentation of this file.
1using System.Runtime.InteropServices;
5
7
26public sealed class XYZImage : Image
27{
37 public XYZImage(UndistortedImage undistortedDepthMap)
38 : base(PixelFormat.Coord3D_ABC32f, undistortedDepthMap.Size)
39 {
40 DllHelper.ExecuteAndMapReturnCodes(() =>
41 CInterface.peak_icv_Transform_DepthMap_To_XYZImage(
42 _handle,
43 undistortedDepthMap.IntrinsicParameters.ToCType(),
44 (nuint) Marshal.SizeOf<Backend.Types.peak_icv_intrinsic_parameters>(),
45 undistortedDepthMap._handle));
46 }
47
48 internal XYZImage(PixelFormat pixelFormat, Size size)
49 : base(pixelFormat, size)
50 {
51 }
52
65 {
66 Backend.Types.peak_icv_extrinsic_parameters extrinsicParametersC = extrinsicParameters.ToCType();
67
68 var outputImage = new XYZImage(PixelFormat, Size);
69 Handle outputHandle = outputImage._handle;
70
71 DllHelper.ExecuteAndMapReturnCodes(() =>
72 CInterface.peak_icv_Image_TransformToWorkspace(_handle, extrinsicParametersC,
73 (nuint) Marshal.SizeOf<Backend.Types.peak_icv_extrinsic_parameters>(), outputHandle));
74
75 return outputImage;
76 }
77
78 private static class CInterface
79 {
80 [DllImport(Global.LibraryName, CallingConvention = Global.CallingConvention)]
81 public static extern Backend.Types.peak_icv_status peak_icv_Transform_DepthMap_To_XYZImage(
82 Handle xyzImageHandle,
83 Backend.Types.peak_icv_intrinsic_parameters intrinsicParameters,
84 nuint sizeOfIntrinsicParameters,
85 Handle depthMapHandle);
86
87 [DllImport(Global.LibraryName, CallingConvention = Global.CallingConvention)]
88 public static extern Backend.Types.peak_icv_status peak_icv_Image_TransformToWorkspace(
89 Handle imageHandle,
90 Backend.Types.peak_icv_extrinsic_parameters extrinsicParameters,
91 nuint sizeOfExtrinsicParameters,
92 Handle outputHandle);
93 }
94}
Represents a size with integer width and height values.
Definition Size.cs:107
Represents the extrinsic parameters for camera calibration, including rotation, translation and the t...
Constructs an Image from an IImageView Instance.
Definition Image.cs:18
Represents an image that has undergone undistortion.
Represents a three-channel image encoding cartesian coordinates (x, y, z) of a 3D point.
Definition XYZImage.cs:27
XYZImage TransformToWorkspace(ExtrinsicParameters extrinsicParameters)
Transforms the camera-centric coordinates into workspace coordinates.
Definition XYZImage.cs:64
XYZImage(UndistortedImage undistortedDepthMap)
Constructs a cartesian coordinate image from an undistorted depth map.
Definition XYZImage.cs:37
PixelFormat
Each enumerator represents a specific pixel layout and bit-depth, used for interpreting raw image dat...
@ Coord3D_ABC32f
3D coordinates A, B, C 32-Bit float format