GDCM: gdcm::UNExplicitImplicitDataElement Class Reference

GDCM 3.2.11

Public Member Functions | List of all members
gdcm::UNExplicitImplicitDataElement Class Reference

Class to read/write a DataElement as ExplicitImplicit Data Element. More...

`#include <gdcmUNExplicitImplicitDataElement.h>`

Inheritance diagram for gdcm::UNExplicitImplicitDataElement:
[legend]
Collaboration diagram for gdcm::UNExplicitImplicitDataElement:
[legend]

## Public Member Functions
VL | GetLength () const
template<typename TSwap>
std::istream & | Read (std::istream &is)
template<typename TSwap>
std::istream & | ReadPreValue (std::istream &is)
template<typename TSwap>
std::istream & | ReadValue (std::istream &is)
Public Member Functions inherited from gdcm::DataElement
| DataElement (const DataElement &_val)
| DataElement (const Tag &t=Tag(0), const VL &vl=0, const VR &vr=VR::INVALID)
void | Clear ()
| Clear Data Element (make Value empty and invalidate Tag + VR).
void | Empty ()
| Make Data Element empty (no Value).
const ByteValue * | GetByteValue () const
template<typename TDE>
VL | GetLength () const
SequenceOfFragments * | GetSequenceOfFragments ()
const SequenceOfFragments * | GetSequenceOfFragments () const
Tag & | GetTag ()
const Tag & | GetTag () const
| Get Tag.
Value & | GetValue ()
Value const & | GetValue () const
| Set/Get Value (bytes array, SQ of items, SQ of fragments):
SmartPointer< SequenceOfItems > | GetValueAsSQ () const
VL & | GetVL ()
const VL & | GetVL () const
| Get VL.
VR const & | GetVR () const
bool | IsEmpty () const
| Check if Data Element is empty.
bool | IsUndefinedLength () const
| return if Value Length if of undefined length
bool | operator< (const DataElement &de) const
DataElement & | operator= (const DataElement &)=default
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

## Additional Inherited Members
Protected Types inherited from gdcm::DataElement
typedef SmartPointer< Value > | ValuePtr
Protected Member Functions inherited from gdcm::DataElement
void | SetValueFieldLength (VL vl, bool readvalues)
Protected Attributes inherited from gdcm::DataElement
Tag | TagField
ValuePtr | ValueField
VL | ValueLengthField
VR | VRField

## Detailed Description

Class to read/write a DataElement as ExplicitImplicit Data Element.

This class gather two known bugs:

1. GDCM 1.2.0 would rewrite VR=UN Value Length on 2 bytes instead of 4 bytes
2. GDCM 1.2.0 would also rewrite DataElement as Implicit when the VR would not be known this would only happen in some very rare cases. gdcm 2.X design could handle bug #1 or #2 exclusively, this class can now handle file which have both issues. See: gdcmData/TheralysGDCM120Bug.dcm

## Member Function Documentation

## ◆ GetLength()

VL gdcm::UNExplicitImplicitDataElement::GetLength | ( |  | ) | const

## ◆ Read()

template<typename TSwap>

std::istream & gdcm::UNExplicitImplicitDataElement::Read | ( | std::istream & | is | ) |

## ◆ ReadPreValue()

template<typename TSwap>

std::istream & gdcm::UNExplicitImplicitDataElement::ReadPreValue | ( | std::istream & | is | ) |

## ◆ ReadValue()

template<typename TSwap>

std::istream & gdcm::UNExplicitImplicitDataElement::ReadValue | ( | std::istream & | is | ) |

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

- gdcmUNExplicitImplicitDataElement.h