IDS peak ICV v1.4.0
Loading...
Searching...
No Matches
UnpackModule Class Reference
Inheritance diagram for UnpackModule:

Public Member Functions

 UnpackModule ()
 Creates an instance of class UnpackModule.
 
void Dispose ()
 Releases all resources used by this class.
 
override Image Process (Image inputImage)
 Converts a packed pixel format image into an unpacked Bayer or monochrome format.
 
override void ResetToDefault ()
 Resets all settings to their defaults.
 
void ReleaseBuffers ()
 Frees unused internal buffers.
 
override void Serialize (IArchive archive)
 This function has no effect on the Unpack module.
 
override void Deserialize (IArchive archive)
 This function has no effect on the Unpack module.
 
virtual object Process (object input)
 Processes input data and returns the result.This function is called by the pipeline to process a unit of data.
 

Static Public Attributes

const uint DefaultTargetBitDepth = 8
 The default target bit depth.
 
const ProcessingPolicy DefaultProcessingPolicy = ProcessingPolicy.Fast
 The default processing policy.
 

Properties

override string TypeId [get]
 The unique type identifier for this module implementation.This should be a unique string identifying the specific implementation of the module.
 
uint TargetBitDepth = DefaultTargetBitDepth [get, set]
 The target bit depth used during image processing.
 
ProcessingPolicy ProcessingPolicy = DefaultProcessingPolicy [get, set]
 The current processing policy.
 
override bool IsEnabled [get, set]
 Gets a value indicating whether the unpack module is enabled. This property always returns true.
 
int Version = 1 [get]
 The module version.
 

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. The output bit depth depends on the applied processing policy and the specified target bit depth.

Default values:

Since
IDSImaging.Peak.ICV 1.3

Constructor & Destructor Documentation

◆ UnpackModule()

UnpackModule ( )
inline

Creates an instance of class UnpackModule.

Member Function Documentation

◆ Deserialize()

override void Deserialize ( IArchive archive)
inlinevirtual

This function has no effect on the Unpack module.

Reimplemented from ModuleBase.

◆ Dispose()

void Dispose ( )
inline

Releases all resources used by this class.

◆ Process() [1/2]

virtual object Process ( object input)
inlinevirtualinherited

Processes input data and returns the result.This function is called by the pipeline to process a unit of data.

Implements IModule.

Reimplemented in ColorMatrixTransformationModule, DebayerModule, DownsamplingModule, GainModule, HotpixelCorrectionModule, SharpeningModule, ToneCurveCorrectionModule, and TransformationModule.

◆ Process() [2/2]

override Image Process ( Image inputImage)
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.

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

◆ ReleaseBuffers()

void ReleaseBuffers ( )
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.

◆ ResetToDefault()

override void ResetToDefault ( )
inlinevirtual

Resets all settings to their defaults.

Default values:

Note
The enabled state does not change when calling this function.

Reimplemented from ModuleBase.

◆ Serialize()

override void Serialize ( IArchive archive)
inlinevirtual

This function has no effect on the Unpack module.

Reimplemented from ModuleBase.

Field Documentation

◆ DefaultProcessingPolicy

const ProcessingPolicy DefaultProcessingPolicy = ProcessingPolicy.Fast
static

The default processing policy.

◆ DefaultTargetBitDepth

const uint DefaultTargetBitDepth = 8
static

The default target bit depth.

Property Documentation

◆ IsEnabled

override bool IsEnabled
getset

Gets a value indicating whether the unpack module is enabled. This property always returns true.

This property cannot be changed.

The module remains enabled to guarantee correct operation of following modules.

Implements IModule.

◆ ProcessingPolicy

◆ TargetBitDepth

uint TargetBitDepth = DefaultTargetBitDepth
getset

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 Types.ProcessingPolicy:

  • Fast: The output bit depth is the minimum of the input image bit depth and the target bit depth.
  • Balanced: The output bit depth is the same as the input image bit depth (the target value is ignored).
  • Enhanced: The output bit depth is the maximum of the input image bit depth and the target bit depth.

This allows you to downsample, preserve, or enhance bit depth depending on your use case.

◆ TypeId

override string TypeId
get

The unique type identifier for this module implementation.This should be a unique string identifying the specific implementation of the module.

Implements IModule.

◆ Version

int Version = 1
getinherited

The module version.