Fix findDefectTransmissionData bug.
This commit is contained in:
@@ -113,6 +113,7 @@ namespace Recon {
|
|||||||
std_SNRListData[j++] = aVSNRList[i];
|
std_SNRListData[j++] = aVSNRList[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
meanSNR = meanSNR/(double)j;
|
||||||
Aurora::Matrix std_SNRList = Aurora::Matrix::New(std_SNRListData,count,1,1);
|
Aurora::Matrix std_SNRList = Aurora::Matrix::New(std_SNRListData,count,1,1);
|
||||||
std_SNRList = Aurora::std(std_SNRList);
|
std_SNRList = Aurora::std(std_SNRList);
|
||||||
double localSNRDifference = 2 * std_SNRList.getScalar();
|
double localSNRDifference = 2 * std_SNRList.getScalar();
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include "Function1D.h"
|
#include "Function1D.h"
|
||||||
#include "MatlabReader.h"
|
#include "MatlabReader.h"
|
||||||
#include "Matrix.h"
|
#include "Matrix.h"
|
||||||
|
#include "config/config.h"
|
||||||
#include "reflectionReconstruction/dataFilter.h"
|
#include "reflectionReconstruction/dataFilter.h"
|
||||||
#include "transmissionReconstruction/dataFilter/dataFilter.h"
|
#include "transmissionReconstruction/dataFilter/dataFilter.h"
|
||||||
|
|
||||||
@@ -101,19 +102,18 @@ TEST_F(DataFilter_Test, calculateSnr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(DataFilter_Test, findDefectTransmissionData) {
|
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()};
|
double *dataA = new double[3]{1, std::numeric_limits<double>::infinity(), -std::numeric_limits<double>::infinity()};
|
||||||
auto SNRList = m.read("SNRList");
|
auto SNRList = m.read("vsnrlist");
|
||||||
auto SNRList2 = Aurora::Matrix::fromRawData(dataA, 3,1,1);
|
auto SNRList2 = m.read("snrdifference");
|
||||||
auto result = m.read("valid");
|
auto validOut = m.read("validOut");
|
||||||
|
|
||||||
auto valid = Recon::findDefectTransmissionData(SNRList2,0.99);
|
auto valid1 = Recon::findDefectTransmissionData(SNRList,Recon::transParams::snrThreshold);
|
||||||
EXPECT_DOUBLE_AE(valid[0],1);
|
auto valid2 = Recon::findDefectTransmissionData(SNRList2,Recon::transParams::snrThreshold);
|
||||||
EXPECT_DOUBLE_AE(valid[1],0);
|
auto valid = valid1*valid2;
|
||||||
valid = Recon::findDefectTransmissionData(SNRList,0.99);
|
|
||||||
for (size_t i = 0; i < valid.getDataSize(); i++)
|
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