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,SiDicomValueandSiDicomSequence, 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
SiDicomDataSetobject can be requested from anSoVRDicomFileReaderobject or anSoVRDicomDataobject 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 SiDicomDataSetclone()Create a clone of the current data set.SiDicomElementgetElement(long idx)Get the n-th element of this data set.SiDicomElementgetElement(SoDicomTag tag)Get an element of this data set.booleangetElementBufferValue(SoDicomTag tag, SoBufferObject buffer)Shortcut to extract an element's buffer value.doublegetElementDoubleValue(SoDicomTag tag, long idx, double defaultValue)Shortcut to extract a DOUBLE element's value.longgetElementIntValue(SoDicomTag tag, long idx, long defaultValue)Shortcut to extract a INT element's value.java.lang.StringgetElementStringValue(SoDicomTag tag, long idx, java.lang.String defaultValue)Shortcut to extract a STRING element's value.longgetElementUIntValue(SoDicomTag tag, long idx, long defaultValue)Shortcut to extract a UINT element's value.SiDicomValuegetElementValue(SoDicomTag tag)Shortcut to get an element's value fast.longgetLength()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.
-
-