summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/controller/rpi/focus.hpp
diff options
context:
space:
mode:
authorDavid Plowman <david.plowman@raspberrypi.com>2020-05-28 15:51:32 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-06-25 17:47:51 +0300
commit23e15e72f9745d4a11f41b366ff3c9e3dca51bf0 (patch)
treeab6b25be3144e0d5ea88b8993879735b6c764de8 /src/ipa/raspberrypi/controller/rpi/focus.hpp
parent0952f2014d1f08d1e5228f90680af16cb66653a6 (diff)
ipa: rpi: Add "focus" algorithm
Adds FocusStatus to the image metadata, containing contrast measurements across the image. Optionally also prints a contrast measure to the console, to aid in manual adjustment of the lens. Note that it is not an actual auto-focus algorithm that can drive a lens! Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/ipa/raspberrypi/controller/rpi/focus.hpp')
-rw-r--r--src/ipa/raspberrypi/controller/rpi/focus.hpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/ipa/raspberrypi/controller/rpi/focus.hpp b/src/ipa/raspberrypi/controller/rpi/focus.hpp
new file mode 100644
index 00000000..d53401f7
--- /dev/null
+++ b/src/ipa/raspberrypi/controller/rpi/focus.hpp
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+/*
+ * Copyright (C) 2020, Raspberry Pi (Trading) Limited
+ *
+ * focus.hpp - focus algorithm
+ */
+#pragma once
+
+#include "../algorithm.hpp"
+#include "../metadata.hpp"
+
+/*
+ * The "focus" algorithm. All it does it print out a version of the
+ * focus contrast measure; there is no actual auto-focus mechanism to
+ * control.
+ */
+
+namespace RPi {
+
+class Focus : public Algorithm
+{
+public:
+ Focus(Controller *controller);
+ char const *Name() const override;
+ void Read(boost::property_tree::ptree const &params) override;
+ void Process(StatisticsPtr &stats, Metadata *image_metadata) override;
+private:
+ bool print_;
+};
+
+} /* namespace RPi */