16 std::vector<std::string>
LoadDumps(
const std::string& fileName)
18 std::vector<std::string> separatedDumps;
20 std::ifstream fileStream( fileName.c_str() );
25 std::getline(fileStream, line);
27 if (line.find(
"-- Image ") == 0)
30 if ( !buffer.empty() )
33 separatedDumps.push_back(buffer);
39 buffer += line +
"\n";
45 if ( !buffer.empty() )
47 separatedDumps.push_back(buffer);
51 return separatedDumps;
55 int main(
int argc,
char** argv)
67 MITK_ERROR <<
" " << argv[0] <<
" reference.dump file1 [file2 .. fileN]";
69 MITK_ERROR <<
" Loads all DICOM images in file1 to fileN as MITK images ";
70 MITK_ERROR <<
" and compares loaded images against stored expectations (dumps).";
71 MITK_ERROR <<
" See also DumpDICOMMitkImage (generates dumps)";
82 std::vector<std::string> expectedDumps =
LoadDumps(argv[1]);
84 for (
int arg = 2; arg < argc; ++arg) files.push_back( argv[arg] );
88 unsigned int imageCounter(0);
89 for ( mitk::TestDICOMLoading::ImageList::const_iterator imageIter = images.begin();
90 imageIter != images.end();
91 ++imageIter, ++imageCounter )
95 if (imageCounter >= expectedDumps.size())
97 MITK_ERROR <<
"Loader produces more images than expected. Aborting after image " << (imageCounter-1);
98 MITK_INFO <<
"Image " << imageCounter <<
" loaded as:\n" << imageDump;
103 if (loadedAsExpected)
105 MITK_INFO <<
"Image " << imageCounter <<
" loads as expected.";
109 MITK_ERROR <<
"Image " << imageCounter <<
" did not load as expected.";
110 MITK_INFO <<
"Expected: \n" << expectedDumps[imageCounter] <<
"\nGot:\n" << imageDump;
115 if (images.size() < expectedDumps.size())
117 MITK_ERROR <<
"Loader produced only " << images.size() <<
" mitk::Images, while test expected " << expectedDumps.size() <<
" images";
std::string DumpImageInformation(const Image *image)
Dump relevant image information for later comparison.
std::list< Image::Pointer > ImageList
std::vector< std::string > StringList
int main(int argc, char **argv)
ImageList LoadFiles(const StringList &files)
std::vector< std::string > LoadDumps(const std::string &fileName)
bool CompareImageInformationDumps(const std::string &reference, const std::string &test)
Compare two image information dumps.