public class DicomWriter extends FormatWriter
Modifier and Type | Class and Description |
---|---|
(package private) class |
DicomWriter.PlaneOffset |
(package private) class |
DicomWriter.UIDCreator
Helper class for creating UIDs.
|
Modifier and Type | Field and Description |
---|---|
private int |
baseTileHeight |
private int |
baseTileWidth |
private long[] |
compressionMethodPointer |
private java.lang.Integer |
currentPlane |
private long |
fileMetaLengthPointer |
private java.lang.String |
implementationUID |
private java.lang.String |
instanceUIDValue |
private long[] |
pixelDataLengthPointer |
private int[] |
pixelDataSize |
private DicomWriter.PlaneOffset[][] |
planeOffsets |
private static java.lang.String |
SOP_CLASS_UID_VALUE |
private int[] |
tileHeight |
private int[] |
tileWidth |
private long[] |
transferSyntaxPointer |
static java.lang.String |
UID_DEFAULT_ROOT |
static java.lang.String |
UID_ROOT_KEY
Option for setting the organization root for UIDs.
|
private DicomWriter.UIDCreator |
uids |
cm, compression, compressionTypes, fps, initialized, interleaved, metadataRetrieve, options, out, resolution, resolutionData, sequential, series, validBits
COMPRESSION_SUFFIXES, currentId, format, LOGGER, metadataOptions, suffixes
Constructor and Description |
---|
DicomWriter() |
Modifier and Type | Method and Description |
---|---|
boolean |
canDoStacks()
Reports whether the writer can save multiple images to a single file.
|
void |
close() |
private Codec |
getCodec() |
private java.lang.String |
getCompressionMethod() |
private java.lang.String |
getFilename(int pyramid,
int res) |
private java.lang.String |
getImageType(java.lang.String pyramidName,
int res,
boolean hasPyramid,
int resolutionCount) |
private int |
getIndex(int pyramid,
int res) |
int[] |
getPixelTypes(java.lang.String codec)
Gets the supported pixel types for the given codec.
|
private int |
getStoredLength(DicomTag tag) |
int |
getTileSizeX()
Retrieves the current tile width
Defaults to 0 if not supported
|
int |
getTileSizeY()
Retrieves the current tile height
Defaults to 0 if not supported
|
private java.lang.String |
getTransferSyntax() |
java.lang.String |
getUIDRoot() |
private int[] |
getZCTCoords(int no) |
private boolean |
isReallySequential() |
private DicomTag |
makeItem() |
private DicomTag |
makeItemDelimitation() |
private short[] |
makeShortArray(int v) |
private void |
openFile(int pyramid,
int res) |
private java.lang.String |
padString(java.lang.String value)
Pad the given string so that the length is a multiple of 2.
|
private java.lang.String |
padString(java.lang.String value,
java.lang.String append) |
private java.lang.String |
padUID(java.lang.String value)
Pad the given string so that the length is a multiple of 2.
|
void |
saveBytes(int no,
byte[] buf,
int x,
int y,
int w,
int h)
Saves the given image tile to the current series in the current file.
|
void |
setId(java.lang.String id)
Initializes a writer from the input file name.
|
void |
setResolution(int r)
Set the resolution level.
|
void |
setSeries(int s)
Sets the current series.
|
int |
setTileSizeX(int tileSize)
Will attempt to set the tile width to the desired value and return the actual value which will be used
|
int |
setTileSizeY(int tileSize)
Will attempt to set the tile height to the desired value and return the actual value which will be used
|
private void |
writeHeader()
Write the preamble, prefix, and file meta elements.
|
private void |
writeTag(DicomTag tag) |
changeOutputFile, checkParams, createOutputStream, getColorModel, getCompression, getCompressionTypes, getFramesPerSecond, getMetadataRetrieve, getPixelTypes, getPlaneCount, getPlaneCount, getResolution, getResolutionCount, getResolutions, getSamplesPerPixel, getSamplesPerPixel, getSeries, getSizeX, getSizeY, hasResolutions, isFullPlane, isInterleaved, isSupportedType, saveBytes, saveBytes, savePlane, savePlane, savePlane, seekToPlaneOffset, setCodecOptions, setColorModel, setCompression, setFramesPerSecond, setInterleaved, setMetadataRetrieve, setResolutions, setValidBitsPerPixel, setWriteSequentially
checkSuffix, checkSuffix, getFormat, getMetadataOptions, getNativeDataType, getSuffixes, getSupportedMetadataLevels, isThisType, setMetadataOptions
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFormat, getNativeDataType, getSuffixes, isThisType
getMetadataOptions, getSupportedMetadataLevels, setMetadataOptions
public static final java.lang.String UID_ROOT_KEY
public static final java.lang.String UID_DEFAULT_ROOT
private static final java.lang.String SOP_CLASS_UID_VALUE
private long[] pixelDataLengthPointer
private int[] pixelDataSize
private long[] transferSyntaxPointer
private long[] compressionMethodPointer
private long fileMetaLengthPointer
private int baseTileWidth
private int baseTileHeight
private int[] tileWidth
private int[] tileHeight
private DicomWriter.PlaneOffset[][] planeOffsets
private java.lang.Integer currentPlane
private DicomWriter.UIDCreator uids
private java.lang.String instanceUIDValue
private java.lang.String implementationUID
public void setSeries(int s) throws FormatException
IFormatWriter
setSeries
in interface IFormatWriter
setSeries
in class FormatWriter
s
- the series index, starting from 0.FormatException
- if the specified series is invalid.public void setResolution(int r)
IPyramidHandler
setResolution
in interface IPyramidHandler
setResolution
in class FormatWriter
IPyramidHandler.getResolutionCount()
public void saveBytes(int no, byte[] buf, int x, int y, int w, int h) throws FormatException, java.io.IOException
IFormatWriter
no
- the plane index within the series.buf
- the byte array that represents the image tile.x
- the X coordinate of the upper-left corner of the image tile.y
- the Y coordinate of the upper-left corner of the image tile.w
- the width (in pixels) of the image tile.h
- the height (in pixels) of the image tile.FormatException
- if one of the parameters is invalid.java.io.IOException
- if there was a problem writing to the file.IFormatWriter.saveBytes(int, byte[], int, int, int, int)
public boolean canDoStacks()
IFormatWriter
canDoStacks
in interface IFormatWriter
canDoStacks
in class FormatWriter
public int[] getPixelTypes(java.lang.String codec)
IFormatWriter
getPixelTypes
in interface IFormatWriter
getPixelTypes
in class FormatWriter
public void setId(java.lang.String id) throws FormatException, java.io.IOException
FormatWriter
RandomAccessOutputStream
for the output
file and initializes the metadata for all the series using
FormatWriter.setSeries(int)
.setId
in interface IFormatHandler
setId
in class FormatWriter
id
- a String
specifying the path to the fileFormatException
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class FormatWriter
java.io.IOException
public int setTileSizeX(int tileSize) throws FormatException
IFormatWriter
setTileSizeX
in interface IFormatWriter
setTileSizeX
in class FormatWriter
tileSize
- The tile width you wish to use. Setting to 0 will disable tilingFormatException
- Tile size must be greater than or equal to 0 and less than the image widthpublic int getTileSizeX()
IFormatWriter
getTileSizeX
in interface IFormatWriter
getTileSizeX
in class FormatWriter
public int setTileSizeY(int tileSize) throws FormatException
IFormatWriter
setTileSizeY
in interface IFormatWriter
setTileSizeY
in class FormatWriter
tileSize
- The tile height you wish to use. Setting to 0 will disable tilingFormatException
- Tile size must be greater than or equal to 0 and less than the image heightpublic int getTileSizeY()
IFormatWriter
getTileSizeY
in interface IFormatWriter
getTileSizeY
in class FormatWriter
public java.lang.String getUIDRoot()
private int getStoredLength(DicomTag tag)
private void writeTag(DicomTag tag) throws java.io.IOException
java.io.IOException
private java.lang.String padString(java.lang.String value)
value
- original stringprivate java.lang.String padUID(java.lang.String value)
value
- original stringprivate java.lang.String padString(java.lang.String value, java.lang.String append)
private java.lang.String getTransferSyntax()
private java.lang.String getCompressionMethod()
private Codec getCodec()
private void openFile(int pyramid, int res) throws java.io.IOException
java.io.IOException
private void writeHeader() throws java.io.IOException
java.io.IOException
private java.lang.String getFilename(int pyramid, int res)
private int getIndex(int pyramid, int res)
private int[] getZCTCoords(int no)
private boolean isReallySequential()
private java.lang.String getImageType(java.lang.String pyramidName, int res, boolean hasPyramid, int resolutionCount)
private DicomTag makeItem()
private DicomTag makeItemDelimitation()
private short[] makeShortArray(int v)
Copyright © 2022 Open Microscopy Environment