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) |
| 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)
|
void | Empty () |
| Make Data Element empty (no Value)
|
const ByteValue * | GetByteValue () const |
const SequenceOfFragments * | GetSequenceOfFragments () const |
const SequenceOfItems * | GetSequenceOfItems () const |
SequenceOfItems * | GetSequenceOfItems () |
const Tag & | GetTag () const |
| Get Tag.
|
Tag & | GetTag () |
Value const & | GetValue () const |
| Set/Get Value (bytes array, SQ of items, SQ of fragments):
|
Value & | GetValue () |
SmartPointer< SequenceOfItems > | GetValueAsSQ () const |
const VL & | GetVL () const |
| Get VL.
|
VL & | GetVL () |
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 &de) |
bool | operator== (const DataElement &de) const |
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 & | 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 |
Class to read/write a DataElement as ExplicitImplicit Data Element This class gather two known bugs:
- GDCM 1.2.0 would rewrite VR=UN Value Length on 2 bytes instead of 4 bytes
- 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