preprocessAScanBlockForReflection Test passed

(left with Accuracy problem)
This commit is contained in:
kradchen
2023-06-13 14:24:05 +08:00
parent 9c98fcb899
commit 48f3d4d7f8
3 changed files with 506 additions and 8 deletions

View File

@@ -8,6 +8,7 @@
#include "Matrix.h"
#include "Sparse.h"
#include "config/config.h"
#include "reflectionReconstruction/preprocessData/preprocessAScanBlockForReflection.h"
#include "transmissionReconstruction/reconstruction/buildMatrix/DGradient.h"
#include "transmissionReconstruction/reconstruction/buildMatrix/FMM.h"
#include "transmissionReconstruction/reconstruction/buildMatrix/buildMatrix.h"
@@ -46,16 +47,48 @@ protected:
};
TEST_F(Reconstruction_Test, determineOptimalPulse) {
Recon::reflectParams::imageResolution = 8.6381e-04;
Recon::reflectParams::optPulseFactor = 24;
auto result = Recon::determineOptimalPulse(1.0000e-07,3000);
EXPECT_EQ(3000, result.getDataSize());
ASSERT_DOUBLE_AE(result[2], 0.0025);
ASSERT_DOUBLE_AE(result[4], 0.0078);
Recon::reflectParams::imageResolution = 8.925316499483377e-04;
Recon::reflectParams::optPulseFactor = 48;
auto result = Recon::determineOptimalPulse(1.0000e-07,4096);
EXPECT_EQ(4096, result.getDataSize());
MatlabReader m2("/home/krad/TestData/sincPeakft.mat");
auto f1 = m2.read("sincPeak_ft");
for(size_t i=0; i<f1.getDataSize(); ++i)
{
EXPECT_DOUBLE_AE(f1[i], 0)<<"index:"<<i;
}
}
// for(size_t i=0; i<result.getDataSize(); ++i)
TEST_F(Reconstruction_Test, preprocessAScanBlockForReflection) {
Recon::initalizeConfig();
MatlabReader m2("/home/krad/TestData/preprocessRefC.mat");
auto blockedAScans = m2.read("blockedAScans");
auto blockedMP = m2.read("blockedMP");
auto blockedSL = m2.read("blockedSL");
auto blockedSN = m2.read("blockedSN");
auto blockedRL = m2.read("blockedRL");
auto blockedRN = m2.read("blockedRN");
auto senderPositionBlock = m2.read("blockedSenderPosition");
auto receiverPositionBlock = m2.read("blockedReceiverPosition");
auto channelBlock = m2.read("blockedChannels");
auto gainBlock = m2.read("blockedGain");
Recon::ExpInfo info;
info.expectedAScanLength= 4096;
info.Wavelength=3;
Recon::PreComputes preComputes;
preComputes.measuredCEUsed = true;
preComputes.offset = 5.2000e-07;
preComputes.timeInterval = 1.0000e-07;
preComputes.matchedFilter = m2.read("matchedFilter");
MatlabReader m("/home/krad/TestData/sincPeakft.mat");
preComputes.sincPeak_ft = m.read("sincPeak_ft");
auto result = Recon::preprocessAScanBlockForReflection(blockedAScans, blockedMP, blockedSL, blockedSN, blockedRL,
blockedRN,senderPositionBlock, receiverPositionBlock, gainBlock, channelBlock, info, preComputes);
size_t size = result.AscanBlock.getDataSize();
// for(size_t i=0; i<result.AscanBlock.getDataSize(); ++i)
// {
// ASSERT_DOUBLE_AE(f1[i], result.outSOS[i])<<"index:"<<i;
// ASSERT_DOUBLE_AE(f1[i], result[i])<<"index:"<<i;
// }
}