- itPatient = e1->GetPatients().begin();
- while ( itPatient != e1->GetPatients().end() ) { // on degouline la liste de PATIENT
- std::cout << (*itPatient)->GetEntryByNumber(0x0010, 0x0010) << std::endl; // Patient's Name
- itPatient ++;
+ im1 = se1->GetFirstImage();
+ while ( im1 ) { // we process all the IMAGE of this serie
+ std::cout << "--- --- --- "<< im1->GetEntryValue(0x0004, 0x1500) << std::endl; // File name
+ im1 = se1->GetNextImage();
+ }
+ se1 = st1->GetNextSerie();
+ }
+ st1 = pa1->GetNextStudy();
+ }
+ pa1 = dicomdir->GetNextPatient();
+ }
+
+ std::cout << std::endl << std::endl
+ << " = DICOMDIR full content ===================================="
+ << std::endl<< std::endl;
+ // dicomdir->Print();
+
+ // ------------------------- second stage ---------------------------
+
+ // Write on disc what we read
+ dicomdir->WriteDicomDir("NewDICOMDIR");
+
+ std::cout << std::endl << std::endl
+ << "NewDICOMDIR written on disc ================================="
+ << std::endl<< std::endl;
+ // Read what we wrote
+ gdcm::DicomDir *d2 = new gdcm::DicomDir( );
+ d2->SetFileName("NewDICOMDIR");
+ d2->Load( );
+ if (!d2->IsReadable( ))
+ {
+ std::cout << std::endl << std::endl
+ << "Read NewDicomDir from disc failed ========================"
+ << std::endl<< std::endl;
+ return 1;