Fix dection bug.

This commit is contained in:
kradchen
2023-05-30 13:39:39 +08:00
parent 0c4a6e8c4a
commit 0d1ea2afe4

View File

@@ -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),