From a5ecf49433272026a19abaae2b3f743995f548cb Mon Sep 17 00:00:00 2001 From: kradchen Date: Mon, 19 Jun 2023 17:02:53 +0800 Subject: [PATCH] Improve performSignalProcessing performance --- .../preprocessAScanBlockForReflection.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/reflectionReconstruction/preprocessData/preprocessAScanBlockForReflection.cpp b/src/reflectionReconstruction/preprocessData/preprocessAScanBlockForReflection.cpp index 1626c4b..bbde6bb 100644 --- a/src/reflectionReconstruction/preprocessData/preprocessAScanBlockForReflection.cpp +++ b/src/reflectionReconstruction/preprocessData/preprocessAScanBlockForReflection.cpp @@ -362,12 +362,16 @@ namespace Recon { help(0,Aurora::$) = 0; help.setBlock(0, 1, help.getDimSize(0)-1, _blockOp(_blockedAScans, 1)); { - auto help_bbegin = help.block(0, 0, help.getDimSize(0)-2); - auto help_bend = help.block(0, 1, help.getDimSize(0)-1); - help_bend = (help_bend>0)*(help_bbegin<0); - auto tempBlock = Aurora::zeros(_blockedAScans.getDimSize(0),_blockedAScans.getDimSize(1),_blockedAScans.getDimSize(2)); - tempBlock.setBlock(0, 0, tempBlock.getDimSize(0)-2, help_bend); - blockedAScans(Aurora::$,i) = _blockedAScans*tempBlock; + size_t loopCount = help.getDimSize(0)-1; + auto ptr_b = help.getData(); + auto ptr_e = ptr_b+1; + for (size_t k = 0; k < loopCount; k++) + { + if(ptr_b[k]>=0 || ptr_e[k]<=0) _blockedAScans[k]=0; + // if(ptr_b[k]<0 && ptr_e[k]>0) continue; + // _blockedAScans[k]=0; + } + _blockedAScans[loopCount]=0; } help = _blockedAScans.deepCopy(); Aurora::compareSet(help,0,0,Aurora::LT);