public class APNGReader extends FormatReader
| Modifier and Type | Class and Description | 
|---|---|
(package private) class  | 
APNGReader.PNGBlock  | 
(package private) class  | 
APNGReader.PNGInputStream
InputStream implementation that stitches together IDAT blocks into
 a seamless zlib stream. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
private static int | 
AVERAGE  | 
private java.util.Vector<APNGReader.PNGBlock> | 
blocks  | 
private int | 
compression  | 
private java.util.Vector<int[]> | 
frameCoordinates  | 
private static int | 
GRAY_ALPHA  | 
private static int | 
GRAYSCALE
Color types. 
 | 
private int | 
idatCount  | 
private static int | 
INDEXED  | 
private int | 
interlace  | 
private byte[] | 
lastImage  | 
private int | 
lastImageIndex  | 
private int | 
lastImageRow  | 
private byte[][] | 
lut  | 
private static int | 
NONE
Filter types. 
 | 
private static int | 
PAETH  | 
private static int[] | 
PASS_HEIGHTS  | 
private static int[] | 
PASS_WIDTHS
Interlacing pass dimensions. 
 | 
private static int | 
SUB  | 
private static int | 
TRUE_ALPHA  | 
private static int | 
TRUE_COLOR  | 
private static int | 
UP  | 
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 | 
|---|
APNGReader()
Constructs a new APNGReader. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
close(boolean fileOnly)
Closes the currently open file. 
 | 
private byte[] | 
decode(APNGReader.PNGInputStream bytes)  | 
private byte[] | 
decode(APNGReader.PNGInputStream bytes,
      int width,
      int height)  | 
byte[][] | 
get8BitLookupTable()
Gets the 8-bit color lookup table associated with
 the most recently opened image. 
 | 
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. 
 | 
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 | 
unfilter(byte[] filters,
        byte[] image,
        int width,
        int height)
See http://www.w3.org/TR/PNG/#9Filters. 
 | 
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, 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, 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, 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, setMetadataOptionsprivate static final int GRAYSCALE
private static final int TRUE_COLOR
private static final int INDEXED
private static final int GRAY_ALPHA
private static final int TRUE_ALPHA
private static final int NONE
private static final int SUB
private static final int UP
private static final int AVERAGE
private static final int PAETH
private static final int[] PASS_WIDTHS
private static final int[] PASS_HEIGHTS
private java.util.Vector<APNGReader.PNGBlock> blocks
private java.util.Vector<int[]> frameCoordinates
private byte[][] lut
private byte[] lastImage
private int lastImageIndex
private int lastImageRow
private int compression
private int interlace
private int idatCount
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 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 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 byte[] decode(APNGReader.PNGInputStream bytes) throws FormatException, java.io.IOException
FormatExceptionjava.io.IOExceptionprivate byte[] decode(APNGReader.PNGInputStream bytes, int width, int height) throws FormatException, java.io.IOException
FormatExceptionjava.io.IOExceptionprivate void unfilter(byte[] filters,
                      byte[] image,
                      int width,
                      int height)
               throws FormatException
FormatExceptionCopyright © 2019 Open Microscopy Environment