1from __future__
import annotations
4from typing
import Any, cast
8from ids_peak_icv
import lib_loader
19 Represents the calibration parameters, which include intrinsic and extrinsic
22 @ingroup ids_peak_icv_python_calibration
23 @since ids_peak_icv 1.1
26 def __init__(self, *args: Any, **kwargs: Any) ->
None:
29 In order to create CalibrationParameters, please refer to the classmethods.
31 @since ids_peak_icv 1.1
34 if "_parameters" in kwargs:
35 parameters = kwargs[
"_parameters"]
38 elif "_extrinsic_parameters" in kwargs
and "_intrinsic_parameters" in kwargs:
45 f
"{self.__class__.__name__} shall not be initialized directly. Use class methods."
52 Creates an instance of CalibrationParameters from a file.
54 @param file_path: An existing file path to a JSON file containing the calibration parameters.
56 @exception IOException: If the given file_path does not exist, or the permissions are not sufficient
58 @exception CorruptedException: If the file content is corrupted.
60 @return A new instance of CalibrationParameters
62 @since ids_peak_icv 1.1
64 c_file_path = file_path.encode(
'utf-8')
67 execute_and_map_return_codes(
68 lib_loader.dll().peak_icv_CalibrationParameters_CreateFromFile,
69 ctypes.pointer(parameters), ctypes.sizeof(parameters),
70 ctypes.c_char_p(c_file_path)
77 extrinsic_parameters: ExtrinsicParameters) -> CalibrationParameters:
80 Creates an instance of CalibrationParameters using intrinsic and extrinsic parameters.
82 @param intrinsic_parameters: The intrinsic camera parameters.
83 @param extrinsic_parameters: The extrinsic camera parameters.
85 @return A new instance of CalibrationParameters
87 @since ids_peak_icv 1.1
90 _intrinsic_parameters=intrinsic_parameters,
91 _extrinsic_parameters=extrinsic_parameters
98 Creates an instance of CalibrationParameters from binary data.
100 @param binary: A NumPy array containing the binary representation of calibration parameters.
102 @return A new instance of CalibrationParameters
104 @exception CorruptedException: If the binary calibration parameters are corrupted.
106 @since ids_peak_icv 1.1
108 if binary.dtype != np.uint8:
112 is_valid = ctypes.c_bool(
False)
115 execute_and_map_return_codes(
116 lib_loader.dll().peak_icv_ValidateBinary,
117 binary.ctypes.data_as(ctypes.POINTER(ctypes.c_uint8)), size,
118 ctypes.pointer(is_valid)
121 if not is_valid.value:
125 execute_and_map_return_codes(
126 lib_loader.dll().peak_icv_CalibrationParameters_CreateFromBinary,
127 binary.ctypes.data_as(ctypes.POINTER(ctypes.c_uint8)), size,
128 ctypes.pointer(calibration_parameters), ctypes.sizeof(calibration_parameters)
136 Converts the CalibrationParameters instance to a binary representation.
138 @return A NumPy array containing the binary data.
140 @since ids_peak_icv 1.1
148 binary_size = ctypes.c_size_t()
149 execute_and_map_return_codes(
150 lib_loader.dll().peak_icv_CalibrationParameters_ToBinaryGetSizeInBytes,
151 ctypes.sizeof(calibration_parameters), ctypes.pointer(binary_size)
153 data = np.zeros(binary_size.value, dtype=np.uint8)
155 execute_and_map_return_codes(
156 lib_loader.dll().peak_icv_CalibrationParameters_ToBinary,
157 calibration_parameters, ctypes.sizeof(calibration_parameters),
158 data.ctypes.data_as(ctypes.POINTER(ctypes.c_uint8)), binary_size
167 Retrieves the intrinsic parameters of the calibration.
169 @return The intrinsic camera parameters.
171 @since ids_peak_icv 1.1
179 Retrieves the extrinsic parameters of the calibration.
181 @return The extrinsic camera parameters.
183 @since ids_peak_icv 1.1
187 def save(self, file_path: str) ->
None:
190 Saves the calibration parameters to a file.
192 @param file_path: The path where the parameters should be saved.
194 @exception IOException: If the file cannot be saved or permissions are insufficient.
196 @since ids_peak_icv 1.1
198 c_file_path = file_path.encode(
'utf-8')
205 execute_and_map_return_codes(
206 lib_loader.dll().peak_icv_CalibrationParameters_SaveToFile,
207 parameters, ctypes.sizeof(parameters),
208 ctypes.c_char_p(c_file_path)
214 Compares two CalibrationParameters instances for equality.
216 @param other: Another instance to compare.
218 @return True if both instances are equal, False otherwise.
220 @since ids_peak_icv 1.1
223 if not isinstance(other, CalibrationParameters):
Represents the calibration parameters, which include intrinsic and extrinsic parameters.
CalibrationParameters create_from_parameters(cls, IntrinsicParameters intrinsic_parameters, ExtrinsicParameters extrinsic_parameters)
Creates an instance of CalibrationParameters using intrinsic and extrinsic parameters.
None __init__(self, *Any args, **Any kwargs)
In order to create CalibrationParameters, please refer to the classmethods.
None save(self, str file_path)
Saves the calibration parameters to a file.
IntrinsicParameters intrinsic_parameters
bool __eq__(self, object other)
Compares two CalibrationParameters instances for equality.
CalibrationParameters create_from_file(cls, str file_path)
Creates an instance of CalibrationParameters from a file.
ExtrinsicParameters extrinsic_parameters
IntrinsicParameters intrinsic_parameters(self)
Retrieves the intrinsic parameters of the calibration.
ExtrinsicParameters extrinsic_parameters(self)
Retrieves the extrinsic parameters of the calibration.
CalibrationParameters create_from_binary(cls, np.ndarray binary)
Creates an instance of CalibrationParameters from binary data.
np.ndarray to_binary(self)
Converts the CalibrationParameters instance to a binary representation.
Class for handling extrinsic parameters related to camera calibration.
Class for intrinsic parameters.
Thrown when input data or a file is malformed, unreadable, or otherwise corrupted.
Thrown when input parameters do not match the expected conditions.
Thrown when an operation cannot be performed due to logical constraints.