Add logic to Detection
This commit is contained in:
@@ -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 "transmissionReconstruction/detection/detection.h"
|
#include "transmissionReconstruction/detection/detection.h"
|
||||||
|
|
||||||
|
|
||||||
@@ -16,6 +17,9 @@ inline double fourDecimalRound(double src){
|
|||||||
#define EXPECT_DOUBLE_AE(valueA,valueB)\
|
#define EXPECT_DOUBLE_AE(valueA,valueB)\
|
||||||
EXPECT_DOUBLE_EQ(fourDecimalRound(valueA),fourDecimalRound(valueB))
|
EXPECT_DOUBLE_EQ(fourDecimalRound(valueA),fourDecimalRound(valueB))
|
||||||
|
|
||||||
|
#define ASSERT_DOUBLE_AE(valueA,valueB)\
|
||||||
|
ASSERT_DOUBLE_EQ(fourDecimalRound(valueA),fourDecimalRound(valueB))
|
||||||
|
|
||||||
class Detection_Test : public ::testing::Test {
|
class Detection_Test : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
static void SetUpDetectionTester() {
|
static void SetUpDetectionTester() {
|
||||||
@@ -81,5 +85,36 @@ TEST_F(Detection_Test, applyTimeWindowing) {
|
|||||||
{
|
{
|
||||||
EXPECT_DOUBLE_AE(AscanBlockProcessed[i],result.AscanBlockProcessed[i])<<",index:"<<i;
|
EXPECT_DOUBLE_AE(AscanBlockProcessed[i],result.AscanBlockProcessed[i])<<",index:"<<i;
|
||||||
}
|
}
|
||||||
|
auto AscanBlockProcessed2 = m.read("AscanBlockProcessed2");
|
||||||
|
result = Recon::applyTimeWindowing(AscanBlock, 10000000, distBlock, sosBlock, 1482, 0, 0, 1400, 1650, true);
|
||||||
|
for (size_t i = 0; i < AscanBlockProcessed2.getDataSize(); i++)
|
||||||
|
{
|
||||||
|
EXPECT_DOUBLE_AE(AscanBlockProcessed2[i],result.AscanBlockProcessed[i])<<",index:"<<i;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(Detection_Test, detectTofVectorized) {
|
||||||
|
|
||||||
|
MatlabReader m("/home/krad/TestData/getBlockOfTransmissionData.mat");
|
||||||
|
|
||||||
|
auto AscanBlock = m.read("AscanBlock");
|
||||||
|
auto AscanRefBlock = m.read("AscanRefBlock");
|
||||||
|
auto distBlock = m.read("dists");
|
||||||
|
auto distBlockRef = m.read("distRefBlock");
|
||||||
|
auto sosWaterBlock = m.read("sosWaterBlock");
|
||||||
|
auto sosWaterRefBlock = m.read("sosWaterRefBlock");
|
||||||
|
double expectedSOSWater = 1.511948131508464e+03;
|
||||||
|
|
||||||
|
auto result = Recon::detectTofVectorized(
|
||||||
|
AscanBlock, AscanRefBlock, distBlock, distBlockRef, sosWaterBlock,
|
||||||
|
sosWaterRefBlock, expectedSOSWater,
|
||||||
|
Recon::transParams::useTimeWindowing,
|
||||||
|
Recon::transParams::aScanReconstructionFrequency,
|
||||||
|
Recon::transParams::offsetElectronic,
|
||||||
|
Recon::transParams::detectionWindowSOS,
|
||||||
|
Recon::transParams::minSpeedOfSound,
|
||||||
|
Recon::transParams::maxSpeedOfSound, Recon::transParams::gaussWindow);
|
||||||
|
|
||||||
|
int size = result.getDataSize();
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user