Fix findDefectTransmissionData bug.
This commit is contained in:
@@ -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]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user