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:
111 is_valid = ctypes.c_bool(
False)
114 execute_and_map_return_codes(
115 lib_loader.dll().peak_icv_ValidateBinary,
116 binary.ctypes.data_as(ctypes.POINTER(ctypes.c_uint8)), size,
117 ctypes.pointer(is_valid)
120 if not is_valid.value:
124 execute_and_map_return_codes(
125 lib_loader.dll().peak_icv_CalibrationParameters_CreateFromBinary,
126 binary.ctypes.data_as(ctypes.POINTER(ctypes.c_uint8)), size,
127 ctypes.pointer(calibration_parameters), ctypes.sizeof(calibration_parameters)
135 Converts the CalibrationParameters instance to a binary representation.
137 @return A NumPy array containing the binary data.
139 @since ids_peak_icv 1.1
147 binary_size = ctypes.c_size_t()
148 execute_and_map_return_codes(
149 lib_loader.dll().peak_icv_CalibrationParameters_ToBinaryGetSizeInBytes,
150 ctypes.sizeof(calibration_parameters), ctypes.pointer(binary_size)
152 data = np.zeros(binary_size.value, dtype=np.uint8)
154 execute_and_map_return_codes(
155 lib_loader.dll().peak_icv_CalibrationParameters_ToBinary,
156 calibration_parameters, ctypes.sizeof(calibration_parameters),
157 data.ctypes.data_as(ctypes.POINTER(ctypes.c_uint8)), binary_size
166 Retrieves the intrinsic parameters of the calibration.
168 @return The intrinsic camera parameters.
170 @since ids_peak_icv 1.1
178 Retrieves the extrinsic parameters of the calibration.
180 @return The extrinsic camera parameters.
182 @since ids_peak_icv 1.1
186 @extrinsic_parameters.setter
190 Sets the extrinsic parameters of the calibration.
192 @param extrinsic_parameters: The extrinsic camera parameters.
194 @since ids_peak_icv 1.2
198 def save(self, file_path: str) ->
None:
201 Saves the calibration parameters to a file.
203 @param file_path: The path where the parameters should be saved.
205 @exception IOException: If the file cannot be saved or permissions are insufficient.
207 @since ids_peak_icv 1.1
209 c_file_path = file_path.encode(
'utf-8')
216 execute_and_map_return_codes(
217 lib_loader.dll().peak_icv_CalibrationParameters_SaveToFile,
218 parameters, ctypes.sizeof(parameters),
219 ctypes.c_char_p(c_file_path)
225 Compares two CalibrationParameters instances for equality.
227 @param other: Another instance to compare.
229 @return True if both instances are equal, False otherwise.
231 @since ids_peak_icv 1.1
234 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.
ExtrinsicParameters _extrinsic_parameters
None extrinsic_parameters(self, ExtrinsicParameters extrinsic_parameters)
Sets the extrinsic parameters of the calibration.
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.
Occurs when reading from a file or stream that is incomplete, damaged, or in an unexpected format.
Occurs when input parameters do not match expected conditions (e.g., two input images have different ...
Occurs when an operation cannot be performed due to logical constraints (e.g., camera calibration wit...