IDS peak AFL v2.1.0
Loading...
Searching...
No Matches
peak_afl_advanced_auto_white_balance.hpp
Go to the documentation of this file.
1
6
7#pragma once
8
13
15
16namespace peak
17{
18namespace pipeline
19{
20namespace modules
21{
22namespace autofeature
23{
24
53{
61 using ProcessingCallback = std::function<void()>;
62
63public:
74 explicit AdvancedAutoWhiteBalance(peak::afl::Manager& manager, ProcessingCallback callback)
75 : IController(manager)
76 , m_genericController(manager, std::move(callback))
77 {}
78
85 ~AdvancedAutoWhiteBalance() override = default;
86
95 PEAK_COMMON_NO_DISCARD std::string GetName() const override
96 {
97 return "AdvancedAutoWhiteBalance";
98 }
99
111 {
112 m_genericController.Serialize(archive);
113 }
114
125 {
126 m_genericController.Deserialize(archive);
127 }
128
139 void SetMode(ControllerMode mode) override
140 {
141 m_genericController.SetMode(mode);
142 }
143
152 PEAK_COMMON_NO_DISCARD ControllerMode GetMode() const override
153 {
154 return m_genericController.GetMode();
155 }
156
168 PEAK_COMMON_NO_DISCARD bool IsRunning() const override
169 {
170 return m_genericController.IsRunning();
171 }
172
181 void ResetToDefault() override
182 {
183 m_genericController.ResetToDefault();
184 }
185
198 PEAK_COMMON_NO_DISCARD features::SkipFrames& SkipFrames() const
199 {
200 return m_genericController.SkipFrames();
201 }
202
215 PEAK_COMMON_NO_DISCARD features::Roi& Roi() const
216 {
217 return m_genericController.Roi();
218 }
219
228 PEAK_COMMON_NO_DISCARD ControllerType GetType() const override
229 {
230 return m_genericController.GetType();
231 }
232
245 IController::FinishedCallbackHandle RegisterFinishedCallback(const IController::FinishedCallback& callback)
246 {
247 return m_genericController.RegisterFinishedCallback(callback);
248 }
249
260 void UnregisterFinishedCallback(IController::FinishedCallbackHandle callbackHandle)
261 {
262 m_genericController.UnregisterFinishedCallback(callbackHandle);
263 }
264
265private:
273 detail::GenericWhiteBalance m_genericController;
274};
275
276} // namespace autofeature
277} // namespace modules
278} // namespace pipeline
279} // namespace peak
Central coordination object for automatic camera feature control.
Definition peak_afl.hpp:708
Interface for a hierarchical key-value archive system.
Definition peak_common_iarchive.hpp:54
features::SkipFrames & SkipFrames() const
Gets the skip frames feature controller.
Definition peak_afl_advanced_auto_white_balance.hpp:198
features::Roi & Roi() const
Gets the region of interest (ROI) feature controller.
Definition peak_afl_advanced_auto_white_balance.hpp:215
void UnregisterFinishedCallback(IController::FinishedCallbackHandle callbackHandle)
Unregisters a previously registered callback.
Definition peak_afl_advanced_auto_white_balance.hpp:260
AdvancedAutoWhiteBalance(peak::afl::Manager &manager, ProcessingCallback callback)
Constructs an AdvancedAutoWhiteBalance instance.
Definition peak_afl_advanced_auto_white_balance.hpp:74
ControllerMode GetMode() const override
Gets the current controller operation mode.
Definition peak_afl_advanced_auto_white_balance.hpp:152
std::string GetName() const override
Gets the controller name.
Definition peak_afl_advanced_auto_white_balance.hpp:95
void Serialize(peak::common::serialization::IArchive &archive) const override
Serializes the controller configuration to an archive.
Definition peak_afl_advanced_auto_white_balance.hpp:110
IController::FinishedCallbackHandle RegisterFinishedCallback(const IController::FinishedCallback &callback)
Registers a callback for processing completion notifications.
Definition peak_afl_advanced_auto_white_balance.hpp:245
void SetMode(ControllerMode mode) override
Sets the controller operation mode.
Definition peak_afl_advanced_auto_white_balance.hpp:139
void Deserialize(const peak::common::serialization::IArchive &archive) override
Deserializes the controller configuration from an archive.
Definition peak_afl_advanced_auto_white_balance.hpp:124
ControllerType GetType() const override
Gets the controller type identifier.
Definition peak_afl_advanced_auto_white_balance.hpp:228
void ResetToDefault() override
Resets the controller to its default configuration.
Definition peak_afl_advanced_auto_white_balance.hpp:181
bool IsRunning() const override
Checks if the controller is currently running.
Definition peak_afl_advanced_auto_white_balance.hpp:168
Abstract base interface for all automatic controllers.
Definition peak_afl_icontroller.hpp:223
Region of Interest (ROI) feature implementation for auto controllers.
Definition peak_afl_roi.hpp:57
Roi(std::shared_ptr< peak::afl::Controller > controller)
Constructs a Roi feature with the specified controller.
Definition peak_afl_roi.hpp:71
Skip frames feature implementation for auto controllers.
Definition peak_afl_skip_frames.hpp:53
SkipFrames(std::shared_ptr< peak::afl::Controller > controller)
Constructs a SkipFrames feature with the specified controller.
Definition peak_afl_skip_frames.hpp:67
ControllerMode
Controller operation mode enumeration.
Definition peak_afl_icontroller.hpp:55
ControllerType
Controller type enumeration.
Definition peak_afl_icontroller.hpp:36
Interface definitions and implementations for individual module types used within a pipeline.
Definition peak_afl_generic_auto_brightness.hpp:35
Interfaces and implementations for defining and controlling data processing pipelines.
Definition peak_afl_generic_auto_brightness.hpp:33