Skip to content

Commit c22c53b

Browse files
committed
STYLE: add testing for float and v030 aim
1 parent 285877c commit c22c53b

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

test/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ itk_add_test(NAME itkScancoImageIOISQHeaderCheckTest2
5252
DATA{Input/C0004255.ISQ}
5353
${ITK_TEST_OUTPUT_DIR}/C0004255Test2.mha
5454
)
55+
5556
itk_add_test(NAME itkScancoImageIOISQHeaderWriteTest2
5657
COMMAND IOScancoTestDriver
5758
--compare

test/itkScancoImageIOTest3.cxx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ itkScancoImageIOTest3(int argc, char * argv[])
3838
}
3939
const std::string inputFileName = argv[1];
4040
const std::string outputFileName = argv[2];
41+
const std::string versionString = (argc > 4) ? argv[4] : "AIMDATA_V020 ";
4142

4243
// ATTENTION THIS IS THE PIXEL TYPE FOR
4344
// THE RESULTING IMAGE
@@ -65,7 +66,7 @@ itkScancoImageIOTest3(int argc, char * argv[])
6566
ImageType::Pointer image = reader->GetOutput();
6667

6768
std::cout << "Version: \t\t" << scancoIO->GetVersion() << std::endl;
68-
ITK_TEST_EXPECT_EQUAL(scancoIO->GetVersion(), std::string("AIMDATA_V020 "));
69+
ITK_TEST_EXPECT_EQUAL(scancoIO->GetVersion(), versionString);
6970
std::cout << "PatientIndex: \t" << scancoIO->GetPatientIndex() << std::endl;
7071
ITK_TEST_EXPECT_EQUAL(scancoIO->GetPatientIndex(), 2573);
7172
std::cout << "ScannerID: \t\t" << scancoIO->GetScannerID() << std::endl;
@@ -77,9 +78,19 @@ itkScancoImageIOTest3(int argc, char * argv[])
7778
std::cout << "StartPosition: \t" << scancoIO->GetStartPosition() << std::endl;
7879
ITK_TEST_EXPECT_TRUE(itk::Math::FloatAlmostEqual(scancoIO->GetStartPosition(), 114.845, 6, 1e-3));
7980
std::cout << "DataRange[0]: \t" << scancoIO->GetDataRange()[0] << std::endl;
80-
ITK_TEST_EXPECT_TRUE(itk::Math::FloatAlmostEqual(scancoIO->GetDataRange()[0], -2478.0, 6, 1e-3));
8181
std::cout << "DataRange[1]: \t" << scancoIO->GetDataRange()[1] << std::endl;
82-
ITK_TEST_EXPECT_TRUE(itk::Math::FloatAlmostEqual(scancoIO->GetDataRange()[1], 11662.0, 6, 1e-3));
82+
83+
if (scancoIO->GetComponentType() == itk::ImageIOBase::FLOAT)
84+
{
85+
ITK_TEST_EXPECT_TRUE(itk::Math::FloatAlmostEqual(scancoIO->GetDataRange()[0], -1380.0, 6, 1e-3));
86+
ITK_TEST_EXPECT_TRUE(itk::Math::FloatAlmostEqual(scancoIO->GetDataRange()[1], 8823.0, 6, 1e-3));
87+
}
88+
else
89+
{
90+
ITK_TEST_EXPECT_TRUE(itk::Math::FloatAlmostEqual(scancoIO->GetDataRange()[0], -2478.0, 6, 1e-3));
91+
ITK_TEST_EXPECT_TRUE(itk::Math::FloatAlmostEqual(scancoIO->GetDataRange()[1], 11662.0, 6, 1e-3));
92+
}
93+
8394
std::cout << "MuScaling: \t\t" << scancoIO->GetMuScaling() << std::endl;
8495
ITK_TEST_EXPECT_TRUE(itk::Math::FloatAlmostEqual(scancoIO->GetMuScaling(), 8192.0, 6, 1e-3));
8596
std::cout << "MuWater: \t\t" << scancoIO->GetMuWater() << std::endl;
@@ -122,9 +133,8 @@ itkScancoImageIOTest3(int argc, char * argv[])
122133
// Generate test image
123134
using WriterType = itk::ImageFileWriter<ImageType>;
124135
WriterType::Pointer writer = WriterType::New();
125-
if (argc > 3)
136+
if (argc > 3 && std::stoi(argv[3]) == 1) // Explicitly use scancoIO
126137
{
127-
// AIM writing is not currently supported
128138
ITK_TEST_EXPECT_TRUE(scancoIO->CanWriteFile(outputFileName.c_str()));
129139

130140
ITK_TEST_EXPECT_TRUE(!scancoIO->CanWriteFile((outputFileName + ".exe").c_str()));

0 commit comments

Comments
 (0)