DICOM data. More...
#include <VolumeViz/readers/dicom/SiDicomDataSet.h>
Public Member Functions | |
virtual | ~SiDicomDataSet () |
virtual SiDicomDataSet * | clone () const =0 |
virtual size_t | getLength () const =0 |
virtual const SiDicomElement * | getElement (const SoDicomTag &tag) const =0 |
virtual const SiDicomElement * | getElement (const size_t idx) const =0 |
virtual const SiDicomValue * | getElementValue (const SoDicomTag &tag) const =0 |
virtual bool | getElementBufferValue (const SoDicomTag &tag, SoBufferObject *buffer) const =0 |
virtual SbString | getElementStringValue (const SoDicomTag &tag, const size_t idx, const SbString &defaultValue) const =0 |
virtual int64_t | getElementIntValue (const SoDicomTag &tag, const size_t idx, const int64_t defaultValue) const =0 |
virtual uint64_t | getElementUIntValue (const SoDicomTag &tag, const size_t idx, const uint64_t defaultValue) const =0 |
virtual double | getElementDoubleValue (const SoDicomTag &tag, const size_t idx, const double defaultValue) const =0 |
Access data in a DICOM data object.
DICOM is a widely used file format for storing medical image data (CT, MRI, etc), defined by the National Electrical Manufacturers Association (NEMA) (http://dicom.nema.org).
This class, along with SoDicomTag, SiDicomElement, SiDicomValue and SiDicomSequence, allows an application to iterate over or randomly access all the attributes in a DICOM data object. This includes attributes that are not used by VolumeViz for rendering.
This class cannot directly open a DICOM file. An SiDicomDataSet object can be requested from an SoVRDicomFileReader object or an SoVRDicomData object using the getDicomDataSet() method.
SoVRDicomFileReader, SoVRDicomData, SoDicomTag, SiDicomElement, SiDicomValue, SiDicomSequence
virtual SiDicomDataSet::~SiDicomDataSet | ( | ) | [inline, virtual] |
Destructor.
virtual SiDicomDataSet* SiDicomDataSet::clone | ( | ) | const [pure virtual] |
Create a clone of the current data set.
virtual const SiDicomElement* SiDicomDataSet::getElement | ( | const size_t | idx | ) | const [pure virtual] |
Get the n-th element of this data set.
idx | the index of the element in the data set. |
virtual const SiDicomElement* SiDicomDataSet::getElement | ( | const SoDicomTag & | tag | ) | const [pure virtual] |
Get an element of this data set.
tag | the tag of the element to find. |
virtual bool SiDicomDataSet::getElementBufferValue | ( | const SoDicomTag & | tag, | |
SoBufferObject * | buffer | |||
) | const [pure virtual] |
Shortcut to extract an element's buffer value.
tag | The tag of the element to find. | |
buffer | The buffer to fill with element's value. |
virtual double SiDicomDataSet::getElementDoubleValue | ( | const SoDicomTag & | tag, | |
const size_t | idx, | |||
const double | defaultValue | |||
) | const [pure virtual] |
Shortcut to extract a DOUBLE element's value.
If the value is of a numeric type different from DOUBLE, it will be casted to a double. That casting may cause a precision loss.
tag | The tag of the element to find. | |
idx | The index of the scalar value to extract. | |
defaultValue | The value returned if the extraction fails. |
virtual int64_t SiDicomDataSet::getElementIntValue | ( | const SoDicomTag & | tag, | |
const size_t | idx, | |||
const int64_t | defaultValue | |||
) | const [pure virtual] |
Shortcut to extract a INT element's value.
If the value is of a numeric type different from INT, it will be casted to a 64 bits integer. That casting may cause a precision loss.
tag | The tag of the element to find. | |
idx | The index of the scalar value to extract. | |
defaultValue | The value returned if the extraction fails. |
virtual SbString SiDicomDataSet::getElementStringValue | ( | const SoDicomTag & | tag, | |
const size_t | idx, | |||
const SbString & | defaultValue | |||
) | const [pure virtual] |
Shortcut to extract a STRING element's value.
If the stored value if not of type STRING, this method will return a string representation of the value. currently works for INT, UINT, and DOUBLE.
tag | The tag of the element to find. | |
idx | The index of the scalar value to extract. | |
defaultValue | The value returned if the extraction fails. |
virtual uint64_t SiDicomDataSet::getElementUIntValue | ( | const SoDicomTag & | tag, | |
const size_t | idx, | |||
const uint64_t | defaultValue | |||
) | const [pure virtual] |
Shortcut to extract a UINT element's value.
If the value is of a numeric type different from UINT, it will be casted to an unsigned 64 bits integer. That casting may cause a precision loss.
tag | The tag of the element to find. | |
idx | The index of the scalar value to extract. | |
defaultValue | The value returned if the extraction fails. |
virtual const SiDicomValue* SiDicomDataSet::getElementValue | ( | const SoDicomTag & | tag | ) | const [pure virtual] |
Shortcut to get an element's value fast.
tag | The tag of the element to find. |
virtual size_t SiDicomDataSet::getLength | ( | ) | const [pure virtual] |
Get the number of elements in the data set.