Public Types | Public Member Functions | Protected Member Functions | Friends

gdcm::DataSet Class Reference

Class to represent a Data Set (which contains Data Elements) A Data Set represents an instance of a real world Information Object. More...

#include <gdcmDataSet.h>

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

List of all members.

Public Types

typedef
DataElementSet::const_iterator 
ConstIterator
typedef std::set< DataElementDataElementSet
typedef DataElementSet::iterator Iterator
typedef DataElementSet::size_type SizeType

Public Member Functions

ConstIterator Begin () const
Iterator Begin ()
void Clear ()
template<typename TDE >
unsigned int ComputeGroupLength (Tag const &tag) const
Iterator End ()
ConstIterator End () const
bool FindDataElement (const PrivateTag &t) const
 Look up if private tag 't' is present in the dataset:
bool FindDataElement (const Tag &t) const
const DataElementFindNextDataElement (const Tag &t) const
const DataElementGetDataElement (const Tag &t) const
const DataElementGetDataElement (const PrivateTag &t) const
 Return the dataelement.
const DataElementSetGetDES () const
DataElementSetGetDES ()
template<typename TDE >
VL GetLength () const
std::string GetPrivateCreator (const Tag &t) const
 Return the private creator of the private tag 't':
void Insert (const DataElement &de)
bool IsEmpty () const
 Returns if the dataset is empty.
const DataElementoperator() (uint16_t group, uint16_t element) const
DataSetoperator= (DataSet const &val)
const DataElementoperator[] (const Tag &t) const
void Print (std::ostream &os, std::string const &indent="") const
template<typename TDE , typename TSwap >
std::istream & Read (std::istream &is)
template<typename TDE , typename TSwap >
std::istream & ReadNested (std::istream &is)
template<typename TDE , typename TSwap >
std::istream & ReadSelectedTags (std::istream &is, const std::set< Tag > &tags)
template<typename TDE , typename TSwap >
std::istream & ReadSelectedTagsWithLength (std::istream &is, const std::set< Tag > &tags, VL &length)
template<typename TDE , typename TSwap >
std::istream & ReadUpToTag (std::istream &is, const Tag &t, std::set< Tag > const &skiptags)
template<typename TDE , typename TSwap >
std::istream & ReadUpToTagWithLength (std::istream &is, const Tag &t, VL &length)
template<typename TDE , typename TSwap >
std::istream & ReadWithLength (std::istream &is, VL &length)
SizeType Remove (const Tag &tag)
 Completely remove a dataelement from the dataset.
void Replace (const DataElement &de)
 Replace a dataelement with another one.
void ReplaceEmpty (const DataElement &de)
 Only replace a DICOM attribute when it is missing or empty.
unsigned int Size () const
template<typename TDE , typename TSwap >
std::ostream const & Write (std::ostream &os) const

Protected Member Functions

Tag ComputeDataElement (const PrivateTag &t) const
const DataElementGetDEEnd () const
void InsertDataElement (const DataElement &de)

Friends

class CSAHeader
std::ostream & operator<< (std::ostream &_os, const DataSet &val)

Detailed Description

Class to represent a Data Set (which contains Data Elements) A Data Set represents an instance of a real world Information Object.

Note:
DATA SET: Exchanged information consisting of a structured set of Attribute values directly or indirectly related to Information Objects. The value of each Attribute in a Data Set is expressed as a Data Element. A collection of Data Elements ordered by increasing Data Element Tag number that is an encoding of the values of Attributes of a real world object.
Implementation note. If one do: DataSet ds; ds.SetLength(0); ds.Read(is); setting length to 0 actually means try to read is as if it was a root DataSet. Other value are undefined (nested dataset with undefined length) or defined length (different from 0) means nested dataset with defined length.
Warning:
a DataSet does not have a Transfer Syntax type, only a File does.
Examples:

ChangeSequenceUltrasound.cxx, ClinicalTrialAnnotate.cxx, CompressImage.cxx, csa2img.cxx, DiffFile.cxx, DuplicatePCDE.cxx, EncapsulateFileInRawData.cxx, ExtractEncryptedContent.cxx, gdcmrtionplan.cxx, gdcmrtplan.cxx, GenAllVR.cxx, GenFakeIdentifyFile.cxx, GenSeqs.cxx, GetJPEGSamplePrecision.cxx, GetSequenceUltrasound.cxx, HelloWorld.cxx, LargeVRDSExplicit.cxx, MergeTwoFiles.cxx, MrProtocol.cxx, PatchFile.cxx, ReadAndDumpDICOMDIR.cxx, ReadExplicitLengthSQIVR.cxx, rle2img.cxx, SortImage.cxx, TestReader.cxx, and VolumeSorter.cxx.


Member Typedef Documentation

typedef DataElementSet::const_iterator gdcm::DataSet::ConstIterator
typedef DataElementSet::iterator gdcm::DataSet::Iterator
typedef DataElementSet::size_type gdcm::DataSet::SizeType

Member Function Documentation

ConstIterator gdcm::DataSet::Begin (  ) const [inline]
Iterator gdcm::DataSet::Begin (  ) [inline]
void gdcm::DataSet::Clear (  ) [inline]

