1 /*=========================================================================
4 Module: $RCSfile: gdcmDicomEntry.h,v $
6 Date: $Date: 2005/11/28 15:30:04 $
7 Version: $Revision: 1.9 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*/
19 #ifndef GDCMDICOMENTRY_H
20 #define GDCMDICOMENTRY_H
22 #include "gdcmCommon.h"
23 #include "gdcmRefCounter.h"
24 #include "gdcmVRKey.h"
25 #include "gdcmTagKey.h"
29 //-----------------------------------------------------------------------------
32 * a DicomEntry is an element contained by the Dict.
34 * - the key referenced by the DICOM norm or the manufacturer(for private keys)
36 * - - the Group number
37 * - - the Element number
38 * - the VR (Value Representation)
39 * - the VM (Value Multiplicity)
40 * - the corresponding name in english
42 class GDCM_EXPORT DicomEntry : public RefCounter
44 gdcmTypeMacro(DicomEntry);
48 void Print(std::ostream &os = std::cout, std::string const &indent = "");
50 /// \brief Returns the Dicom Group Number
51 /// @return the Dicom Group Number
52 const uint16_t &GetGroup() const { return Tag[0]; }
54 /// \brief Returns the Dicom Element Number
55 /// @return the Dicom Element Number
56 const uint16_t &GetElement() const { return Tag[1]; }
58 /// \brief Set the Dicom Value Representation
59 /// \param vr the Dicom Value Representation
60 virtual void SetVR(VRKey const &vr) { VR = vr; }
61 /// \brief Returns the Dicom Value Representation
62 /// @return the Dicom Value Representation
63 const VRKey &GetVR() const { return VR; }
64 /// \brief tells if the V(alue) R(epresentation) is known (?!)
66 bool IsVRUnknown() const { return VR == GDCM_VRUNKNOWN; }
68 const TagKey &GetKey() const { return Tag; }
71 static TagKey TranslateToKey(uint16_t group, uint16_t elem);
74 DicomEntry(const uint16_t &group,const uint16_t &elt,
75 const VRKey &vr = GDCM_VRUNKNOWN);
79 /// Dicom \ref TagKey. Contains Dicom Group number and Dicom Element number
82 /// \brief Value Representation i.e. some clue about the nature
83 /// of the data represented e.g.
84 /// - "FD" short for "Floating Point Double"(see \ref VR)
85 /// - "PN" short for "Person Name"
88 } // end namespace gdcm
89 //-----------------------------------------------------------------------------