Fix memory leak.
This commit is contained in:
@@ -61,7 +61,6 @@ AscanBlock Recon::getAscanBlock(Parser* aParser, const Aurora::Matrix& aMp, cons
|
||||
result.rlBlock = Matrix::fromRawData(rlBlockData, 1, numScans);
|
||||
result.rnBlock = Matrix::fromRawData(rnBlockData, 1, numScans);
|
||||
result.gainBlock = Matrix::fromRawData(gainBlockData, 1, numScans);
|
||||
OneTasAScanData oenTasData = aParser->getOneTasAscanDataOfMotorPosition(1);
|
||||
auto tasIndices = aParser->getMetaData().getTasIndices();
|
||||
auto receiverIndices = aParser->getMetaData().getReceiverIndices();
|
||||
auto tasElementMapper = findTasAndElementIndex(tasIndices, receiverIndices, aRl, aRn);
|
||||
@@ -70,7 +69,7 @@ AscanBlock Recon::getAscanBlock(Parser* aParser, const Aurora::Matrix& aMp, cons
|
||||
{
|
||||
for(int slIndex=0; slIndex<aSl.getDataSize();++slIndex)
|
||||
{
|
||||
OneTasAScanData oenTasData = aParser->getOneTasAscanDataOfMotorPosition(aSl[slIndex]);
|
||||
OneTasAScanData oneTasData = aParser->getOneTasAscanDataOfMotorPosition(aSl[slIndex]);
|
||||
|
||||
for(int snIndex=0; snIndex<aSn.getDataSize();++snIndex)
|
||||
{
|
||||
@@ -85,7 +84,7 @@ AscanBlock Recon::getAscanBlock(Parser* aParser, const Aurora::Matrix& aMp, cons
|
||||
slIndex * aRl.getDataSize() * aRn.getDataSize() * aSn.getDataSize() +
|
||||
mpIndex * aRl.getDataSize() * aRn.getDataSize() * aSn.getDataSize() * aSl.getDataSize();
|
||||
MotorPosition mp = aMp[mpIndex] == 1 ? MotorPosition::MotorPosition1 : MotorPosition::MotorPosition2;
|
||||
AScanData ascan = aParser->searchAscanDataFromOneTasAscanDataOfMP(oenTasData, ElementIndex(GeometryIndex(aSn[snIndex])), TasElementIndex(tasIndices.get()[tasElementMapper[mapperIndex]], ElementIndex(GeometryIndex(receiverIndices.get()[tasElementMapper[mapperIndex]]))), mp);
|
||||
AScanData ascan = aParser->searchAscanDataFromOneTasAscanDataOfMP(oneTasData, ElementIndex(GeometryIndex(aSn[snIndex])), TasElementIndex(tasIndices.get()[tasElementMapper[mapperIndex]], ElementIndex(GeometryIndex(receiverIndices.get()[tasElementMapper[mapperIndex]]))), mp);
|
||||
double* startPointer = ascanBlockData + numScansIndex * ascan.getAscanDataLength();
|
||||
std::copy(ascan.get() ,ascan.get() + ascan.getAscanDataLength(), startPointer);
|
||||
//ascanBlockData += ascan.getAscanDataLength();
|
||||
|
||||
@@ -12,6 +12,7 @@ Aurora::Matrix Recon::preprocessAscanBlock(const Aurora::Matrix& aAscans, const
|
||||
{
|
||||
result = Aurora::convertfp16tofloat(ascanData, aAscans.getDimSize(0), aAscans.getDimSize(1));
|
||||
}
|
||||
delete [] ascanData;
|
||||
|
||||
//暂不考虑实现二代逻辑
|
||||
// if isfield(measInfo, 'Bandpassundersampling') && (measInfo.Bandpassundersampling == 1)
|
||||
|
||||
Reference in New Issue
Block a user