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 |
DICOM data.
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.