loci.formats.in
Class PictReader

java.lang.Object
  extended by loci.formats.FormatHandler
      extended by loci.formats.FormatReader
          extended by loci.formats.in.PictReader
All Implemented Interfaces:
loci.formats.IFormatHandler, loci.formats.IFormatReader, loci.formats.StatusReporter

public class PictReader
extends loci.formats.FormatReader

PictReader is the file format reader for Apple PICT files. Most of this code was adapted from the PICT readers in JIMI (http://java.sun.com/products/jimi/index.html), ImageMagick (http://www.imagemagick.org), and Java QuickDraw.

Source code:
Trac, SVN


Field Summary
protected  byte[] bytes
          Pixel bytes.
protected  short[][] lookup
          Color lookup table for palette color images.
protected  int pictState
          Image state.
protected  loci.formats.LegacyQTTools qtTools
          Helper reader in case this one fails.
protected  loci.formats.RandomAccessStream ras
          Stream for reading pixel data.
protected  int rowBytes
          Number of bytes in a row of pixel data (variable).
protected  int state
          Decoder state.
protected  Vector strips
          Vector of byte arrays representing individual rows.
protected  boolean versionOne
          Whether or not the file is PICT v1.
 
Fields inherited from class loci.formats.FormatReader
collectMetadata, core, filterMetadata, group, in, metadata, metadataStore, normalizeData, saveOriginalMetadata, series, THUMBNAIL_DIMENSION
 
Fields inherited from class loci.formats.FormatHandler
currentId, debug, debugLevel, format, statusListeners, suffixes
 
Fields inherited from interface loci.formats.IFormatReader
CAN_GROUP, CANNOT_GROUP, MUST_GROUP
 
Constructor Summary
PictReader()
          Constructs a new PICT reader.
 
Method Summary
 Dimension getDimensions(byte[] stuff)
          Get the dimensions of a PICT file from the first 4 bytes after header.
protected  void initFile(String id)
           
 boolean isThisType(byte[] block)
           
 BufferedImage open(byte[] pix)
          Open a PICT image from an array of bytes (used by OpenlabReader).
 byte[] openBytes(int no, byte[] buf)
           
 BufferedImage openImage(int no)
           
 
Methods inherited from class loci.formats.FormatReader
addMeta, checkBytes, close, close, fileGroupOption, get16BitLookupTable, get8BitLookupTable, getChannelDimLengths, getChannelDimLengths, getChannelDimTypes, getChannelDimTypes, getCoreMetadata, getCoreMetadata, getCurrentFile, getDimensionOrder, getDimensionOrder, getEffectiveSizeC, getEffectiveSizeC, getImageCount, getImageCount, getIndex, getIndex, getMeta, getMetadata, getMetadata, getMetadataStore, getMetadataStore, getMetadataStoreRoot, getMetadataStoreRoot, getMetadataValue, getMetadataValue, getPixelType, getPixelType, getRGBChannelCount, getRGBChannelCount, getSeries, getSeries, getSeriesCount, getSeriesCount, getSizeC, getSizeC, getSizeT, getSizeT, getSizeX, getSizeX, getSizeY, getSizeY, getSizeZ, getSizeZ, getThumbSizeX, getThumbSizeX, getThumbSizeY, getThumbSizeY, getUsedFiles, getUsedFiles, getZCTCoords, getZCTCoords, isFalseColor, isGroupFiles, isIndexed, isInterleaved, isInterleaved, isInterleaved, isInterleaved, isLittleEndian, isLittleEndian, isMetadataCollected, isMetadataComplete, isMetadataFiltered, isNormalized, isOrderCertain, isOrderCertain, isOriginalMetadataPopulated, isRGB, isRGB, isUsedFile, openBytes, openBytes, openBytes, openImage, openThumbBytes, openThumbBytes, openThumbImage, openThumbImage, setGroupFiles, setId, setMetadataCollected, setMetadataFiltered, setMetadataStore, setNormalized, setOriginalMetadataPopulated, setSeries, setSeries
 
Methods inherited from class loci.formats.FormatHandler
addStatusListener, debug, getFormat, getStatusListeners, getSuffixes, isThisType, isThisType, removeStatusListener, setDebug, setDebugLevel, setId, status, status, status, trace, trace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface loci.formats.IFormatHandler
getFormat, getSuffixes, isThisType, isThisType, setId
 
Methods inherited from interface loci.formats.StatusReporter
addStatusListener, getStatusListeners, removeStatusListener
 

Field Detail

ras

protected loci.formats.RandomAccessStream ras
Stream for reading pixel data.


bytes

protected byte[] bytes
Pixel bytes.


rowBytes

protected int rowBytes
Number of bytes in a row of pixel data (variable).


state

protected int state
Decoder state.


pictState

protected int pictState
Image state.


strips

protected Vector strips
Vector of byte arrays representing individual rows.


versionOne

protected boolean versionOne
Whether or not the file is PICT v1.


lookup

protected short[][] lookup
Color lookup table for palette color images.


qtTools

protected loci.formats.LegacyQTTools qtTools
Helper reader in case this one fails.

Constructor Detail

PictReader

public PictReader()
Constructs a new PICT reader.

Method Detail

getDimensions

public Dimension getDimensions(byte[] stuff)
                        throws loci.formats.FormatException
Get the dimensions of a PICT file from the first 4 bytes after header.

Throws:
loci.formats.FormatException

open

public BufferedImage open(byte[] pix)
                   throws loci.formats.FormatException,
                          IOException
Open a PICT image from an array of bytes (used by OpenlabReader).

Throws:
loci.formats.FormatException
IOException

isThisType

public boolean isThisType(byte[] block)

openBytes

public byte[] openBytes(int no,
                        byte[] buf)
                 throws loci.formats.FormatException,
                        IOException
Throws:
loci.formats.FormatException
IOException

openImage

public BufferedImage openImage(int no)
                        throws loci.formats.FormatException,
                               IOException
Specified by:
openImage in interface loci.formats.IFormatReader
Overrides:
openImage in class loci.formats.FormatReader
Throws:
loci.formats.FormatException
IOException

initFile

protected void initFile(String id)
                 throws loci.formats.FormatException,
                        IOException
Overrides:
initFile in class loci.formats.FormatReader
Throws:
loci.formats.FormatException
IOException