Add preprocessTransmissionReconstructionForReflection unitest.

This commit is contained in:
sunwen
2023-06-27 14:25:44 +08:00
parent e3660edb14
commit c5138e4c12

View File

@@ -6,7 +6,9 @@
#include "src/reflectionReconstruction/preprocessData/resampleTransmissionVolume.h"
#include "src/reflectionReconstruction/preprocessData/precalcImageParameters.h"
#include "src/reflectionReconstruction/preprocessData/imageExtrapolation.h"
#include "src/reflectionReconstruction/preprocessData/preprocessTransmissionReconstructionForReflection.h"
#include "src/common/getGeometryInfo.h"
#include "src/common/getMeasurementMetaData.h"
#include "src/config/config.h"
#include "MatlabReader.h"
@@ -36,6 +38,59 @@ protected:
}
};
TEST_F(ProcessData_Test, preprocessTransmissionReconstructionForReflection) {
MatlabReader m("/home/sun/testData/preprocessTransmissionReconstructionForReflection.mat");
auto attenuationCorrection = m.read("attenuationCorrection");
auto soundSpeedCorrection = m.read("soundSpeedCorrection");
auto attenuationMap3D = m.read("attenuationMap3D");
auto speedMap3D = m.read("speedMap3D");
auto beginTransMap = m.read("beginTransMap");
auto ddims = m.read("ddims");
auto deltaTransMap = m.read("deltaTransMap");
auto expectedSOSWater = m.read("expectedSOSWater");
auto maxEmitter = m.read("maxEmitter");
auto maxReceiver = m.read("maxReceiver");
auto minEmitter = m.read("minEmitter");
auto minReceiver = m.read("minReceiver");
auto minSize = m.read("minSize");
auto maxSize = m.read("maxSize");
auto recoATT = m.read("recoATT");
auto recoSOS = m.read("recoSOS");
auto SAFT_mode = m.read("SAFT_mode");
Recon::GeometryInfo geom;
geom.maxEmitter = maxEmitter;
geom.minEmitter = minEmitter;
geom.maxReceiver = maxReceiver;
geom.minReceiver = minReceiver;
geom.minSize = minSize;
geom.maxSize = maxSize;
Recon::TempInfo temp;
temp.expectedSOSWater = expectedSOSWater;
precalcImageParameters(geom);
auto result = preprocessTransmissionReconstructionForReflection(recoSOS,recoATT,ddims, geom,temp);
for(int i=0;i<result.transRecos.attenuationMap3D.getDataSize();++i)
{
EXPECT_DOUBLE_AE(attenuationMap3D[i],result.transRecos.attenuationMap3D[i]);
}
for(int i=0;i<result.transRecos.speedMap3D.getDataSize();++i)
{
EXPECT_DOUBLE_AE(speedMap3D[i],result.transRecos.speedMap3D[i]);
}
for(int i=0;i<result.transRecos.beginTransMap.getDataSize();++i)
{
EXPECT_DOUBLE_AE(beginTransMap[i],result.transRecos.beginTransMap[i]);
}
EXPECT_DOUBLE_AE(deltaTransMap[0],result.transRecos.deltaTransMap);
EXPECT_DOUBLE_AE(attenuationCorrection[0],result.attenuationCorrection);
EXPECT_DOUBLE_AE(soundSpeedCorrection[0],result.soundSpeedCorrection);
EXPECT_DOUBLE_AE(SAFT_mode[0],result.saftMode);
}
TEST_F(ProcessData_Test, imageExtrapolation) {
MatlabReader m("/home/sun/testData/imageExtrapolation.mat");
@@ -45,7 +100,7 @@ TEST_F(ProcessData_Test, imageExtrapolation) {
for(int i=0;i<result.getDataSize();++i)
{
EXPECT_DOUBLE_AE(smHelper[i],result[i]) << i;
}
}
}