From c369db913ca585ce03785eea3275d3d460ecf6be Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Sun, 21 Jul 2019 19:57:35 +0300 Subject: [PATCH] Put MLS params in config file --- applications/reconstruct/include/ftl/voxel_hash_params.hpp | 1 + applications/reconstruct/src/integrators.cu | 3 ++- applications/reconstruct/src/voxel_scene.cpp | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/applications/reconstruct/include/ftl/voxel_hash_params.hpp b/applications/reconstruct/include/ftl/voxel_hash_params.hpp index aa19368ea..a08bc7a61 100644 --- a/applications/reconstruct/include/ftl/voxel_hash_params.hpp +++ b/applications/reconstruct/include/ftl/voxel_hash_params.hpp @@ -28,6 +28,7 @@ struct __align__(16) HashParams { float3 m_minBounds; float3 m_maxBounds; float m_spatialSmoothing; + float m_confidenceThresh; }; } // namespace voxhash diff --git a/applications/reconstruct/src/integrators.cu b/applications/reconstruct/src/integrators.cu index bc0baee89..203b19801 100644 --- a/applications/reconstruct/src/integrators.cu +++ b/applications/reconstruct/src/integrators.cu @@ -253,7 +253,8 @@ __global__ void integrateMLSKernel(HashData hashData, HashParams hashParams, int // Calculate voxel sign values across a warp int warpNum = i / WARP_SIZE; - uint solid_ballot = __ballot_sync(0xFFFFFFFF, (fabs(sdf) < 0.04f && weights > 20.0f) ? 1 : 0); + //uint laneMask = 1 << (i % WARP_SIZE); + uint solid_ballot = __ballot_sync(0xFFFFFFFF, (fabs(sdf) < hashParams.m_virtualVoxelSize && weights > hashParams.m_confidenceThresh) ? 1 : 0); //uint valid_ballot = __ballot_sync(0xFFFFFFFF, (weights >= 1.0f) ? 1 : 0); // Aggregate each warp result into voxel mask diff --git a/applications/reconstruct/src/voxel_scene.cpp b/applications/reconstruct/src/voxel_scene.cpp index 861e480e2..a1cdba97e 100644 --- a/applications/reconstruct/src/voxel_scene.cpp +++ b/applications/reconstruct/src/voxel_scene.cpp @@ -284,6 +284,7 @@ HashParams SceneRep::_parametersFromConfig() { params.m_integrationWeightSample = value("SDFIntegrationWeightSample", 10); params.m_integrationWeightMax = value("SDFIntegrationWeightMax", 255); params.m_spatialSmoothing = value("spatialSmoothing", 0.04f); // 4cm + params.m_confidenceThresh = value("confidenceThreshold", 20.0f); params.m_maxBounds = make_float3( value("bbox_x_max", 2.0f), value("bbox_y_max", 2.0f), -- GitLab