Fix transmissionDetection

This commit is contained in:
kradchen
2023-05-29 13:57:45 +08:00
parent b22437e9ff
commit 8ffa95198a
2 changed files with 20 additions and 14 deletions

View File

@@ -6,6 +6,7 @@
#include "MatlabReader.h"
#include "Matrix.h"
#include "config/config.h"
#include "common/getMeasurementMetaData.h"
#include "transmissionReconstruction/detection/detection.h"
@@ -45,8 +46,8 @@ TEST_F(Detection_Test, detectTofAndAttMex) {
auto AscanRefBlock = m.read("AscanRefBlock");
auto distBlock = m.read("dists");
auto distBlockRef = m.read("distRefBlock");
auto sosWaterBlock = m.read("waterTempBlock");
auto sosWaterRefBlock = m.read("waterTempRefBlock");
auto sosWaterBlock = Recon::temperatureToSoundSpeed(m.read("waterTempBlock"),"marczak");
auto sosWaterRefBlock = Recon::temperatureToSoundSpeed(m.read("waterTempRefBlock"),"marczak");
double expectedSOSWater = 1.511948131508464e+03;
auto result = Recon::detectTofAndAttMex(
@@ -55,13 +56,13 @@ TEST_F(Detection_Test, detectTofAndAttMex) {
Recon::transParams::nThreads, expectedSOSWater,
Recon::transParams::useTimeWindowing,
Recon::transParams::aScanReconstructionFrequency,
Recon::transParams::offsetElectronic,Recon::transParams::detectionWindowATT,
Recon::transParams::detectionWindowATT,Recon::transParams::offsetElectronic,
Recon::transParams::detectionWindowSOS,
Recon::transParams::minSpeedOfSound,
Recon::transParams::maxSpeedOfSound, Recon::transParams::gaussWindow);
MatlabReader m2("/home/krad/TestData/sosResult.mat");
auto sosvalue = m2.read("sosValue");
MatlabReader m3("/home/krad/TestData/sosResult.mat");
auto sosvalue = m3.read("sosValue");
ASSERT_EQ(sosvalue.getDataSize(), result.tof.getDataSize());
ASSERT_EQ(sosvalue.getDataSize(), result.sosValue.getDataSize());
ASSERT_EQ(sosvalue.getDataSize(), result.att.getDataSize());
@@ -70,7 +71,7 @@ TEST_F(Detection_Test, detectTofAndAttMex) {
{
EXPECT_DOUBLE_AE(0,result.tof[i])<<",index:"<<i;
EXPECT_DOUBLE_AE(sosvalue[i],result.sosValue[i])<<",index:"<<i;
EXPECT_TRUE(std::isnan(result.att[i]))<<",index:"<<i;
EXPECT_TRUE(result.att[i]==0)<<",index:"<<i;
}
}
@@ -83,8 +84,8 @@ TEST_F(Detection_Test, detectTofAndAtt) {
auto AscanRefBlock = m.read("AscanRefBlock");
auto distBlock = m.read("dists");
auto distBlockRef = m.read("distRefBlock");
auto sosWaterBlock = m.read("waterTempBlock");
auto sosWaterRefBlock = m.read("waterTempRefBlock");
auto sosWaterBlock = Recon::temperatureToSoundSpeed(m.read("waterTempBlock"), "marczak");
auto sosWaterRefBlock = Recon::temperatureToSoundSpeed(m.read("waterTempRefBlock"), "marczak");
double expectedSOSWater = 1.511948131508464e+03;
auto result = Recon::detectTofAndAtt(