DCMTK  Version 3.6.9
OFFIS DICOM Toolkit
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
DcmTag Class Reference

this class encapsulates an attribute tag (group, element) and a VR. More...

+ Inheritance diagram for DcmTag:

Public Member Functions

 DcmTag ()
 default constructor
 
 DcmTag (const DcmTagKey &akey, const char *privCreator=NULL)
 constructor. More...
 
 DcmTag (Uint16 g, Uint16 e, const char *privCreator=NULL)
 constructor. More...
 
 DcmTag (const DcmTagKey &akey, const DcmVR &avr)
 constructor. More...
 
 DcmTag (Uint16 g, Uint16 e, const DcmVR &avr)
 constructor. More...
 
 DcmTag (const DcmTag &tag)
 copy constructor More...
 
 DcmTag (const DcmTag &tag, const DcmVR &avr)
 constructor. More...
 
 ~DcmTag ()
 destructor
 
DcmTagoperator= (const DcmTag &tag)
 copy assignment operator
 
OFBool operator== (const DcmTag &tag) const
 comparison operator. More...
 
OFBool operator!= (const DcmTag &tag) const
 negation operator. More...
 
DcmVR setVR (const DcmVR &avr)
 set specific VR
 
DcmVR getVR () const
 returns VR object by value
 
DcmEVR getEVR () const
 returns VR code
 
const char * getVRName () const
 returns name of VR
 
Uint16 getGTag () const
 returns tag group More...
 
Uint16 getETag () const
 returns tag element More...
 
DcmTagKey getXTag () const
 returns a copy of the tag key by value. More...
 
const DcmTagKeygetTagKey () const
 returns tag key as a const reference More...
 
const char * getTagName ()
 returns name of attribute tag. More...
 
const char * getPrivateCreator () const
 returns the current private creator identifier for this object if any, NULL otherwise. More...
 
void setPrivateCreator (const char *privCreator)
 assigns a private creator identifier and deletes a possibly cached attribute name since the attribute name could change if a different private creator identifier is used. More...
 
void lookupVRinDictionary ()
 performs a look-up of the VR for the current tag key in the dictionary, under consideration of the private creator identifier (if defined). More...
 
OFBool isSignable () const
 returns true if a data element with the given tag and VR can be digitally signed, false otherwise More...
 
OFBool isUnknownVR () const
 returns true if the VR used for writing is "UN"
 
OFCondition error () const
 returns current status flag
 
OFBool operator== (const DcmTagKey &key) const
 comparison operator. More...
 
OFBool operator!= (const DcmTagKey &key) const
 negation operator. More...
 
- Public Member Functions inherited from DcmTagKey
 DcmTagKey ()
 default constructor
 
 DcmTagKey (const DcmTagKey &key)
 copy constructor More...
 
 DcmTagKey (Uint16 g, Uint16 e)
 constructor More...
 
virtual ~DcmTagKey ()
 destructor
 
void set (const DcmTagKey &key)
 set value to given tag key More...
 
void set (Uint16 g, Uint16 e)
 set value to given group and element More...
 
void setGroup (Uint16 g)
 set group to given number More...
 
void setElement (Uint16 e)
 set element to given number More...
 
Uint16 getGroup () const
 returns group number More...
 
Uint16 getElement () const
 returns element number More...
 
DcmTagKey getBaseTag () const
 returns base tag, i.e. More...
 
OFBool isGroupLength () const
 checks whether the tag key is a valid group length element. More...
 
OFBool isPrivate () const
 returns true if the tag key is private, i.e. More...
 
OFBool isPrivateReservation () const
 returns true, if tag is a private reservation tag of the form (gggg,00xx) with "gggg" being odd and "xx" in the range of 10 and FF. More...
 
OFBool hasValidGroup () const
 returns true, if group is valid (permitted in DICOM command or data sets). More...
 
Uint32 hash () const
 generate a simple hash code for this attribute tag. More...
 
DcmTagKeyoperator= (const DcmTagKey &key)
 assignment operator for initializing this tag key from an existing one More...
 
OFBool operator== (const DcmTagKey &key) const
 comparison operator. More...
 
OFBool operator!= (const DcmTagKey &key) const
 negation operator. More...
 
OFBool operator< (const DcmTagKey &key) const
 'less than' operator. More...
 
