IDS peak ICV v1.3.0
Loading...
Searching...
No Matches
__init__.py
Go to the documentation of this file.
1"""!
2@brief
3@defgroup ids_peak_icv_python Python
4@ingroup ids_peak_icv_library
5
6@brief
7The Python interface for the IDS peak ICV library.
8
9The interface is delivered as a wheel via the Python Package Index (PyPI).
10It can be installed using `pip`:
11
12```bash
13pip install ids_peak_icv
14```
15
16To use @htmlonly IDS peak ICV @endhtmlonly in your project import ids_peak_icv by calling:
17
18```python
19import ids_peak_icv
20```
21
22@defgroup ids_peak_icv_python_calibration Calibration
23@ingroup ids_peak_icv_python
24
25@brief
26Geometric camera calibration.
27
28Provides tools to determine camera parameters, correct lens distortion, and map image pixels to physical real-world coordinates.
29
30@defgroup ids_peak_icv_python_experimental Experimental
31@ingroup ids_peak_icv_python
32
33@brief
34Preliminary features under development.
35
36Next to its officially released functions the IDS peak ICV library contains preliminary functions
37that are being prepared by our software development team but are still under development.
38These preliminary functions are marked with a warning.
39All preliminary functionality is located in the experimental Python module (ids_peak_icv.experimental).
40Please use these functions and classes for testing purposes only.
41We welcome any feedback or suggestions that can help us improve them.
42Do not use these functions in production environments until they have been officially released.
43
44@defgroup ids_peak_icv_python_filters Filters
45@ingroup ids_peak_icv_python
46
47@brief
48Image filtering.
49
50@defgroup ids_peak_icv_python_painting Painting
51@ingroup ids_peak_icv_python
52
53@brief
54Image painting.
55
56Provides tools and styling options to draw shapes and overlays onto images.
57
58@defgroup ids_peak_icv_python_pipeline Image Pipeline
59@ingroup ids_peak_icv_python
60
61@brief
62Comprehensive image processing pipeline system for real-time image transformation and enhancement.
63
64The Image Pipeline provides a complete, modular framework for processing raw or pre-processed image data
65through a series of configurable transformation stages. It supports a wide range of image processing
66operations from basic format conversions to advanced enhancement algorithms.
67
68## Architecture Overview
69
70The pipeline follows a modular design with two main component types:
71- **Modules**: Core processing units that perform specific image transformations
72- **Features**: High-level interfaces that provide user-friendly access to module functionality
73
74## Processing Flow
75
76The pipeline processes images through sequential stages:
77
78- **Data Unpacking** - Converts packed sensor formats to standard representations
79- **Defect Correction** - Removes hot pixels and other sensor artifacts
80- **Geometric Transformations** - Handles binning, decimation, rotation, and mirroring
81- **Gain Control** - Applies brightness and white balance adjustments
82- **Color Processing** - Performs debayering and color space transformations
83- **Enhancement** - Applies sharpening, gamma correction, and tone mapping
84- **Format Conversion** - Converts to the desired output pixel format
85
86For more information refer to the @ref guide_pipeline Guide.
87
88@defgroup ids_peak_icv_python_selectors Selectors
89@ingroup ids_peak_icv_python
90
91@brief
92Object filtering.
93
94A Selector encapsulates a filtering operation
95applied to a given set of objects.
96Instead of modifying the original set,
97each selection function returns a new Selector object
98that represents the filtered subset.
99
100This design enables the chaining of multiple selection criteria.
101
102To access the currently selected objects,
103use the respective accessor functions,
104such as `RegionSelector.regions`.
105
106@defgroup ids_peak_icv_python_serialization Serialization
107@ingroup ids_peak_icv_python
108
109@brief
110Object serialization.
111
112Serialization refers to the process of transforming
113an object’s state or a data structure
114into a format suitable for storage or transmission
115(e.g., files, databases, or network streams).
116This allows data to be persisted
117and later reconstructed through deserialization,
118restoring the original structure and values.
119
120Typical use cases include:
121- Saving application state to disk
122- Transferring data between processes or systems
123
124@defgroup ids_peak_icv_python_thresholds Thresholds
125@ingroup ids_peak_icv_python
126
127@brief
128Image thresholding.
129
130@defgroup ids_peak_icv_python_transformations Transformations
131@ingroup ids_peak_icv_python
132
133@brief
134Geometric image transformations.
135
136@defgroup ids_peak_icv_python_types Types
137@ingroup ids_peak_icv_python
138
139@brief
140Fundamental data types.
141
142@defgroup ids_peak_icv_python_types_geometry Geometry
143@ingroup ids_peak_icv_python_types
144
145@brief Geometric data types.
146
147"""
148
149from .backend.utils import Loader
150
151lib_loader = Loader()
152
153from .datatypes import (BinningFactor, Image, Region)
154from . import pipeline
155from . import serialization
156from .exceptions import (CorruptedException, IOException, MismatchException, NotSupportedException,
157 NotPossibleException, TargetNotFoundException, OutOfRangeException, InternalErrorException,
158 MathErrorException, NullPointerException, InvalidConfigurationException,
159 ICVException)
160from . import (selectors, thresholds, calibration, transformations, filters)
161from .datatypes import (PointCloud, XYZImage, Polygon, PointXYZ, PointXYZI, CoordinateSystem)