8 PEAK_ICV_STATUS_SUCCESS = 0
9 PEAK_ICV_STATUS_LIBRARY_NOT_INITIALIZED = 1
10 PEAK_ICV_STATUS_DYNAMIC_DEPENDENCY_MISSING = 2
11 PEAK_ICV_STATUS_MISMATCH = 3
12 PEAK_ICV_STATUS_NOT_SUPPORTED = 4
13 PEAK_ICV_STATUS_NOT_POSSIBLE = 5
14 PEAK_ICV_STATUS_NULL_POINTER = 6
15 PEAK_ICV_STATUS_INVALID_HANDLE = 7
16 PEAK_ICV_STATUS_OUT_OF_RANGE = 8
17 PEAK_ICV_STATUS_MATH_ERROR = 9
18 PEAK_ICV_STATUS_TARGET_NOT_FOUND = 10
19 PEAK_ICV_STATUS_CORRUPTED = 11
20 PEAK_ICV_STATUS_IO_ERROR = 12
21 PEAK_ICV_STATUS_INTERNAL_ERROR = 13
22 PEAK_ICV_STATUS_INVALID_BUFFER_SIZE = 14
26 PEAK_ICV_POINT_TYPE_XYZ = 0,
27 PEAK_ICV_POINT_TYPE_XYZ_I8 = 1,
28 PEAK_ICV_POINT_TYPE_XYZ_I10 = 2,
29 PEAK_ICV_POINT_TYPE_XYZ_I12 = 3,
30 PEAK_ICV_POINT_TYPE_XY = 4
138 _fields_ = [(
"radial_distortion", peak_icv_radial_distortion),
139 (
"tangential_distortion", peak_icv_tangential_distortion),
140 (
"prism_distortion", peak_icv_prism_distortion),
141 (
"tilt_distortion", peak_icv_tilt_distortion)]
284 Compares two ctypes objects for equality by recursively comparing their fields.
287 obj1: First ctypes object.
288 obj2: Second ctypes object.
291 True if all fields are equal, False otherwise.
293 if type(obj1)
is not type(obj2):
296 if not isinstance(obj1, ctypes.Structure):
299 from typing
import cast
301 obj1 = cast(ctypes.Structure, obj1)
302 obj2 = cast(ctypes.Structure, obj2)
304 for field_info
in obj1._fields_:
305 field_name, field_type = field_info[:2]
307 val1 = getattr(obj1, field_name)
308 val2 = getattr(obj2, field_name)
310 if issubclass(field_type, ctypes.Structure):
311 if not ctypes_objects_equal(val1, val2):
313 elif isinstance(val1, ctypes.Array):
314 if len(val1) != len(val2)
or any(v1 != v2
for v1, v2
in zip(val1, val2)):