2 //-----------------------------------------------------------------------------
6 #include "gdcmHeader.h"
7 #include "gdcmCommon.h"
8 #include "gdcmPatient.h"
9 #include "gdcmDicomDirElement.h"
11 //-----------------------------------------------------------------------------
12 typedef std::list<gdcmPatient *> ListPatient;
13 typedef std::list<gdcmHeader *> ListHeader;
15 //-----------------------------------------------------------------------------
17 * \defgroup gdcmDicomDir
18 * \brief gdcmDicomDir defines an object representing a DICOMDIR in memory.
21 class GDCM_EXPORT gdcmDicomDir: public gdcmParser
24 // gdcmDicomDir(ListTag *l, bool exception_on_error = false);
25 gdcmDicomDir(const char *FileName, bool parseDir = false,
26 bool exception_on_error = false);
30 void SetPrintLevel(int level) { printLevel = level; };
31 virtual void Print(std::ostream &os = std::cout);
33 inline ListPatient &GetPatients() {return patients;};
36 bool Write(std::string fileName);
37 void ParseDirectory(void);
50 void NewDicomDir(std::string path);
51 std::string GetPath(void);
54 void CreateDicomDir(void);
55 void AddObjectToEnd(gdcmDicomDirType type,ListTag::iterator begin,ListTag::iterator end);
56 void AddPatientToEnd(ListTag::iterator begin,ListTag::iterator end);
57 void AddStudyToEnd(ListTag::iterator begin,ListTag::iterator end);
58 void AddSerieToEnd(ListTag::iterator begin,ListTag::iterator end);
59 void AddImageToEnd(ListTag::iterator begin,ListTag::iterator end);
61 void SetElements(std::string &path,ListHeader &list);
62 void SetElement(std::string &path,gdcmDicomDirType type,gdcmHeader *header);
67 //-----------------------------------------------------------------------------