#include <peak_icv/pipeline/peak_icv_default_pipeline.hpp>

Public Member Functions | |
| DefaultPipeline () | |
| Creates a DefaultPipeline with default module settings. | |
| ~DefaultPipeline () override | |
| std::string | ExportSettingsToString () const override |
| Converts the current pipeline settings into a string format. | |
| void | ImportSettingsFromString (const std::string &settings) override |
| Restores pipeline settings from a previously serialized string. | |
| void | ResetToDefault () override |
| Resets all modules in the pipeline to their default state. Also resets their enabled state. In addition, this also resets the pipelines internal properties to default: | |
| const char * | GetType () const override |
| peak::icv::Image | Process (const peak::icv::Image &image) const |
| Applies the pipeline to the given image and returns the result as a new image. | |
| peak::icv::Image | Process (const peak::common::IImageView &imageView) const |
| Applies the pipeline to an image view and returns the result as a new image. | |
| peak::icv::Image | operator<< (const peak::icv::Image &image) const |
| Convenience operator for processing input using the pipeline. | |
| peak::icv::Image | operator<< (const peak::common::IImageView &imageView) const |
| Convenience operator for processing input using the pipeline. | |
| void | ReleaseBuffers () const |
| Frees unused internal buffers. | |
| features::MirrorFeature & | Mirror () const |
| Provides access to the mirror feature for image mirroring operations. | |
| features::RotationFeature & | Rotation () const |
| Provides access to the rotation feature for image rotation operations. | |
| features::GainFeature & | Gain () const |
| Provides access to the gain feature for brightness and white balance adjustments. | |
| features::ColorCorrectionFeature & | ColorCorrection () const |
| Provides access to the color correction feature for color space transformations. | |
| features::SaturationFeature & | Saturation () const |
| Provides access to the saturation feature for color intensity adjustments. | |
| features::GammaFeature & | Gamma () const |
| Provides access to the gamma feature for brightness and contrast adjustments. | |
| features::DigitalBlackFeature & | DigitalBlack () const |
| Provides access to the digital black feature for sensor offset correction. | |
| features::SharpeningFeature & | Sharpening () const |
| Provides access to the sharpening feature for image detail enhancement. | |
| features::HotpixelCorrectionFeature & | HotpixelCorrection () const |
| Provides access to the hot pixel correction feature for defective pixel repair. | |
| features::BinningFeature & | Binning () const |
| Provides access to the binning feature for resolution reduction and noise improvement. | |
| features::DecimationFeature & | Decimation () const |
| Provides access to the decimation feature for resolution reduction by pixel skipping. | |
| features::ChromaticAdaptionFeature & | ChromaticAdaption () const |
| Provides access to the chromatic adaption feature for adjusting to lighting conditions. | |
| void | SetOutputPixelFormat (peak::common::PixelFormat format) |
| Defines the desired pixel format for processed images. | |
| peak::common::PixelFormat | GetOutputPixelFormat () const |
| void | SetProcessingPolicy (ProcessingPolicy policy) |
| Sets the processing policy for the image processing pipeline. | |
| ProcessingPolicy | GetProcessingPolicy () const |
| void | SetAutoFeatureModule (const std::shared_ptr< modules::IAutoFeature > &autoFeatureModule) |
| Sets an auto feature module for automatic image adjustments. | |
| void | ExportSettingsToFile (const std::string &filePath) const override |
| Saves the current settings of the pipeline and its modules to a file. | |
| void | ImportSettingsFromFile (const std::string &filePath) override |
| Loads the settings of the pipeline and its modules from a file. | |
Image processing pipeline for sequential transformation of raw image frames.
The Pipeline class performs a series of configurable image processing steps on raw or pre-processed image data. It is designed to support a complete transformation workflow, from raw sensor input to final output format, with each stage modular and optionally enabled or configured.
Auto Features – Analyzes the image for the following dynamic adjustments:
To enable Auto Features, an external module must be provided via:
This module is part of the Auto Feature Library (AFL).
The pipeline includes built-in logic to automatically configure certain internal stages based on the input and output formats. For example:
Use the following method to set the desired final pixel format:
The pipeline can be configured in two ways:
This modular and extensible design enables flexible integration into a variety of image processing applications, from camera pipelines to offline image editing.
Definition at line 159 of file peak_icv_default_pipeline.hpp.
|
inline |
Creates a DefaultPipeline with default module settings.
Initializes all internal modules to their default configuration.
Definition at line 588 of file peak_icv_default_pipeline.hpp.
|
inlineoverride |
Definition at line 601 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the binning feature for resolution reduction and noise improvement.
The binning feature reduces image resolution by combining adjacent pixels through averaging or summation, improving signal-to-noise ratio at the cost of resolution.
Definition at line 768 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the chromatic adaption feature for adjusting to lighting conditions.
The chromatic adaption feature adjusts the image's colors based on the known or estimated correlated color temperature of the light source, maintaining consistent color perception.
Definition at line 778 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the color correction feature for color space transformations.
The color correction feature applies a 3x3 transformation matrix to perform color balancing.
Definition at line 738 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the decimation feature for resolution reduction by pixel skipping.
The decimation feature reduces image resolution by skipping pixels in a defined pattern, providing a faster alternative to binning for resolution reduction.
Definition at line 773 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the digital black feature for sensor offset correction.
The digital black feature compensates for sensor digital black offsets by subtracting a configurable black level and normalizing the result.
Definition at line 753 of file peak_icv_default_pipeline.hpp.
|
inlineoverridevirtualinherited |
Saves the current settings of the pipeline and its modules to a file.
This base implementation calls ExportSettingsToString() and writes the resulting string to the specified file path.
| filePath | Path to the file where the settings should be saved. |
Implements IPipeline.
Definition at line 77 of file peak_common_pipeline_base.hpp.
|
inlineoverridevirtual |
Converts the current pipeline settings into a string format.
Serializes all relevant configuration parameters of the pipeline into a single string, which can be stored or transferred for later use.
The export includes:
Implements IPipeline.
Definition at line 609 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the gain feature for brightness and white balance adjustments.
The gain feature allows adjustment of master gain (overall brightness) and individual color channel gains (red, green, blue) for white balance correction.
Definition at line 733 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the gamma feature for brightness and contrast adjustments.
The gamma feature applies inverse gamma correction to adjust image luminance, preparing images for linear domain processing or display.
Definition at line 748 of file peak_icv_default_pipeline.hpp.
|
inline |
PixelFormat enum.Definition at line 856 of file peak_icv_default_pipeline.hpp.
|
inline |
Definition at line 508 of file peak_icv_default_pipeline.hpp.
|
inlineoverridevirtual |
Implements IPipeline.
Definition at line 710 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the hot pixel correction feature for defective pixel repair.
The hot pixel correction feature identifies and corrects defective pixels (hot pixels) in camera images by replacing them with interpolated values from neighboring pixels.
Definition at line 763 of file peak_icv_default_pipeline.hpp.
|
inlineoverridevirtualinherited |
Loads the settings of the pipeline and its modules from a file.
This base implementation reads the file contents and passes them to ImportSettingsFromString() to restore the pipeline state.
| filePath | Path to the file from which settings should be loaded. |
Implements IPipeline.
Definition at line 94 of file peak_common_pipeline_base.hpp.
|
inlineoverridevirtual |
Restores pipeline settings from a previously serialized string.
Parses the provided string and applies the contained configuration values to update the internal state of the pipeline accordingly.
This includes:
deserialize method.| settings | A string containing the serialized pipeline configuration. |
| peak::icv::CorruptedException | If the version or type is invalid. |
| peak::icv::IOException | If required module settings are missing. |
Implements IPipeline.
Definition at line 643 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the mirror feature for image mirroring operations.
The mirror feature allows horizontal (left-right) and vertical (up-down) mirroring of images during pipeline processing.
Definition at line 723 of file peak_icv_default_pipeline.hpp.
|
inline |
Convenience operator for processing input using the pipeline.
Equivalent to calling Process.
| imageView | The image view to be processed. |
Definition at line 851 of file peak_icv_default_pipeline.hpp.
|
inline |
Convenience operator for processing input using the pipeline.
Equivalent to calling Process.
| image | The image to be processed. |
Definition at line 846 of file peak_icv_default_pipeline.hpp.
|
inline |
Applies the pipeline to an image view and returns the result as a new image.
Internally, the image view is converted into an Image before processing.
The returned image is always a new instance. If no processing is applied, it will contain a deep copy of the input buffer.
| imageView | Input image view to be processed. |
Definition at line 841 of file peak_icv_default_pipeline.hpp.
|
inline |
Applies the pipeline to the given image and returns the result as a new image.
The returned image is always a new instance. If no processing is applied, it will be a deep copy of the input.
| image | Input image to be processed. |
Definition at line 836 of file peak_icv_default_pipeline.hpp.
|
inline |
Frees unused internal buffers.
Conversion modules use pre-allocated internal buffers to accelerate conversions. When the image size or pixel format changes, new buffers are allocated, which may cause the internal buffer pool to grow over time. This function can be used to release unused buffers and reduce memory usage.
Definition at line 715 of file peak_icv_default_pipeline.hpp.
|
inlineoverridevirtual |
Resets all modules in the pipeline to their default state. Also resets their enabled state. In addition, this also resets the pipelines internal properties to default:
Implements IPipeline.
Definition at line 690 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the rotation feature for image rotation operations.
The rotation feature allows rotating images in 90-degree increments (0°, 90°, 180°, 270°) during pipeline processing.
Definition at line 728 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the saturation feature for color intensity adjustments.
The saturation feature allows adjustment of color saturation levels, making colors more vivid (higher saturation) or more muted (lower saturation).
Definition at line 743 of file peak_icv_default_pipeline.hpp.
|
inline |
Sets an auto feature module for automatic image adjustments.
These adjustments can include features such as image brightness, white balance, and focus, depending on the capabilities of the provided module.
| autoFeatureModule | The auto feature module. |
Definition at line 930 of file peak_icv_default_pipeline.hpp.
|
inline |
Defines the desired pixel format for processed images.
The pipeline will convert images to this format during processing.
| format | The new pixel format as a PixelFormat enum. |
Definition at line 861 of file peak_icv_default_pipeline.hpp.
|
inline |
Sets the processing policy for the image processing pipeline.
This policy determines the trade-off between processing speed and image quality throughout the entire pipeline.
| policy | The desired processing policy. |
Definition at line 922 of file peak_icv_default_pipeline.hpp.
|
inline |
Provides access to the sharpening feature for image detail enhancement.
The sharpening feature applies edge-based sharpening filters to enhance image detail and improve perceived image sharpness.
Definition at line 758 of file peak_icv_default_pipeline.hpp.