GDCM  2.4.5
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
gdcm::DataElement Class Reference

Class to represent a Data Element either Implicit or Explicit. More...

#include <gdcmDataElement.h>

Inheritance diagram for gdcm::DataElement:
Inheritance graph
[legend]
Collaboration diagram for gdcm::DataElement:
Collaboration graph
[legend]

Public Member Functions

 DataElement (const Tag &t=Tag(0), const VL &vl=0, const VR &vr=VR::INVALID)
 
 DataElement (const DataElement &_val)
 
void Clear ()
 Clear Data Element (make Value empty and invalidate Tag & VR) More...
 
void Empty ()
 Make Data Element empty (no Value) More...
 
const ByteValueGetByteValue () const
 
template<typename TDE >
VL GetLength () const
 
const SequenceOfFragmentsGetSequenceOfFragments () const
 
SequenceOfFragmentsGetSequenceOfFragments ()
 
const TagGetTag () const
 Get Tag. More...
 
TagGetTag ()
 
Value const & GetValue () const
 Set/Get Value (bytes array, SQ of items, SQ of fragments): More...
 
ValueGetValue ()
 
SmartPointer< SequenceOfItemsGetValueAsSQ () const
 
const VLGetVL () const
 Get VL. More...
 
VLGetVL ()
 
VR const & GetVR () const
 
bool IsEmpty () const
 Check if Data Element is empty. More...
 
bool IsUndefinedLength () const
 return if Value Length if of undefined length More...
 
bool operator< (const DataElement &de) const
 
DataElementoperator= (const DataElement &de)
 
bool operator== (const DataElement &de) const
 
template<typename TDE , typename TSwap >
std::istream & Read (std::istream &is)
 
template<typename TDE , typename TSwap >
std::istream & ReadOrSkip (std::istream &is, std::set< Tag > const &skiptags)
 
template<typename TDE , typename TSwap >
std::istream & ReadPreValue (std::istream &is, std::set< Tag > const &skiptags)
 
template<typename TDE , typename TSwap >
std::istream & ReadValue (std::istream &is, std::set< Tag > const &skiptags)
 
template<typename TDE , typename TSwap >
std::istream & ReadValueWithLength (std::istream &is, VL &length, std::set< Tag > const &skiptags)
 
template<typename TDE , typename TSwap >
std::istream & ReadWithLength (std::istream &is, VL &length)
 
void SetByteValue (const char *array, VL length)
 
void SetTag (const Tag &t)
 
void SetValue (Value const &vl)
 
void SetVL (const VL &vl)
 
void SetVLToUndefined ()
 
void SetVR (VR const &vr)
 
template<typename TDE , typename TSwap >
const std::ostream & Write (std::ostream &os) const
 

Protected Types

typedef SmartPointer< ValueValuePtr
 

Protected Member Functions

void SetValueFieldLength (VL vl, bool readvalues)
 

Protected Attributes

Tag TagField
 
ValuePtr ValueField
 
VL ValueLengthField
 
VR VRField
 

Friends

std::ostream & operator<< (std::ostream &_os, const DataElement &_val)
 

Detailed Description

Class to represent a Data Element either Implicit or Explicit.

DATA ELEMENT: A unit of information as defined by a single entry in the data dictionary. An encoded Information Object Definition (IOD) Attribute that is composed of, at a minimum, three fields: a Data Element Tag, a Value Length, and a Value Field. For some specific Transfer Syntaxes, a Data Element also contains a VR Field where the Value Representation of that Data Element is specified explicitly.

Design:

See also
ExplicitDataElement ImplicitDataElement
Examples:
ChangePrivateTags.cxx, ChangeSequenceUltrasound.cxx, CreateARGBImage.cxx, CreateCMYKImage.cxx, csa2img.cxx, DiffFile.cxx, DumpADAC.cxx, DumpExamCard.cxx, DumpGEMSMovieGroup.cxx, DumpImageHeaderInfo.cxx, DumpPhilipsECHO.cxx, DumpToshibaDTI.cxx, DuplicatePCDE.cxx, ELSCINT1WaveToText.cxx, ExtractEncryptedContent.cxx, ExtractIconFromFile.cxx, Extracting_All_Resolution.cxx, Fake_Image_Using_Stream_Image_Writer.cxx, FixBrokenJ2K.cxx, FixJAIBugJPEGLS.cxx, gdcmrtionplan.cxx, gdcmrtplan.cxx, GenAllVR.cxx, GenFakeIdentifyFile.cxx, GenFakeImage.cxx, GenLongSeqs.cxx, GenSeqs.cxx, GetJPEGSamplePrecision.cxx, GetSequenceUltrasound.cxx, GetSubSequenceData.cxx, iU22tomultisc.cxx, LargeVRDSExplicit.cxx, pmsct_rgb1.cxx, ReadAndDumpDICOMDIR.cxx, ReadExplicitLengthSQIVR.cxx, ReadGEMSSDO.cxx, rle2img.cxx, and StreamImageReaderTest.cxx.

Member Typedef Documentation

Constructor & Destructor Documentation

