diff --git a/applications/reconstruct/src/ilw/ilw.cpp b/applications/reconstruct/src/ilw/ilw.cpp index 53fef089088fa99341dd6b012e0eb8960736f5f0..3feb23dff0132b2d6d5e491c93a1311af3e6060f 100644 --- a/applications/reconstruct/src/ilw/ilw.cpp +++ b/applications/reconstruct/src/ilw/ilw.cpp @@ -96,6 +96,8 @@ bool ILW::process(ftl::rgbd::FrameSet &fs, cudaStream_t stream) { _phase0(fs, stream); + params_.range = 0.05f; + for (int i=0; i<iterations_; ++i) { int win; switch (i) { @@ -108,6 +110,7 @@ bool ILW::process(ftl::rgbd::FrameSet &fs, cudaStream_t stream) { _phase2(fs, motion_rate_, stream); //} + params_.range *= 0.5f; // TODO: Break if no time left } diff --git a/applications/reconstruct/src/ilw/ilw.cu b/applications/reconstruct/src/ilw/ilw.cu index 43236e4d85824131e8c8f26ec712b2c05612fd95..2c8d3199bc3581553f160e55e04e1ac1fe96471f 100644 --- a/applications/reconstruct/src/ilw/ilw.cu +++ b/applications/reconstruct/src/ilw/ilw.cu @@ -61,7 +61,7 @@ __global__ void correspondence_energy_vector_kernel( float bestdepth; int count = 0; - const float step_interval = 0.05f / (COR_STEPS / 2); + const float step_interval = params.range / (COR_STEPS / 2); const float3 rayStep_world = pose1.getFloat3x3() * cam1.screenToCam(x,y,step_interval); const float3 rayStart_2 = pose2 * world1; diff --git a/applications/reconstruct/src/ilw/ilw_cuda.hpp b/applications/reconstruct/src/ilw/ilw_cuda.hpp index 37679003954711a2f1a4b0f8d463442ce1179bb1..503d1bf4c361145c96989101065eaee785c12171 100644 --- a/applications/reconstruct/src/ilw/ilw_cuda.hpp +++ b/applications/reconstruct/src/ilw/ilw_cuda.hpp @@ -13,6 +13,7 @@ struct ILWParams { float colour_smooth; float cost_ratio; float threshold; + float range; uint flags; };