Class to represent a Data Element either Implicit or Explicit. More...
#include <gdcmDataElement.h>
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) | |
void | Empty () |
Make Data Element empty (no Value) | |
const ByteValue * | GetByteValue () const |
ByteValue * | GetByteValue () |
template<typename TDE > | |
VL | GetLength () const |
const SequenceOfFragments * | GetSequenceOfFragments () const |
SequenceOfItems * | GetSequenceOfItems () |
const SequenceOfItems * | GetSequenceOfItems () const |
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 & | 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 & | 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< Value > | ValuePtr |
Protected Attributes | |
Tag | TagField |
ValuePtr | ValueField |
VL | ValueLengthField |
VR | VRField |
Friends | |
std::ostream & | operator<< (std::ostream &_os, const DataElement &_val) |
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:
ChangeSequenceUltrasound.cxx, CreateARGBImage.cxx, CreateCMYKImage.cxx, csa2img.cxx, DiffFile.cxx, DuplicatePCDE.cxx, ExtractEncryptedContent.cxx, FixBrokenJ2K.cxx, gdcmrtionplan.cxx, gdcmrtplan.cxx, GenAllVR.cxx, GenFakeIdentifyFile.cxx, GenFakeImage.cxx, GenSeqs.cxx, GetJPEGSamplePrecision.cxx, GetSequenceUltrasound.cxx, LargeVRDSExplicit.cxx, ReadAndDumpDICOMDIR.cxx, ReadExplicitLengthSQIVR.cxx, and rle2img.cxx.
typedef SmartPointer<Value> gdcm::DataElement::ValuePtr [protected] |
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] |
void gdcm::DataElement::Clear | ( | ) | [inline] |
Clear Data Element (make Value empty and invalidate Tag & VR)
Reimplemented in gdcm::Item.
References gdcm::VR::INVALID.
const ByteValue* gdcm::DataElement::GetByteValue | ( | ) | const [inline] |
Return the Value of DataElement as a ByteValue (if possible)
Referenced by gdcm::operator<<(), gdcm::Element< VR::OB, VM::VM1_n >::SetFromDataElement(), gdcm::Attribute< Group, Element, TVR, VM::VM1_n >::SetFromDataElement(), and gdcm::Attribute< Group, Element, TVR, TVM >::SetFromDataElement().
ByteValue* gdcm::DataElement::GetByteValue | ( | ) | [inline] |
VL gdcm::DataElement::GetLength | ( | ) | const [inline] |
const SequenceOfFragments* gdcm::DataElement::GetSequenceOfFragments | ( | ) | const |
Return the Value of DataElement as a Sequence Of Fragments (if possible)
const SequenceOfItems* gdcm::DataElement::GetSequenceOfItems | ( | ) | const |
Return the Value of DataElement as a Sequence Of Items (if possible)
SequenceOfItems* gdcm::DataElement::GetSequenceOfItems | ( | ) |
Tag& gdcm::DataElement::GetTag | ( | ) | [inline] |
const Tag& gdcm::DataElement::GetTag | ( | ) | const [inline] |
Get Tag.
Referenced by gdcm::FileMetaInformation::Insert(), gdcm::DataSet::Insert(), operator<(), gdcm::SequenceOfItems::Read(), gdcm::SequenceOfFragments::Read(), gdcm::FileMetaInformation::Replace(), gdcm::Attribute< Group, Element, TVR, VM::VM1_n >::SetFromDataElement(), and gdcm::Attribute< Group, Element, TVR, TVM >::SetFromDataElement().
Value const& gdcm::DataElement::GetValue | ( | ) | const [inline] |
Set/Get Value (bytes array, SQ of items, SQ of fragments):
Referenced by gdcm::DataSet::InsertDataElement(), and gdcm::Element< VR::OB, VM::VM1_n >::SetFromDataElement().
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
const VL& gdcm::DataElement::GetVL | ( | ) | const [inline] |
Get VL.
Referenced by gdcm::DataSet::InsertDataElement(), and gdcm::SequenceOfFragments::Read().
VL& gdcm::DataElement::GetVL | ( | ) | [inline] |
VR const& gdcm::DataElement::GetVR | ( | ) | const [inline] |
Get VR do not set VR::SQ on bytevalue data element
Referenced by gdcm::Attribute< Group, Element, TVR, VM::VM1_n >::GetAsDataElement(), gdcm::Attribute< Group, Element, TVR, TVM >::GetAsDataElement(), gdcm::Element< VR::OB, VM::VM1_n >::SetFromDataElement(), gdcm::Attribute< Group, Element, TVR, VM::VM1_n >::SetFromDataElement(), and gdcm::Attribute< Group, Element, TVR, TVM >::SetFromDataElement().
bool gdcm::DataElement::IsEmpty | ( | ) | const [inline] |
Check if Data Element is empty.
Referenced by gdcm::DataSet::InsertDataElement(), gdcm::Attribute< Group, Element, TVR, VM::VM1_n >::SetFromDataElement(), gdcm::Attribute< Group, Element, TVR, TVM >::SetFromDataElement(), and gdcm::Attribute< Group, Element, TVR, TVM >::SetFromDataSet().
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] |
References TagField, ValueField, ValueLengthField, and VRField.
bool gdcm::DataElement::operator== | ( | const DataElement & | de ) | const [inline] |
References TagField, ValueField, ValueLengthField, and VRField.
std::istream& gdcm::DataElement::Read | ( | std::istream & | is ) | [inline] |
std::istream& gdcm::DataElement::ReadOrSkip | ( | std::istream & | is, |
std::set< Tag > const & | skiptags | ||
) | [inline] |
std::istream& gdcm::DataElement::ReadWithLength | ( | std::istream & | is, |
VL & | length | ||
) | [inline] |
void gdcm::DataElement::SetByteValue | ( | const char * | array, |
VL | length | ||
) | [inline] |
Set the byte value
Referenced by gdcm::Element< TVR, VM::VM1_n >::GetAsDataElement(), gdcm::Attribute< Group, Element, TVR, VM::VM1_n >::GetAsDataElement(), gdcm::Attribute< Group, Element, TVR, TVM >::GetAsDataElement(), and gdcm::SequenceOfFragments::Read().
void gdcm::DataElement::SetTag | ( | const Tag & | t ) | [inline] |
Set Tag Use with cautious (need to match Part 6)
void gdcm::DataElement::SetValue | ( | Value const & | vl ) | [inline] |
References gdcm::Value::GetLength().
void gdcm::DataElement::SetVL | ( | const VL & | vl ) | [inline] |
Set VL Use with cautious (need to match Part 6), advanced user only
void gdcm::DataElement::SetVLToUndefined | ( | ) |
void gdcm::DataElement::SetVR | ( | VR const & | vr ) | [inline] |
Set VR Use with cautious (need to match Part 6), advanced user only
Referenced by gdcm::Element< TVR, VM::VM1_n >::GetAsDataElement(), gdcm::Attribute< Group, Element, TVR, VM::VM1_n >::GetAsDataElement(), and gdcm::Attribute< Group, Element, TVR, TVM >::GetAsDataElement().
const std::ostream& gdcm::DataElement::Write | ( | std::ostream & | os ) | const [inline] |
Reimplemented in gdcm::ExplicitDataElement, gdcm::Fragment, gdcm::ImplicitDataElement, and gdcm::Item.
std::ostream& operator<< | ( | std::ostream & | _os, |
const DataElement & | _val | ||
) | [friend] |
Tag gdcm::DataElement::TagField [protected] |
Referenced by gdcm::operator<<(), operator=(), and operator==().
ValuePtr gdcm::DataElement::ValueField [protected] |
Referenced by gdcm::operator<<(), operator=(), and operator==().
VL gdcm::DataElement::ValueLengthField [protected] |
Referenced by gdcm::operator<<(), operator=(), and operator==().
VR gdcm::DataElement::VRField [protected] |
Referenced by gdcm::operator<<(), operator=(), and operator==().