public class PictReader extends FormatReader
Modifier and Type | Field and Description |
---|---|
private static byte[] |
EXPANSION_TABLE
Table used in expanding pixels that use less than 8 bits.
|
private java.util.Vector<java.lang.Long> |
jpegOffsets |
protected byte[][] |
lookup
Color lookup table for palette color images.
|
private static int |
PICT_9A |
private static int |
PICT_BITSRECT |
private static int |
PICT_BITSRGN |
private static int |
PICT_CLIP_RGN |
private static int |
PICT_END |
private static int |
PICT_JPEG |
private static int |
PICT_LONGCOMMENT |
private static int |
PICT_PACKBITSRECT |
private static int |
PICT_PACKBITSRGN |
private static int |
PICT_TYPE_1 |
private static int |
PICT_TYPE_2 |
protected int |
rowBytes
Number of bytes in a row of pixel data (variable).
|
protected java.util.Vector |
strips
Vector of byte arrays representing individual rows.
|
protected boolean |
versionOne
Whether or not the file is PICT v1.
|
core, coreIndex, datasetDescription, domains, fillColor, filterMetadata, flattenedResolutions, group, hasCompanionFiles, in, indexedAsRGB, metadata, metadataStore, normalizeData, resolution, saveOriginalMetadata, series, suffixNecessary, suffixSufficient, THUMBNAIL_DIMENSION
COMPRESSION_SUFFIXES, currentId, format, LOGGER, metadataOptions, suffixes
CAN_GROUP, CANNOT_GROUP, MUST_GROUP
Constructor and Description |
---|
PictReader()
Constructs a new PICT reader.
|
Modifier and Type | Method and Description |
---|---|
void |
close(boolean fileOnly)
Closes the currently open file.
|
private boolean |
drivePictDecoder(int opcode)
Handles the opcodes in the PICT file.
|
private void |
expandPixels(int bitSize,
byte[] ib,
byte[] ob,
int outLen)
Expand an array of bytes.
|
byte[][] |
get8BitLookupTable()
Gets the 8-bit color lookup table associated with
the most recently opened image.
|
private void |
handleBitmap(int opcode)
Extract the image data in a PICT bitmap structure.
|
private void |
handlePixmap(int opcode)
Extracts the image data in a PICT pixmap structure.
|
private void |
handlePixmap(int pixelSize,
int compCount)
Handles the unpacking of the image data.
|
protected void |
initFile(java.lang.String id)
Initializes the given file (parsing header information, etc.).
|
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 |
readImageHeader(int opcode) |
private void |
unpackBits(byte[] ib,
int[] ob)
PackBits variant that outputs an int array.
|
addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMeta, addGlobalMetaList, addMeta, addMetaList, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMeta, addSeriesMetaList, close, coreIndexToSeries, fileGroupOption, flattenHashtables, get16BitLookupTable, getAcquisitionMode, getAdvancedSeriesUsedFiles, getAdvancedUsedFiles, getArcType, getAvailableOptions, getBinning, getBitsPerPixel, getCompression, getContrastMethod, getCoreIndex, getCoreMetadataList, getCorrection, getCurrentCore, getCurrentFile, getDatasetStructureDescription, getDetectorType, getDimensionOrder, getDimensionOrder, getDomains, getEffectiveSizeC, getExperimentType, getFilamentType, getFillColor, 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, getRequiredDirectories, getResolution, getResolutionCount, getRGBChannelCount, getRotationTransform, getSeries, getSeriesCount, getSeriesMeta, getSeriesMetadata, getSeriesMetadataValue, getSeriesUsedFiles, 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, isThisType, isThisType, isThumbnailSeries, isUsedFile, makeFilterMetadata, openBytes, openBytes, openBytes, openPlane, openThumbBytes, readPlane, readPlane, readPlane, reopenFile, seriesToCoreIndex, setCoreIndex, setFillColor, setFlattenedResolutions, setGroupFiles, setId, setMetadataFiltered, setMetadataStore, setNormalized, setOriginalMetadataPopulated, setResolution, setSeries, updateMetadataLists
checkSuffix, checkSuffix, getFormat, getMetadataOptions, getNativeDataType, getSuffixes, getSupportedMetadataLevels, setMetadataOptions
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFormat, getNativeDataType, getSuffixes
getMetadataOptions, getSupportedMetadataLevels, setMetadataOptions
private static final int PICT_CLIP_RGN
private static final int PICT_BITSRECT
private static final int PICT_BITSRGN
private static final int PICT_PACKBITSRECT
private static final int PICT_PACKBITSRGN
private static final int PICT_9A
private static final int PICT_END
private static final int PICT_LONGCOMMENT
private static final int PICT_JPEG
private static final int PICT_TYPE_1
private static final int PICT_TYPE_2
private static final byte[] EXPANSION_TABLE
protected int rowBytes
protected java.util.Vector strips
protected boolean versionOne
protected byte[][] lookup
private java.util.Vector<java.lang.Long> jpegOffsets
public byte[][] get8BitLookupTable() throws FormatException, java.io.IOException
IFormatReader
IFormatReader.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 IFormatReader
get8BitLookupTable
in class FormatReader
FormatException
java.io.IOException
public byte[] openBytes(int no, byte[] buf, int x, int y, int w, int h) throws FormatException, java.io.IOException
IFormatReader
openBytes
in interface IFormatReader
openBytes
in class FormatReader
no
- the plane index within the current series.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
IFormatReader
Closeable.close()
.close
in interface IFormatReader
close
in class FormatReader
java.io.IOException
protected void initFile(java.lang.String id) throws FormatException, java.io.IOException
FormatReader
initFile
in class FormatReader
FormatException
- if a parsing error occurs processing the file.java.io.IOException
- if an I/O error occurs processing the fileprivate boolean drivePictDecoder(int opcode) throws FormatException, java.io.IOException
FormatException
java.io.IOException
private void readImageHeader(int opcode) throws java.io.IOException
java.io.IOException
private void handleBitmap(int opcode) throws FormatException, java.io.IOException
FormatException
java.io.IOException
private void handlePixmap(int opcode) throws FormatException, java.io.IOException
FormatException
java.io.IOException
private void handlePixmap(int pixelSize, int compCount) throws FormatException, java.io.IOException
FormatException
java.io.IOException
private void expandPixels(int bitSize, byte[] ib, byte[] ob, int outLen) throws FormatException
FormatException
private void unpackBits(byte[] ib, int[] ob)
Copyright © 2023 Open Microscopy Environment