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

See Also:
  • Method Details

    • 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 String getElementStringValue(SoDicomTag tag, long idx, 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.