2 //-----------------------------------------------------------------------------
6 #include "gdcmCommon.h"
7 #include "gdcmDictEntry.h"
13 //-----------------------------------------------------------------------------
14 typedef std::map<TagKey, gdcmDictEntry*> TagKeyHT;
15 typedef std::map<TagName, gdcmDictEntry*> TagNameHT;
17 //-----------------------------------------------------------------------------
20 * \brief gdcmDict acts a memory representation of a dicom dictionary i.e.
21 * it is a container for a collection of dictionary entries. The
22 * dictionary is loaded from in an ascii file.
23 * There should be a single public dictionary (THE dictionary of
24 * the actual DICOM v3) but as many shadow dictionaries as imagers
25 * combined with all software versions...
28 class GDCM_EXPORT gdcmDict {
30 gdcmDict(std::string & FileName);
34 void Print(std::ostream &os = std::cout);
35 void PrintByKey(std::ostream &os = std::cout);
36 void PrintByName(std::ostream &os = std::cout);
39 bool AddNewEntry (gdcmDictEntry *NewEntry);
40 bool ReplaceEntry(gdcmDictEntry *NewEntry);
41 bool RemoveEntry (TagKey key);
42 bool RemoveEntry (guint16 group, guint16 element);
45 gdcmDictEntry *GetDictEntryByName(TagName name);
46 gdcmDictEntry *GetDictEntryByNumber(guint16 group, guint16 element);
48 std::list<std::string> *GetDictEntryNames(void);
49 std::map<std::string, std::list<std::string> > *
50 GetDictEntryNamesByCategory(void);
54 * \brief returns a ref to the Dicom Dictionary H table (map)
55 * return the Dicom Dictionary H table
57 inline TagKeyHT & gdcmDict::GetEntries(void) { return KeyHt; }
62 /// Access through TagKey (see alternate access with NameHt)
64 /// Access through TagName (see alternate access with KeyHt)
68 //-----------------------------------------------------------------------------