OFBool operator> (const DcmTagKey &key) const
 'greater than' operator. More...
 
OFBool operator<= (const DcmTagKey &key) const
 'less or equal' operator. More...
 
OFBool operator>= (const DcmTagKey &key) const
 'greater or equal' operator. More...
 
OFString toString () const
 convert tag key to string having the form "(gggg,eeee)". More...
 
OFBool isSignableTag () const
 returns true if a data element with the given tag key can be digitally signed, false otherwise More...
 

Static Public Member Functions

static OFCondition findTagFromName (const char *name, DcmTag &value)
 convert the given string to a DICOM tag value More...
 

Protected Member Functions

void setTag (const DcmTagKey &key, const DcmVR &avr, const char *name, const char *privCreator)
 set the members of this tag More...
 
- Protected Member Functions inherited from DcmTagKey
int groupLT (const DcmTagKey &key) const
 less-than operation comparing only group numbers More...
 
int groupGT (const DcmTagKey &key) const
 greater-than operation comparing only group numbers More...
 
int groupEQ (const DcmTagKey &key) const
 comparison operation comparing only group numbers More...
 
int elementLT (const DcmTagKey &key) const
 less-than operation comparing only element numbers More...
 
int elementGT (const DcmTagKey &key) const
 greater-than operation comparing only element numbers More...
 
int elementEQ (const DcmTagKey &key) const
 comparison operation comparing only element numbers More...
 

Private Member Functions

void updateTagName (const char *c)
 replace tagName with copy of given string More...
 
void updatePrivateCreator (const char *c)
 replace privateCreator with copy of given string More...
 

Private Attributes

DcmVR vr
 VR of this attribute tag.
 
char * tagName
 name of this attribute tag, remains NULL unless getTagName() is called
 
char * privateCreator
 private creator identifier, remains NULL unless setPrivateCreator() is called
 
OFCondition errorFlag
 current error code, EC_Normal if a valid VR for the tag is known
 

Detailed Description

this class encapsulates an attribute tag (group, element) and a VR.

It maintains a private creator identifier for private tags and caches the attribute name, once it is looked up in the data dictionary. This class maintains the interface to the DICOM data dictionary, i.e. performs look-ups of attribute VR and name in the background. Therefore, creation of DcmTag element is significantly more expensive than creation of simple DcmTagKey objects unless the VR is passed in the constructor.

Constructor & Destructor Documentation

◆ DcmTag() [1/6]

DcmTag::DcmTag ( const DcmTagKey akey,
const char *  privCreator = NULL 
)

constructor.

Initializes group/element from given tag key and performs a dictionary lookup for the VR. The lookup also considers private tags if the private creator identifier is defined (not NULL).

Parameters
akeytag key
privCreatorprivate creator identifier (optional)

◆ DcmTag() [2/6]

DcmTag::DcmTag ( Uint16  g,
Uint16  e,
const char *  privCreator = NULL 
)

constructor.

Initializes group/element from given parameters and performs a dictionary lookup for the VR. The lookup also considers private tags if the private creator identifier is defined (not NULL).

Parameters
gtag group
etag element
privCreatorprivate creator identifier (optional)

◆ DcmTag() [3/6]

DcmTag::DcmTag ( const DcmTagKey akey,
const DcmVR avr 
)

constructor.

Initializes group/element and VR from given parameters. No dictionary lookup needed/performed.

Parameters
akeytag key
avrVR

◆ DcmTag() [4/6]

DcmTag::DcmTag ( Uint16  g,
Uint16  e,
const DcmVR avr 
)

constructor.

Initializes group/element and VR from given parameters. No dictionary lookup needed/performed.

Parameters
gtag group
etag element
avrVR

◆ DcmTag() [5/6]

DcmTag::DcmTag ( const DcmTag tag)

copy constructor

Parameters
tagtag to be copied

◆ DcmTag() [6/6]

DcmTag::DcmTag ( const DcmTag tag,
const DcmVR avr 
)

constructor.

Initializes tag from given parameter, but uses the specified VR. This constructor is e.g. useful for attributes with multiple VRs. No dictionary lookup needed/performed.

Parameters
tagtag to be copied
avrVR to be used

Member Function Documentation

◆ findTagFromName()

static OFCondition DcmTag::findTagFromName ( const char *  name,
DcmTag value 
)
static

convert the given string to a DICOM tag value

