
Public Member Functions | |
| DefaultPipeline () | |
| Creates a DefaultPipeline with default module settings. | |
| void | Dispose () |
| Releases all resources used by the DefaultPipeline. | |
| override string | ExportSettingsToString () |
| Converts the current pipeline settings into a string format. | |
| override void | ImportSettingsFromString (string settings) |
| Restores pipeline settings from a previously serialized string. | |
| override void | ResetToDefault () |
| Resets all modules in the pipeline to their default state. Also resets their enabled state. | |
| Image | Process (Image image) |
| Applies the pipeline to the given image and returns the result as a new image. | |
| override object | Process (object input) |
| Applies the pipeline to the given image and returns the result as a new image. | |
| Image | Process (IImageView imageView) |
| Applies the pipeline to an image view and returns the result as a new image. | |
| void | ReleaseBuffers () |
| Frees unused internal buffers. | |
| virtual void | ExportSettingsToFile (string filePath) |
| Saves the current settings of the pipeline and its modules to a file. | |
| virtual void | ImportSettingsFromFile (string filePath) |
| Loads the settings of the pipeline and its modules from a file. | |
Properties | |
| override string | TypeId [get] |
| The pipeline type identifier as a string, primarily used for serialization. | |
| ProcessingPolicy | ProcessingPolicy [get, set] |
| Defines the processing policy for the pipeline. | |
| PixelFormat | OutputPixelFormat [get, set] |
The current output pixel format as a PixelFormat enum. | |
| HotpixelCorrectionFeature | Hotpixel [get] |
| Provides access to the hot pixel correction feature for defective pixel repair. | |
| BinningFeature | Binning [get] |
| Provides access to the binning feature for resolution reduction and noise improvement. | |
| DecimationFeature | Decimation [get] |
| Provides access to the decimation feature for resolution reduction by pixel skipping. | |
| MirrorFeature | Mirror [get] |
| Provides access to the mirror feature for image mirroring operations. | |
| RotationFeature | Rotation [get] |
| Provides access to the rotation feature for image rotation operations. | |
| GainFeature | Gain [get] |
| Provides access to the gain feature for brightness and white balance adjustments. | |
| ColorCorrectionFeature | ColorCorrection [get] |
| Provides access to the color correction feature for color space transformations. | |
| SaturationFeature | Saturation [get] |
| Provides access to the saturation feature for color intensity adjustments. | |
| ChromaticAdaptionFeature | ChromaticAdaption [get] |
| Provides access to the chromatic adaption feature for adjusting to lighting conditions. | |
| SharpeningFeature | Sharpening [get] |
| Provides access to the sharpening feature for image detail enhancement. | |
| GammaFeature | Gamma [get] |
| Provides access to the gamma feature for brightness and contrast adjustments. | |
| DigitalBlackFeature | DigitalBlack [get] |
| Provides access to the digital black feature for sensor offset correction. | |
| IAutoFeature? | AutoFeatureModule [get, set] |
| Auto feature module for automatic image adjustments. | |
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.
Processing Steps:
Smart Pixel Format Configuration Inference
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:
Configuration
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.
|
inline |
Creates a DefaultPipeline with default module settings.
Initializes all internal modules to their default configuration.
|
inline |
Releases all resources used by the DefaultPipeline.
|
inlinevirtualinherited |
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 filepath.
| filePath | Path to the file where the settings should be saved. |
Implements IPipeline.
|
inline |
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.
|
inlinevirtualinherited |
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.
|
inline |
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. |
| IcvNotPossibleException | The type is invalid. |
| IcvNotSupportedException | The version is invalid. |
| IcvCorruptedException | The required module settings are missing. |
Implements IPipeline.
|
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. |
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. |
|
inlinevirtual |
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.
| input | Input image to be processed. |
Reimplemented from PipelineBase.
|
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.
|
inline |
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.
|
getset |
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.
|
get |
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.
|
get |
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.
|
get |
Provides access to the color correction feature for color space transformations.
The color correction feature applies a 3x3 transformation matrix to perform color balancing.
|
get |
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.
|
get |
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.
|
get |
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.
|
get |
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.
|
get |
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.
|
get |
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.
|
getset |
The current output pixel format as a PixelFormat enum.
|
getset |
Defines the processing policy for the pipeline.
This policy determines the trade-off between processing speed and image quality throughout the entire pipeline.
Gets or sets the processing policy for the image processing pipeline.
|
get |
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.
|
get |
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).
|
get |
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.
|
get |
The pipeline type identifier as a string, primarily used for serialization.
Implements IPipeline.