feat: fix all TEST and add DICOM export TEST

This commit is contained in:
kradchen
2024-09-19 15:37:02 +08:00
parent 4c4ab3794e
commit 01210045bc
10 changed files with 287 additions and 377 deletions

View File

@@ -5,15 +5,15 @@
#include "transmissionReconstruction/dataFilter/sensitivityCalculations.h"
#include "MatlabReader.h"
inline double fourDecimalRound(double src){
inline float fourDecimalRound(float src){
return round(src*10000.0)/10000.0;
}
#define EXPECT_DOUBLE_AE(valueA,valueB)\
EXPECT_DOUBLE_EQ(fourDecimalRound(valueA),fourDecimalRound(valueB))
#define EXPECT_FLOAT_AE(valueA,valueB)\
EXPECT_FLOAT_EQ(fourDecimalRound(valueA),fourDecimalRound(valueB))
#define ASSERT_DOUBLE_AE(valueA,valueB)\
ASSERT_DOUBLE_EQ(fourDecimalRound(valueA),fourDecimalRound(valueB))
#define ASSERT_FLOAT_AE(valueA,valueB)\
ASSERT_FLOAT_EQ(fourDecimalRound(valueA),fourDecimalRound(valueB))
class Sensitivity_Test : public ::testing::Test {
protected:
@@ -50,7 +50,7 @@ TEST_F(Sensitivity_Test, getSensitivity) {
EXPECT_EQ(output.getDataSize(), sens.getDataSize());
for (size_t i = 0; i < output.getDataSize(); i++)
{
EXPECT_DOUBLE_AE(output.getData()[i],sens.getData()[i])<<", index:"<<i;
EXPECT_FLOAT_AE(output.getData()[i],sens.getData()[i])<<", index:"<<i;
}
}
@@ -70,7 +70,7 @@ TEST_F(Sensitivity_Test, precalcSensitivityForTAS){
EXPECT_EQ(output.getDataSize(), sens.getDataSize());
for (size_t i = 0; i < output.getDataSize(); i++)
{
EXPECT_DOUBLE_AE(output.getData()[i],sens.getData()[i])<<", index:"<<i;
EXPECT_FLOAT_AE(output.getData()[i],sens.getData()[i])<<", index:"<<i;
}
}
@@ -96,7 +96,7 @@ TEST_F(Sensitivity_Test, combineSensitivity){
{
for (size_t j = 0; j < output[i].getDataSize(); j++)
{
EXPECT_DOUBLE_AE(output[i].getData()[j],sens[i].getData()[j])<<"Matrix index:"<<i<<", value index:"<<j;
EXPECT_FLOAT_AE(output[i].getData()[j],sens[i].getData()[j])<<"Matrix index:"<<i<<", value index:"<<j;
}
}
@@ -116,7 +116,7 @@ TEST_F(Sensitivity_Test,precalcSensitivity){
TASElements.receiverPositions = m3.read4d("receiverPositions");
TASElements.receiverNormals = m3.read4d("receiverNormals");
TASElements.sensChar = m.read("sensChar");
auto motorPos = Aurora::Matrix::fromRawData(new double[2]{1,2}, 2);
auto motorPos = Aurora::Matrix::fromRawData(new float[2]{1,2}, 2);
auto output = precalcSensitivity(senderTASRange, senderElementRange, receiverTASRange, receiverElementRange, motorPos, TASElements);
MatlabReader m2("/home/krad/TestData/precalcResult.mat");
auto sens = m2.read4d("result");
@@ -127,7 +127,7 @@ TEST_F(Sensitivity_Test,precalcSensitivity){
{
for (size_t j = 0; j < output[i].getDataSize(); j++)
{
EXPECT_DOUBLE_AE(output[i].getData()[j],sens[i].getData()[j])<<"Matrix index:"<<i<<", value index:"<<j;
EXPECT_FLOAT_AE(output[i].getData()[j],sens[i].getData()[j])<<"Matrix index:"<<i<<", value index:"<<j;
}
}