diff --git a/src/transmissionReconstruction/detection/detection.cpp b/src/transmissionReconstruction/detection/detection.cpp index 87d79ff..329ad0e 100644 --- a/src/transmissionReconstruction/detection/detection.cpp +++ b/src/transmissionReconstruction/detection/detection.cpp @@ -299,44 +299,20 @@ namespace Recon { int M =std::min(AscanBlock.getDimSize(0),AscanRefBlock.getDimSize(0)); - double * resDetectD = nullptr; + Matrix resDetect; double * resEnvelopeD = nullptr; double * resEnvelopeRefD = nullptr; size_t N = _AscanBlock.getDimSize(1); size_t totalSize = N*M; - { - // auto resDetect = new float[N]{0}; - // auto resEnvelope = new float[totalSize]{0}; - // auto resEnvelopeRef = new float[totalSize]{0}; - // auto aScans_r = new float[totalSize]{0}; - // auto aScansRef_r = new float[totalSize]{0}; - // { - Matrix _AscanBlock_trim = _AscanBlock.getDimSize(0)!=M?_AscanBlock.block(0, 0, M-1):_AscanBlock; - Matrix _AscanRefBlock_trim = _AscanRefBlock.getDimSize(0)!=M?_AscanRefBlock.block(0, 0, M-1):_AscanRefBlock; - // std::copy(_AscanBlock_trim.getData(), _AscanBlock_trim.getData() + totalSize, aScans_r); - // std::copy(_AscanRefBlock_trim.getData(), _AscanRefBlock_trim.getData() + totalSize, - // aScansRef_r); - // } - resDetectD = Aurora::malloc(N); - resEnvelopeD = Aurora::malloc(totalSize); - resEnvelopeRefD = Aurora::malloc(totalSize); - calculateBankDetectAndHilbertTransformation( - _AscanBlock_trim.getData(), _AscanBlock_trim.getData(), N, M, resampleFactor, nthreads, - resDetectD, resEnvelopeD, resEnvelopeRefD); - // delete [] aScans_r; - // delete [] aScansRef_r; - // resDetectD = Aurora::malloc(N); - // std::copy(resDetect, resDetect+ N, resDetectD); - // delete [] resDetect; - - // std::copy(resEnvelope, resEnvelope+ totalSize, resEnvelopeD); - // delete [] resEnvelope; - // resEnvelopeRefD = Aurora::malloc(totalSize); - // std::copy(resEnvelopeRef, resEnvelopeRef+ totalSize, resEnvelopeRefD); - // delete [] resEnvelopeRef; - } - auto resDetect =Matrix::New(resDetectD,1,N); + Matrix _AscanBlock_trim = _AscanBlock.getDimSize(0)!=M?_AscanBlock.block(0, 0, M-1):_AscanBlock; + Matrix _AscanRefBlock_trim = _AscanRefBlock.getDimSize(0)!=M?_AscanRefBlock.block(0, 0, M-1):_AscanRefBlock; + resDetect = Aurora::zeros(1,N); + resEnvelopeD = Aurora::malloc(totalSize); + resEnvelopeRefD = Aurora::malloc(totalSize); + calculateBankDetectAndHilbertTransformation( + _AscanBlock_trim.getData(), _AscanRefBlock_trim.getData(), N, M, resampleFactor, nthreads, + resDetect.getData(), resEnvelopeD, resEnvelopeRefD); auto resEnvelope =Matrix::New(resEnvelopeD,M,N); auto resEnvelopeRef =Matrix::New(resEnvelopeRefD,M,N); //floor(size(AscanBlock, 1)*inits.resampleFactor / 2 - 1),