Fix findDefectTransmissionData bug.

This commit is contained in:
kradchen
2023-05-30 17:06:33 +08:00
parent bb1774c1fb
commit 9ff2717ac4
2 changed files with 10 additions and 9 deletions

View File

@@ -4,6 +4,7 @@
#include "Function1D.h"
#include "MatlabReader.h"
#include "Matrix.h"
#include "config/config.h"
#include "reflectionReconstruction/dataFilter.h"
#include "transmissionReconstruction/dataFilter/dataFilter.h"
@@ -101,19 +102,18 @@ TEST_F(DataFilter_Test, calculateSnr) {
}
TEST_F(DataFilter_Test, findDefectTransmissionData) {
MatlabReader m("/home/krad/TestData/finddefect.mat");
MatlabReader m("/home/sun/testData/findDefectTransmissionData.mat");
double *dataA = new double[3]{1, std::numeric_limits<double>::infinity(), -std::numeric_limits<double>::infinity()};
auto SNRList = m.read("SNRList");
auto SNRList2 = Aurora::Matrix::fromRawData(dataA, 3,1,1);
auto result = m.read("valid");
auto SNRList = m.read("vsnrlist");
auto SNRList2 = m.read("snrdifference");
auto validOut = m.read("validOut");
auto valid = Recon::findDefectTransmissionData(SNRList2,0.99);
EXPECT_DOUBLE_AE(valid[0],1);
EXPECT_DOUBLE_AE(valid[1],0);
valid = Recon::findDefectTransmissionData(SNRList,0.99);
auto valid1 = Recon::findDefectTransmissionData(SNRList,Recon::transParams::snrThreshold);
auto valid2 = Recon::findDefectTransmissionData(SNRList2,Recon::transParams::snrThreshold);
auto valid = valid1*valid2;
for (size_t i = 0; i < valid.getDataSize(); i++)
{
EXPECT_DOUBLE_AE(valid[i],0);
EXPECT_DOUBLE_AE(validOut[i],valid[i]);
}
}