IDS peak AFL v2.1.0
Loading...
Searching...
No Matches
SkipFrames Class Reference

Skip frames feature implementation for auto controllers. More...

#include <peak_afl/pipeline/modules/controllers/features/peak_afl_skip_frames.hpp>

Inheritance diagram for SkipFrames:
IRangeFeature< uint32_t > IFeature< uint32_t > ISerializable

Public Member Functions

 SkipFrames (std::shared_ptr< peak::afl::Controller > controller)
 Constructs a SkipFrames feature with the specified controller.
void Set (const uint32_t &value) override
 Sets the number of frames to skip.
uint32_t Get () const override
 Gets the current number of frames to skip.
peak::common::RangeU GetRange () const override
 Gets the valid range for skip frames values.
void Serialize (peak::common::serialization::IArchive &archive) const override
 Serializes the current skip frames value to an archive.
void Deserialize (const peak::common::serialization::IArchive &archive) override
 Deserializes the skip frames value from an archive.
Public Member Functions inherited from IFeature< uint32_t >
virtual ~IFeature ()=default
 Virtual destructor for proper cleanup of derived classes.

Detailed Description

Skip frames feature implementation for auto controllers.

The SkipFrames class provides a feature interface for managing the skip frames parameter of auto controllers. This feature controls how many frames the automatic algorithms should skip between processing cycles.

Frame skipping is useful for performance optimization and to allow camera parameters to stabilize between auto adjustments. For example, setting skip frames to 5 means the auto algorithm will process every 6th frame (skip 5, process 1), giving the camera time to settle after parameter changes.

This class inherits from IRangeFeature<uint32_t> and provides serialization support for configuration persistence.

Note
The actual range and increment values are determined by the underlying controller implementation and may vary based on the controller type and system capabilities.
See also
IRangeFeature
peak::afl::Controller::SetSkipFrames()
peak::afl::Controller::GetSkipFrames()
Since
1.8

Constructor & Destructor Documentation

◆ SkipFrames()

SkipFrames ( std::shared_ptr< peak::afl::Controller > controller)
inlineexplicit

Constructs a SkipFrames feature with the specified controller.

Parameters
[in]controllerShared pointer to the auto controller that will be used to manage the skip frames parameter. The controller must support skip frames operations.
Precondition
controller must not be null
controller must support skip frames functionality
Since
1.8

Member Function Documentation

◆ Deserialize()

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

Deserializes the skip frames value from an archive.

Loads the skip frames value from the provided archive and applies it to the controller. The value is expected to be stored with the key "SkipFrames".

Parameters
[in]archiveThe archive to read the skip frames value from
Exceptions
Maythrow serialization exceptions if the archive operation fails
Maythrow controller exceptions if the deserialized value is invalid
See also
Serialize()
Since
1.8

Implements ISerializable.

◆ Get()

uint32_t Get ( ) const
inlineoverridevirtual

Gets the current number of frames to skip.

Retrieves the currently configured number of frames that the automatic algorithms skip between processing cycles.

Returns
The current skip frames value as a uint32_t
Exceptions
Maythrow exceptions based on the underlying controller implementation if the controller is in an invalid state.
See also
Set()
GetRange()
Since
1.8

Implements IFeature< uint32_t >.

◆ GetRange()

peak::common::RangeU GetRange ( ) const
inlineoverridevirtual

Gets the valid range for skip frames values.

Retrieves the minimum, maximum, and increment values that are valid for the skip frames parameter. This information can be used to validate input values or to populate user interface controls.

Returns
A RangeU structure containing:
  • min: Minimum valid skip frames value (typically 0)
  • max: Maximum valid skip frames value
  • inc: Increment/step size for skip frames values (typically 1)
Exceptions
Maythrow exceptions based on the underlying controller implementation if the controller is in an invalid state.
See also
Set()
Get()
Since
1.8

Implements IRangeFeature< uint32_t >.

◆ Serialize()

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

Serializes the current skip frames value to an archive.

Stores the current skip frames value in the provided archive for configuration persistence. The value is stored with the key "SkipFrames".

Parameters
[in,out]archiveThe archive to write the skip frames value to
Exceptions
Maythrow serialization exceptions if the archive operation fails
See also
Deserialize()
Since
1.8

Implements ISerializable.

◆ Set()

void Set ( const uint32_t & value)
inlineoverridevirtual

Sets the number of frames to skip.

Sets the number of frames that the automatic algorithms should skip between processing cycles. This allows for performance optimization and gives camera parameters time to stabilize between adjustments.

Parameters
[in]valueThe number of frames to skip. A value of 0 means process every frame, 1 means skip 1 frame (process every other frame), etc. The exact valid range can be obtained using GetRange().
Exceptions
Maythrow exceptions based on the underlying controller implementation if the value is outside the valid range or if the controller is in an invalid state.
See also
Get()
GetRange()
Since
1.8

Implements IFeature< uint32_t >.


The documentation for this class was generated from the following file: