- gdcmDictEntry(guint16 group,
- guint16 element,
- std::string vr = "Unknown",
- std::string fourth = "Unknown",
- std::string name = "Unknown");
-
- static TagKey TranslateToKey(guint16 group, guint16 element);
-
- void SetVR(std::string);
-
- /**
- * \ingroup gdcmDictEntry
- * \brief tells if the V(alue) R(epresentation) is known (?!)
- *
- * @return
- */
- inline bool IsVRUnknown() {return vr == "??"; }
-
- /**
- * \ingroup gdcmDictEntry
- * \brief returns the Dicom Group Number of the current gdcmDictEntry
- * return the Dicom Group Number
- */
- inline guint16 GetGroup(void) { return group; }
-
- /**
- * \ingroup gdcmDictEntry
- * \brief returns the Dicom Element Number of the current gdcmDictEntry
- * return the Dicom Element Number
- */
- inline guint16 GetElement(void) { return element; }
-
- /**
- * \ingroup gdcmDictEntry
- * \brief returns the Dicom Value Representation of the current gdcmDictEntry
- * return the Dicom Value Representation
- */
- inline std::string GetVR(void) { return vr; }
-
- /**
- * \ingroup gdcmDictEntry
- * \brief sets the key of the current gdcmDictEntry
- * @param k New key to be set.
- */
- inline void SetKey(std::string k) { key = k; }
-
- /**
- * \ingroup gdcmDictEntry
- * \brief returns the Fourth field of the current gdcmDictEntry
- * \warning NOT part of the Dicom Standard
- * \ May be REMOVED an any time
- * \ NEVER use it
- * return the Fourth field
- */
- inline std::string GetFourth(void) { return fourth; }
-
- /**
- * \ingroup gdcmDictEntry
- * \brief returns the Dicom Name of the current gdcmDictEntry
- * \ e.g. "Patient Name" for Dicom Tag (0x0010, 0x0010)
- * return the Dicom Name
- */
- inline std::string GetName(void) { return name; }
-
- /**
- * \ingroup gdcmDictEntry
- * \brief Gets the key of the current gdcmDictEntry
- * @return the key .
- */
- inline std::string GetKey(void) { return key; }
+ static DictEntry *New(uint16_t group, uint16_t elem,
+ VRKey const &vr = GDCM_VRUNKNOWN,
+ TagName const &vm = GDCM_UNKNOWN,
+ TagName const &name = GDCM_UNKNOWN);
+
+// Print
+ void Print(std::ostream &os = std::cout, std::string const &indent = "");
+
+ /// \brief Returns the Dicom Group Number
+ /// @return the Dicom Group Number
+ const uint16_t &GetGroup() const { return Tag[0]; }
+
+ /// \brief Returns the Dicom Element Number
+ /// @return the Dicom Element Number
+ const uint16_t &GetElement() const { return Tag[1]; }
+
+ /// \brief Set the Dicom Value Representation
+ /// \param vr the Dicom Value Representation
+ virtual void SetVR(VRKey const &vr) { VR = vr; }
+ /// \brief Returns the Dicom Value Representation
+ /// @return the Dicom Value Representation
+ const VRKey &GetVR() const { return VR; }
+ /// \brief tells if the V(alue) R(epresentation) is known (?!)
+ /// @return
+ bool IsVRUnknown() const { return VR == GDCM_VRUNKNOWN; }
+
+ const TagKey &GetKey() const { return Tag; }
+
+// Key creation
+ static TagKey TranslateToKey(uint16_t group, uint16_t elem);