public class SoVRDicomData extends Inventor
DICOM is a widely used format for storing medical image data (CT, MRI, etc), defined by the National Electrical Manufacturers Association (NEMA) (
This class can be used to directly open and query information from DICOM format files. It can also be used to get DICOM specific information from a file opened by VolumeViz (see SoVRDicomFileReader
).
Note that it only returns information for a single file, not (in general) for the complete volume.
To conveniently iterate over or randomly access all the DICOM attributes, see the getDicomDataSet()
method.
See also:
Inventor.ConstructorCommand
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoVRDicomData()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
close()
Closes the underlying reader.
|
int |
getBitsStored()
Returns the number of bits stored.
|
int |
getBytesPerPixel()
Returns the number of bytes per pixel.
|
SiDicomDataSet |
getDicomDataSet()
Returns a DICOM data object that allows accessing all the DICOM attributes.
|
java.lang.String |
getDicomInfo(short group,
short element)
Generic method to get DICOM info.
|
int |
getHighBit()
Returns the high bit.
|
int |
getImageHeight()
Returns the image height.
|
int |
getImageNumber()
Returns the image number.
|
SbVec3f |
getImagePosition()
Returns the position of the first frame's top left voxel center in the patient space.
|
int |
getImageWidth()
Returns the image width.
|
float |
getIntercept()
Returns the intercept.
|
int |
getNumFrames()
Returns the number of frames.
|
SbMatrix |
getOrientation()
Returns the orientation of the DICOM volume.
|
SbVec3f |
getPosition()
Returns the 3D position of the center of the image.
|
int |
getSamplesPerPixel()
Returns the number of samples per pixel.
|
int |
getSeriesNumber()
Returns the series number.
|
int |
getSizeInBytes()
Returns the image size in bytes.
|
float |
getSliceLocation()
Returns the image location in mm.
|
float |
getSliceSpacing()
Returns the slice spacing.
|
float |
getSliceThicknessMM()
Returns the slice thickness in mm.
|
float |
getSlope()
Returns the slope.
|
float |
getXPixelSize()
Returns the X pixel size in mm.
|
float |
getYPixelSize()
Returns the Y pixel size in mm.
|
boolean |
readDicomHeader(java.lang.String fileName)
Reads the DICOM file header.
|
boolean |
readDicomImage(java.lang.String fileName)
Reads the DICOM image.
|
int |
signedData()
Returns the signed flag.
|
boolean |
supportedTransferSyntax()
Returns true if the transfer syntax is supported by Open Inventor.
|
dispose, getNativeResourceHandle
public boolean readDicomHeader(java.lang.String fileName)
public int getHighBit()
public int getBitsStored()
public boolean readDicomImage(java.lang.String fileName)
public SbMatrix getOrientation()
SoRotation
It is computed from the DICOM Image Orientation Patient. If this element is not available, orientation will be set to the identity matrix.
public float getSlope()
public java.lang.String getDicomInfo(short group, short element)
To conveniently access the DICOM attributes, see the getDicomDataSet()
method.
group
- hexadecimal group tag value to retrieve info from.
element
- hexadecimal element tag value to retrieve info from in the group.
public SiDicomDataSet getDicomDataSet()
public int signedData()
public float getIntercept()
public int getBytesPerPixel()
public int getSeriesNumber()
public int getSizeInBytes()
public int getImageNumber()
public int getSamplesPerPixel()
public float getSliceThicknessMM()
public float getSliceSpacing()
public boolean supportedTransferSyntax()
public SbVec3f getPosition()
SoTranslation
. It is computed from the DICOM Image Position Patient attribute, but is
not the same as the Image Position Patient (which is the position of the center of the first voxel). If this element is not available, position will be set to (0, 0, 0).
public int getNumFrames()
SoVRDicomData
object corresponds to a single DICOM file. Therefore getNumFrames()
returns the number of images in the associated DICOM file,
not (in general) the number of images in the volume. Typically it returns 1 because there is a single image in the file. Note that even if the SoVRDicomData
object was queried from an SoVRDicomFileReader
, it does
not return the number of images in the volume except in the special case where all images are stored in a single file. To get the number of images in the volume use the volume reader or SoVolumeData
object.public SbVec3f getImagePosition()
public boolean close()
public float getYPixelSize()
public int getImageHeight()
public float getSliceLocation()
public int getImageWidth()
public float getXPixelSize()
Generated on July 31, 2019, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com