Improve detectTofAndAttMex performance.
This commit is contained in:
@@ -306,33 +306,35 @@ namespace Recon {
|
|||||||
size_t N = _AscanBlock.getDimSize(1);
|
size_t N = _AscanBlock.getDimSize(1);
|
||||||
size_t totalSize = N*M;
|
size_t totalSize = N*M;
|
||||||
{
|
{
|
||||||
auto resDetect = new float[N]{0};
|
// auto resDetect = new float[N]{0};
|
||||||
auto resEnvelope = new float[totalSize]{0};
|
// auto resEnvelope = new float[totalSize]{0};
|
||||||
auto resEnvelopeRef = new float[totalSize]{0};
|
// auto resEnvelopeRef = new float[totalSize]{0};
|
||||||
auto aScans_r = new float[totalSize]{0};
|
// auto aScans_r = new float[totalSize]{0};
|
||||||
auto aScansRef_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 _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;
|
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(_AscanBlock_trim.getData(), _AscanBlock_trim.getData() + totalSize, aScans_r);
|
||||||
std::copy(_AscanRefBlock_trim.getData(), _AscanRefBlock_trim.getData() + totalSize,
|
// std::copy(_AscanRefBlock_trim.getData(), _AscanRefBlock_trim.getData() + totalSize,
|
||||||
aScansRef_r);
|
// aScansRef_r);
|
||||||
}
|
// }
|
||||||
|
|
||||||
calculateBankDetectAndHilbertTransformation(
|
|
||||||
aScans_r, aScansRef_r, N, M, resampleFactor, nthreads,
|
|
||||||
resDetect, resEnvelope, resEnvelopeRef);
|
|
||||||
delete [] aScans_r;
|
|
||||||
delete [] aScansRef_r;
|
|
||||||
resDetectD = Aurora::malloc(N);
|
resDetectD = Aurora::malloc(N);
|
||||||
std::copy(resDetect, resDetect+ N, resDetectD);
|
|
||||||
delete [] resDetect;
|
|
||||||
resEnvelopeD = Aurora::malloc(totalSize);
|
resEnvelopeD = Aurora::malloc(totalSize);
|
||||||
std::copy(resEnvelope, resEnvelope+ totalSize, resEnvelopeD);
|
|
||||||
delete [] resEnvelope;
|
|
||||||
resEnvelopeRefD = Aurora::malloc(totalSize);
|
resEnvelopeRefD = Aurora::malloc(totalSize);
|
||||||
std::copy(resEnvelopeRef, resEnvelopeRef+ totalSize, resEnvelopeRefD);
|
calculateBankDetectAndHilbertTransformation(
|
||||||
delete [] resEnvelopeRef;
|
_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);
|
auto resDetect =Matrix::New(resDetectD,1,N);
|
||||||
auto resEnvelope =Matrix::New(resEnvelopeD,M,N);
|
auto resEnvelope =Matrix::New(resEnvelopeD,M,N);
|
||||||
|
|||||||
Reference in New Issue
Block a user