public class DicomReader extends FormatReader
| Modifier and Type | Field and Description |
|---|---|
private static int |
AE |
private static int |
AS |
private static int |
AT |
private boolean |
bigEndianTransferSyntax |
private static int |
BITS_ALLOCATED |
private int |
bitsPerPixel
Bits per pixel.
|
private int |
centerPixelValue |
private static int |
COLUMNS |
private java.util.List<java.lang.String> |
companionFiles |
private static int |
CS |
private static int |
DA |
private java.lang.String |
date |
static java.lang.String |
DICOM_MAGIC_STRING |
private static java.lang.String[] |
DICOM_SUFFIXES |
private static int |
DS |
private static int |
DT |
private int |
elementLength |
private static int |
FD |
private java.util.Map<java.lang.Integer,java.util.List<java.lang.String>> |
fileList |
private static int |
FL |
private DicomReader |
helper |
private static int |
ICON_IMAGE_SEQUENCE |
private int |
imagesPerFile |
private java.lang.String |
imageType |
private static int |
IMPLICIT_VR |
private boolean |
inSequence |
private boolean |
inverted |
private static int |
IS |
private boolean |
isDeflate |
private boolean |
isJP2K |
private boolean |
isJPEG |
private boolean |
isRLE |
private static int |
ITEM |
private static int |
ITEM_DELIMINATION |
private static int |
LO |
private int |
location |
private static int |
LT |
private byte[][] |
lut |
private int |
maxPixelRange |
private static int |
NUMBER_OF_FRAMES |
private static int |
OB |
private boolean |
oddLocations |
private long[] |
offsets |
private java.lang.String |
originalDate |
private java.lang.String |
originalInstance |
private int |
originalSeries |
private java.lang.String |
originalTime |
private int |
originalX |
private int |
originalY |
private static int |
OW |
private static int |
PHOTOMETRIC_INTERPRETATION |
private static int |
PIXEL_DATA |
private static int |
PIXEL_REPRESENTATION |
private static int |
PIXEL_SIGN |
private static int |
PIXEL_SPACING |
private java.lang.String |
pixelSizeX |
private java.lang.String |
pixelSizeY |
private java.lang.Double |
pixelSizeZ |
private static int |
PLANAR_CONFIGURATION |
private static int |
PN |
private java.util.List<java.lang.Double> |
positionX |
private java.util.List<java.lang.Double> |
positionY |
private java.util.List<java.lang.Double> |
positionZ |
private static int |
QQ |
private static int |
RESCALE_INTERCEPT |
private static int |
RESCALE_SLOPE |
private double |
rescaleIntercept |
private double |
rescaleSlope |
private static int |
ROWS |
private static int |
SAMPLES_PER_PIXEL |
private static int |
SEQUENCE_DELIMINATION |
private static int |
SH |
private short[][] |
shortLut |
private static int |
SL |
private static int |
SLICE_SPACING |
private static int |
SQ |
private static int |
SS |
private static int |
ST |
private java.lang.String |
time |
private static int |
TM |
private static int |
TRANSFER_SYNTAX_UID |
private static com.google.common.collect.ImmutableMap<java.lang.Integer,java.lang.String> |
TYPES |
private static int |
UI |
private static int |
UL |
private static int |
UN |
private static int |
US |
private static int |
UT |
private int |
vr |
private static int |
WINDOW_CENTER |
private static int |
WINDOW_WIDTH |
core, coreIndex, datasetDescription, domains, filterMetadata, flattenedResolutions, group, hasCompanionFiles, in, indexedAsRGB, metadata, metadataStore, normalizeData, resolution, saveOriginalMetadata, series, suffixNecessary, suffixSufficient, THUMBNAIL_DIMENSIONCOMPRESSION_SUFFIXES, currentId, format, LOGGER, metadataOptions, suffixesCAN_GROUP, CANNOT_GROUP, MUST_GROUP| Constructor and Description |
|---|
DicomReader()
Constructs a new DICOM reader.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
addFileToList(java.lang.String file,
boolean checkSeries)
Determine if the given file belongs in the same dataset as this file.
|
private void |
addInfo(int tag,
int value) |
private void |
addInfo(int tag,
java.lang.String value) |
private void |
attachCompanionFiles()
DICOM datasets produced by:
http://www.ct-imaging.de/index.php/en/ct-systeme-e/mikro-ct-e.html
contain a bunch of extra metadata and log files.
|
private static com.google.common.collect.ImmutableMap<java.lang.Integer,java.lang.String> |
buildTypes()
Assemble the data dictionary.
|
void |
close(boolean fileOnly)
Closes the currently open file.
|
int |
fileGroupOption(java.lang.String id)
Returns an indication of whether the files in a multi-file dataset can
be handled individually.
|
private java.lang.String |
formatTag(int tag) |
short[][] |
get16BitLookupTable()
Gets the 16-bit color lookup table associated with
the most recently opened image.
|
byte[][] |
get8BitLookupTable()
Gets the 8-bit color lookup table associated with
the most recently opened image.
|
private java.lang.String |
getHeaderInfo(int tag,
java.lang.String value) |
private int |
getLength(loci.common.RandomAccessInputStream stream,
int tag) |
private int |
getNextTag(loci.common.RandomAccessInputStream stream) |
private int |
getNextTag(loci.common.RandomAccessInputStream stream,
boolean setMetadata) |
int |
getRequiredDirectories(java.lang.String[] files)
Returns the number of parent directories that are important when
processing the given list of files.
|
java.lang.String[] |
getSeriesUsedFiles(boolean noPixels)
Returns an array of filenames needed to open the current series.
|
protected void |
initFile(java.lang.String id)
Initializes the given file (parsing header information, etc.).
|
boolean |
isThisType(loci.common.RandomAccessInputStream stream)
Checks if the given stream is a valid stream for this file format.
|
boolean |
isThisType(java.lang.String name,
boolean open)
Checks if a file matches the type of this format reader.
|
private void |
makeFileList() |
byte[] |
openBytes(int no,
byte[] buf,
int x,
int y,
int w,
int h)
Obtains a sub-image of the specified image plane
into a pre-allocated byte array.
|
private void |
scanDirectory(loci.common.Location dir,
boolean checkSeries)
Scan the given directory for files that belong to this dataset.
|
addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMetaList, addMeta, addMetaList, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMetaList, close, coreIndexToSeries, flattenHashtables, getAcquisitionMode, getAdvancedSeriesUsedFiles, getAdvancedUsedFiles, getArcType, getBinning, getBitsPerPixel, getCompression, getContrastMethod, getCoreIndex, getCoreMetadataList, getCorrection, getCurrentCore, getCurrentFile, getDatasetStructureDescription, getDetectorType, getDimensionOrder, getDimensionOrder, getDomains, getEffectiveSizeC, getExperimentType, getFilamentType, getFillRule, getFilterType, getFontFamily, getFontStyle, getGlobalMeta, getGlobalMetadata, getIlluminationType, getImageCount, getImmersion, getIndex, getIndex, getLaserMedium, getLaserType, getMarker, getMedium, getMetadataStore, getMetadataStoreRoot, getMetadataValue, getMicrobeamManipulationType, getMicroscopeType, getModuloC, getModuloT, getModuloZ, getNamingConvention, getOptimalTileHeight, getOptimalTileWidth, getPixelType, getPixelType, getPossibleDomains, getPulse, getResolution, getResolutionCount, getRGBChannelCount, getRotationTransform, getSeries, getSeriesCount, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, getSizeC, getSizeT, getSizeX, getSizeY, getSizeZ, getThumbSizeX, getThumbSizeY, getUnderlyingReaders, getUsedFiles, getUsedFiles, getZCTCoords, getZCTModuloCoords, hasCompanionFiles, hasFlattenedResolutions, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isLittleEndian, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOriginalMetadataPopulated, isRGB, isSingleFile, isThisType, isThisType, isThumbnailSeries, isUsedFile, makeFilterMetadata, openBytes, openBytes, openBytes, openPlane, openThumbBytes, readPlane, readPlane, reopenFile, seriesToCoreIndex, setCoreIndex, setFlattenedResolutions, setGroupFiles, setId, setMetadataFiltered, setMetadataStore, setNormalized, setOriginalMetadataPopulated, setResolution, setSeries, updateMetadataListscheckSuffix, checkSuffix, getFormat, getMetadataOptions, getNativeDataType, getSuffixes, getSupportedMetadataLevels, setMetadataOptionsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetFormat, getNativeDataType, getSuffixesgetMetadataOptions, getSupportedMetadataLevels, setMetadataOptionspublic static final java.lang.String DICOM_MAGIC_STRING
private static final java.lang.String[] DICOM_SUFFIXES
private static final com.google.common.collect.ImmutableMap<java.lang.Integer,java.lang.String> TYPES
private static final int PIXEL_REPRESENTATION
private static final int PIXEL_SIGN
private static final int TRANSFER_SYNTAX_UID
private static final int SLICE_SPACING
private static final int SAMPLES_PER_PIXEL
private static final int PHOTOMETRIC_INTERPRETATION
private static final int PLANAR_CONFIGURATION
private static final int NUMBER_OF_FRAMES
private static final int ROWS
private static final int COLUMNS
private static final int PIXEL_SPACING
private static final int BITS_ALLOCATED
private static final int WINDOW_CENTER
private static final int WINDOW_WIDTH
private static final int RESCALE_INTERCEPT
private static final int RESCALE_SLOPE
private static final int ICON_IMAGE_SEQUENCE
private static final int ITEM
private static final int ITEM_DELIMINATION
private static final int SEQUENCE_DELIMINATION
private static final int PIXEL_DATA
private static final int AE
private static final int AS
private static final int AT
private static final int CS
private static final int DA
private static final int DS
private static final int DT
private static final int FD
private static final int FL
private static final int IS
private static final int LO
private static final int LT
private static final int PN
private static final int SH
private static final int SL
private static final int SS
private static final int ST
private static final int TM
private static final int UI
private static final int UL
private static final int US
private static final int UT
private static final int OB
private static final int OW
private static final int SQ
private static final int UN
private static final int QQ
private static final int IMPLICIT_VR
private int bitsPerPixel
private int location
private int elementLength
private int vr
private boolean oddLocations
private boolean inSequence
private boolean bigEndianTransferSyntax
private byte[][] lut
private short[][] shortLut
private long[] offsets
private int maxPixelRange
private int centerPixelValue
private double rescaleSlope
private double rescaleIntercept
private boolean isJP2K
private boolean isJPEG
private boolean isRLE
private boolean isDeflate
private boolean inverted
private java.lang.String date
private java.lang.String time
private java.lang.String imageType
private java.lang.String pixelSizeX
private java.lang.String pixelSizeY
private java.lang.Double pixelSizeZ
private java.util.List<java.lang.Double> positionX
private java.util.List<java.lang.Double> positionY
private java.util.List<java.lang.Double> positionZ
private java.util.Map<java.lang.Integer,java.util.List<java.lang.String>> fileList
private int imagesPerFile
private java.lang.String originalDate
private java.lang.String originalTime
private java.lang.String originalInstance
private int originalSeries
private int originalX
private int originalY
private DicomReader helper
private java.util.List<java.lang.String> companionFiles
public boolean isThisType(java.lang.String name,
boolean open)
FormatReaderFormatReader.isThisType(RandomAccessInputStream).isThisType in interface IFormatReaderisThisType in class FormatReaderopen - If true, and the file extension is insufficient to determine
the file type, the (existing) file is opened for further analysis.public boolean isThisType(loci.common.RandomAccessInputStream stream)
throws java.io.IOException
IFormatReaderisThisType in interface IFormatReaderisThisType in class FormatReaderstream - A RandomAccessInputStream representing the file to check.
The first byte in the stream is assumed to be the first byte
in the file.java.io.IOExceptionpublic int getRequiredDirectories(java.lang.String[] files)
throws FormatException,
java.io.IOException
IFormatReadergetRequiredDirectories in interface IFormatReadergetRequiredDirectories in class FormatReaderFormatExceptionjava.io.IOExceptionpublic byte[][] get8BitLookupTable()
IFormatReaderIFormatReader.isIndexed() returns
false, then this may return null. Also, if IFormatReader.getPixelType() returns
anything other than FormatTools.INT8 or FormatTools.UINT8,
this method will return null.get8BitLookupTable in interface IFormatReaderget8BitLookupTable in class FormatReaderpublic short[][] get16BitLookupTable()
IFormatReaderIFormatReader.isIndexed() returns
false, then this may return null. Also, if IFormatReader.getPixelType() returns
anything other than FormatTools.INT16 or FormatTools.UINT16, this method will return null.get16BitLookupTable in interface IFormatReaderget16BitLookupTable in class FormatReaderpublic java.lang.String[] getSeriesUsedFiles(boolean noPixels)
IFormatReaderIFormatHandler.setId(String), if appropriate based upon 'noPixels'.
The remaining elements are expected to be in a consistent order;
if a directory listing is necessary to build the list then it should
be sorted first.getSeriesUsedFiles in interface IFormatReadergetSeriesUsedFiles in class FormatReaderpublic int fileGroupOption(java.lang.String id)
throws FormatException,
java.io.IOException
IFormatReaderfileGroupOption in interface IFormatReaderfileGroupOption in class FormatReaderid - a file in the multi-file datasetFormatTools.MUST_GROUP indicates that the
files cannot be handled separately; the reader will always detect and
read all files in the dataset. FormatTools.CAN_GROUP indicates
that the files may be handled separately, but file grouping must then
be disabled via IFormatReader.setGroupFiles(boolean).
FormatTools.CANNOT_GROUP indicates that the files must be handled
separately; the reader will not attempt to read all files in the dataset
(this is rare).FormatExceptionjava.io.IOExceptionFormatTools.MUST_GROUP,
FormatTools.CAN_GROUP,
FormatTools.CANNOT_GROUPpublic byte[] openBytes(int no,
byte[] buf,
int x,
int y,
int w,
int h)
throws FormatException,
java.io.IOException
IFormatReaderopenBytes in interface IFormatReaderopenBytes in class FormatReaderno - the image index within the file.buf - a pre-allocated buffer.x - X coordinate of the upper-left corner of the sub-imagey - Y coordinate of the upper-left corner of the sub-imagew - width of the sub-imageh - height of the sub-imagebuf for convenience.FormatException - if there was a problem parsing the metadata of the
file.java.io.IOException - if there was a problem reading the file.IFormatReader.openBytes(int, byte[], int, int, int, int)public void close(boolean fileOnly)
throws java.io.IOException
IFormatReaderCloseable.close().close in interface IFormatReaderclose in class FormatReaderjava.io.IOExceptionprotected void initFile(java.lang.String id)
throws FormatException,
java.io.IOException
FormatReaderinitFile in class FormatReaderFormatException - if a parsing error occurs processing the file.java.io.IOException - if an I/O error occurs processing the fileprivate void addInfo(int tag,
java.lang.String value)
throws java.io.IOException
java.io.IOExceptionprivate void addInfo(int tag,
int value)
throws java.io.IOException
java.io.IOExceptionprivate java.lang.String getHeaderInfo(int tag,
java.lang.String value)
throws java.io.IOException
java.io.IOExceptionprivate int getLength(loci.common.RandomAccessInputStream stream,
int tag)
throws java.io.IOException
java.io.IOExceptionprivate int getNextTag(loci.common.RandomAccessInputStream stream)
throws FormatException,
java.io.IOException
FormatExceptionjava.io.IOExceptionprivate int getNextTag(loci.common.RandomAccessInputStream stream,
boolean setMetadata)
throws FormatException,
java.io.IOException
FormatExceptionjava.io.IOExceptionprivate void makeFileList()
throws FormatException,
java.io.IOException
FormatExceptionjava.io.IOExceptionprivate void scanDirectory(loci.common.Location dir,
boolean checkSeries)
throws FormatException,
java.io.IOException
FormatExceptionjava.io.IOExceptionprivate void addFileToList(java.lang.String file,
boolean checkSeries)
throws FormatException,
java.io.IOException
FormatExceptionjava.io.IOExceptionprivate java.lang.String formatTag(int tag)
private void attachCompanionFiles()
throws java.io.IOException
java.io.IOExceptionprivate static com.google.common.collect.ImmutableMap<java.lang.Integer,java.lang.String> buildTypes()
Copyright © 2019 Open Microscopy Environment