|
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) More...
|
|
void | Empty () |
| Make Data Element empty (no Value) More...
|
|
const ByteValue * | GetByteValue () const |
|
template<typename TDE > |
VL | GetLength () const |
|
const SequenceOfFragments * | GetSequenceOfFragments () const |
|
SequenceOfFragments * | GetSequenceOfFragments () |
|
const SequenceOfItems * | GetSequenceOfItems () const |
|
SequenceOfItems * | GetSequenceOfItems () |
|
const Tag & | GetTag () const |
| Get Tag. More...
|
|
Tag & | GetTag () |
|
Value const & | GetValue () const |
| Set/Get Value (bytes array, SQ of items, SQ of fragments): More...
|
|
Value & | GetValue () |
|
SmartPointer< SequenceOfItems > | GetValueAsSQ () const |
|
const VL & | GetVL () const |
| Get VL. More...
|
|
VL & | GetVL () |
|
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 |
|
DataElement & | operator= (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 |
|
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