From 93ac48359f9ae8cae2056a08b70efd52fc0614f1 Mon Sep 17 00:00:00 2001 From: James E McClure Date: Mon, 25 Apr 2016 10:47:09 -0400 Subject: [PATCH] Added visualization of the multiscale mean for lbpm_uCT_pp --- tests/lbpm_uCT_pp.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tests/lbpm_uCT_pp.cpp b/tests/lbpm_uCT_pp.cpp index 515977bf..bb00c4d2 100644 --- a/tests/lbpm_uCT_pp.cpp +++ b/tests/lbpm_uCT_pp.cpp @@ -735,7 +735,7 @@ int main(int argc, char **argv) float dst = spDist(i,j,k); float temp = exp(-dst*dst); float value; - if (dst(i,j,k) > 0){ + if (dst > 0){ value = temp*mean_plus; } else{ @@ -807,6 +807,7 @@ int main(int argc, char **argv) std::shared_ptr spSegData( new IO::Variable() ); std::shared_ptr spDistData( new IO::Variable() ); std::shared_ptr DistData( new IO::Variable() ); + std::shared_ptr MultiMean( new IO::Variable() ); std::shared_ptr NonLocMean( new IO::Variable() ); std::shared_ptr SegData( new IO::Variable() ); @@ -817,6 +818,12 @@ int main(int argc, char **argv) OrigData->data.resize(nx-2,ny-2,nz-2); meshData[0].vars.push_back(OrigData); + MultiMean->name = "Multiscale Mean"; + MultiMean->type = IO::VolumeVariable; + MultiMean->dim = 1; + MultiMean->data.resize(nx-2,ny-2,nz-2); + meshData[0].vars.push_back(MultiMean); + NonLocMean->name = "Non-Local Mean"; NonLocMean->type = IO::VolumeVariable; NonLocMean->dim = 1; @@ -870,10 +877,11 @@ int main(int argc, char **argv) fillFloat_sp.copy(spDist,spDISTANCE); */ - Array& INPUT = meshData[0].vars[0]->data; - Array& NONLOCALMEAN = meshData[0].vars[1]->data; - Array& SEGMENTED = meshData[0].vars[2]->data; - Array& DISTANCE = meshData[0].vars[3]->data; + Array& INPUT = meshData[0].vars[0]->data; + Array& MULTIMEAN = meshData[0].vars[1]->data; + Array& NONLOCALMEAN = meshData[0].vars[2]->data; + Array& SEGMENTED = meshData[0].vars[3]->data; + Array& DISTANCE = meshData[0].vars[4]->data; Array& spMEDIAN = meshData[1].vars[0]->data; Array& spSEGMENTED = meshData[1].vars[1]->data; @@ -887,6 +895,7 @@ int main(int argc, char **argv) INPUT(i-1,j-1,k-1) = double( LOCVOL(i,j,k)); SEGMENTED(i-1,j-1,k-1) = double( ID(i,j,k)); DISTANCE(i-1,j-1,k-1) = double( Dist(i,j,k)); + MULTIMEAN(i-1,j-1,k-1) = double( MultiScaleSmooth(i,j,k)); NONLOCALMEAN(i-1,j-1,k-1) = double( NonLocalMean(i,j,k)); } }