ctkDICOMIndexer.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // Qt includes
  2. #include <QApplication>
  3. #include <QPushButton>
  4. #include <QTextStream>
  5. // ctkDICOM includes
  6. #include <ctkDICOMIndexer.h>
  7. #include <ctkDICOM.h>
  8. // STD includes
  9. #include <cstdlib>
  10. #include <iostream>
  11. #include <fstream>
  12. int main(int argc, char** argv)
  13. {
  14. if (argc < 2)
  15. {
  16. std::cerr << "Usage: ctkDICOMIndexer <database.db> <sourceDir> [destDir]\n";
  17. return EXIT_FAILURE;
  18. }
  19. QApplication app(argc, argv);
  20. QTextStream out(stdout);
  21. ctkDICOMIndexer idx;
  22. ctkDICOM myCTK;
  23. if ( myCTK.openDatabase( argv[1]) )
  24. {
  25. out << "open db success\n";
  26. /// make sure it is empty and properly initialized
  27. myCTK.initializeDatabase();
  28. out << "init db done\n";
  29. if (argc > 3)
  30. {
  31. idx.addDirectory(myCTK.database(),argv[2],argv[3]);
  32. }
  33. else
  34. {
  35. idx.addDirectory(myCTK.database(),argv[2]);
  36. }
  37. out << "add db done\n";
  38. idx.refreshDatabase(myCTK.database(),argv[2]);
  39. out << "refresh db done\n";
  40. myCTK.closeDatabase();
  41. }
  42. else
  43. {
  44. out << "ERROR: " ;
  45. out << myCTK.GetLastError();
  46. out << "\n" ;
  47. }
  48. return EXIT_SUCCESS;
  49. }