IDS peak ICV v1.2.0
Loading...
Searching...
No Matches
UnpackModule Class Reference

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

Inheritance diagram for UnpackModule:

Public Member Functions

 UnpackModule ()
 Creates an instance of class UnpackModule.
 
 ~UnpackModule () override
 
 UnpackModule (const UnpackModule &other)=delete
 Copy constructor for class UnpackModule is deleted.
 
 UnpackModule (UnpackModule &&other) noexcept
 
UnpackModule & operator= (const UnpackModule &other)=delete
 Copy assignment for class UnpackModule is deleted.
 
UnpackModule & operator= (UnpackModule &&other) noexcept
 
void Serialize (peak::common::serialization::IArchive &archive) const override
 This function has no effect on the Unpack module.
 
void Deserialize (const peak::common::serialization::IArchive &archive) override
 This function has no effect on the unpack module.
 
void SetEnabled (bool enable) override
 Does nothing. The module is always enabled, because otherwise following modules will fail.
 
bool IsEnabled () const override
 Returns true since the unpack module is always enabled.
 
const char * GetType () const override
 Returns the type of the module for serialization purposes.
 
void ResetToDefault () override
 Resets all module settings.
 
void SetTargetBitDepth (size_t bitDepth)
 Set the target bit depth.
 
size_t GetTargetBitDepth () const
 Get the target bit depth used during image processing.
 
void SetProcessingPolicy (ProcessingPolicy policy)
 Set the processing policy.
 
ProcessingPolicy GetProcessingPolicy () const
 Get the currently configured processing policy.
 
peak::icv::Image Process (const peak::icv::Image &input) const
 Converts a packed pixel format image into an unpacked Bayer or monochrome format.
 
peak::common::Any Process (const peak::common::Any &input) const override
 Converts a packed pixel format image into an unpacked Bayer or mono format.
 
void ReleaseBuffers () const
 Frees unused internal buffers.
 

Detailed Description

Unpack is an image pipeline module that converts packed pixel formats into corresponding unpacked Bayer or mono formats.

The unpack module is always enabled and cannot be disabled. It converts input images with packed pixel formats into their corresponding unpacked Bayer or monochrome formats, preserving the original bit depth of the image.

Since
ids_peak_icv 1.0

Definition at line 37 of file peak_icv_unpack_module.hpp.

Constructor & Destructor Documentation

◆ UnpackModule() [1/3]

UnpackModule ( )
inline

Creates an instance of class UnpackModule.

Since
ids_peak_icv 1.0

Definition at line 245 of file peak_icv_unpack_module.hpp.

◆ ~UnpackModule()

~UnpackModule ( )
inlineoverride
Since
ids_peak_icv 1.0

Definition at line 252 of file peak_icv_unpack_module.hpp.

◆ UnpackModule() [2/3]

UnpackModule ( const UnpackModule & other)
delete

Copy constructor for class UnpackModule 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

◆ UnpackModule() [3/3]

UnpackModule ( UnpackModule && other)
inlinenoexcept
Since
ids_peak_icv 1.0

Definition at line 260 of file peak_icv_unpack_module.hpp.

Member Function Documentation

◆ Deserialize()

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

This function has no effect on the unpack module.

Since
ids_peak_icv 1.0

Implements ISerializable.

Definition at line 280 of file peak_icv_unpack_module.hpp.

◆ GetProcessingPolicy()

ProcessingPolicy GetProcessingPolicy ( ) const
inline

Get the currently configured processing policy.

Returns
The active processing policy.

Definition at line 446 of file peak_icv_unpack_module.hpp.

◆ GetTargetBitDepth()

size_t GetTargetBitDepth ( ) const
inline

Get the target bit depth used during image processing.

This value specifies the bit depth the module will aim for when unpacking packed pixel formats. The actual output bit depth depends on the selected ProcessingPolicy.

Returns
The currently configured target bit depth.

Definition at line 436 of file peak_icv_unpack_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 295 of file peak_icv_unpack_module.hpp.

◆ IsEnabled()

bool IsEnabled ( ) const
inlineoverridevirtual

Returns true since the unpack module is always enabled.

Returns
True.
Since
ids_peak_icv 1.0

Implements IModule.

Definition at line 290 of file peak_icv_unpack_module.hpp.

◆ operator=() [1/2]

UnpackModule & operator= ( const UnpackModule & other)
delete

Copy assignment for class UnpackModule 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]

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

Definition at line 265 of file peak_icv_unpack_module.hpp.

◆ Process() [1/2]

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

Converts a packed pixel format image into an unpacked Bayer or mono format.

This function unpacks the input image from a packed format to its corresponding unpacked Bayer or monochrome format, preserving the input bit depth.

Note
This operation disregards any specified image regions and processes the entire image.
Parameters
inputThe packed input image to unpack.
Returns
The unpacked output image with the downsampled bit depth.
Exceptions
peak::common::InvalidCastExceptionIf the input cast to peak::icv::Image failed.
Since
ids_peak_icv 1.0

Implements IModule.

Definition at line 469 of file peak_icv_unpack_module.hpp.

◆ Process() [2/2]

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

Converts a packed pixel format image into an unpacked Bayer or monochrome format.

This function unpacks the input image from a packed format to its corresponding unpacked Bayer or monochrome format, preserving the input bit depth.

Note
This operation disregards any specified image regions and processes the entire image.
Parameters
inputThe packed input image to unpack.
Returns
The unpacked output image with the downsampled bit depth.

Definition at line 451 of file peak_icv_unpack_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 494 of file peak_icv_unpack_module.hpp.

◆ ResetToDefault()

void ResetToDefault ( )
inlineoverridevirtual

Resets all module settings.

Resets the target bit depth to 8 and the processing policy to ProcessingPolicy::Fast

Since
ids_peak_icv 1.0

Implements IModule.

Definition at line 425 of file peak_icv_unpack_module.hpp.

◆ Serialize()

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

This function has no effect on the Unpack module.

Since
ids_peak_icv 1.0

Implements ISerializable.

Definition at line 275 of file peak_icv_unpack_module.hpp.

◆ SetEnabled()

void SetEnabled ( bool enable)
inlineoverridevirtual

Does nothing. The module is always enabled, because otherwise following modules will fail.

Since
ids_peak_icv 1.0

Implements IModule.

Definition at line 285 of file peak_icv_unpack_module.hpp.

◆ SetProcessingPolicy()

void SetProcessingPolicy ( ProcessingPolicy policy)
inline

Set the processing policy.

Defines how the bit depth is handled during image processing — whether it is increased, decreased, or preserved.

  • Fast: Converts a packed image to an unpacked pixel format with the same Bayer pattern. The resulting bit depth is the minimum of the input pixel format and the target bit depth.
  • Balanced: Converts a packed image to an unpacked pixel format with the same Bayer pattern and retains the original bit depth of the input.
  • Enhanced: Converts a Bayered image to a pixel format with the same Bayer pattern. The resulting bit depth is the maximum of the input pixel format and the target bit depth.
Parameters
policyThe desired processing policy.

Definition at line 441 of file peak_icv_unpack_module.hpp.

◆ SetTargetBitDepth()

void SetTargetBitDepth ( size_t bitDepth)
inline

Set the target bit depth.

Specifies the desired bit depth for image processing. Whether the actual bit depth is increased, decreased, or preserved depends on the selected processing policy and the bit depth of the input image.

Parameters
bitDepthThe target bit depth to use during processing.
Since
ids_peak_icv 1.0

Definition at line 431 of file peak_icv_unpack_module.hpp.