Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ij.plugin
Class PGM_Reader

    java.lang.Object
      ij.ImagePlus
          ij.plugin.PGM_Reader

All Implemented Interfaces:
  java.awt.image.ImageObserver, Measurements, PlugIn

public class PGM_Reader
extends ImagePlus
implements PlugIn

This plugin opens PxM format images.

The portable graymap format is a lowest common denominator grayscale file format. The definition is as follows:

- A "magic number" for identifying the file type. A pgm file's magic number is the two characters "P2". - Whitespace (blanks, TABs, CRs, LFs). - A width, formatted as ASCII characters in decimal. - Whitespace. - A height, again in ASCII decimal. - Whitespace. - The maximum gray value, again in ASCII decimal. - Whitespace. - Width * height gray values, each in ASCII decimal, between 0 and the specified maximum value, separated by whi- tespace, starting at the top-left corner of the graymap, proceeding in normal English reading order. A value of 0 means black, and the maximum value means white. - Characters from a "#" to the next end-of-line are ignored (comments). - No line should be longer than 70 characters.

Here is an example of a small graymap in this format: P2 # feep.pgm 24 7 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0 0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0 0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

There is a PGM variant that stores the pixel data as raw bytes:

-The "magic number" is "P5" instead of "P2". -The gray values are stored as plain bytes, instead of ASCII decimal. -No whitespace is allowed in the grays section, and only a single character of whitespace (typically a newline) is allowed after the maxval. -The files are smaller and many times faster to read and write.

Kai Barthel Nov 16 2004: Extended to support PPM (portable pixmap) format images (24 bits only). -The "magic numbers" are "P6" (raw) "P3" (ASCII).

Ulf Dittmer April 2005: Extended to support PBM (bitmap) images (P1 and P4)

Jarek Sacha (jarek.at.ieee.org) December 2005: Extended PPM support to 48 bit color images.

Field Summary

Fields inherited from class ij.ImagePlus
`changes, CLOSED, COLOR_256, COLOR_RGB, compositeImage, currentSlice, GRAY16, GRAY32, GRAY8, img, ip, locked, OPENED, pixelHeight, pixelWidth, roi, sCalibrated, unit, units, UPDATED, win`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Fields inherited from interface ij.measure.Measurements
`AREA, AREA_FRACTION, CENTER_OF_MASS, CENTROID, CIRCULARITY, ELLIPSE, FERET, INTEGRATED_DENSITY, INVERT_Y, KURTOSIS, LABELS, LIMIT, MAX_STANDARDS, MEAN, MEDIAN, MIN_MAX, MODE, PERIMETER, RECT, SKEWNESS, SLICE, STD_DEV`

Constructor Summary
`PGM_Reader()`

Method Summary
`ImageProcessor` | `open16bitAsciiImage(java.io.StreamTokenizer tok, int width, int height)`
`ImageProcessor` | `open16bitRawImage(java.io.InputStream is, int width, int height)`
`void` | `openAsciiImage(java.io.StreamTokenizer tok, int size, byte[] pixels)`
`ImageStack` | `openFile(java.lang.String path)`
`void` | `openHeader(java.io.StreamTokenizer tok)`
`void` | `openRawImage(java.io.InputStream is, int size, byte[] pixels)`
`void` | `run(java.lang.String arg)` This method is called when the plugin is loaded.

Methods inherited from class ij.ImagePlus
`addImageListener, close, copy, copyScale, createEmptyStack, createImagePlus, createLut, createNewRoi, draw, draw, flush, getBitDepth, getCalibration, getCanvas, getChannelProcessor, getClipboard, getCurrentSlice, getDimensions, getFileInfo, getGlobalCalibration, getHeight, getID, getImage, getImageStack, getImageStackSize, getLocalCalibration, getLocationAsString, getMask, getNChannels, getNFrames, getNSlices, getOriginalFileInfo, getPixel, getProcessor, getProperties, getProperty, getRoi, getShortTitle, getStack, getStackSize, getStartTime, getStatistics, getStatistics, getStatistics, getStatistics, getTitle, getType, getWidth, getWindow, hide, imageUpdate, isInvertedLut, isLocked, isProcessor, killProcessor, killRoi, killStack, lock, lockSilently, mouseMoved, notifyListeners, paste, removeImageListener, repaintWindow, resetClipboard, restoreRoi, revert, saveRoi, setActivated, setCalibration, setColor, setDimensions, setFileInfo, setGlobalCalibration, setIgnoreFlush, setImage, setProcessor, setProperty, setRoi, setRoi, setRoi, setSlice, setStack, setTitle, setType, setWindow, show, show, startTiming, toString, trimProcessor, unlock, updateAndDraw, updateAndRepaintWindow, updateChannelAndDraw, updateImage, updateStatusbarValue`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### PGM_Reader

    public PGM_Reader()

Method Detail

### run

    public void run(java.lang.String arg)

  Description copied from interface: `PlugIn`
  This method is called when the plugin is loaded. 'arg', which may be blank, is the argument specified for this plugin in IJ_Props.txt.

  Specified by:
    `run` in interface `PlugIn`

### openFile

    public ImageStack openFile(java.lang.String path)
                        throws java.io.IOException

  Throws:
    `java.io.IOException`

### openHeader

    public void openHeader(java.io.StreamTokenizer tok)
                    throws java.io.IOException

  Throws:
    `java.io.IOException`

### openAsciiImage

    public void openAsciiImage(java.io.StreamTokenizer tok,
                               int size,
                               byte[] pixels)
                        throws java.io.IOException

  Throws:
    `java.io.IOException`

### openRawImage

    public void openRawImage(java.io.InputStream is,
                             int size,
                             byte[] pixels)
                      throws java.io.IOException

  Throws:
    `java.io.IOException`

### open16bitRawImage

    public ImageProcessor open16bitRawImage(java.io.InputStream is,
                                            int width,
                                            int height)
                                     throws java.io.IOException

  Throws:
    `java.io.IOException`

### open16bitAsciiImage

    public ImageProcessor open16bitAsciiImage(java.io.StreamTokenizer tok,
                                              int width,
                                              int height)
                                       throws java.io.IOException

  Throws:
    `java.io.IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD