Add getAscanBlock function and unit test.

This commit is contained in:
sunwen
2023-05-23 17:43:42 +08:00
parent 6b7b961dc6
commit db86d973a6
3 changed files with 195 additions and 0 deletions

View File

@@ -5,6 +5,9 @@
#include "common/common.h"
#include "common/convertfp16tofloat.h"
#include "common/getGeometryInfo.h"
#include "common/daraBlockCreation/getAscanBlock.h"
#include "Parser.h"
#include "MatlabReader.h"
inline double fourDecimalRound(double src){
@@ -219,3 +222,68 @@ TEST_F(Common_Test, getGeometryInfo) {
Aurora::Matrix maxRN = m.read("maxRN");
EXPECT_DOUBLE_EQ(geom.maxRN, maxRN[0]);
}
TEST_F(Common_Test, getAscanBlock) {
MatlabReader m("/home/sun/testData/getAscanBlock.mat");
std::string dataPath = "/home/AScans_Data/volunteer_20230328/20230328T123237/";
Parser parser(dataPath);
auto ascanBlock = m.read("AscanBlock");
auto result = Recon::getAscanBlock(&parser, Aurora::Matrix::fromRawData(new double[1]{1}, 1), Aurora::Matrix::fromRawData(new double[1]{1}, 1),
Aurora::Matrix::fromRawData(new double[18]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}, 18),
Aurora::Matrix::fromRawData(new double[1]{1}, 1),
Aurora::Matrix::fromRawData(new double[18]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}, 18));
for(int i=0; i<ascanBlock.getDataSize(); ++i)
{
EXPECT_DOUBLE_AE(ascanBlock[i], result.ascanBlock[i]);
}
EXPECT_DOUBLE_EQ(ascanBlock.getDimSize(0), result.ascanBlock.getDimSize(0));
EXPECT_DOUBLE_EQ(ascanBlock.getDimSize(1), result.ascanBlock.getDimSize(1));
auto gainBlock = m.read("gainBlock");
for(int i=0; i<gainBlock.getDataSize(); ++i)
{
EXPECT_DOUBLE_AE(gainBlock[i], result.gainBlock[i]);
}
EXPECT_DOUBLE_EQ(gainBlock.getDimSize(0), result.gainBlock.getDimSize(0));
EXPECT_DOUBLE_EQ(gainBlock.getDimSize(1), result.gainBlock.getDimSize(1));
auto mpBlock = m.read("mpBlock");
for(int i=0; i<mpBlock.getDataSize(); ++i)
{
EXPECT_DOUBLE_AE(mpBlock[i], result.mpBlock[i]);
}
EXPECT_DOUBLE_EQ(mpBlock.getDimSize(0), result.mpBlock.getDimSize(0));
EXPECT_DOUBLE_EQ(mpBlock.getDimSize(1), result.mpBlock.getDimSize(1));
auto rlBlock = m.read("rlBlock");
for(int i=0; i<rlBlock.getDataSize(); ++i)
{
EXPECT_DOUBLE_AE(rlBlock[i], result.rlBlock[i]);
}
EXPECT_DOUBLE_EQ(rlBlock.getDimSize(0), result.rlBlock.getDimSize(0));
EXPECT_DOUBLE_EQ(rlBlock.getDimSize(1), result.rlBlock.getDimSize(1));
auto rnBlock = m.read("rnBlock");
for(int i=0; i<rnBlock.getDataSize(); ++i)
{
EXPECT_DOUBLE_AE(rnBlock[i], result.rnBlock[i]);
}
EXPECT_DOUBLE_EQ(rnBlock.getDimSize(0), result.rnBlock.getDimSize(0));
EXPECT_DOUBLE_EQ(rnBlock.getDimSize(1), result.rnBlock.getDimSize(1));
auto slBlock = m.read("slBlock");
for(int i=0; i<slBlock.getDataSize(); ++i)
{
EXPECT_DOUBLE_AE(slBlock[i], result.slBlock[i]);
}
EXPECT_DOUBLE_EQ(slBlock.getDimSize(0), result.slBlock.getDimSize(0));
EXPECT_DOUBLE_EQ(slBlock.getDimSize(1), result.slBlock.getDimSize(1));
auto snBlock = m.read("snBlock");
for(int i=0; i<snBlock.getDataSize(); ++i)
{
EXPECT_DOUBLE_AE(snBlock[i], result.snBlock[i]);
}
EXPECT_DOUBLE_EQ(snBlock.getDimSize(0), result.snBlock.getDimSize(0));
EXPECT_DOUBLE_EQ(snBlock.getDimSize(1), result.snBlock.getDimSize(1));
}