#include #include "Function2D.h" #include "Matrix.h" #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" using namespace Recon; inline double fourDecimalRound(double src){ return round(src*10000.0)/10000.0; } #define EXPECT_DOUBLE_AE(valueA,valueB)\ EXPECT_DOUBLE_EQ(fourDecimalRound(valueA),fourDecimalRound(valueB)) class ProcessData_Test : public ::testing::Test { protected: static void SetUpCommonTester() { } static void TearDownTestCase() { } void SetUp() { } void TearDown() { } }; 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