Skip to content
Snippets Groups Projects

Implements #228 adaptive MLS and smoothing channel

Merged Nicolas Pope requested to merge feature/mlssmooth into master
7 files
+ 128
22
Compare changes
  • Side-by-side
  • Inline
Files
7
@@ -246,11 +246,14 @@ static void run(ftl::Configurable *root) {
bool busy = false;
auto *smooth = ftl::config::create<ftl::filters::MLSSmoother>(root, "filters");
// Create the source depth map filters
auto *filters = ftl::config::create<ftl::Filters>(root, "filters");
filters->create<ftl::filters::DepthSmoother>("hfnoise");
filters->create<ftl::filters::MLSSmoother>("mls");
group->setLatency(4);
group->setName("ReconGroup");
group->sync([splat,virt,&busy,&slave,&scene_A,&scene_B,&align,controls,smooth](ftl::rgbd::FrameSet &fs) -> bool {
group->sync([splat,virt,&busy,&slave,&scene_A,&scene_B,&align,controls,filters](ftl::rgbd::FrameSet &fs) -> bool {
//cudaSetDevice(scene->getCUDADevice());
//if (slave.isPaused()) return true;
@@ -265,7 +268,7 @@ static void run(ftl::Configurable *root) {
// Swap the entire frameset to allow rapid return
fs.swapTo(scene_A);
ftl::pool.push([&scene_B,&scene_A,&busy,&slave,&align, smooth](int id) {
ftl::pool.push([&scene_B,&scene_A,&busy,&slave,&align, filters](int id) {
//cudaSetDevice(scene->getCUDADevice());
// TODO: Release frameset here...
//cudaSafeCall(cudaStreamSynchronize(scene->getIntegrationStream()));
@@ -296,7 +299,7 @@ static void run(ftl::Configurable *root) {
cv::cuda::cvtColor(tmp,col, cv::COLOR_BGR2BGRA, 0);
}
smooth->smooth(f, s);
filters->filter(f, s, 0);
/*ftl::cuda::smoothing_factor(
f.createTexture<float>(Channel::Depth),
Loading