Referenced by gdcm::Item::Read().

Tag gdcm::DataSet::ComputeDataElement ( const PrivateTag t ) const [protected]
template<typename TDE >
unsigned int gdcm::DataSet::ComputeGroupLength ( Tag const &  tag ) const [inline]
Iterator gdcm::DataSet::End (  ) [inline]
ConstIterator gdcm::DataSet::End (  ) const [inline]
bool gdcm::DataSet::FindDataElement ( const PrivateTag t ) const
bool gdcm::DataSet::FindDataElement ( const Tag t ) const [inline]
const DataElement& gdcm::DataSet::FindNextDataElement ( const Tag t ) const [inline]
Examples:
DuplicatePCDE.cxx.
const DataElement& gdcm::DataSet::GetDataElement ( const Tag t ) const [inline]
const DataElement& gdcm::DataSet::GetDataElement ( const PrivateTag t ) const

Return the dataelement.

const DataElement& gdcm::DataSet::GetDEEnd (  ) const [protected]
const DataElementSet& gdcm::DataSet::GetDES (  ) const [inline]
DataElementSet& gdcm::DataSet::GetDES (  ) [inline]
template<typename TDE >
VL gdcm::DataSet::GetLength (  ) const [inline]

References gdcm::VL::GetLength().

std::string gdcm::DataSet::GetPrivateCreator ( const Tag t ) const

Return the private creator of the private tag 't':

Examples:
DuplicatePCDE.cxx.
void gdcm::DataSet::Insert ( const DataElement de ) [inline]

Insert a DataElement in the DataSet.

Warning:
: Tag need to be >= 0x8 to be considered valid data element

Reimplemented in gdcm::FileMetaInformation.

Examples:
DuplicatePCDE.cxx, GenAllVR.cxx, GenFakeIdentifyFile.cxx, and GenSeqs.cxx.

References gdcmErrorMacro, gdcm::Tag::GetGroup(), and gdcm::DataElement::GetTag().

void gdcm::DataSet::InsertDataElement ( const DataElement de ) [inline, protected]
bool gdcm::DataSet::IsEmpty (  ) const [inline]

Returns if the dataset is empty.

Referenced by gdcm::Item::Read().

const DataElement& gdcm::DataSet::operator() ( uint16_t  group,
uint16_t  element 
) const [inline]
DataSet& gdcm::DataSet::operator= ( DataSet const &  val ) [inline]
const DataElement& gdcm::DataSet::operator[] ( const Tag t ) const [inline]
void gdcm::DataSet::Print ( std::ostream &  os,
std::string const &  indent = "" 
) const [inline]

Referenced by gdcm::operator<<().

template<typename TDE , typename TSwap >
std::istream& gdcm::DataSet::Read ( std::istream &  is )

Reimplemented in gdcm::FileMetaInformation.

template<typename TDE , typename TSwap >
std::istream& gdcm::DataSet::ReadNested ( std::istream &  is )
template<typename TDE , typename TSwap >
std::istream& gdcm::DataSet::ReadSelectedTags ( std::istream &  is,
const std::set< Tag > &  tags 
)
template<typename TDE , typename TSwap >
std::istream& gdcm::DataSet::ReadSelectedTagsWithLength ( std::istream &  is,
const std::set< Tag > &  tags,
VL length 
)
template<typename TDE , typename TSwap >
std::istream& gdcm::DataSet::ReadUpToTag ( std::istream &  is,
const Tag t,
std::set< Tag > const &  skiptags 
)
template<typename TDE , typename TSwap >
std::istream& gdcm::DataSet::ReadUpToTagWithLength ( std::istream &  is,
const Tag t,
VL length 
)
template<typename TDE , typename TSwap >
std::istream& gdcm::DataSet::ReadWithLength ( std::istream &  is,
VL length 
)
SizeType gdcm::DataSet::Remove ( const Tag tag ) [inline]

Completely remove a dataelement from the dataset.

Examples:
GenFakeIdentifyFile.cxx, LargeVRDSExplicit.cxx, and MergeTwoFiles.cxx.
void gdcm::DataSet::Replace ( const DataElement de ) [inline]

Replace a dataelement with another one.

Reimplemented in gdcm::FileMetaInformation.

Examples:
ChangeSequenceUltrasound.cxx, GenFakeIdentifyFile.cxx, HelloWorld.cxx, LargeVRDSExplicit.cxx, and PatchFile.cxx.
void gdcm::DataSet::ReplaceEmpty ( const DataElement de ) [inline]

Only replace a DICOM attribute when it is missing or empty.

unsigned int gdcm::DataSet::Size (  ) const [inline]
template<typename TDE , typename TSwap >
std::ostream const& gdcm::DataSet::Write ( std::ostream &  os ) const

Reimplemented in gdcm::FileMetaInformation.


Friends And Related Function Documentation

friend class CSAHeader [friend]
std::ostream& operator<< ( std::ostream &  _os,
const DataSet val 
) [friend]

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

Generated on Sat Dec 4 2010 08:59:36 for GDCM by doxygen 1.7.2
SourceForge.net Logo