gdcm::DataElement::DataElement ( const Tag t = Tag(0),
const VL vl = 0,
const VR vr = VR::INVALID 
)
inline
gdcm::DataElement::DataElement ( const DataElement _val)
inline

Member Function Documentation

void gdcm::DataElement::Clear ( )
inline

Clear Data Element (make Value empty and invalidate Tag & VR)

void gdcm::DataElement::Empty ( )
inline

Make Data Element empty (no Value)

const ByteValue* gdcm::DataElement::GetByteValue ( ) const
inline
template<typename TDE >
VL gdcm::DataElement::GetLength ( ) const
inline
const SequenceOfFragments* gdcm::DataElement::GetSequenceOfFragments ( ) const

Return the Value of DataElement as a Sequence Of Fragments (if possible)

Warning
: You need to check for NULL return value
Examples:
FixBrokenJ2K.cxx, FixJAIBugJPEGLS.cxx, and GetJPEGSamplePrecision.cxx.
SequenceOfFragments* gdcm::DataElement::GetSequenceOfFragments ( )
const Tag& gdcm::DataElement::GetTag ( ) const
inline
Tag& gdcm::DataElement::GetTag ( )
inline
Value const& gdcm::DataElement::GetValue ( ) const
inline
Value& gdcm::DataElement::GetValue ( )
inline
SmartPointer<SequenceOfItems> gdcm::DataElement::GetValueAsSQ ( ) const

Interpret the Value stored in the DataElement. This is more robust (but also more expensive) to call this function rather than the simpliest form: GetSequenceOfItems() It also return NULL when the Value is NOT of type SequenceOfItems

Warning
in case GetSequenceOfItems() succeed the function return this value, otherwise it creates a new SequenceOfItems, you should handle that in your case, for instance: SmartPointer<SequenceOfItems> sqi = de.GetValueAsSQ();
Examples:
ChangeSequenceUltrasound.cxx, DumpExamCard.cxx, DumpGEMSMovieGroup.cxx, DumpPhilipsECHO.cxx, DumpToshibaDTI.cxx, ExtractEncryptedContent.cxx, gdcmrtionplan.cxx, gdcmrtplan.cxx, GetSequenceUltrasound.cxx, GetSubSequenceData.cxx, LargeVRDSExplicit.cxx, and ReadAndDumpDICOMDIR.cxx.
const VL& gdcm::DataElement::GetVL ( ) const
inline
VL& gdcm::DataElement::GetVL ( )
inline
VR const& gdcm::DataElement::GetVR ( ) const
inline
bool gdcm::DataElement::IsEmpty ( ) const
inline
bool gdcm::DataElement::IsUndefinedLength ( ) const
inline

return if Value Length if of undefined length

bool gdcm::DataElement::operator< ( const DataElement de) const
inline

References GetTag().

DataElement& gdcm::DataElement::operator= ( const DataElement de)
inline
bool gdcm::DataElement::operator== ( const DataElement de) const
inline
template<typename TDE , typename TSwap >
std::istream& gdcm::DataElement::Read ( std::istream &  is)
inline
template<typename TDE , typename TSwap >
std::istream& gdcm::DataElement::ReadOrSkip ( std::istream &  is,
std::set< Tag > const &  skiptags 
)
inline
template<typename TDE , typename TSwap >
std::istream& gdcm::DataElement::ReadPreValue ( std::istream &  is,
std::set< Tag > const &  skiptags 
)
inline
template<typename TDE , typename TSwap >
std::istream& gdcm::DataElement::ReadValue ( std::istream &  is,
std::set< Tag > const &  skiptags 
)
inline
template<typename TDE , typename TSwap >
std::istream& gdcm::DataElement::ReadValueWithLength ( std::istream &  is,
VL length,
std::set< Tag > const &  skiptags 
)
inline
template<typename TDE , typename TSwap >
std::istream& gdcm::DataElement::ReadWithLength ( std::istream &  is,
VL length 
)
inline
void gdcm::DataElement::SetByteValue ( const char *  array,
VL  length 
)
inline
void gdcm::DataElement::SetTag ( const Tag t)
inline
void gdcm::DataElement::SetValue ( Value const &  vl)
inline
void gdcm::DataElement::SetValueFieldLength ( VL  vl,
bool  readvalues 
)
protected
void gdcm::DataElement::SetVL ( const VL vl)
inline

Set VL Use with cautious (need to match Part 6), advanced user only

See also
SetByteValue
void gdcm::DataElement::SetVLToUndefined ( )
void gdcm::DataElement::SetVR ( VR const &  vr)
inline
template<typename TDE , typename TSwap >
const std::ostream& gdcm::DataElement::Write ( std::ostream &  os) const
inline

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  _os,
const DataElement _val 
)
friend

Member Data Documentation

Tag gdcm::DataElement::TagField
protected
ValuePtr gdcm::DataElement::ValueField
protected
VL gdcm::DataElement::ValueLengthField
protected
VR gdcm::DataElement::VRField
protected

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

Generated on Fri Sep 25 2015 17:58:29 for GDCM by doxygen 1.8.9.1
SourceForge.net Logo