Improve performSignalProcessing performance

This commit is contained in:
kradchen
2023-06-19 17:02:53 +08:00
parent e9aaa0953d
commit a5ecf49433

View File

@@ -362,12 +362,16 @@ namespace Recon {
help(0,Aurora::$) = 0; help(0,Aurora::$) = 0;
help.setBlock(0, 1, help.getDimSize(0)-1, _blockOp(_blockedAScans, 1)); help.setBlock(0, 1, help.getDimSize(0)-1, _blockOp(_blockedAScans, 1));
{ {
auto help_bbegin = help.block(0, 0, help.getDimSize(0)-2); size_t loopCount = help.getDimSize(0)-1;
auto help_bend = help.block(0, 1, help.getDimSize(0)-1); auto ptr_b = help.getData();
help_bend = (help_bend>0)*(help_bbegin<0); auto ptr_e = ptr_b+1;
auto tempBlock = Aurora::zeros(_blockedAScans.getDimSize(0),_blockedAScans.getDimSize(1),_blockedAScans.getDimSize(2)); for (size_t k = 0; k < loopCount; k++)
tempBlock.setBlock(0, 0, tempBlock.getDimSize(0)-2, help_bend); {
blockedAScans(Aurora::$,i) = _blockedAScans*tempBlock; 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(); help = _blockedAScans.deepCopy();
Aurora::compareSet(help,0,0,Aurora::LT); Aurora::compareSet(help,0,0,Aurora::LT);