From f6d49adb0c3d8b90af22576aee789bc222fdc68f Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Mon, 30 Sep 2019 12:39:15 +0300
Subject: [PATCH] Restrict to motion vec of 3D neigh

---
 applications/reconstruct/src/ilw/ilw.cpp |  2 +-
 applications/reconstruct/src/ilw/ilw.cu  | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/applications/reconstruct/src/ilw/ilw.cpp b/applications/reconstruct/src/ilw/ilw.cpp
index 464e1f57e..973a162e6 100644
--- a/applications/reconstruct/src/ilw/ilw.cpp
+++ b/applications/reconstruct/src/ilw/ilw.cpp
@@ -58,7 +58,7 @@ bool ILW::process(ftl::rgbd::FrameSet &fs, cudaStream_t stream) {
         }
         _phase1(fs, win, stream);
         //for (int j=0; j<3; ++j) {
-            _phase2(fs, 0.5f, stream);
+            _phase2(fs, 0.4f, stream);
         //}
 
 		// TODO: Break if no time left
diff --git a/applications/reconstruct/src/ilw/ilw.cu b/applications/reconstruct/src/ilw/ilw.cu
index 488ed7cb1..96fd0727d 100644
--- a/applications/reconstruct/src/ilw/ilw.cu
+++ b/applications/reconstruct/src/ilw/ilw.cu
@@ -163,12 +163,12 @@ __global__ void move_points_kernel(
 		for (int v=-MOTION_RADIUS; v<=MOTION_RADIUS; ++v) {
 			for (int u=-MOTION_RADIUS; u<=MOTION_RADIUS; ++u) {
 				const float4 vecn = ev.tex2D((int)x+u,(int)y+v);
-				//const float3 pn = make_float3(p.tex2D((int)x+u,(int)y+v));
-				//if (pn.x == MINF) continue;
+				const float3 pn = make_float3(p.tex2D((int)x+u,(int)y+v));
+				if (pn.x == MINF) continue;
 
-				//const float s = ftl::cuda::spatialWeighting(pn, make_float3(world), 0.04f);
-				contrib += vecn.w;
-				vec += vecn.w * vecn;
+				const float s = ftl::cuda::spatialWeighting(pn, make_float3(world), 0.01f);
+				contrib += vecn.w * s;
+				vec += vecn.w * s * vecn;
 			}
 		}
 
-- 
GitLab