IDS peak AFL v2.0.2
Loading...
Searching...
No Matches
peak_afl_advanced_auto_white_balance.hpp
Go to the documentation of this file.
1
10
11#pragma once
12
13#include <peak_afl/peak_afl.hpp>
17
19
20namespace peak
21{
22namespace pipeline
23{
24namespace modules
25{
26namespace autofeature
27{
28
57{
65 using ProcessingCallback = std::function<void()>;
66
67public:
78 explicit AdvancedAutoWhiteBalance(peak::afl::Manager& manager, ProcessingCallback callback)
79 : IController(manager)
80 , m_genericController(manager, std::move(callback))
81 {}
82
89 ~AdvancedAutoWhiteBalance() override = default;
90
99 PEAK_COMMON_NO_DISCARD std::string GetName() const override
100 {
101 return "AdvancedAutoWhiteBalance";
102 }
103
115 {
116 m_genericController.Serialize(archive);
117 }
118
129 {
130 m_genericController.Deserialize(archive);
131 }
132
143 void SetMode(ControllerMode mode) override
144 {
145 m_genericController.SetMode(mode);
146 }
147
156 PEAK_COMMON_NO_DISCARD ControllerMode GetMode() const override
157 {
158 return m_genericController.GetMode();
159 }
160
172 PEAK_COMMON_NO_DISCARD bool IsRunning() const override
173 {
174 return m_genericController.IsRunning();
175 }
176
185 void ResetToDefault() override
186 {
187 m_genericController.ResetToDefault();
188 }
189
202 PEAK_COMMON_NO_DISCARD features::SkipFrames& SkipFrames() const
203 {
204 return m_genericController.SkipFrames();
205 }
206
219 PEAK_COMMON_NO_DISCARD features::Roi& Roi() const
220 {
221 return m_genericController.Roi();
222 }
223
232 PEAK_COMMON_NO_DISCARD ControllerType GetType() const override
233 {
234 return m_genericController.GetType();
235 }
236
249 IController::FinishedCallbackHandle RegisterFinishedCallback(const IController::FinishedCallback& callback)
250 {
251 return m_genericController.RegisterFinishedCallback(callback);
252 }
253
264 void UnregisterFinishedCallback(IController::FinishedCallbackHandle callbackHandle)
265 {
266 m_genericController.UnregisterFinishedCallback(callbackHandle);
267 }
268
269private:
277 detail::GenericWhiteBalance m_genericController;
278};
279
280} // namespace autofeature
281} // namespace modules
282} // namespace pipeline
283} // namespace peak
Central coordination object for automatic camera feature control.
Definition peak_afl.hpp:663
Interface for a hierarchical key-value archive system.
Definition peak_common_iarchive.hpp:59
features::SkipFrames & SkipFrames() const
Gets the skip frames feature controller.
Definition peak_afl_advanced_auto_white_balance.hpp:202
features::Roi & Roi() const
Gets the region of interest (ROI) feature controller.
Definition peak_afl_advanced_auto_white_balance.hpp:219
void UnregisterFinishedCallback(IController::FinishedCallbackHandle callbackHandle)
Unregisters a previously registered callback.
Definition peak_afl_advanced_auto_white_balance.hpp:264
AdvancedAutoWhiteBalance(peak::afl::Manager &manager, ProcessingCallback callback)
Constructs an AdvancedAutoWhiteBalance instance.
Definition peak_afl_advanced_auto_white_balance.hpp:78
ControllerMode GetMode() const override
Gets the current controller operation mode.
Definition peak_afl_advanced_auto_white_balance.hpp:156
std::string GetName() const override
Gets the controller name.
Definition peak_afl_advanced_auto_white_balance.hpp:99
void Serialize(peak::common::serialization::IArchive &archive) const override
Serializes the controller configuration to an archive.
Definition peak_afl_advanced_auto_white_balance.hpp:114
IController::FinishedCallbackHandle RegisterFinishedCallback(const IController::FinishedCallback &callback)
Registers a callback for processing completion notifications.
Definition peak_afl_advanced_auto_white_balance.hpp:249
void SetMode(ControllerMode mode) override
Sets the controller operation mode.
Definition peak_afl_advanced_auto_white_balance.hpp:143
void Deserialize(const peak::common::serialization::IArchive &archive) override
Deserializes the controller configuration from an archive.
Definition peak_afl_advanced_auto_white_balance.hpp:128
ControllerType GetType() const override
Gets the controller type identifier.
Definition peak_afl_advanced_auto_white_balance.hpp:232
void ResetToDefault() override
Resets the controller to its default configuration.
Definition peak_afl_advanced_auto_white_balance.hpp:185
bool IsRunning() const override
Checks if the controller is currently running.
Definition peak_afl_advanced_auto_white_balance.hpp:172
Abstract base interface for all automatic controllers.
Definition peak_afl_icontroller.hpp:227
Region of Interest (ROI) feature implementation for auto controllers.
Definition peak_afl_roi.hpp:61
Roi(std::shared_ptr< peak::afl::Controller > controller)
Constructs a Roi feature with the specified controller.
Definition peak_afl_roi.hpp:75
Skip frames feature implementation for auto controllers.
Definition peak_afl_skip_frames.hpp:57
SkipFrames(std::shared_ptr< peak::afl::Controller > controller)
Constructs a SkipFrames feature with the specified controller.
Definition peak_afl_skip_frames.hpp:71
ControllerMode
Controller operation mode enumeration.
Definition peak_afl_icontroller.hpp:59
ControllerType
Controller type enumeration.
Definition peak_afl_icontroller.hpp:40
Interface definitions and implementations for individual module types used within a pipeline.
Definition peak_afl_generic_auto_brightness.hpp:39
Interfaces and implementations for defining and controlling data processing pipelines.
Definition peak_afl_generic_auto_brightness.hpp:37