3 #include "gdcmDocEntry.h"
4 #include "gdcmDicomDir.h"
5 #include "gdcmDicomDirPatient.h"
6 #include "gdcmDirList.h"
9 #ifdef GDCM_NO_ANSI_STRING_STREAM
11 # define ostringstream ostrstream
16 #define ostringstream ostrstream
18 #include <sys/types.h>
34 void StartMethod(void *toto) {
36 std::cout<<"Start parsing"<<std::endl;
39 void EndMethod(void *toto) {
41 std::cout<<"End parsing"<<std::endl;
47 * \brief Explores recursively the given directory (or GDCM_DATA_ROOT by default)
48 * orders the gdcm-readable found Files
49 * according their Patient/Study/Serie/Image characteristics
50 * makes the gdcmDicomDir
51 * and writes a file named NewDICOMDIR..
54 int main(int argc, char* argv[]) {
61 dirName = GDCM_DATA_ROOT;
63 dcmdir=new gdcmDicomDir(dirName);
64 std::cout << "---after constructor; Print as a gdcmDocument ------" << std::endl;
65 ((gdcmDocument *)dcmdir)->Print();
66 std::cout << "---after constructor; Print as a DICOMDIR ------" << std::endl;
69 dcmdir->SetStartMethod(StartMethod, (void *) NULL);
70 dcmdir->SetEndMethod(EndMethod);
72 std::cout << "---before ParseDirectory------------------" << std::endl;
73 dcmdir->ParseDirectory();
74 std::cout << "---after ParseDirectory------------------" << std::endl;
76 ListDicomDirPatient lp = dcmdir->GetDicomDirPatients();
79 std::cout << "makeDicomDir: no patient list present. Exiting."
83 gdcmDicomDirPatient *p = *(lp.begin());
84 dcmdir->SetPrintLevel(2);
86 std::cout << "---------------------" << std::endl;
88 dcmdir->SetPrintLevel(-1);
91 dcmdir->Write("NewDICOMDIR");
92 std::cout<<std::flush;