IDS peak ICV v1.1.0
Loading...
Searching...
No Matches
MonoConversionModule Class Reference

#include <peak_icv/pipeline/detail/peak_icv_mono_conversion_module.hpp>

Inheritance diagram for MonoConversionModule:

Public Member Functions

 MonoConversionModule ()
 Creates an instance of class MonoConversion.
 
 ~MonoConversionModule () override
 
 MonoConversionModule (const MonoConversionModule &other)=delete
 Copy constructor for class MonoConversionModule is deleted.
 
 MonoConversionModule (MonoConversionModule &&other) noexcept
 
MonoConversionModule & operator= (const MonoConversionModule &other)=delete
 Copy assignment for class MonoConversionModule is deleted.
 
MonoConversionModule & operator= (MonoConversionModule &&other) noexcept
 
void Serialize (peak::common::serialization::IArchive &archive) const override
 Serializes the object's internal state into the provided archive.
 
void Deserialize (const peak::common::serialization::IArchive &archive) override
 Restores the object's state from the provided archive.
 
void SetEnabled (bool enabled) override
 Sets the enabled state of this module.
 
bool IsEnabled () const override
 Checks if the module is currently enabled.
 
const char * GetType () const override
 Returns the type of the module for serialization purposes.
 
void ResetToDefault () override
 Does nothing for the mono conversion module.
 
peak::icv::Image Process (const peak::icv::Image &input) const
 Processes the input image, performing mono conversion if enabled.
 
peak::common::Any Process (const peak::common::Any &input) const override
 Processes the input image, performing mono conversion if enabled.
 
void ReleaseBuffers () const
 Frees unused internal buffers.
 

Detailed Description

Mono conversion is an image pipeline module that converts images to a monochrome format.

The mono conversion module performs a mono (grayscale) conversion on input images. When enabled, it converts the input image to a mono format while preserving the input bit depth. If disabled, the input image is passed through unchanged.

Since
ids_peak_icv 1.0

Definition at line 36 of file peak_icv_mono_conversion_module.hpp.

Constructor & Destructor Documentation

◆ MonoConversionModule() [1/3]

Creates an instance of class MonoConversion.

Since
ids_peak_icv 1.0

Definition at line 210 of file peak_icv_mono_conversion_module.hpp.

◆ ~MonoConversionModule()

~MonoConversionModule ( )
inlineoverride
Since
ids_peak_icv 1.0

Definition at line 217 of file peak_icv_mono_conversion_module.hpp.

◆ MonoConversionModule() [2/3]

MonoConversionModule ( const MonoConversionModule & other)
delete

Copy constructor for class MonoConversionModule is deleted.

Note
If you need to copy a module, you can create a new one and copy the parameters via Serialize() and Deserialize().
Since
ids_peak_icv 1.0

◆ MonoConversionModule() [3/3]

MonoConversionModule ( MonoConversionModule && other)
inlinenoexcept
Since
ids_peak_icv 1.0

Definition at line 225 of file peak_icv_mono_conversion_module.hpp.

Member Function Documentation

◆ Deserialize()

void Deserialize ( const peak::common::serialization::IArchive & archive)
inlineoverridevirtual

Restores the object's state from the provided archive.

This function reads and applies all necessary parameters from the given archive to reconstruct the internal state of the object. It ensures that the object is restored to a valid and consistent state.

Parameters
archiveThe source archive containing the serialized parameters.
Exceptions
CorruptedExceptionIf Archive is malformed, misses keys or the values are invalid
NotSupportedExceptionIf the 'Version' entry indicates an unsupported version.
Note
This function requires that the archive contains all expected fields as produced by a corresponding Serialize() call.
Since
ids_peak_icv 1.0

Implements ISerializable.

Definition at line 248 of file peak_icv_mono_conversion_module.hpp.

◆ GetType()

const char * GetType ( ) const
inlineoverridevirtual

Returns the type of the module for serialization purposes.

Returns
A string representing the module's type.
Since
ids_peak_icv 1.0

Implements IModule.

Definition at line 266 of file peak_icv_mono_conversion_module.hpp.

◆ IsEnabled()

bool IsEnabled ( ) const
inlineoverridevirtual

Checks if the module is currently enabled.

Returns
True if the module is enabled, false otherwise.
Since
ids_peak_icv 1.0

Implements IModule.

Definition at line 261 of file peak_icv_mono_conversion_module.hpp.

◆ operator=() [1/2]

MonoConversionModule & operator= ( const MonoConversionModule & other)
delete

Copy assignment for class MonoConversionModule is deleted.

Note
If you need to copy a module, you can create a new one and copy the parameters via Serialize() and Deserialize().
Since
ids_peak_icv 1.0

◆ operator=() [2/2]

MonoConversionModule & operator= ( MonoConversionModule && other)
inlinenoexcept
Since
ids_peak_icv 1.0

Definition at line 231 of file peak_icv_mono_conversion_module.hpp.

◆ Process() [1/2]

peak::common::Any Process ( const peak::common::Any & input) const
inlineoverridevirtual

Processes the input image, performing mono conversion if enabled.

This function converts the input image to a monochrome format if the module is enabled. The output image preserves the bit depth of the input. If the module is disabled, the input image is returned unchanged.

Note
This operation disregards any specified image regions and processes the entire image.
Parameters
inputThe input image to process.
Returns
The processed image in mono format if enabled; otherwise, the original image.
Exceptions
peak::common::InvalidCastExceptionIf the input cast to peak::icv::Image failed.
Since
ids_peak_icv 1.0

Implements IModule.

Definition at line 302 of file peak_icv_mono_conversion_module.hpp.

◆ Process() [2/2]

peak::icv::Image Process ( const peak::icv::Image & input) const
inline

Processes the input image, performing mono conversion if enabled.

This function converts the input image to a monochrome format if the module is enabled. The output image preserves the bit depth of the input. If the module is disabled, the input image is returned unchanged.

Note
This operation disregards any specified image regions and processes the entire image.
Parameters
inputThe input image to process.
Returns
The processed image in mono format if enabled; otherwise, the original image.
Since
ids_peak_icv 1.0

Definition at line 297 of file peak_icv_mono_conversion_module.hpp.

◆ ReleaseBuffers()

void ReleaseBuffers ( ) const
inline

Frees unused internal buffers.

This module uses 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.

Note
Avoid calling this function too frequently (e.g., after every resize or format change), as it introduces some overhead.
Since
ids_peak_icv 1.0

Definition at line 330 of file peak_icv_mono_conversion_module.hpp.

◆ ResetToDefault()

void ResetToDefault ( )
inlineoverridevirtual

Does nothing for the mono conversion module.

Since
ids_peak_icv 1.0

Implements IModule.

Definition at line 148 of file peak_icv_mono_conversion_module.hpp.

◆ Serialize()

void Serialize ( peak::common::serialization::IArchive & archive) const
inlineoverridevirtual

Serializes the object's internal state into the provided archive.

This function populates the given archive with all parameters required to fully represent the current state of the object. It ensures that the object can be reconstructed or transmitted accurately by saving all relevant data members in a consistent and structured format.

Parameters
archiveThe target archive that will store the serialized parameters.
Since
ids_peak_icv 1.0

Implements ISerializable.

Definition at line 242 of file peak_icv_mono_conversion_module.hpp.

◆ SetEnabled()

void SetEnabled ( bool enabled)
inlineoverridevirtual

Sets the enabled state of this module.

Parameters
enabledIf true, the module is enabled; otherwise, it is disabled.
Since
ids_peak_icv 1.0

Implements IModule.

Definition at line 256 of file peak_icv_mono_conversion_module.hpp.