Parameters
namename or tag of the attribute to be searched for. If the name of the attribute is given, the spelling has to be consistent with the spelling used in the data dictionary (e.g. "PatientName"). If the attribute tag is used, the format is "gggg,eeee" (i.e. two hexadecimal numbers separated by a comma).
valuevariable in which the resulting tag value is stored. If this functions fails to find the specified tag, this variable remains unchanged.
Note
This method also searches for private tags, but always returns the first entry that matches (if no standard attribute was found), i.e. the private creator identifier is ignored (it cannot be specified for this method).
Returns
status, EC_Normal upon success, an error code otherwise

◆ getETag()

Uint16 DcmTag::getETag ( ) const
inline

returns tag element

Returns
tag element

References DcmTagKey::getElement().

◆ getGTag()

Uint16 DcmTag::getGTag ( ) const
inline

returns tag group

Returns
tag group

References DcmTagKey::getGroup().

◆ getPrivateCreator()

const char* DcmTag::getPrivateCreator ( ) const

returns the current private creator identifier for this object if any, NULL otherwise.

Returns
private creator identifier if present, NULL otherwise

◆ getTagKey()

const DcmTagKey& DcmTag::getTagKey ( ) const
inline

returns tag key as a const reference

Returns
tag key

◆ getTagName()

const char* DcmTag::getTagName ( )

returns name of attribute tag.

If name has not been accessed before, a dictionary lookup under consideration of the current private creator identifier is performed. If no attribute name is found, a default name is used. Never returns NULL.

Returns
attribute tag name, never NULL.

◆ getXTag()

DcmTagKey DcmTag::getXTag ( ) const
inline

returns a copy of the tag key by value.

Note
In most cases, the method getTagKey() should be preferred.
Returns
copy of tag key, by value

◆ isSignable()

OFBool DcmTag::isSignable ( ) const

returns true if a data element with the given tag and VR can be digitally signed, false otherwise

Returns
true if signable, false otherwise

◆ lookupVRinDictionary()

void DcmTag::lookupVRinDictionary ( )

performs a look-up of the VR for the current tag key in the dictionary, under consideration of the private creator identifier (if defined).

If a dictionary entry is found, the VR of this object is copied from the dictionary entry, otherwise the VR remains unmodified.

◆ operator!=() [1/2]

OFBool DcmTag::operator!= ( const DcmTag tag) const

negation operator.

Returns true if either group or element number or private creator identifier (if present) are not the same. Please note that the VR is not used for comparison.

Parameters
tagtag to compare with
Returns
true if tags are not the same

◆ operator!=() [2/2]

OFBool DcmTagKey::operator!=
inline

negation operator.

Returns true if either group or element number are not the same.

Parameters
keykey to compare with
Returns
true if tag keys are not the same

◆ operator==() [1/2]

OFBool DcmTag::operator== ( const DcmTag tag) const

comparison operator.

Returns true if both group and element number as well as private creator identifier (if present) are the same. Please note that the VR is not used for comparison.

Parameters
tagtag to compare with
Returns
true if tags are the same

◆ operator==() [2/2]

OFBool DcmTagKey::operator==
inline

comparison operator.

Returns true if both group and element number are the same.

Parameters
keykey to compare with
Returns
true if tag keys are the same

◆ setPrivateCreator()

void DcmTag::setPrivateCreator ( const char *  privCreator)

assigns a private creator identifier and deletes a possibly cached attribute name since the attribute name could change if a different private creator identifier is used.

Parameters
privCreatorprivate creator identifier, may be NULL

◆ setTag()

void DcmTag::setTag ( const DcmTagKey key,
const DcmVR avr,
const char *  name,
const char *  privCreator 
)
protected

set the members of this tag

Parameters
keyattribute tag to be set
avrvalue representation (VR) to be set
nameattribute name to be set
privCreatorprivate creator identifier to be set (might be NULL)

◆ updatePrivateCreator()

void DcmTag::updatePrivateCreator ( const char *  c)
private

replace privateCreator with copy of given string

Parameters
cnew private creator identifier

◆ updateTagName()

void DcmTag::updateTagName ( const char *  c)
private

replace tagName with copy of given string

Parameters
cnew tag name

The documentation for this class was generated from the following file:


Generated on Wed Dec 11 2024 for DCMTK Version 3.6.9 by Doxygen 1.9.1