Class SiDicomDataSet
- java.lang.Object
-
- com.openinventor.inventor.Inventor
-
- com.openinventor.volumeviz.readers.dicom.SiDicomDataSet
-
public class SiDicomDataSet extends Inventor
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
andSiDicomSequence
, 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 anSoVRDicomFileReader
object or anSoVRDicomData
object using the getDicomDataSet() method.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
-
Field Summary
-
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SiDicomDataSet
clone()
Create a clone of the current data set.SiDicomElement
getElement(long idx)
Get the n-th element of this data set.SiDicomElement
getElement(SoDicomTag tag)
Get an element of this data set.boolean
getElementBufferValue(SoDicomTag tag, SoBufferObject buffer)
Shortcut to extract an element's buffer value.double
getElementDoubleValue(SoDicomTag tag, long idx, double defaultValue)
Shortcut to extract a DOUBLE element's value.long
getElementIntValue(SoDicomTag tag, long idx, long defaultValue)
Shortcut to extract a INT element's value.java.lang.String
getElementStringValue(SoDicomTag tag, long idx, java.lang.String defaultValue)
Shortcut to extract a STRING element's value.long
getElementUIntValue(SoDicomTag tag, long idx, long defaultValue)
Shortcut to extract a UINT element's value.SiDicomValue
getElementValue(SoDicomTag tag)
Shortcut to get an element's value fast.long
getLength()
Get the number of elements in the data set.-
Methods inherited from class com.openinventor.inventor.Inventor
dispose, getNativeResourceHandle
-
-
-
-
Method Detail
-
getElementDoubleValue
public double getElementDoubleValue(SoDicomTag tag, long idx, double defaultValue)
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.- Parameters:
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.- Returns:
- The double stored at the given index in the element with the given tag, or the default value if the extraction fails.
-
getLength
public long getLength()
Get the number of elements in the data set.
-
getElementBufferValue
public boolean getElementBufferValue(SoDicomTag tag, SoBufferObject buffer)
Shortcut to extract an element's buffer value.- Parameters:
tag
- The tag of the element to find.buffer
- The buffer to fill with element's value.- Returns:
- true if the extraction was successful, or false otherwise.
-
clone
public SiDicomDataSet clone()
Create a clone of the current data set.- Returns:
- a newly created DICOM data set, that must be deleted by the caller.
-
getElementUIntValue
public long getElementUIntValue(SoDicomTag tag, long idx, long defaultValue)
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.- Parameters:
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.- Returns:
- The unsigned 64 bits integer stored at the given index in the element with the given tag, or the default value if the extraction fails.
-
getElementStringValue
public java.lang.String getElementStringValue(SoDicomTag tag, long idx, java.lang.String defaultValue)
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.- Parameters:
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.- Returns:
- The string stored at the given index in the element with the given tag, or the default value if the extraction fails.
-
getElementValue
public SiDicomValue getElementValue(SoDicomTag tag)
Shortcut to get an element's value fast.- Parameters:
tag
- The tag of the element to find.- Returns:
- The element's value, or NULL if the element cannot be found.
-
getElement
public SiDicomElement getElement(long idx)
Get the n-th element of this data set.- Parameters:
idx
- the index of the element in the data set.- Returns:
- a pointer to the n-th element or NULL if idx is greater than the data set length.
-
getElement
public SiDicomElement getElement(SoDicomTag tag)
Get an element of this data set.- Parameters:
tag
- the tag of the element to find.- Returns:
- a pointer to the found element or NULL if it cannot be found.
-
getElementIntValue
public long getElementIntValue(SoDicomTag tag, long idx, long defaultValue)
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.- Parameters:
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.- Returns:
- The 64 bits integer stored at the given index in the element with the given tag, or the default value if the extraction fails.
-
-