rawtopgm
Updated: 14 September 2000
Table Of Contents
NAME
rawtopgm - convert raw grayscale bytes to a PGM image
SYNOPSIS
rawtopgm [-bpp [1|2]] [-littleendian] [-maxval N] [-headerskip
N] [-rowskip
N] [-tb|-topbottom] [width height] [imagefile]
DESCRIPTION
This program is part of Netpbm.
rawtopgm reads raw grayscale values as input and produces a
PGM image as
output. The input file is just a sequence of pure binary num-
bers, either one
or two bytes each, either bigendian or littleendian, repre-
senting gray
values. They may be arranged either top to bottom, left to
right or bottom
to top, left to right. There may be arbitrary header informa-
tion at the
start of the file (to which rawtopgm pays no attention at all
other than the
header's size).
Arguments to rawtopgm tell how to interpret the pixels (a
function that is
served by a header in a regular graphics format).
The width and height parameters tell the dimensions of the im-
age. If you
omit these parameters, rawtopgm assumes it is a quadratic im-
age and bases
the dimensions on the size of the input stream. If this size
is not a
perfect square, rawtopgm fails.
When you don't specify width and height, rawtopgm reads the
entire input
stream into storage at once, which may take a lot of storage.
Otherwise,
rawtopgm ordinarily stores only one row at a time.
If you don't specify imagefile, or specify -, the input is
from Standard
Input.
The PGM output is to Standard Output.
OPTIONS
-maxval N
N is the maxval for the gray values in the input, and
is also the
maxval of the PGM output image. The default is the max-
imum value that
can be represented in the number of bytes used for each
sample (i.e.
255 or 65535).
-bpp [1|2]
tells the number of bytes that represent each sample in
the input. If
the value is 2, The most significant byte is first in
the stream.
The default is 1 byte per sample.
-littleendian
says that the bytes of each input sample are ordered
with the least
significant byte first. Without this option, rawtopgm
assumes MSB
first. This obviously has no effect when there is only
one byte per
sample.
-headerskip N
rawtopgm skips over N bytes at the beginning of the
stream and reads
the image immediately after. The default is 0.
This is useful when the input is actually some graphics
format that
has a descriptive header followed by an ordinary
raster, and you
don't have a program that understands the header or you
want to
ignore the header.
-rowskip N
If there is padding at the ends of the rows, you can
skip it with
this option. Note that rowskip need not be an integer.
Amazingly, I
once had an image with 0.376 bytes of padding per row.
This turned
out to be due to a file-transfer problem, but I was
still able to
read the image.
Skipping a fractional byte per row means skipping one
byte per
multiple rows.
-bt -bottomfirst
By default, rawtopgm assumes the pixels in the input
go top to
bottom, left to right. If you specify -bt or -bottom-
first, rawtopgm
assumes the pixels go bottom to top, left to right. The
Molecular
Dynamics and Leica confocal format, for example, use
the latter
arrangement.
If you don't specify -bt when you should or vice versa,
the resulting
image is upside down, which you can correct with pam-
flip.
This option causes rawtopgm to read the entire input
stream into
storage at once, which may take a lot of storage. Ordi-
narly, rawtopgm
stores only one row at a time.
For backwards compatibility, rawtopgm also accepts -tb
and -topbottom
to mean exactly the same thing. The reasons these are
named backwards
is that the original author thought of it as specifying
that the
wrong results of assuming the data is top to bottom
should be
corrected by flipping the result top for bottom. Today,
we think of
it as simply specifying the format of the input data so
that there
are no wrong results.
SEE ALSO
pgm, rawtoppm, pamflip
AUTHORS
Copyright (C) 1989 by Jef Poskanzer.
Modified June 1993 by Oliver Trepte, oliver@fysik4.kth.se
_________________________________________________________________
Table Of Contents
* NAME
* SYNOPSIS
* DESCRIPTION
* OPTIONS
* SEE ALSO
* AUTHORS
UNIX/Linux commands referenced on this page:
- convert
- raw
- as
- file
- top
- at
- which
- size
- rawtoppm