From 839f3fe5fdfef20f91166b4f5ee70b0f68420e15 Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Thu, 12 Sep 2019 10:02:10 +0300
Subject: [PATCH] Initial Ilw header

---
 applications/reconstruct/src/ilw.hpp | 37 ++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 applications/reconstruct/src/ilw.hpp

diff --git a/applications/reconstruct/src/ilw.hpp b/applications/reconstruct/src/ilw.hpp
new file mode 100644
index 000000000..200b47347
--- /dev/null
+++ b/applications/reconstruct/src/ilw.hpp
@@ -0,0 +1,37 @@
+#ifndef _FTL_RECONSTRUCT_ILW_HPP_
+#define _FTL_RECONSTRUCT_ILW_HPP_
+
+namespace ftl {
+
+/**
+ * For a set of sources, perform Iterative Lattice Warping to correct the
+ * location of points between the cameras. The algorithm finds possible
+ * correspondences and warps the original pixel lattice of points in each
+ * camera towards the correspondences, iterating the process as many times as
+ * possible. The result is that both local and global adjustment is made to the
+ * point clouds to improve micro alignment that may have been incorrect due to
+ * either inaccurate camera pose estimation or noise/errors in the depth maps.
+ */
+class ILW {
+    public:
+    ILW();
+    ~ILW();
+
+    /**
+     * Set a physical scene that is composed of a set of source cameras.
+     */
+    void setScene(ftl::CameraSetScene *);
+
+    /**
+     * Take a frameset and perform the iterative lattice warping to update
+     * a scene object.
+     */
+    bool process(ftl::rgbd::FrameSet &fs);
+
+    private:
+    ftl::CameraSetScene *scene_;
+};
+
+}
+
+#endif  // _FTL_RECONSTRUCT_ILW_HPP_
-- 
GitLab