From 1a29632fcc0b7c095f116ad9a760acc80a7b0472 Mon Sep 17 00:00:00 2001
From: giraffedata There are no command line options defined specifically
-for anytopnm, but it recognizes the options common to all
+for anytopnm.
+
+anytopnm does not recognize the options common to all
programs based on libnetpbm (See
-Common Options.)
+Common Options.) However, the -version option works.
Since a degenerate image is sometimes easier to calculate, extrapolation
may offer a more efficient method to achieve effects such as sharpening
@@ -142,7 +142,7 @@ inaccuracy.
These image manipulation techniques can be used in paint programs to
easily implement brushes that saturate, sharpen, lighten, darken,
-or modify contrast and color. The only major change needed is to support
+or modify contrast and color. The only major change needed is to work with
alpha values outside the range 0.0 to 1.0.
It is surprising and unfortunate how many graphics software packages
diff --git a/hpcdtoppm.html b/hpcdtoppm.html
index f28d5556..9e3dcd12 100644
--- a/hpcdtoppm.html
+++ b/hpcdtoppm.html
@@ -1,80 +1,79 @@
-
- This program is part of Netpbm.
This program accepts Photo-CD image or overview file data from the
-specified input file, infile (or, if the resolution is lower
-than 64Base and the file argument is specified as -, from
+specified input file, infile (or, if the resolution is lower
+than 64Base and the file argument is specified as -, from
standard input), and writes either PBM Format or PostScript to the
specified output file (or to standard output if no file is specified).
- On a standard Photo-CD, image files appear in the directory
+ On a standard Photo-CD, image files appear in the directory
photo_cd/images, in files with names of the form
-imgnnnn.pcd, where nnnn is a 4-digit-number. The
-overview file appears in photo_cd/overview.pcd.
+imgnnnn.pcd, where nnnn is a 4-digit-number. The
+overview file appears in photo_cd/overview.pcd.
- Photo-CD images are stored using as many as 6 different resolutions:
+ Photo-CD images are stored using as many as 6 different resolutions:
- The overview file employs Base/16 format.
+ The overview file employs Base/16 format.
- In addition to the options common to all programs based on libnetpbm
+(most notably -quiet, see
+Common Options), hpcdtoppm recognizes the following
+command line options:
+
+ For Postscript output (options -ps, -eps,
--psg, -epsg, -psd, -epsg) you can define
+ For Postscript output (options -ps, -eps,
+-psg, -epsg, -psd, -epsg) you can define
both the resolution and placement of the image. Both size and
position are specified in points (1/72 inch).
- The position of the image (where the origin is assumed to be at the
-lower left corner of the page) is controlled by the -pl and
--pb options (applicable at all resolutions).
+ The position of the image (where the origin is assumed to be at the
+lower left corner of the page) is controlled by the -pl and
+-pb options (applicable at all resolutions).
- The size of color and grayscale images is changed with the
--pw and -ph options. Every image pixel is mapped onto
+ The size of color and grayscale images is changed with the
+-pw and -ph options. Every image pixel is mapped onto
one Postscript pixel.
- There are three modes of control for dithered Postscript:
+ There are three modes of control for dithered Postscript:
- These three factors are interdependent, hence no more then two can
-be specified simultaneously. Using -dpi and the
--pw/-ph options together often yields pleasing results.
+ These three factors are interdependent, hence no more then two can
+be specified simultaneously. Using -dpi and the
+-pw/-ph options together often yields pleasing results.
Even using the default values for these options will produce results
differing from those obtained without use of the options.
- The program ignores read protection.
- The -i option is not working correctly.
+ The -i option is not working correctly.
- Available information obout the Photo-CD format is vague; this
+ Available information obout the Photo-CD format is vague; this
program was developed by trial-and-error after staring at hex-dumps.
Please send bugs reports and patches to the author.
- The name hpcdtoppm stands for "Hadmut's pcdtoppm," to
make it distinguishable in the event that someone else is building a
@@ -394,10 +398,10 @@ similar application and naming it pcdtoppm.
This is version 0.6.
- Hadmut Danish has given permission to Bryan Henderson (August 2003)
to distribute this documentation as part of Netpbm on Sourceforge and
@@ -413,26 +417,26 @@ and without fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright notice and
this permission notice appear in supporting documentation.
- The hpcdtoppm software itself (as opposed to this supporting
+ The hpcdtoppm software itself (as opposed to this supporting
documentation) is licensed by Danisch under a similar license, but
with an additional restriction that a recipient may not sell the
software or use it in profit-making activity. See the source code of
the program for details on its license.
- Manual page extensively modified by R. P. C. Rodgers (rodgers@nlm.nih.gov).
-
- Manual page extensively modified by R. P. C. Rodgers (rodgers@nlm.nih.gov).
+
+ This program is part of Netpbm.
@@ -36,9 +34,5 @@ for icontopbm, as long as you recognize that any change the
sunicontopnm manual says happened in or after Netpbm 10.53 doesn't
apply to icontopbm.
-
-
-
-
-
-
+
+
diff --git a/jbigtopnm.html b/jbigtopnm.html
index 98f6883a..ea7a8679 100644
--- a/jbigtopnm.html
+++ b/jbigtopnm.html
@@ -1,30 +1,30 @@
-
- Minimum unique abbreviation of option is acceptable. You may use double
hyphens instead of single hyphen to denote options. You may use white
space in place of the equals sign to separate an option name from its value.
- This program is part of Netpbm.
@@ -33,100 +33,105 @@ file or standard input, decompresses it, and outputs a PBM or PGM
file. If the input has one plane, or you choose just one plane of it,
the output is PBM. Otherwise, the output is PGM.
- JBIG is a highly effective lossless compression algorithm for
+ JBIG is a highly effective lossless compression algorithm for
bi-level images (one bit per pixel), which is particularly suitable
for scanned document pages.
- A JBIG encoded image can be stored in several resolutions in one or
+ A JBIG encoded image can be stored in several resolutions in one or
several BIEs. All resolution layers except the lowest one are stored
efficiently as differences to the next lower resolution layer. You
-can use options -x and -y to stop the decompression at a
+can use options -x and -y to stop the decompression at a
specified maximal output image size. The input file can consist of
several concatenated BIEs which contain different increasing
resolution layers of the same image.
- In addition to the options common to all programs based on libnetpbm
+(most notably -quiet, see
+Common Options), jbigtopnm recognizes the following
+command line options:
Before Netpbm 10.85 (December 2018), only single-character single-hyphen
abbreviations of the options are accepted.
- This program implements the JBIG image coding algorithm as
specified in ISO/IEC 11544:1993 and ITU-T T.82(1993).
- jbigtopnm is based on the JBIG library by Markus Kuhn, part
+ jbigtopnm is based on the JBIG library by Markus Kuhn, part
of his JBIG-KIT
-package. The jbgtopbm program is part of the
-JBIG-KIT package.
+href="http://www.cl.cam.ac.uk/~mgk25/jbigkit/">JBIG-KIT
+package. The jbgtopbm program is part of the
+JBIG-KIT package.
- jbigtopnm is part of the Netpbm package of graphics tools.
+ jbigtopnm is part of the Netpbm package of graphics tools.
- Minimum unique abbreviation of option is acceptable. You may use double
hyphens instead of single hyphen to denote options. You may use white
space in place of the equals sign to separate an option name from its value.
- This program is part of Netpbm.
- jpegtopnm converts JFIF images to PPM or PGM images.
+ jpegtopnm converts JFIF images to PPM or PGM images.
By default, jpegtopnm expects the input stream to contain one
JFIF image and produces one PGM or PPM image as output. It fails if the
@@ -48,7 +48,7 @@ so is the output.
don't specify filename, Standard Input. The output stream is
Standard Output.
- If a JFIF input image is of the grayscale variety, jpegtopnm
+ If a JFIF input image is of the grayscale variety, jpegtopnm
generates a PGM image. Otherwise, it generates a PPM image.
Before Netpbm 10.11 (October 2002), jpegtopnm did not have
@@ -62,61 +62,68 @@ something other than another JFIF image. The producers of these files
expect them to work with any JFIF interpreter because most JFIF
interpreters just stop reading the file after the first JFIF image.
- jpegtopnm uses the Independent JPEG Group's JPEG library to
-interpret the input file. See http://www.ijg.org
+ jpegtopnm uses the Independent JPEG Group's JPEG library to
+interpret the input file. See http://www.ijg.org
for information on the library.
- "JFIF" is the correct name for the image format commonly
+ "JFIF" is the correct name for the image format commonly
known as "JPEG." Strictly speaking, JPEG is a method of
compression. The image format using JPEG compression that is by far
the most common is JFIF. There is also a subformat of TIFF that uses
JPEG compression.
- EXIF is an image format that is a subformat of JFIF (to wit, a JFIF
+ EXIF is an image format that is a subformat of JFIF (to wit, a JFIF
file that contains an EXIF header as an APP1 marker).
-jpegtopnm handles EXIF.
+jpegtopnm handles EXIF.
- JFIF files can have either 8 bits per sample or 12 bits per sample.
+ JFIF files can have either 8 bits per sample or 12 bits per sample.
The 8 bit variety is by far the most common. There are two versions
of the IJG JPEG library. One reads only 8 bit files and the other
reads only 12 bit files. You must link the appropriate one of these
-libraries with jpegtopnm. Ordinarily, this means the library
-is in your shared library search path when you run jpegtopnm.
+libraries with jpegtopnm. Ordinarily, this means the library
+is in your shared library search path when you run jpegtopnm.
- jpegtopnm generates output with either one byte or two bytes
+ jpegtopnm generates output with either one byte or two bytes
per sample depending on whether the JFIF input has either 8 bits or 12
-bits per sample. You can use pamdepth to reduce a
+bits per sample. You can use pamdepth to reduce a
two-byte-per-sample file to a one-byte-per-sample file if you need to.
- If the JFIF file uses the CMYK or YCCK color space, the input does
+ If the JFIF file uses the CMYK or YCCK color space, the input does
not actually contain enough information to know what color each pixel
is. To know what color a pixel is, one would have to know the
properties of the inks to which the color space refers.
-jpegtopnm interprets the colors using the common transformation
+jpegtopnm interprets the colors using the common transformation
which assumes all the inks are simply subtractive and linear.
- See the jpegtopnm manual
+ See the jpegtopnm manual
for information on how images lose quality when you convert to and
from JFIF.
- In addition to the options common to all programs based on libnetpbm
+(most notably -quiet, see
+Common Options), jpegtopnm recognizes the following
+command line options:
-
+The options are only for advanced users.
+
+ These options tell jpegtopnm which version of the CMYK or
+ These options tell jpegtopnm which version of the CMYK or
YCCK color space the image uses. If you specify neither,
-jpegtopnm tries to figure it out on its own. In the present
+jpegtopnm tries to figure it out on its own. In the present
version, it doesn't try very hard at all: It just assumes the
Photoshop version, since Photoshop and its emulators seem to be the
main source of CMYK and YCCK images. But with experience of use,
future versions might be more sophisticated.
- If the JFIF image does not indicate that it is CMYK or YCCK, these
+ If the JFIF image does not indicate that it is CMYK or YCCK, these
options have no effect.
- If you don't use the right one of these options, the symptom is
+ If you don't use the right one of these options, the symptom is
output that looks like a negative.
- This option was added in Netpbm 9.19 (September 2001).
- jpegtopnm writes the contents of the EXIF header
+ jpegtopnm writes the contents of the EXIF header
byte-for-byte, starting with the two byte length field (which length
includes those two bytes).
- You can use this file as input to pnmtojpeg to insert an
+ You can use this file as input to pnmtojpeg to insert an
identical EXIF header into a new JFIF image.
- If there is no EXIF header, jpegtopnm writes two bytes of
+ If there is no EXIF header, jpegtopnm writes two bytes of
binary zero and nothing else.
- An EXIF header takes the form of a JFIF APP1 marker. Only the
+ An EXIF header takes the form of a JFIF APP1 marker. Only the
first such marker within the JFIF header counts.
This option was added in Netpbm 9.19 (September 2001).
- This example converts the color JFIF file foo.jpg to a PPM file
+ This example converts the color JFIF file foo.jpg to a PPM file
named foo.ppm:
- Use pamscale to change the dimensions of the resulting
+ Use pamscale to change the dimensions of the resulting
image.
- Use ppmtopgm to convert a color JFIF file to a grayscale
+ Use ppmtopgm to convert a color JFIF file to a grayscale
PGM file.
- You can easily use these converters together. E.g.:
+ You can easily use these converters together. E.g.:
- -dct fast and/or -nosmooth gain speed at a small
+ -dct fast and/or -nosmooth gain speed at a small
sacrifice in quality.
- If you are fortunate enough to have very fast floating point
-hardware, -dct float may be even faster than -dct fast.
-But on most machines -dct float is slower than -dct int;
+ If you are fortunate enough to have very fast floating point
+hardware, -dct float may be even faster than -dct fast.
+But on most machines -dct float is slower than -dct int;
in this case it is not worth using, because its theoretical accuracy
advantage is too small to be significant in practice.
- Another program, djpeg, is similar. djpeg is
+ Another program, djpeg, is similar. djpeg is
maintained by the Independent JPEG Group and packaged with the JPEG
-library which jpegtopnm uses for all its JPEG work. Because of
+library which jpegtopnm uses for all its JPEG work. Because of
that, you may expect it to exploit more current JPEG features. Also,
-since you have to have the library to run jpegtopnm, but not
-vice versa, cjpeg may be more commonly available.
+since you have to have the library to run jpegtopnm, but not
+vice versa, cjpeg may be more commonly available.
- On the other hand, djpeg does not use the NetPBM libraries
+ On the other hand, djpeg does not use the NetPBM libraries
to generate its output, as all the NetPBM tools such as
-jpegtopnm do. This means it is less likely to be consistent
+jpegtopnm do. This means it is less likely to be consistent
with all the other programs that deal with the NetPBM formats. Also,
-the command syntax of jpegtopnm is consistent with that of the
-other Netpbm tools, unlike djpeg.
+the command syntax of jpegtopnm is consistent with that of the
+other Netpbm tools, unlike djpeg.
-
-ppm,
-pgm,
-pnmtojpeg,
-pnmquant,
-pamscale,
-ppmtopgm,
-ppmdither,
-pamdepth,
+ppm,
+pgm,
+pnmtojpeg,
+pnmquant,
+pamscale,
+ppmtopgm,
+ppmdither,
+pamdepth,
-djpeg man page,
-cjpeg man page,
-jpegtran man page,
-rdjpgcom man page,
-wrjpgcom man page,
-jhead man page
+djpeg man page,
+cjpeg man page,
+jpegtran man page,
+rdjpgcom man page,
+wrjpgcom man page,
+jhead man page
Wallace, Gregory K. "The JPEG Still Picture Compression
Standard", Communications of the ACM, April 1991 (vol. 34,
no. 4), pp. 30-44.
- jpegtopnm and this manual were derived in large part from
-djpeg, by the Independent JPEG Group. The program is otherwise
+ jpegtopnm and this manual were derived in large part from
+djpeg, by the Independent JPEG Group. The program is otherwise
by Bryan Henderson on March 19, 2000.
- This document describes the MRF format supported by
+ This document describes the MRF format recognized by
Netpbm.
MRF is a compressed format for bilevel (1-bit mono) images. It
diff --git a/pam.html b/pam.html
index 0078d4f0..a45846e4 100644
--- a/pam.html
+++ b/pam.html
@@ -1,34 +1,34 @@
-
-
- The PAM image format is a lowest common denominator 2 dimensional map
format.
- It is designed to be used for any of myriad kinds of graphics, but can
+ It is designed to be used for any of myriad kinds of graphics, but can
theoretically be used for any kind of data that is arranged as a two
dimensional rectangular array. Actually, from another perspective it
can be seen as a format for data arranged as a three dimensional
array.
- The name "PAM" is an acronym derived from "Portable
+ The name "PAM" is an acronym derived from "Portable
Arbitrary Map." This derivation makes more sense if you consider
it in the context of the other Netpbm format names: PBM, PGM, and PPM.
- This format does not define the meaning of the data at any particular
+ This format does not define the meaning of the data at any particular
point in the array. It could be red, green, and blue light
intensities such that the array represents a visual image, or it could
be the same red, green, and blue components plus a transparency
@@ -36,7 +36,7 @@ component, or it could contain annual rainfalls for places on the
surface of the Earth. Any process that uses the PAM format must
further define the format to specify the meanings of the data.
- A PAM image describes a two dimensional grid of tuples. The tuples are
+ A PAM image describes a two dimensional grid of tuples. The tuples are
arranged in rows and columns. The width of the image is the number of
columns. The height of the image is the number of rows. All rows are the
same width and all columns are the same height. The tuples may have any
@@ -48,7 +48,7 @@ maxval is the same for every sample in the image. The two dimensional array
of all the Nth samples of each tuple is called the Nth plane or Nth channel of
the image.
- Though the basic format does not assign any meaning to the tuple values, it
+ Though the basic format does not assign any meaning to the tuple values, it
does include an optional string that describes that meaning. The
contents of this string, called the tuple type, are arbitrary from the
point of view of the basic PAM format, but users of the format may assign
@@ -56,23 +56,23 @@ meaning to it by convention so they can identify their particular
implementations of the PAM format. Some tuple types are defined as
official subformats of PAM. See Defined Tuple Types.
- It is easy to get confused about the relationship between the PAM
+ It is easy to get confused about the relationship between the PAM
format and PBM, PGM, PPM, and PNM. Here is a little enlightenment:
- "PNM" is not really a format. It is a shorthand for the PBM, PGM,
+ "PNM" is not really a format. It is a shorthand for the PBM, PGM,
and PPM formats collectively. It is also the name of a group of
library functions that can each handle all three of those formats.
- "PAM" is in fact a fourth format. But it is so general
+ "PAM" is in fact a fourth format. But it is so general
that you can represent the same information in a PAM image as you can
in a PBM, PGM, or PPM image. And in fact a program that is designed
to read PBM, PGM, or PPM and does so with a recent version of the
Netpbm library will read an equivalent PAM image just fine and the
program will never know the difference.
- To confuse things more, there is a collection of library routines
+ To confuse things more, there is a collection of library routines
called the "pam" functions that read and write the PAM
format, but also read and write the PBM, PGM, and PPM formats. They
do this because the latter formats are much older and more popular, so
@@ -80,21 +80,21 @@ even a new program must work with them. Having the library handle all
the formats makes it convenient to write programs that use the newer
PAM format as well.
- A convenient way to read and write the PAM format accurately is via the
+ A convenient way to read and write the PAM format accurately is via the
libnetpbm C subroutine library.
- A PAM file consists of a sequence of one or more PAM images. There are
+ A PAM file consists of a sequence of one or more PAM images. There are
no data, delimiters, or padding before, after, or between images.
-
+
Each PAM image consists of a header followed immediately by a raster.
-
+
Here is an example header:
The header begins with the ASCII characters "P7" followed
+ The header begins with the ASCII characters "P7" followed
by newline. This is the magic number.
- Note: xv thumbnail images also start with the "P7" magic number.
+ Note: xv thumbnail images also start with the "P7" magic number.
(This and PAM were independent extensions to the Netpbm formats). The rest
of the format makes it easy to distinguish PAM from that format, though).
- The header continues with an arbitrary number of lines of ASCII
+ The header continues with an arbitrary number of lines of ASCII
text. Each line ends with and is delimited by a newline character.
- Each header line consists of zero or more whitespace-delimited
+ Each header line consists of zero or more whitespace-delimited
tokens or begins with "#". If it begins with "#"
it is a comment and the rest of this specification does not apply to
it.
- A header line which has zero tokens is valid but has no meaning.
+ A header line which has zero tokens is valid but has no meaning.
- The type of header line is identified by its first token, which is
+ The type of header line is identified by its first token, which is
8 characters or less:
- If there are multiple TUPLTYPE header lines, the tuple type
+ If there are multiple TUPLTYPE header lines, the tuple type
is the concatenation of the values from each of them, separated by a
single blank, in the order in which they appear in the header. If
-there are no TUPLTYPE header lines the tuple type is the null
+there are no TUPLTYPE header lines the tuple type is the null
string.
-
+
The raster consists of each row of the image, in order from top to bottom,
consecutive with no delimiter of any kind between, before, or after, rows.
-
+
Each row consists of every tuple in the row, in order from left to
right, consecutive with no delimiter of any kind between, before, or
after, tuples.
-
+
Each tuple consists of every sample in the tuple, in order,
consecutive with no delimiter of any kind between, before, or after,
samples.
-
+
Each sample consists of an unsigned integer in pure binary format,
with the most significant byte first. The number of bytes is the
minimum number of bytes required to represent the maxval of the image.
@@ -190,20 +190,20 @@ minimum number of bytes required to represent the maxval of the image.
The character referred to as "newline" herein is the
character known in ASCII as Line Feed or LF.
- Height, width, depth, and maxval are at least 1.
Height, width, and depth have no defined maximum, but processors and
generators of images usually have their own limitations.
- The maxval of an image is never greater than 65535. (The reason it is
+ The maxval of an image is never greater than 65535. (The reason it is
limited is to make it easier to build an image processor, in which
intermediate arithmetic values often have to fit within 31 or 32 bits).
There was no specified limitation before October, 2005, but essentially
all implementations have always observed it.
- Some tuple types are defined in this specification to specify
official subformats of PAM for especially popular applications of the
@@ -225,34 +225,34 @@ separately validate that the depth is consistent with the tuple type. Also,
it is good practice to accept a depth that is too great and just ignore the
higher numbered planes.
- A common use of PAM images is to represent visual images such
+ A common use of PAM images is to represent visual images such
as are typically represented by images in the older and more concrete
PBM, PGM, and PPM formats.
A black and white image, such as would alternatively be represented by a
+ A black and white image, such as would alternatively be represented by a
PBM image, has a tuple type of "BLACKANDWHITE". Such a PAM image has a depth
of 1 and maxval 1 where the one sample in each tuple is 0 to represent a black
pixel and 1 to represent a white one. The maxval, height, width, and order of
tuples in the raster bear the obvious relationship to those of the equivalent
PGM image.
- Note that in the PBM format, a sample value of zero means white, but in
+ Note that in the PBM format, a sample value of zero means white, but in
PAM, zero means black.
A grayscale image, such as would alternatively be represented by a PGM
+ A grayscale image, such as would alternatively be represented by a PGM
image, has a tuple type of "GRAYSCALE". Such a PAM image has a depth of 1.
The maxval, height, width, and raster bear the obvious relationship to those
of the equivalent PGM image.
A color image, such as would alternatively be represented by a PPM image,
+ A color image, such as would alternatively be represented by a PPM image,
has a tuple type of "RGB". Such a PAM image has a depth of 3. The maxval,
height, width, and raster bear the obvious relationship to those of the PPM
image. The first plane represents red, the second green, and the third blue.
@@ -292,8 +292,9 @@ foreground color samples.
No Internet Media Type (aka MIME type, content type) for PBM has been
registered with IANA, but the unofficial value
-image/x-portable-arbitrarymap is assigned by this specification, to
-be consistent with conventional values for the older Netpbm formats.
+image/x-portable-arbitrarymap is
+assigned by this specification, to be consistent with conventional values for
+the older Netpbm formats.
All options can be abbreviated to their shortest unique prefix.
+ All options can be abbreviated to their shortest unique prefix.
You may use two hyphens instead of one. You may separate an option
name and its value with white space instead of an equals sign.
- This program is part of Netpbm.
- pamarith reads two PBM, PGM, PPM, or PAM images as input.
+ pamarith reads two PBM, PGM, PPM, or PAM images as input.
It performs the specified binary arithmetic operation on their sample
values and produces an output of a format which is the more general of
the two input formats. The two input images must be of the same width
@@ -36,9 +35,9 @@ and height. The arithmetic is performed on each pair of identically
located tuples to generate the identically located tuple of the
output.
- For the purpose of the calculation, it assumes any PBM, PGM, or PPM
+ For the purpose of the calculation, it assumes any PBM, PGM, or PPM
input image is the equivalent PAM image of tuple type
-BLACKANDWHITE, GRAYSCALE, or RGB, respectively,
+BLACKANDWHITE, GRAYSCALE, or RGB, respectively,
and if it produces a PBM, PGM, or PPM output, produces the equivalent
of the PAM image which is the result of the calculation.
@@ -49,7 +48,7 @@ argument image; the second pamfile argument identifies the
If the output is PAM, the tuple type is the same as the tuple type of
the left input image.
- pamarith performs the arithmetic on each pair of identically
+ pamarith performs the arithmetic on each pair of identically
located tuples in the two input images.
The arithmetic operation is in all cases fundamentally a function from two
@@ -86,10 +85,10 @@ corresponds to "full intensity."), and a sample value
divided by the maxval gives the fraction.
For pamarith, this interpretation applies to the regular
-arithmetic functions: -add, -subtract, -multiply,
+arithmetic functions: -add, -subtract, -multiply,
-divide,
--difference, -minimum, -maximum, -mean,
-and -compare. For those, you should think of the arguments and
+-difference, -minimum, -maximum, -mean,
+and -compare. For those, you should think of the arguments and
result as numbers in the range [0,1). For example, if the maxval of
the left argument image is 100 and the maxval of the right argument
image is 200 and the maxval of the output image is 200, and the left
@@ -97,7 +96,7 @@ sample value in an -add calculation is 50 and the right sample
is 60, the actual calculation is 50/100 + 60/200 = 160/200, and
the output sample value is 160.
- For these functions, pamarith makes the output image's
+ For these functions, pamarith makes the output image's
maxval the maximum of the two input maxvals, except with
-compare, where pamarith uses an output maxval of 2.
(Before Netpbm 10.14 (February 2003), there was no exception for
@@ -123,10 +122,10 @@ arithmetic on the fractions 5/255 and 10/255. It multiplies those
together and then rescales to the output maxval, giving a sample value
in the output PAM of 50/255 rounded to the nearest integer: 0.
- With the bit string operations, the maxval has a whole different
-meaning. The operations in question are: -and, -or,
--nand, -nor, -xor, and -shiftleft,
--shiftright.
+ With the bit string operations, the maxval has a whole different
+meaning. The operations in question are: -and, -or,
+-nand, -nor, -xor, and -shiftleft,
+-shiftright.
With these, each sample value in one or both input images, and in
the output image, represents a bit string, not a number. The maxval
@@ -144,30 +143,62 @@ interpretation of the samples. The sample value is the actual shift
count. But it's still required that no sample value exceed the
maxval.
- Most of the operations are obvious from the option name. The following
-paragraphs cover those that aren't.
+ -subtract subtracts a value in the right input image from a
-value in the left input image.
+ pamarith applies only binary functions. If you want to apply a
+unary function, e.g. "halve", to a single image, use pamfunc.
- -difference calculates the absolute value of
-the difference.
- -multiply does an ordinary arithmetic multiplication, but
-tends to produce nonobvious results because of the way pamarith
-interprets sample values. See Maxval.
+ -divide divides a value in the left input image by the value
-in the right input image. But like -multiply, it tends to
-produce nonobvious results. Note that pamarith clipping
-behavior makes this of little use when the left argument (dividend) is
-greater than the right argument (divisor) -- the result in that case
-is always the maxval. If the divisor is 0, the result is the maxval.
-This option was new in Netpbm 10.30 (October 2005).
+ In addition to the options common to all programs based on libnetpbm
+(most notably -quiet, see
+Common Options), pamarith recognizes the following
+command line options:
- -compare produces the value 0 when the value in the
+ These options select the function that pamarith applies.
+
+ You must specify one of these, and cannot specify more than one.
+
+ -divide was new in Netpbm 10.30 (October 2005).
+
+ -compare was new in Netpbm 10.13 (December 2002).
- -and, -nand, -or, -nor, and -xor
-consider the input and output images to contain bit strings; they
-compute bitwise logic operations. Note that if the maxval is 1, you
-can also look at these as logic operations on boolean input values.
+ -shiftleft and -shiftright consider the left input
-image and output image to contain bit strings. They compute a bit
-shift operation, with bits falling off the left or right end and
-zeroes shifting in, as opposed to bits off one end to the other. The
-right input image sample value is the number of bit positions to
-shift.
+ Note that the maxval (see Maxval) determines
the width of the frame within which you are shifting.
- If you want to apply a unary function, e.g. "halve", to a single
-image, use pamfunc.
+ pamarith replaced pnmarith in Netpbm 10.3 (June 2002).
@@ -231,25 +259,29 @@ would be removed from Netpbm -- the plan was just to rewrite it to use
the images to have different depths as long as one of them has depth 1, and
that made it backward compatible with pnmarith.
- The original pnmarith did not have the -mean option.
+ The original pnmarith did not have the -mean option.
- The -compare option was added in Netpbm 10.13 (December 2002).
+ The -compare option was added in Netpbm 10.13 (December 2002).
The bit string operations were added in Netpbm 10.27 (March 2005).
- The -divide option was added in Netpbm 10.30 (October 2005).
-
- The -divide option was added in Netpbm 10.30 (October 2005).
+
+ Minimum unique abbreviation of option is acceptable. You may use double
hyphens instead of single hyphen to denote options. You may use white
space in place of the equals sign to separate an option name from its value.
- This program is part of Netpbm.
@@ -40,7 +40,7 @@ illegally large sample values.
pamfix looks at only on the first image in a multi-image stream.
- This is a stream that is missing the last part. Netpbm corrects this
by creating an output image that simply has fewer rows.
@@ -111,12 +111,42 @@ in the image. Request this with -changemaxval.
You cannot specify both -clip and -changemaxval.
- In addition to the options common to all programs based on libnetpbm
+(most notably -quiet, see
+Common Options), pamfix recognizes the following
+command line options:
+
+ pammixmulti - blend together multiple PAM images pammixmulti - blend together multiple PAM images
Minimum unique abbreviation of an option is acceptable. You can use a
single hyphen instead of double hyphens to denote options. You can use white
space in place of the equals sign to separate an option name from its
-value. This file is part of Netpbm. This file is part of Netpbm.
pammixmulti mixes two or more images to produce a new image. The
program provides multiple ways to interpret "mix."
pammixmulti accepts the following command-line options: In addition to the options common to all programs based on libnetpbm
+(most notably -quiet, see
+Common Options), pammixmulti recognizes the following
+command line options:
+
+ This option specifies how the input images should be mixed to produce the
@@ -50,7 +50,7 @@ output is produced by selecting the corresponding pixel from one of the input
images, chosen at random on a per-pixel basis. With
--blend=OPTIONS
SEE ALSO
diff --git a/extendedopacity.html b/extendedopacity.html
index 4205cd8c..09a50858 100644
--- a/extendedopacity.html
+++ b/extendedopacity.html
@@ -131,7 +131,7 @@ an image by continuously changing a single parameter.
The best hardware mechanisms employ a
single "inner loop" to achieve a wide variety of effects. Interpolation
and extrapolation of images can be a unifying approach, providing a single
-function that supports many common image processing operations.
+function that can do many common image processing operations.
hpcdtoppm
-Updated: 7 August 2003
-
-
-Table Of Contents
-
-NAME
+
+hpcdtoppm
+Updated: 07 August 2003
+
+Table Of Contents
+
+NAME
hpcdtoppm - convert a Photo-CD image into a PBM image
-SYNOPSIS
-
-hpcdtoppm
-infile
-[-a]
-[{-C|-0|-Overview|-O} file opt]
-[-c0]
-[-c-]
-[-c+]
-[-crop]
-[-d]
-[-dpi f]
-[-eps]
-[-epsd]
-[-epsg]
-[-fak scale]
-[-hori]
-[-i]
-[-l]
-[-m]
-[-n]
-[-pb pos]
-[-pgm]
-[-ph height]
-[-pl pos]
-[-pos]
-[-ppm]
-[-ps]
-[-psd]
-[-psg]
-[-pw width]
-[-r]
-[-rep]
-[-S long short]
-[-s]
-[-vert]
-[-x]
-[-ycc]
-[-1|-Base/16|-128x192]
-[-2|-Base/4|-256x384]
-[-3|-Base|-512x768]
-[-4|-4Base|-1024x1536]
-[-5|-16Base|-2048x3072]
-[-6|-64Base|-4096x6144]
-[outfile]
-
-DESCRIPTION
+SYNOPSIS
+
+hpcdtoppm
+infile
+[-a]
+[{-C|-0|-Overview|-O} file opt]
+[-c0]
+[-c-]
+[-c+]
+[-crop]
+[-d]
+[-dpi f]
+[-eps]
+[-epsd]
+[-epsg]
+[-fak scale]
+[-hori]
+[-i]
+[-l]
+[-m]
+[-n]
+[-pb pos]
+[-pgm]
+[-ph height]
+[-pl pos]
+[-pos]
+[-ppm]
+[-ps]
+[-psd]
+[-psg]
+[-pw width]
+[-r]
+[-rep]
+[-S long short]
+[-s]
+[-vert]
+[-x]
+[-ycc]
+[-1|-Base/16|-128x192]
+[-2|-Base/4|-256x384]
+[-3|-Base|-512x768]
+[-4|-4Base|-1024x1536]
+[-5|-16Base|-2048x3072]
+[-6|-64Base|-4096x6144]
+[outfile]
+
+DESCRIPTION
+
-
Format Resolution
------ ----------
64Base 4096x6144 (ProPhotoCD only)
@@ -83,309 +82,314 @@ overview file appears in photo_cd/overview.pcd.
Base 512x768
Base/4 256x384
Base/16 128x192
-
+OPTIONS
+OPTIONS
Invoking hpcdtoppm without arguments produces a list of default
values. Note that you can supply only one size option.
-
-
-
+
+
-
-
+
+
-
-where long and short take one of two forms:
+where long and short take one of two forms:
-
+
+
-
-and where a and b are either integers representing pixel
+and where a and b are either integers representing pixel
locations, or floating point values over the range [0.0 ... 1.0],
representing the fraction of the length of a side.
-
+
+Postcript Output
+POSTSCRIPT OUTPUT
-
-
-
+
+Limitations
+LIMITATIONS
SEE ALSO
+SEE ALSO
-pcdovtoppm,
-pamarith,
-ppm,
-ppmhist,
-pnmquant,
-ppmtopgm,
-ppmtorgb3,
+pcdovtoppm,
+pamarith,
+ppm,
+ppmhist,
+pnmquant,
+ppmtopgm,
+ppmtorgb3,
xv
-VERSION
+VERSION
AUTHOR
+AUTHOR
-Copyright (c) 1992, 1993, 1994 by Hadmut Danisch (danisch@ira.uka.de).
+Copyright (c) 1992, 1993, 1994 by Hadmut Danisch (danisch@ira.uka.de).
-Table Of Contents
-
-
-
+
+Table Of Contents
+
+
+
diff --git a/icontopbm.html b/icontopbm.html
index 684e230c..e77cd875 100644
--- a/icontopbm.html
+++ b/icontopbm.html
@@ -1,21 +1,19 @@
-
-icontopbm
+
+icontopbm
-Table Of Contents
+NAME
-NAME
+icontopbm - replaced by sunicontopnm
-icontopbm - convert a Sun icon image to PBM
+SYNOPSIS
-SYNOPSIS
+icontopbm
+[iconfile]
-icontopbm
-[iconfile]
-
-DESCRIPTION
+DESCRIPTION
Jbigtopnm
+
+jbigtopnm
Updated: 29 September 2018
-
-Table Of Contents
+
+Table Of Contents
-NAME
+NAME
jbigtopnm - JBIG to PNM image file converter
-SYNOPSIS
+SYNOPSIS
-jbigtopnm
+jbigtopnm
[-xmax]
[-ymax]
[-binary]
[-diagnose]
[-plane]
-[input-file [output-file]]
+[input-file [output-file]]
DESCRIPTION
+DESCRIPTION
OPTIONS
+OPTIONS
+
+
+
-
-
+STANDARDS
+STANDARDS
AUTHOR
+AUTHOR
-SEE ALSO
+SEE ALSO
-pnm,
-pnmtojbig
+pnm,
+pnmtojbig
-LICENSE
+LICENSE
-If you use jbigtopnm, you are using various patents,
+If you use jbigtopnm, you are using various patents,
particularly on its arithmetic encoding method, and in all probability
you do not have a license from the patent owners to do so.
-
-Table Of Contents
-
-
-
+
+Table Of Contents
+
+
+
diff --git a/jpegtopnm.html b/jpegtopnm.html
index 1d489070..9262e033 100644
--- a/jpegtopnm.html
+++ b/jpegtopnm.html
@@ -1,39 +1,39 @@
-
-JPEGTOPNM
+
+jpegtopnm
Updated: 13 October 2002
-
-Table Of Contents
+
+Table Of Contents
-NAME
+NAME
jpegtopnm - convert JPEG/JFIF file to PPM or PGM image
-SYNOPSIS
-
-jpegtopnm
-[-dct {int|fast|float}]
-[-nosmooth]
-[-maxmemory N]
-[{-adobe|-notadobe}]
-[-comments]
-[-dumpexif]
-[-exif=filespec]
-[-multiple]
-[-repair]
-[-verbose]
-[-tracelevel N]
-[filename]
+SYNOPSIS
+
+jpegtopnm
+[-dct {int|fast|float}]
+[-nosmooth]
+[-maxmemory N]
+[{-adobe|-notadobe}]
+[-comments]
+[-dumpexif]
+[-exif=filespec]
+[-multiple]
+[-repair]
+[-verbose]
+[-tracelevel N]
+[filename]
DESCRIPTION
+DESCRIPTION
OPTIONS
+OPTIONS
-The options are only for advanced users:
-
-
-
+
+EXAMPLES
+EXAMPLES
-
+
-
jpegtopnm foo.jpg >foo.ppm
-
+HINTS
+HINTS
-You can use pnmquant to color quantize the result, i.e. to
+You can use pnmquant to color quantize the result, i.e. to
reduce the number of distinct colors in the image. In fact, you may
have to if you want to convert the PPM file to certain other formats.
-ppmdither Does a more sophisticated quantization.
+ppmdither Does a more sophisticated quantization.
-
+
-
jpegtopnm foo.jpg | ppmtopgm | pamscale .25 >foo.pgm
-
+ENVIRONMENT
+ENVIRONMENT
-
-
-
+
+SEE ALSO
+SEE ALSO
AUTHOR
+AUTHOR
-
-Table Of Contents
-
-
-
-
+
+Table Of Contents
+
+
+
+
diff --git a/mrf.html b/mrf.html
index f0f0e531..7415980e 100644
--- a/mrf.html
+++ b/mrf.html
@@ -12,7 +12,7 @@ MRF - monochrome recursive format (compressed bitmaps)
DESCRIPTION
-pam
+
+
+
+pam
Updated: 27 November 2013
-
+
+Table Of Contents
-GENERAL
+GENERAL
The Confusing Universe of Netpbm Formats
+The Confusing Universe of Netpbm Formats
-THE LAYOUT
+THE LAYOUT
-
-
+
P7
WIDTH 227
HEIGHT 149
@@ -102,87 +102,87 @@ DEPTH 3
MAXVAL 255
TUPLTYPE RGB
ENDHDR
-
+
-
-
-
+
+LIMITATIONS
+LIMITATIONS
DEFINED TUPLE TYPES
+DEFINED TUPLE TYPES
PAM Used For Visual Images
+PAM Used For Visual Images
-Black And White
-Grayscale
-Color
-FILE NAME
@@ -301,36 +302,36 @@ be consistent with conventional values for the older Netpbm formats.
But this is not required.
-SEE ALSO
-
-Netpbm,
-pbm,
-pgm,
-ppm,
-pnm,
-libnetpbm
-
-
-
-Table Of Contents
-
-
-
-
-
+
-
-
-
- SEE ALSO
+
+Netpbm,
+pbm,
+pgm,
+ppm,
+pnm,
+libnetpbm
+
+
+
+Table Of Contents
+
+
+
+
+
diff --git a/pamarith.html b/pamarith.html
index 6ef9c639..e42af51d 100644
--- a/pamarith.html
+++ b/pamarith.html
@@ -1,34 +1,33 @@
-
-
-
+
+
+
+ pamarith
+
+pamarith
Updated: 03 January 2015
-
-Table Of Contents
+
+Table Of Contents
-NAME
+NAME
pamarith - perform arithmetic on two Netpbm images
-SYNOPSIS
+SYNOPSIS
-pamarith
--add | -subtract | -multiply | -divide |
--difference |
--minimum | -maximum | -mean | -compare |
--and | -or | -nand | -nor | -xor |
--shiftleft | -shiftright
-pamfile1 pamfile2
+pamarith
+-add | -subtract | -multiply | -divide |
+-difference |
+-minimum | -maximum | -mean | -compare |
+-and | -or | -nand | -nor | -xor |
+-shiftleft | -shiftright
+pamfile1 pamfile2
-DESCRIPTION
+DESCRIPTION
The Operations
-NOTE: UNARY FUNCTIONS
-OPTIONS
-The Function
+
+
+
+
-Notes
-
-SEE ALSO
+SEE ALSO
-pamfunc,
-pamsummcol,
-pamsumm,
-pnminvert,
-pambrighten,
-ppmdim,
-pnmconvol,
-pamdepth,
-pnmpsnr,
-pnm,
-pam
+pamfunc,
+pamsummcol,
+pamsumm,
+pnminvert,
+pambrighten,
+ppmdim,
+pnmconvol,
+pamdepth,
+pnmpsnr,
+pnm,
+pam
-HISTORY
+HISTORY
-Table Of Contents
-
-
-
-
+
+Table Of Contents
+
+
+
+
diff --git a/pamfix.html b/pamfix.html
index 1decac85..f4021fc7 100644
--- a/pamfix.html
+++ b/pamfix.html
@@ -1,32 +1,32 @@
-
-
+
+
+
+pamfix
+
+pamfix
Updated: 06 March 2014
-
-Table Of Contents
+
+Table Of Contents
-NAME
+NAME
pamfix - repair a Netpbm image with various corruptions
-SYNOPSIS
+SYNOPSIS
-pamfix
+pamfix
[-truncate]
[-changemaxval]
[-clip]
[-verbose]
-[netpbmfile]
+[netpbmfile]
DESCRIPTION
+DESCRIPTION
Truncated stream
+Truncated Stream
SEE ALSO
+OPTIONS
-pnm,
-pam,
-pamcut,
-pamfile,
+
+
+
+SEE ALSO
+
+pnm,
+pam,
+pamcut,
+pamfile,
+pamvalidate
HISTORY
@@ -125,15 +155,18 @@ in the image. Request this with -changemaxval.
the truncated image repair (and for invalid sample values would simply pass
them through to its output, generating an invalid Netpbm image).
-
-Table Of Contents
-
-
-
+
+Table Of Contents
+
+
+
+
diff --git a/pammixmulti.html b/pammixmulti.html
index c5854c32..97cf4122 100755
--- a/pammixmulti.html
+++ b/pammixmulti.html
@@ -1,18 +1,14 @@
-
-
-
-
-pammixmulti
-
-Updated: 18 November 2018
+Updated: 18 November 2018
+
Table Of Contents
-NAME
-NAME
+SYNOPSIS
@@ -26,20 +22,24 @@ Updated: 18 November 2018
DESCRIPTION
-OPTIONS
-
+
mask
, each pixel in the output is produced by a
weighted average of the corresponding pixels from all the input images based
-on the grayscale level of an additional mask image.
You supply the names of the files to mix as non-option arguments.
+You supply the names of the files to mix as non-option arguments.
Average a bunch of PPM images to produce a new PAM image:
+Average a bunch of PPM images to produce a new PAM image:
pammixmulti input*.ppm >output.ppm
Mix these same images by taking each pixel from a randomly selected input -image:
+image:
pammixmulti --blend=random input*.ppm >output.ppm
Use a mask image to control the fading among input images on a -pixel-by-pixel basis:
+pixel-by-pixel basis:
pammixmulti --blend=mask --maskfile=mask.pgm >output.pam \
one.pam two.pam three.pam four.pam
-Do the same but with more abrupt transitions:
+Do the same but with more abrupt transitions:
pammixmulti --blend=mask --maskfile=mask.pgm --stdev=0.0 >output.pam \
one.pam two.pam three.pam four.pam
-and now with more gradual transitions:
+and now with more gradual transitions:
pammixmulti --blend=mask --maskfile=mask.pgm --stdev=1.0 >output.pam \
@@ -131,14 +131,14 @@ pixel-by-pixel basis:
-pammixmulti was new in Netpbm 10.85 (December 2018).
Copyright 2018 Scott Pakin, scott+pbm@pakin.org.
+Copyright 2018 Scott Pakin, scott+pbm@pakin.org.
Minimum unique abbreviation of option is acceptable. You may use double -hyphens instead of single hyphen to denote options. You may use white -space in place of the equals sign to separate an option name from its value. - -
This program is part of Netpbm. @@ -38,6 +33,6 @@ options. But the one feature it had that pnmtopng lacked was the ability to recognize transparency in a PAM image. pamtopng has that, as well as most of the features of pnmtopng. - - + + diff --git a/pamshadedrelief.html b/pamshadedrelief.html index 179313be..95e701cf 100644 --- a/pamshadedrelief.html +++ b/pamshadedrelief.html @@ -1,27 +1,27 @@ - -
This program is part of Netpbm. -
pamshadedrelief creates a shaded relief image from an elevation map. +
pamshadedrelief creates a shaded relief image from an elevation map. A shaded relief image is a visual image of terrain, showing the terrain as if illuminated by oblique light and viewed from above, so that the brightess of each spot depends upon its slope. A common example of a shaded relief image @@ -43,88 +43,92 @@ landscape. -
All options can be abbreviated to their shortest unique prefix. +
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pamshadedrelief recognizes the following +command line option: -
Note that this is separate from the gamma correction that is part of the -definition of the PAM GRAYSCALE format. The image pamshadedrelief +
Note that this is separate from the gamma correction that is part of the +definition of the PAM GRAYSCALE format. The image pamshadedrelief generates is a genuine, gamma-corrected PAM GRAYSCALE image in any case. This option simply changes the contrast and may compensate for a display device that does not correctly render PAM GRAYSCALE images. -
pgmcrater, from which this is derived, was written by John Walker: -
+-John Walker Autodesk SA Avenue des Champs-Montants 14b CH-2074 MARIN Suisse/Schweiz/Svizzera/Svizra/Switzerland - Usenet:kelvin@Autodesk.com - Fax:038/33 88 15 - Voice:038/33 76 33 -+ Usenet:kelvin@Autodesk.com + Fax:038/33 88 15 + Voice:038/33 76 33 +
Permission to use, copy, modify, and distribute this software and +
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided "as is" without express or implied warranty. -
pgmcrater was split into pamshadedrelief and pamcrater in Netpbm 10.68 (September 2014). See the history section of the pamcrater manual for details. -
This program is part of Netpbm.
pamsplit reads a PNM or PAM stream as input. It copies each image in the input into a separate file, in the same format. -
netpbmfile is the file name of the input file, or -- to indicate Standard Input. The default is Standard Input. +
netpbmfile is the file name of the input file, or +- to indicate Standard Input. The default is Standard Input. -
output_file_pattern tells how to name the output files. It +
output_file_pattern tells how to name the output files. It is the file name of the output file, except that the first occurrence of "%d" in it is replaced by the image sequence number in unpadded ASCII decimal, with the sequence starting at 0. If -there is no "%d" in the pattern, pamsplit fails. +there is no "%d" in the pattern, pamsplit fails. -
The default output file pattern is "image%d". +
The default output file pattern is "image%d". -
The -padname option specifies to how many characters you +
The -padname option specifies how many characters you want the image sequence number in the output file name padded with zeroes. pamsplit adds leading zeroes to the image sequence number to get up to at least that number of characters. This is just @@ -52,14 +52,10 @@ example, pamsplit - outputfile%d.ppm -padname=3 would yield output filenames outputfile000.ppm, outputfile001.ppm, etc. -
The default is no padding (equivalent to -padname=0). -
The -padname option was new in Netpbm 10.23 (July 2004). -Before that, there was never any padding. - -
Note that to do the reverse operation (combining multiple +
Note that to do the reverse operation (combining multiple single-image Netpbm files into a multi-image one), there is no special -Netpbm program. Just use cat. +Netpbm program. Just use cat.
If you just want to find out basic information about the images in a stream, you can use pamfile on the stream. @@ -71,21 +67,44 @@ them, use pampick. files, use pamexec. -
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pamsplit recognizes the following +command line option: + +
The default is no padding (equivalent to -padname=0). + +
The -padname option was new in Netpbm 10.23 (July 2004). +Before that, there was never any padding. + +
Updated: 10 May 2020
- - - +pamstereogram - create a single-image stereogram from a PAM -depth map
+pamstereogram - create a single-image stereogram from a PAM depth mapThis program is part of Netpbm.
+This program is part of Netpbm.
pamstereogram inputs a depth map (a map of the distances from your eye of the points in a scene) and outputs a single-image @@ -62,22 +54,22 @@ eyes. What's exciting about single-image stereograms is that they don't require special glasses to view, although it does require a bit of practice to train your eyes to unfocus properly. The pamstereogram program provides a wealth of control over how the -stereogram is generated, including the following:
+stereogram is generated, including the following:The output is a PAM image on standard output. Options control @@ -87,48 +79,55 @@ if you will use the image as input to a current Netpbm program, but many other programs don't know what a PAM is.
To make a red/green type of stereogram (that you view with 3-D -glasses) instead, see ppm3d.
+glasses) instead, see ppm3d.In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pamstereogram recognizes the following +command line options: +
You may use either single or double hyphens to denote options. You may use either whitespace or an equals sign to separate an option name -from its value.
+from its value.This option was new in Netpbm 10.71 (June 2015). -
This option was new in Netpbm 10.53 (December 2010).
-This option was new in Netpbm 10.53 (December 2010). + -
This option was new in Netpbm 10.53 (December 2010).
-This option was new in Netpbm 10.53 (December 2010). -
This option was new in Netpbm 10.53 (December 2010). Before -Netpbm 10.61 (December 2012), it has no effect without -texfile.
-This option was new in Netpbm 10.61 (December 2012). Before that, the presence of -guidesize, with a positive value, has the same effect. -
Before Netpbm 10.53 (December 2010), the default was 96 DPI.
-Before Netpbm 10.53 (December 2010), the default was 96 DPI. + -
Before Netpbm 10.53 (December 2010), pamstereogram used higher (lighter) numbers for things closer to the eye without --crosseyed and vice versa.
-The number of distinct 3-D depths is far @@ -300,26 +299,25 @@ parameters (distance between eyes and tradeoff between perceptibility and depth) while -planes is a more computer-centric way (pixel distances in the resulting stereogram). -
This option was new in Netpbm 10.59 (June 2012).
-This option was new in Netpbm 10.59 (June 2012). + -
It is useful to specify the seed if you want to create reproducible results. With the same random seed, you should get identical results -every time you run pamstereogram.
+every time you run pamstereogram.This is irrelevant if you use a pattern file (-patfile option), because there is no random element to pamstereogram's -behavior.
+behavior. -This option was new in Netpbm 10.32 (February 2006).
-This option was new in Netpbm 10.32 (February 2006). -
This option was new in Netpbm 10.91 (June 2020). -
The only parameter, infile, is the name of an input file that is a depth map image. If you don't specify infile, the -input is from standard input.
+input is from standard input.The input is a PAM image of depth 1. Each sample represents the distance from the eye that the 3-D image at that location should @@ -347,10 +344,10 @@ be. Lower (darker) numbers mean further from the eye.
pamstereogram pays no attention to the image's tuple type and -ignores all planes other than plane 0.
+ignores all planes other than plane 0.Like any Netpbm program, pamstereogram will accept PNM -input as if it were the PAM equivalent.
+input as if it were the PAM equivalent.You create an MTS with pamstereogram by passing the filename of a PAM "texture image" with a -texfile option. A texture image portrays the same 3-D object as the depth-map image but -indicates the colors that the program should apply to the object.
+indicates the colors that the program should apply to the object.pamstereogram ignores the texture image's background color when it overlaps copies of the 3-D object. This prevents, for example, a bright-red @@ -373,32 +370,32 @@ object remains bright red. A consequence of this feature is that an MTS looks best when the objects in the texture image have a crisp outline. Smooth transitions to the background color result in unwanted color artifacts around edges because the program ignores only exact matches with the -background color.
+background color.You should specify a larger-than-normal value for -eyesep (and/or -dpi) when producing an MTS. Otherwise, the 3-D object will repeat so many times that most colored pixels will overlap other colored -pixels, reducing the number of true-colored pixels that remain.
+pixels, reducing the number of true-colored pixels that remain.An MTS can employ a background pattern (-patfile). In this case, pamstereogram replaces background pixels with pattern pixels in -the final step of generating the image.
+the final step of generating the image.A good initial test is to input an image consisting of a solid shape of distance 0 within a large field of maximum distance (e.g., a -white square on a black background).
+white square on a black background).With the default values for -dpi and -eyesep, pattern -images that are 128 pixels wide can tile seamlessly.
+images that are 128 pixels wide can tile seamlessly.Generate a SIRDS out of small, brightly colored squares and -prepare it for display on an 87 DPI monitor:
+prepare it for display on an 87 DPI monitor:pamstereogram depthmap.pam \ @@ -409,7 +406,7 @@ prepare it for display on an 87 DPI monitor:Generate a SIS by tiling a PPM file (a prior run with -verbose indicates how wide the pattern file should be for seamless tiling, although any width is acceptable for producing -SISes):
+SISes):pamstereogram depthmap.pam -patfile mypattern.ppm >3d.pam @@ -419,7 +416,7 @@ SISes):Generate an MTS by associating colors with a depth-mapped object (using a large eye separation to reduce the number of repetitions of the texture image) and twice smoothing over background-colored -speckles:
+speckles:pamstereogram depthmap.pam \ @@ -430,25 +427,25 @@ speckles:SEE ALSO
pamstereogram was new in Netpbm 10.22 (April 2004), but probably broken beyond usability until Netpbm 10.32 (February 2006) and Netpbm 10.26.23 @@ -459,26 +456,25 @@ broken beyond usability until Netpbm 10.32 (February 2006) and Netpbm 10.26.23 Netpbm 10.61 (December 2012). -
Copyright © 2006-2020 Scott Pakin, scott+pbm@pakin.org.
+Copyright © 2006-2020 Scott Pakin, scott+pbm@pakin.org. -
All options can be abbreviated to their shortest unique prefix. +
All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign. -
This program is part of Netpbm. @@ -51,36 +51,41 @@ want to summarize a particular plane, use pamchannel to extract it and then pamsumm. -
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pamsumm recognizes the following +command line options:
You must specify exactly one of -sum, -mean, -min, or -max. -
This option makes the summary function addition. +
This option makes the summary function addition. -
This option makes the summary function arithmetic mean. +
This option makes the summary function arithmetic mean. -
This option makes the summary function arithmetic minimum. +
This option makes the summary function arithmetic minimum. -
This option makes the summary function arithmetic maximum. +
This option makes the summary function arithmetic maximum. -
This option causes each sample to be normalized to a fraction +
This option causes each sample to be normalized to a fraction (in the range 0..1) so the result is independent of the image's maxval. E.g. if you request the mean of an image which has maxval 200 and all the samples have value 50, pamsumm will give you @@ -106,12 +111,12 @@ extract it and then pamsumm.
This option was new in Netpbm 10.22 (April 2004) -
This program is part of Netpbm. @@ -26,12 +26,12 @@ sample values. For example, a 5-pixel wide, 2-pixel high rainbow (black, red, green, blue, white) PPM image with maxval 255 would appear as follows:
-
+
0 0 0|255 0 0| 0 255 0| 0 0 255|255 255 255
0 0 0|255 0 0| 0 255 0| 0 0 255|255 255 255
-
+
@@ -53,7 +53,7 @@ number of spaces required to print the maxval of the image.
If you want the samples to print more densely, use pamdepth to reduce the maxval (thus making the decimal numbers for the samples narrower). -
The less program (not part of Netpbm) is good for browsing through +
The less program (not part of Netpbm) is good for browsing through the table. Use its --chop-long-lines option and use cursor movement keys to scroll around in the image. @@ -67,33 +67,36 @@ comes from Standard Input.
None. +
There are no command line options defined specifically +for pamtable, but it recognizes the options common to all +programs based on libnetpbm (See +Common Options.) -
pamtable was new in Netpbm 10.79 (June 2017). -
All options can be abbreviated to their shortest unique prefix. +
All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign. -
This program is part of Netpbm. @@ -43,27 +43,30 @@ raster file of the to left corner of the glyph, and the width of the glyph in pixels. -
None. +
There are no command line options defined specifically +for pamtompfont, but it recognizes the options common to all +programs based on libnetpbm (See +Common Options.) -
pamtompfont was added to Netpbm in Release 10.43 (June 2008). -
- % pamtooctaveimg myimage.ppm > myimage.img + % pamtooctaveimg myimage.ppm > myimage.img % octave > [img,map] = loadimage("myimage.img"); diff --git a/pamtotiff.html b/pamtotiff.html index e2301097..4334a543 100644 --- a/pamtotiff.html +++ b/pamtotiff.html @@ -1,59 +1,59 @@ - -In Bash, you would set up a read/write Standard Output to the file /tmp/myimage.tiff like this:Pamtotiff User Manual - -pamtotiff
+ +Pamtotiff User Manual + +pamtotiff
Updated: 05 April 2017 -
-Table Of Contents +
+Table Of Contents -NAME
+NAME
pamtotiff - convert a Netpbm image to a TIFF file -SYNOPSIS
+SYNOPSIS
-pamtotiff +pamtotiff -[-none | -packbits | -lzw | -g3 | -g4 -| -flate | -adobeflate] +[-none | -packbits | -lzw | -g3 | -g4 +| -flate | -adobeflate] -[-2d] +[-2d] -[-fill] +[-fill] -[-predictor=n] +[-predictor=n] -[-msb2lsb|-lsb2msb] +[-msb2lsb|-lsb2msb] -[-rowsperstrip=n] +[-rowsperstrip=n] -[-minisblack|-miniswhite|mb|mw] +[-minisblack|-miniswhite|mb|mw] -[-truecolor] +[-truecolor] -[-color] +[-color] -[-indexbits=bitwidthlist] +[-indexbits=bitwidthlist]
-[-xresolution=xres] +[-xresolution=xres] -[-yresolution=yres] +[-yresolution=yres]
-[-resolutionunit={inch | centimeter | none | +[-resolutionunit={inch | centimeter | none | in | cm | no}] [-append] [-tag=taglist] -[pamfile] +[pamfile] -You can use the minimum unique abbreviation of the options. You +
You can use the minimum unique abbreviation of the options. You can use two hyphens instead of one. You can separate an option name from its value with white space instead of an equals sign. -
DESCRIPTION
+DESCRIPTION
This program is part of Netpbm. @@ -67,7 +67,7 @@ ignored all but the first Netpbm image in the input stream.
The Output File
-By default, the output goes to Standard Output. Alternatively, you can +
By default, the output goes to Standard Output. Alternatively, you can specify an output file with the -output option and pamtotiff will write its output directly to that file. @@ -131,18 +131,18 @@ for example, you would set up a write-only Standard Output to the file /tmp/myimage.tiff like this:
- + $ pamtotiff myimage.pnm >/tmp/myimage.tiff - +
- + $ pamtotiff myimage.pnm 1<>/tmp/myimage.tiff - +
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pamtotiff recognizes the following +command line options:
By default, pamtotiff creates a TIFF file with no +
By default, pamtotiff creates a TIFF file with no compression. This is your best bet most of the time. If you want to try another compression scheme or tweak some of the other even more obscure output options, there are a number of options which to @@ -169,20 +174,20 @@ now expired and new TIFF libraries do LZW, but the pamtotiff behavior remains the same for compatibility with older TIFF libraries and applications of pamtotiff. -
The -none, -packbits, -lzw, -g3, --g4, -flate, and -adobeflate options are used to +
The -none, -packbits, -lzw, -g3, +-g4, -flate, and -adobeflate options are used to override the default and set the compression scheme used in creating the output file. -The -predictor option is meaningful only with LZW compression: a +The -predictor option is meaningful only with LZW compression: a predictor value of 2 causes each scanline of the output image to undergo horizontal differencing before it is encoded; a value of 1 forces each -scanline to be encoded without differencing. By default, pamtotiff -creates a TIFF file with msb-to-lsb fill order. The -msb2lsb and --lsb2msb options are used to override the default and set the fill +scanline to be encoded without differencing. By default, pamtotiff +creates a TIFF file with msb-to-lsb fill order. The -msb2lsb and +-lsb2msb options are used to override the default and set the fill order used in creating the file. -
With some older TIFF libraries, -lzw doesn't work because +
With some older TIFF libraries, -lzw doesn't work because the TIFF library doesn't do LZW compression. This is because of concerns about Unisys's patent on LZW which was then in force. Actually, with very old TIFF libraries, -lzw works because no @@ -193,7 +198,7 @@ issue. patent-free compression common in the Unix world implemented by the "Z" library. It is what the PNG format uses. -
If you have bilevel data (e.g. PBM), you can generate a TIFF that uses the
same compression scheme specified for use by fax machines. See the Fill Order
The -msb2lsb and lsb2msb options control the fill order.
- The fill order is the order in which pixels are packed into a byte in
+ The fill order is the order in which pixels are packed into a byte in
the Tiff raster, in the case that there are multiple pixels per byte.
msb-to-lsb means that the leftmost columns go into the most
significant bits of the byte in the Tiff image. However, there is
@@ -230,55 +235,55 @@ endianness of integers in a Tiff image is designated by the image's
magic number). However, ImageMagick and older Netpbm both have been known
to implement that interpretation. 2001.09.06.
- If the image does not have sub-byte pixels, these options have no
+ If the image does not have sub-byte pixels, these options have no
effect other than to set the value of the FILLORDER tag in the Tiff
image (which may be useful for those programs that misinterpret the
tag with reference to 16 bit samples).
-color tells pamtotiff to produce a color, as
+ -color tells pamtotiff to produce a color, as
opposed to grayscale, TIFF image if the input is PPM, even if it
-contains only shades of gray. Without this option, pamtotiff
+contains only shades of gray. Without this option, pamtotiff
produces a grayscale TIFF image if the input is PPM and contains only
shades of gray, and at most 256 shades. Otherwise, it produces a
-color TIFF output. For PBM and PGM input, pamtotiff always
+color TIFF output. For PBM and PGM input, pamtotiff always
produces grayscale TIFF output and this option has no effect.
- The -color option can prevent pamtotiff from making
+ The -color option can prevent pamtotiff from making
two passes through the input file, thus improving speed and memory
usage. See Multiple Passes.
- -truecolor tells pamtotiff to produce the 24-bit RGB
+ -truecolor tells pamtotiff to produce the 24-bit RGB
form of TIFF output if it is producing a color TIFF image. Without
-this option, pamtotiff produces a colormapped (paletted) TIFF
+this option, pamtotiff produces a colormapped (paletted) TIFF
image unless there are more than 256 colors (and in the latter case,
issues a warning).
- The -truecolor option can prevent pamtotiff from
+ The -truecolor option can prevent pamtotiff from
making two passes through the input file, thus improving speed and
memory usage. See Multiple Passes.
- The -color and -truecolor options did not exist
+ The -color and -truecolor options did not exist
before Netpbm 9.21 (December 2001).
- If pamtotiff produces a grayscale TIFF image, this option
+ If pamtotiff produces a grayscale TIFF image, this option
has no effect.
- The -minisblack and -miniswhite options force the
+ The -minisblack and -miniswhite options force the
output image to have a "minimum is black" or "minimum
is white" photometric, respectively. If you don't specify
-either, pamtotiff uses minimum is black except when using Group
-3 or Group 4 compression, in which case pamtotiff follows CCITT
+either, pamtotiff uses minimum is black except when using Group
+3 or Group 4 compression, in which case pamtotiff follows CCITT
fax standards and uses "minimum is white." This usually
results in better compression and is generally preferred for bilevel
coding. These photometrics are for grayscale images, so these options are
invalid if the image is color (but only if it is truly color; they are
valid with, for example, a PPM image that contains only shades of gray).
- Before Netpbm 9.11 (February 200)1, pamtotiff always produced
+ Before Netpbm 9.11 (February 200)1, pamtotiff always produced
"minimum is black," because of a bug. In either case,
-pamtotiff sets the photometric interpretation tag in the TIFF
+pamtotiff sets the photometric interpretation tag in the TIFF
output according to which photometric is actually used.
Before Netpbm 10.78 (March 2017), pamtotiff respected
@@ -286,28 +291,28 @@ output according to which photometric is actually used.
invalid TIFF images that have the indicated photometric but red, green, and
blue raster planes.
- The -indexbits option is meaningful only for a colormapped
+ The -indexbits option is meaningful only for a colormapped
(paletted) image. In this kind of image, the raster contains values
which are indexes into a table of colors, with the indexes normally
taking less space that the color description in the table.
-pamtotiff can generate indexes of 1, 2, 4, or 8 bits. By
+pamtotiff can generate indexes of 1, 2, 4, or 8 bits. By
default, it will use 8, because many programs that interpret TIFF
images can't handle any other width.
- But if you have a small number of colors, you can make your image
+ But if you have a small number of colors, you can make your image
considerably smaller by allowing fewer than 8 bits per index, using the
--indexbits option. The value is a comma-separated list of the
-bit widths you allow. pamtotiff chooses the smallest width you allow
+-indexbits option. The value is a comma-separated list of the
+bit widths you allow. pamtotiff chooses the smallest width you allow
that allows it to index the entire color table. If you don't allow any
-such width, pamtotiff fails. Normally, the only useful value for
-this option is 1,2,4,8, because a program either understands the 8
+such width, pamtotiff fails. Normally, the only useful value for
+this option is 1,2,4,8, because a program either understands the 8
bit width (default) or understands them all.
- In a Baseline TIFF image, according to the 1992 TIFF 6.0
+ In a Baseline TIFF image, according to the 1992 TIFF 6.0
specification, 4 and 8 are the only valid widths. There are no formal
standards that allow any other values.
- This option was added in June 2002. Before that, only 8 bit indices were
+ This option was added in June 2002. Before that, only 8 bit indices were
possible.
See The Output File.
+ See The Output File.
-output names the output file. Without this option
pamtotiff writes to Standard Output.
@@ -396,29 +401,29 @@ always Standard Output in 10.67) instead of replacing its contents.
You can use the -rowsperstrip option to set the number of
+ You can use the -rowsperstrip option to set the number of
rows (scanlines) in each strip of data in the output file. By
default, the output file has the number of rows per strip set to a
value that will ensure each strip is no more than 8 kilobytes long.
- There are myriad variations of the TIFF format, and this program
-generates only a few of them. pamtotiff creates a grayscale
+ There are myriad variations of the TIFF format, and this program
+generates only a few of them. pamtotiff creates a grayscale
TIFF file if its input is a PBM (monochrome) or PGM (grayscale) or
-equivalent PAM file. pamtotiff also creates a grayscale file
+equivalent PAM file. pamtotiff also creates a grayscale file
if it input is PPM (color) or equivalent PAM, but there is only one
color in the image.
If the input is a PPM (color) file and there are 256 colors or
-fewer, but more than 1, pamtotiff generates a color palette
-TIFF file. If there are more colors than that, pamtotiff
+fewer, but more than 1, pamtotiff generates a color palette
+TIFF file. If there are more colors than that, pamtotiff
generates an RGB (not RGBA) single plane TIFF file. Use
-pnmtotiffcmyk to generate the cyan-magenta-yellow-black ink
+pnmtotiffcmyk to generate the cyan-magenta-yellow-black ink
color separation TIFF format.
- The number of bits per sample in the TIFF output is determined by
+ The number of bits per sample in the TIFF output is determined by
the maxval of the Netpbm input. If the maxval is less than 256, the bits
per sample in the output is the smallest number that can encode the
maxval. If the maxval is greater than or equal to 256, there are 16
@@ -460,25 +465,25 @@ your planes aren't really color components, you'll want to disable this
via the -color option.
- pamtotiff reads the input image once if it can, and
+ pamtotiff reads the input image once if it can, and
otherwise twice. It needs that second pass (which happens before the
main pass, of course) to analyze the colors in the image and generate
a color map (palette) and determine if the image is grayscale. So the
second pass happens only when the input is PPM. And you can avoid it
-then by specifying both the -truecolor and -color
+then by specifying both the -truecolor and -color
options.
- If the input image is small enough to fit in your system's file
+ If the input image is small enough to fit in your system's file
cache, the second pass is very fast. If not, it requires reading from
disk twice, which can be slow.
- When the input is from a file that cannot be rewound and reread,
-pamtotiff reads the entire input image into a temporary file
+ When the input is from a file that cannot be rewound and reread,
+pamtotiff reads the entire input image into a temporary file
which can, and works from that. Even if it needs only one pass.
- Before Netpbm 9.21 (December 2001), pamtotiff always read
+ Before Netpbm 9.21 (December 2001), pamtotiff always read
the entire image into virtual memory and then did one, two, or three
passes through the memory copy. The -truecolor and
-color options did not exist. The passes through memory would
@@ -487,7 +492,7 @@ The image in memory required considerably more memory (12 bytes per
pixel) than the cached file version of the image would.
- A Tiff image may contain information about the resolution of the image,
which means how big in real dimensions (centimeters, etc.) each pixel in the
@@ -535,7 +540,7 @@ does not contain horizontal resolution information. Likewise for
-yresolution. If you don't specify -resolutionunit, the
default is inches.
- This program is part of Netpbm.
@@ -47,31 +47,33 @@ stream.
See pamfix for a way to salvage an invalid Netpbm image stream.
- None.
+ There are no command line options defined specifically
+for pamvalidate, but it recognizes the options common to all
+programs based on libnetpbm (See
+Common Options.)
+ pamvalidate was new in Netpbm 10.66 (March 2014).
- You can abbreviate any option to its shortest unique prefix.
- This program is part of Netpbm.
@@ -28,31 +28,46 @@ pbmmake - create a blank bitmap of a specified size
height, either all black, all white, or a dithered gray. The default
is white.
- In addition to the usual -white and -black, this
-program implements -gray. This gives a simple 50% gray pattern
+ In addition to the options common to all programs based on libnetpbm
+(most notably -quiet, see
+Common Options), pbmmake recognizes the following
+command line options:
+
+ In addition to the usual -white and -black, this
+program implements -gray. This gives a simple 50% gray pattern
with 1's and 0's alternating.
- With none of the above specified, the output image will be entirely
+white.
+
+Color Space
-Extra Tags
@@ -373,7 +378,7 @@ an IMAGEWIDTH tag that gives the actual width of the image.
Output
-Other
-NOTES
+NOTES
-Multiple Passes
+Multiple Passes
-Resolution
+Resolution
SEE ALSO
+SEE ALSO
-tifftopnm,
+tifftopnm,
-pnmtotiffcmyk,
+pnmtotiffcmyk,
-pamdepth,
+pamdepth,
-pamtopnm,
+pamtopnm,
-pam
+pam
-AUTHOR
+AUTHOR
Derived by Jef Poskanzer from ras2tiff.c, which is
Copyright (c) 1990 by Sun Microsystems, Inc.
-Author: Patrick J. Naughton (naughton@wind.sun.com).
+Author: Patrick J. Naughton (naughton@wind.sun.com).
-
-Table Of Contents
-
-
+Table Of Contents
+
+
+
+
diff --git a/pamvalidate.html b/pamvalidate.html
index a50f9b90..4ea689a5 100644
--- a/pamvalidate.html
+++ b/pamvalidate.html
@@ -1,21 +1,21 @@
-
-
+
+pamvalidate
+
+pamvalidate
Updated: 22 March 2014
-
-Table Of Contents
+
+Table Of Contents
-NAME
+NAME
pamvalidate - validate Netpbm image format
-SYNOPSIS
+SYNOPSIS
-pamvalidate
+pamvalidate
-DESCRIPTION
+DESCRIPTION
OPTIONS
+OPTIONS
-SEE ALSO
-SEE ALSO
-
-pam
-pnm
-pamfix
+pam
+pnm
+pamfix
HISTORY
-Table Of Contents
-
-
-
-
+
+Table Of Contents
+
+
+
+
diff --git a/pbmmake.html b/pbmmake.html
index fba27f14..06afbb73 100644
--- a/pbmmake.html
+++ b/pbmmake.html
@@ -1,26 +1,26 @@
-
-pbmmake
+
+pbmmake
Updated: 13 December 2003
-
-Table Of Contents
+
+Table Of Contents
-NAME
+NAME
pbmmake - create a blank bitmap of a specified size
-SYNOPSIS
+SYNOPSIS
-pbmmake
-[-white|-black|-gray]
-width
-height
+pbmmake
+[-white|-black|-gray]
+width
+height
DESCRIPTION
+DESCRIPTION
OPTIONS
+OPTIONS
-
+
+
+SEE ALSO
+SEE ALSO
-pgmmake,
-ppmmake,
-pbm
+pgmmake,
+ppmmake,
+pbm
-AUTHOR
+AUTHOR
Copyright (C) 1989 by Jef Poskanzer.
-
-Table Of Contents
-
-
-
-
-
+
+Table Of Contents
+
+
+
+
+
diff --git a/pbmtog3.html b/pbmtog3.html
index dc53eccb..5606c989 100644
--- a/pbmtog3.html
+++ b/pbmtog3.html
@@ -42,10 +42,9 @@ command line options:
This program is part of Netpbm. @@ -36,9 +34,5 @@ for pbmtoicon, as long as you recognize that any change the pbmtosunicon manual says happened in or after Netpbm 10.53 doesn't apply to pbmtoicon. - - - - - - + + diff --git a/pbmtoppa.html b/pbmtoppa.html index 5a7d4121..f4e695d1 100644 --- a/pbmtoppa.html +++ b/pbmtoppa.html @@ -236,7 +236,7 @@ as small as 1/4 inch without causing the printer to choke with same should work for the 820 and 1000, but it hasn't been tested. Also, use the pbmraw GSDriver if you have it; it's faster. -
Here is a tip to integrate HP720C support in RedHat's printtool: +
Here is a tip to integrate HP720C capability in RedHat's printtool:
Install pbmtoppa. Copy pbmtoppa to /usr/bin. @@ -254,7 +254,7 @@ StartEntry: DeskJet720C About: { \ This driver drives the HP DeskJet 720C \ inkjet printer. \ - It does not support color printing. \ + It cannot do color printing. \ IMPORTANT! Insert \ "- | pbm2ppa -" \ in the "Extra GS Options " field.\ diff --git a/pgmdeshadow.html b/pgmdeshadow.html index acde9010..0349b260 100644 --- a/pgmdeshadow.html +++ b/pgmdeshadow.html @@ -1,24 +1,22 @@ - -
+
+Table Of Contents
-Table Of Contents
-
-
This program is part of Netpbm. @@ -36,11 +34,14 @@ algorithm from Luc Vincent, "Morphological Grayscale Reruction in Image Analysis: Applications and Efficient Algorithms. -
None. +
There are no command line options defined specifically +for pgmdeshadow, but it recognizes the options common to all +programs based on libnetpbm (See +Common Options.) -
pgmdeshadow was added to Netpbm in Version 10.35 (August 2006). +
pgmdeshadow was added to Netpbm in Version 10.35 (August 2006). -
All options can be abbreviated to their shortest unique prefix. +
All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value. -
This program is part of Netpbm. @@ -47,75 +47,81 @@ example, the -lr option gives you a left to right ramp and gives you a right to left ramp. -
To generate a simple ramp of all the values from 0 to maxval, and not +
To generate a simple ramp of all the values from 0 to maxval, and not necessarily a graphic image, use pamseq.
ppmrainbow does something similar to what pgmramp does, but for color. The image fades between two colors of your choice. -
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pgmramp recognizes the following +command line options: +
You must specify exactly one of the ramp type options. -
This option was new in Netpbm 10.66 (March 2014). -
This option was new in Netpbm 10.1 (June 2002). Before that, the maxval is always 255. -
Minimum unique abbreviation of option is acceptable. You may use double +
Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. -
This program is part of Netpbm. @@ -60,9 +58,5 @@ after Netpbm 10.44 doesn't apply to pngtopnm. - - - - - - + + diff --git a/pnmalias.html b/pnmalias.html index a527dcf1..bfcd506d 100644 --- a/pnmalias.html +++ b/pnmalias.html @@ -1,36 +1,36 @@ - -
This program is part of Netpbm. @@ -39,64 +39,69 @@ anti-aliasing to background and foreground pixels. If the input file is a PBM, pnmalias promotes the output anti-aliased image to a PGM, and prints a message informing the user of the change in format. -
-bgcolor colorb sets the background color the +
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pnmalias recognizes the following +command line options: + +
-bgcolor colorb sets the background color the colorb. -
-fgcolor colorf sets the foreground color to +
-fgcolor colorf sets the foreground color to colorf.
Pixels with these values will be anti-aliased. By default, pnmalias takes the background color to be black, and foreground color to be white. -
Specify the color (color) as described for the Specify the color (color) as described for the argument of the pnm_parsecolor() library routine. -
Note that even when dealing with PGMs, background and foreground +
Note that even when dealing with PGMs, background and foreground colors need to be specified in the fashion described above. In this case, pnmalias takes the background and foreground pixel values to be the value of the red component for the specified color. -
-bonly says to apply anti-aliasing only to the background pixels. +
-bonly says to apply anti-aliasing only to the background pixels. -
-fonly says to apply anti-aliasing only to the foreground pixels. +
-fonly says to apply anti-aliasing only to the foreground pixels. -
-balias says to apply anti-aliasing to all pixels surrounding +
-balias says to apply anti-aliasing to all pixels surrounding background pixels. -
-falias says to apply anti-aliasing to all pixels surrounding +
-falias says to apply anti-aliasing to all pixels surrounding foreground pixels.
If you specify neither -balias nor -falias, pnmalias applies anti-aliasing only among neighboring background and foreground pixels. -
-weight w says to use w as the central weight -for the aliasing filter. w must be a real number in the range -0 < w < 1. The lower the value of w is, the +
-weight w says to use w as the central weight +for the aliasing filter. w must be a real number in the range +0 < w < 1. The lower the value of w is, the "blurrier" the output image is. The default is w = 1/3. -
This program is part of Netpbm.
pnmcolormap reads a PNM or PAM image as input, chooses -ncolors colors to best represent the image and writes a PNM +ncolors colors to best represent the image and writes a PNM color map defining them as output. A PAM image may actually contain tuples of any kind, but pnmcolormap's concept of the tuple values that best represent the ones present in the image may not make sense if the tuple type isn't RGB or GRAYSCALE. The design of the program, and the rest of this manual, assumes the tuples represent colors. -
You can use this map as input to pnmremap on the same input +
You can use this map as input to pnmremap on the same input image to quantize the colors in that image, I.e. produce a similar -image with fewer colors. pnmquant does both the pnmcolormap -and pnmremap steps for you. +image with fewer colors. pnmquant does both the pnmcolormap +and pnmremap steps for you. -
A PNM colormap is a PNM image of any dimensions that contains at +
A PNM colormap is a PNM image of any dimensions that contains at least one pixel of each color in the set of colors it represents. The ones pnmcolormap generates have exactly one pixel of each color, except where padding is necessary with the -square option. -
The quantization method is Heckbert's "median cut". +
The quantization method is Heckbert's "median cut". See QUANTIZATION METHOD. -
The output image is of the same format (PBM, PGM, PPM, PAM) as the +
The output image is of the same format (PBM, PGM, PPM, PAM) as the input image. Note that a colormap of a PBM image is not very interesting. -
The colormap generally has the same maxval as the input image, but -pnmcolormap may reduce it if there are too many colors in the +
The colormap generally has the same maxval as the input image, but +pnmcolormap may reduce it if there are too many colors in the input, as part of its quantization algorithm.
pnmcolormap works on a multi-image input stream. In that @@ -72,77 +72,82 @@ from each image would make the same color in two images map to different colors. Before Netpbm 10.31 (December 2005), pnmcolormap ignored any image after the first. -
If you want to create a colormap without basing it on the colors in -an input image, pamseq, ppmmake, and pnmcat can +
If you want to create a colormap without basing it on the colors in +an input image, pamseq, ppmmake, and pnmcat can be useful. -
The single parameter, which is required, is the number of colors you want -in the output colormap. pnmcolormap may produce a color map with -slightly fewer colors than that. You may specify all to get a colormap +
The single parameter, which is required, is the number of colors you want +in the output colormap. pnmcolormap may produce a color map with +slightly fewer colors than that. You may specify all to get a colormap of every color in the input image (no quantization). When you specify all, the function is essentially the same as that of ppmhist -map. ppmhist is much older. -
All options can be abbreviated to their shortest unique prefix. You +
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pnmcolormap recognizes the following +command line options: + +
All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value. -
A quantization method is a way to choose which colors, being fewer +
A quantization method is a way to choose which colors, being fewer in number than in the input, you want in the output. -pnmcolormap uses Heckbert's "median cut" quantization +pnmcolormap uses Heckbert's "median cut" quantization method. -
This method involves separating all the colors into +
This method involves separating all the colors into "boxes," each holding colors that represent about the same number of pixels. You start with one box and split boxes in two until the number of boxes is the same as the number of colors you want in @@ -165,31 +170,31 @@ the output, and choose one color to represent each box. in Netpbm 10.88 (September 2019). Before that, pnmcolormap always splits the box containing the most pixels. -
When you split a box, you do it so each sub-box has the same number of +
When you split a box, you do it so each sub-box has the same number of pixels (except one sub-box has more if the full box has an odd number), with the "greatest" pixels in one sub-box and the "least" pixels in the other. "Greater," for a particular box, means it is brighter in the color component (red, green, blue) which has the largest spread in that -box. pnmcolormap gives you two ways to define "largest spread.": 1) +box. pnmcolormap gives you two ways to define "largest spread.": 1) largest spread of brightness; 2) largest spread of contribution to the luminosity of the color. E.g. red is weighted much more than blue. Select -among these with the -spreadbrightness and -spreadluminosity -options. The default is -spreadbrightness. Where there are multiple +among these with the -spreadbrightness and -spreadluminosity +options. The default is -spreadbrightness. Where there are multiple colors of the median magnitude, they are distributed arbitrarily among between the subboxes. This arbitrary distribution depends upon what the system's qsort function does with multiple equal values, so pnmcolormap may produce slightly different results on different systems. -
pnmcolormap provides three ways of choosing a color to represent a +
pnmcolormap provides three ways of choosing a color to represent a box: 1) the center color - the color halfway between the greatest and least colors in the box, using the above definition of "greater"; 2) the mean of the colors (each component averaged separately by brightness) in the box; 3) the mean weighted by the number of pixels of a color in the image. -
Select among these with the -center, -meancolor, and --meanpixel options. The default is -center. +
Select among these with the -center, -meancolor, and +-meanpixel options. The default is -center. -
Note that in all three methods, there may be colors in the output +
Note that in all three methods, there may be colors in the output which do not appear in the input at all.
Also note that the color chosen to represent the colors in Box A the best @@ -203,27 +208,27 @@ and in fact the color pnmcolormap chose to represent Box B may not appear in the pnmremap output at all. -
Before Netpbm 10.15 (April 2003), pnmcolormap used a lot +
Before Netpbm 10.15 (April 2003), pnmcolormap used a lot more memory for large images because it kept the entire input image in memory. Now, it processes it a row at a time, but because it sometimes must make multiple passes through the image, it first copies @@ -239,23 +244,23 @@ Netpbm 9.23 split it out into two separate programs: pnmquant with a program that simply calls pnmcolormap and pnmremap. -
This program is part of Netpbm. @@ -29,8 +27,5 @@ its age. But now it would just be clutter. pnmcomp. Features that are in pamcomp but not pnmcomp are indicated by statements that they didn't exist before 10.21. - - - - - + + diff --git a/pnmnorm.html b/pnmnorm.html index 17af3f4c..566964b1 100644 --- a/pnmnorm.html +++ b/pnmnorm.html @@ -1,22 +1,22 @@ - -
All options can be abbreviated to their shortest unique prefix. +
All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value. -
This program is part of Netpbm. @@ -53,11 +53,11 @@ becomes black, the brightness that becomes white, and the brightness that becomes that middle value, pnmnorm computes a quadratic equation that maps all the other brightnesses from input values to output values. -
The program first determines a mapping of old brightness to new +
The program first determines a mapping of old brightness to new brightness. For each possible brightness of a pixel, the program determines a corresponding brightness for the output image. -
Then for each pixel in the image, the program computes a color which has +
Then for each pixel in the image, the program computes a color which has the desired output brightness and puts that in the output. With a color image, it is not always possible to compute such a color and retain any semblance of the original hue, so the brightest and dimmest pixels may only @@ -74,7 +74,7 @@ In the case of saturation, "brightness" is pretty much a misnomer, but you can use the brightness analogy to see what it does. In the analogy, bright means saturated and dark means unsaturated. -
Note that all of these are different from separately normalizing +
Note that all of these are different from separately normalizing the individual color components.
An alternative way to spread out the brightnesses in an image is @@ -86,26 +86,38 @@ gives you more contrast than pnmnorm does, but can considerably change the picture in exchange. -
By default, the darkest 2 percent of all pixels are mapped to +
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pnmnorm recognizes the following +command line options: + +
By default, the darkest 2 percent of all pixels are mapped to black, and the brightest 1 percent are mapped to white. You can override this behavior and specify either a different percentage, or specific brightness values to map to black and to white, or just have the single greatest brightness map to white and the least brightness map to black. -
To specify a percentage, use the -bpercent and --wpercent options, or you can specify the exact pixel values to -be mapped by using the -bvalue and -wvalue options. +
To specify a percentage, use the -bpercent and +-wpercent options, or you can specify the exact pixel values to +be mapped by using the -bvalue and -wvalue options. You can get appropriate numbers for the options from ppmhist. If you just want to enhance the contrast, then choose values at elbows in the histogram; e.g. if value 29 represents 3% of the image but value 30 represents 20%, choose 30 for -bvalue. If you want to brighten the image, then set -bvalue to 0 and just fiddle with wvalue; similarly, to -darken the image, set wvalue to maxval and play with -bvalue. +bvalue. If you want to brighten the image, then set +bvalue to 0 and just fiddle with wvalue; similarly, to +darken the image, set wvalue to maxval and play with +bvalue.
If you specify both -bvalue and -bpercent, pnmnorm uses the one that produces the least change. The same goes for @@ -134,7 +146,7 @@ In that case, pnmnorm adjusts the percentile value as required. In the example, it uses 99 as the black value (like -bvalue=99). -
It is also possible for your -bpercent and -wpercent +
It is also possible for your -bpercent and -wpercent options to select the same brightness value for the stretch-to-white and stretch-to-black value because of the fact that pnmnorm can't subdivide a histogram cell. E.g. if an image is all brightness @@ -156,12 +168,17 @@ range expansion of 150% (from a range of 40 to a range of 100). That much stretching means two adjacent pixels that used to differ in intensity by 4 units now differ by 10, and that might be unsightly. +
To specify that the single least brightness in the image should stretch to black in the output, specify -bsingle. To specify that the single greatest brightness in the image should stretch to white in the output, specify -wsingle. -bsingle and -wsingle were new in Netpbm 10.69 (December 2014). +
So that you can put a limit on the amount of expansion without having to examine the image first, there is the -maxexpand option. It specifies the maximum expansion you will tolerate, as an @@ -176,18 +193,18 @@ amount you specified.
When pnmnorm limits the expansion because of -maxexpand, it tells you about it with a message like this:
-
+
limiting expansion of 150% to 50%
-
+
In any case, pnmnorm tells you exactly what expansion it's doing, like this:
-
+
remapping 25..75 to 0..100
-
+
Before Netpbm 10.26 (December 2004), it was not valid to specify both @@ -195,19 +212,26 @@ doing, like this:
-maxexpand was new in Netpbm 10.32 (February 2006). -
The -keephues option says to keep each pixel the same hue as +
This option says to keep each pixel the same hue as it is in the input; just adjust its brightness. You normally want this; the only reason it is not the default behavior is backward compatibility with a design mistake. -
By default, pnmnorm normalizes contrast in each component -independently (except that the meaning of the -wpercent and --bpercent options are based on the overall brightnesses of the +
By default, pnmnorm normalizes contrast in each component +independently (except that the meaning of the -wpercent and +-bpercent options are based on the overall brightnesses of the colors, not each component taken separately). So if you have a color -which is intensely red but dimly green, pnmnorm would make the +which is intensely red but dimly green, pnmnorm would make the red more intense and the green less intense, so you end up with a different hue than you started with. +
When you specify -midvalue=N, pnmnorm uses a quadratic function to map old brightnesses to new ones, making sure that an old brightness of N becomes 50% bright in the output. You can override @@ -220,16 +244,16 @@ fit), pnmnorm just ignores your -midvalue and maps linearly. -midvalue and -middle were new in Netpbm 10.57 (December 2011). -
If you specify -keephues, pnmnorm would likely leave +
If you specify -keephues, pnmnorm would likely leave this pixel alone, since its overall brightness is medium. -
-keephues can cause clipping, because a certain color may be +
-keephues can cause clipping, because a certain color may be below a target intensity while one of its components is saturated. -Where that's the case, pnmnorm uses the maximum representable +Where that's the case, pnmnorm uses the maximum representable intensity for the saturated component and the pixel ends up with less overall intensity, and a different hue, than it is supposed to have. -
This option is meaningless on grayscale images. +
This option is meaningless on grayscale images.
When you don't specify -keephues, the -luminosity, -colorvalue, and -saturation options @@ -238,13 +262,17 @@ components), but are meaningless when it comes to applying the transfer function (since it is applied to each individual RGB component). -
Before Netpbm 9.25 (March 2002), there was no -keephues option. +
Before Netpbm 9.25 (March 2002), there was no -keephues option. +
-luminosity, -colorvalue, and -saturation determine what property of the pixels pnmnorm normalizes. I.e., what kind of brightness. You cannot specify more than one of these. -
The -luminosity option says to use the luminosity (i.e. the +
The -luminosity option says to use the luminosity (i.e. the "Y" in the YUV or YCbCr color space) as the pixel's brightness. The luminosity is a measure of how bright a human eye would find the color, taking into account the fact that the human eye is more sensitive to some @@ -252,21 +280,21 @@ RGB components than others.
This option is default. -
This option is meaningless on grayscale images. +
This option is meaningless on grayscale images. -
Before Netpbm 10.28 (August 2005), there was no -luminosity option, +
Before Netpbm 10.28 (August 2005), there was no -luminosity option, but its meaning was still the default. -
Before Netpbm 10.28 (August 2005), there was no -colorvalue option. +
Before Netpbm 10.28 (August 2005), there was no -colorvalue option. -
The -colorvalue option says to use the color value (i.e. the +
The -colorvalue option says to use the color value (i.e. the "V" in the HSV color space) as the pixel's brightness. The color value is the gamma-adjusted intensity of the most intense RGB component. -
This option is meaningless on grayscale images. +
This option is meaningless on grayscale images. -
Before Netpbm 10.28 (August 2005), there was no -colorvalue option. +
Before Netpbm 10.28 (August 2005), there was no -colorvalue option.
The -saturation option says to use the saturation (i.e. the "S" in the HSV color space) as the pixel's brightness. The @@ -279,28 +307,28 @@ intense RGB component (all intensities gamma-adjusted).
This option is meaningless on grayscale images. -
Before Netpbm 10.28 (August 2005), there was no -colorvalue option. - - - -
Before Netpbm 10.28 (August 2005), there was no -colorvalue option. + +
- pad=($(pnmpad -reportonly -left=10 -right=10 -top=10 -bottom=10)) - pbmmake -gray 10 10 | pnmpaste input.ppm ${pad[0]} ${pad[2]} - + pad=($(pnmpad -reportonly -left=10 -right=10 -top=10 -bottom=10 input.ppm)) + pbmmake -gray ${pad[4]} ${pad[5]} | \ + pnmpaste input.ppm ${pad[0]} ${pad[2]} -diff --git a/pnmpaste.html b/pnmpaste.html index 8342965e..92b6672b 100644 --- a/pnmpaste.html +++ b/pnmpaste.html @@ -1,27 +1,28 @@ - -
You can abbreviate all options to their shortest unique prefix. +
You can abbreviate all options to their shortest unique prefix. -
This program is part of Netpbm. @@ -42,28 +43,37 @@ edge or below the top edge of the base image, while a negative value indicates the number of pixels right of the right edge or below the bottom edge (so x = -5 means 5 pixels left of the right edge). -
If any part of the pasted image does not fit within the base image, +
If any part of the pasted image does not fit within the base image, pnmpaste fails. -
This tool is most useful in combination with pamcut. For +
This tool is most useful in combination with pamcut. For instance, if you want to edit a small segment of a large image, and your image editor cannot edit the large image, you can cut out the segment you are interested in, edit it, and then paste it back in. -
Another useful companion tool is pbmmask. +
Another useful companion tool is pbmmask. -
pamcomp is a more general tool, except that it lacks the +
pamcomp is a more general tool, except that it lacks the "or," "and," and "xor" functions. -pamcomp allows you to specify a transparency mask in order to have +pamcomp allows you to specify a transparency mask in order to have only part of the inserted image get inserted. So the inserted pixels need not be a rectangle. You can also have the inserted image be translucent, so the resulting image is a mixture of the inserted image and the base image. -
The option specifies the operation to use when doing the paste. -The default is -replace, which means to do the obvious paste: +
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pnmpaste recognizes the following +command line options: + +
These option specify the operation to use when doing the paste. +The default is -replace, which means to do the obvious paste: replace pixels of the "into" image with those of the "from" image. @@ -71,8 +81,8 @@ replace pixels of the "into" image with those of the and nxor are allowed only if both input images are PBM images. They say to combine the "from" and "into" images by performing boolean operations: Each pixel of the output image is the result of the boolean operation on the -corresponding pixels of the two input image, where white is TRUE and black is -FALSE. +corresponding pixels of the two input images, where white is TRUE and black +is FALSE.
Note that this is different from what you would get by doing a bit arithmetic on the bits in the PBM images, because in PBM, white is @@ -81,30 +91,31 @@ in boolean arithmetic.
-nand, -nor, and -nxor were new in Netpbm 10.85 (December 2018). + +
In addition to the options common to all programs based on libnetpbm -(most notably -quiet, see -Common Options), pnmquantall recognizes the following -command line option: +
pnmquantall recognizes the following command line option:
pnmquantall does not recognize the options common to all +programs based on libnetpbm (See +Common Options.) However, the -version option works. +
This program is part of Netpbm. @@ -29,8 +27,8 @@ its age. But now it would just be clutter. pnmscale. Features that are in pamscale but not pnmscale are indicated by statements that they didn't exist before 10.20. - - + + diff --git a/pnmtojbig.html b/pnmtojbig.html index c62b3393..f4a18a2e 100644 --- a/pnmtojbig.html +++ b/pnmtojbig.html @@ -108,17 +108,16 @@ approximately 35 stripes will be used for the whole image.
Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. -
This program is part of Netpbm. -
pnmtojpeg converts the named PBM, PGM, or PPM image file, or +
pnmtojpeg converts the named PBM, PGM, or PPM image file, or the standard input if no file is named, to a JFIF file on the standard output. -
pnmtojpeg uses the Independent JPEG Group's JPEG library to -create the output file. See http://www.ijg.org for information +
pnmtojpeg uses the Independent JPEG Group's JPEG library to +create the output file. See http://www.ijg.org for information on the library. -
"JFIF" is the correct name for the image format commonly +
"JFIF" is the correct name for the image format commonly known as "JPEG." Strictly speaking, JPEG is a method of compression. The image format using JPEG compression that is by far the most common is JFIF. There is also a subformat of TIFF that uses JPEG compression. -
EXIF is an image format that is a subformat of JFIF (to wit, a JFIF +
EXIF is an image format that is a subformat of JFIF (to wit, a JFIF file that contains an EXIF header as an APP1 marker). -pnmtojpeg creates an EXIF image when you specify the --exif option. +pnmtojpeg creates an EXIF image when you specify the +-exif option. -
The basic options are: +
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pnmtojpeg recognizes the following +command line options: -
+
The EXIF file starts with a two byte field which is the length of the file, including the length field, in pure binary, most significant byte first. The special value of zero for the length field means there -is to be no EXIF header, i.e. the same as no -exif +is to be no EXIF header, i.e. the same as no -exif option. This is useful for when you convert a file from JFIF to PNM -using jpegtopnm, +using jpegtopnm, then transform it, then convert it back to JFIF with -pnmtojpeg, and you don't know whether or not it includes an EXIF header. -jpegtopnm +pnmtojpeg, and you don't know whether or not it includes an EXIF header. +jpegtopnm creates an EXIF file containing nothing but two bytes of zero when the input JFIF file has no EXIF header. Thus, you can transfer any EXIF header from the input JFIF to the output JFIF without worrying about whether an EXIF header actually exists. -
+
The contents of the EXIF file after the length field are the exact byte for byte contents of the APP1 marker, not counting the length field, that constitutes the EXIF header. -
Grayscale format takes up a lot less space and takes less time to create +
Grayscale format takes up a lot less space and takes less time to create and process than the color formats, even if the image contains nothing but black, white, and gray. @@ -173,30 +178,30 @@ image. pnmtojpeg always created a JFIF with a density of 1x1 in unspecified units. -
The -quality option lets you trade off compressed file size +
The -quality option lets you trade off compressed file size against quality of the reconstructed image: the higher the quality setting, the larger the JFIF file, and the closer the output image will be to the original input. Normally you want to use the lowest @@ -204,11 +209,11 @@ quality setting (smallest file) that decompresses into something visually indistinguishable from the original image. For this purpose the quality setting should be between 50 and 95 for reasonable results; the default of 75 is often about right. If you see defects -at -quality=75, then go up 5 or 10 counts at a time until you +at -quality=75, then go up 5 or 10 counts at a time until you are happy with the output image. (The optimal setting will vary from one image to another.) -
-quality=100 generates a quantization table of all 1's, +
-quality=100 generates a quantization table of all 1's, minimizing loss in the quantization step (but there is still information loss in subsampling, as well as roundoff error). This setting is mainly of interest for experimental purposes. Quality @@ -216,18 +221,18 @@ values above about 95 are not recommended for normal use; the compressed file size goes up dramatically for hardly any gain in output image quality. -
In the other direction, quality values below 50 will produce very +
In the other direction, quality values below 50 will produce very small files of low image quality. Settings around 5 to 10 might be useful in preparing an index of a large image library, for example. -Try -quality=2 (or so) for some amusing Cubist effects. (Note: +Try -quality=2 (or so) for some amusing Cubist effects. (Note: quality values below about 25 generate 2-byte quantization tables, -which are considered optional in the JFIF standard. pnmtojpeg +which are considered optional in the JFIF standard. pnmtojpeg emits a warning message when you give such a quality value, because some other JFIF programs may be unable to decode the resulting file. -Use -baseline if you need to ensure compatibility at low +Use -baseline if you need to ensure compatibility at low quality values.) -
The -progressive option creates a "progressive +
The -progressive option creates a "progressive JPEG" file. In this type of JFIF file, the data is stored in multiple scans of increasing quality. If the file is being transmitted over a slow communications link, the decoder can use the @@ -245,27 +250,28 @@ JPEG file at all. might consider the JPEG2000 format instead. See pamtojpeg2k. -
Options for advanced users: -
The -restart option tells pnmtojpeg to insert extra +
The -restart option tells pnmtojpeg to insert extra markers that allow a JPEG decoder to resynchronize after a transmission error. Without restart markers, any damage to a compressed file will usually ruin the image from the point of the error to the end of the image; with restart markers, the damage is usually confined to the portion of the image up to the next restart marker. Of course, the restart markers occupy extra space. We -recommend -restart=1 for images that will be transmitted +recommend -restart=1 for images that will be transmitted across unreliable networks such as Usenet. -
The -smooth option filters the input to eliminate +
The -smooth option filters the input to eliminate fine-scale noise. This is often useful when converting dithered images to JFIF: a moderate smoothing factor of 10 to 50 gets rid of dithering patterns in the input file, resulting in a smaller JFIF file and a better-looking image. Too large a smoothing factor will visibly blur the image, however. -
Options for wizards: +
The "wizard" options are intended for experimentation +
The "wizard" options are intended for experimentation with JPEG. If you don't know what you are doing, don't use them. These switches are documented further in the file wizard.doc that comes with the Independent JPEG Group's JPEG library. -
This example compresses the PPM file foo.ppm with a quality factor +
This example compresses the PPM file foo.ppm with a quality factor of 60 and saves the output as foo.jpg:
- pnmtojpeg -quality=60 foo.ppm > foo.jpg + pnmtojpeg -quality=60 foo.ppm > foo.jpg
Here's a more typical example. It converts from BMP to JFIF:
- cat foo.bmp | bmptoppm | pnmtojpeg > foo.jpg + cat foo.bmp | bmptoppm | pnmtojpeg > foo.jpg-
When you compress with JPEG, you lose information -- i.e. the resulting image has somewhat lower quality than the original. This is a characteristic @@ -400,24 +406,24 @@ to JFIF, you will lose quality. The more you do it, the more you lose. Drawings (charts, cartoons, line drawings, and such with few colors and sharp edges) suffer the most. -
To avoid this, you can use a compressed image format other than +
To avoid this, you can use a compressed image format other than JPEG. PNG and JPEG2000 are good choices, and Netpbm contains converters for those.
If you need to use JFIF on a drawing, you should experiment with -pnmtojpeg's -quality and -smooth options to get a -satisfactory conversion. -smooth 10 or so is often helpful. +pnmtojpeg's -quality and -smooth options to get a +satisfactory conversion. -smooth 10 or so is often helpful. -
Because of the loss, you should do all the manipulation you have to +
Because of the loss, you should do all the manipulation you have to do on the image in some other format and convert to JFIF as the last step. And if you can keep a copy in the original format, so much the better. -The -optimize option to pnmtojpeg is worth using when +The -optimize option to pnmtojpeg is worth using when you are making a "final" version for posting or archiving. It's also a win when you are using low quality settings to make very small JFIF files; the percentage improvement is often a lot more than -it is on larger files. (At present, -optimize mode is +it is on larger files. (At present, -optimize mode is automatically in effect when you generate a progressive JPEG file).
You can do flipping and rotating transformations losslessly with @@ -426,118 +432,123 @@ Jpeg Group's JPEG library. jpegtran exercises its intimate knowledge of the way JPEG works to do the transformation without ever actually decompressing the image. -
+Another program, cjpeg, is similar. cjpeg is +
Another program, cjpeg, is similar. cjpeg is maintained by the Independent JPEG Group and packaged with the JPEG -library which pnmtojpeg uses for all its JPEG work. Because of +library which pnmtojpeg uses for all its JPEG work. Because of that, you may expect it to exploit more current JPEG features. Also, -since you have to have the library to run pnmtojpeg, but not -vice versa, cjpeg may be more commonly available. +since you have to have the library to run pnmtojpeg, but not +vice versa, cjpeg may be more commonly available. -
On the other hand, cjpeg does not use the NetPBM libraries -to process its input, as all the NetPBM tools such as pnmtojpeg +
On the other hand, cjpeg does not use the NetPBM libraries +to process its input, as all the NetPBM tools such as pnmtojpeg do. This means it is less likely to be consistent with all the other programs that deal with the NetPBM formats. Also, the command syntax -of pnmtojpeg is consistent with that of the other Netpbm tools, -unlike cjpeg. +of pnmtojpeg is consistent with that of the other Netpbm tools, +unlike cjpeg. -
Use the -scan option to specify a scan script. Or use the --progressive option to specify a particular built-in scan +
Use the -scan option to specify a scan script. Or use the +-progressive option to specify a particular built-in scan script. -
Just what a scan script is, and the basic format of the scan script -file, is covered in the wizard.doc file that comes with the +
Just what a scan script is, and the basic format of the scan script +file, is covered in the wizard.doc file that comes with the Independent JPEG Group's JPEG library. Scan scripts are same for -pnmtojpeg as the are for cjpeg. +pnmtojpeg as the are for cjpeg. -
This section contains additional information that isn't, but +
This section contains additional information that isn't, but probably should be, in that document. -
First, there are many restrictions on what is a valid scan script. -The JPEG library, and thus pnmtojpeg, checks thoroughly for any +
First, there are many restrictions on what is a valid scan script. +The JPEG library, and thus pnmtojpeg, checks thoroughly for any lack of compliance with these restrictions, but does little to tell you how the script fails to comply. The messages are very general and sometimes untrue. -
+
To start with, the entries for the DC coefficient must come before any entries for the AC coefficients. The DC coefficient is Coefficient 0; all the other coefficients are AC coefficients. So in an entry for the DC coefficient, the two numbers after the colon must be 0 and 0. In an entry for AC coefficients, the first number after the colon must not be 0. -
+
In a DC entry, the color components must be in increasing order. E.g. "0,2,1" before the colon is wrong. So is "0,0,0". -
+
In an entry for an AC coefficient, you must specify only one color component. I.e. there can be only one number before the colon. -
+
In the first entry for a particular coefficient for a particular color component, the "Ah" value must be zero, but the Al value can be any valid bit number. In subsequent entries, Ah must be the Al value from the previous entry (for that coefficient for that color component), and the Al value must be one less than the Ah value. -
+
The script must ultimately specify at least some of the DC coefficient for every color component. Otherwise, you get the error message "Script does not transmit all the data." You need not specify all of the bits of the DC coefficient, or any of the AC coefficients. -
+
There is a standard option in building the JPEG library to omit scan script capability. If for some reason your library was built with this option, you get the message "Requested feature was omitted at compile time." -
Wallace, Gregory K. "The JPEG Still Picture Compression Standard", Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. -
Obsolete options:
-[-filter n] +[-filter n]
Options available only in older versions: @@ -63,18 +62,18 @@ Options available only in older versions: [-time [yy]yy-mm-dd hh:mm:ss] -
Minimum unique abbreviation of option is acceptable. You may use double +
Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. -
This program is part of Netpbm.
pnmtopng reads a PNM image as input and produces a PNG image as output. -
Color component values in PNG files are either eight or sixteen +
Color component values in PNG files are either eight or sixteen bits wide, so pnmtopng will automatically scale colors to have a maxval of 255 or 65535. @@ -98,7 +97,9 @@ power of two minus one (255 and 65535 are good choices) to minimize the error. -
pnmtopng changed in Netpbm 10.30 (October 2005) to use the standard Netpbm command line syntax. Before that, you could not @@ -116,7 +117,7 @@ E.g. The old shell command
- pnmtopng -phys 800 800 0 input.pnm >output.png + pnmtopng -phys 800 800 0 input.pnm > output.png@@ -124,28 +125,35 @@ E.g. The old shell command
- pnmtopng -size "800 800 0" input.pnm >output.png + pnmtopng -size "800 800 0" input.pnm > output.png
If you're writing a program that needs to work with both new and old -pnmtopng, have it first try with the new syntax, and if it fails +, have it first try with the new syntax, and if it fails with "unrecognized option," fall back to the old syntax. -
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), pnmtopng recognizes the following +command line options: + +
Specify the color (color) as described for the Specify the color (color) as described for the argument of the pnm_parsecolor() library routine. -E.g. red or -rgb:ff/00/0d. If the color you specify is not present in the -image, pnmtopng selects instead the color in the image that is +E.g. red or +rgb:ff/00/0d. If the color you specify is not present in the +image, pnmtopng selects instead the color in the image that is closest to the one you specify. Closeness is measured as a Cartesian distance between colors in RGB space. If multiple colors are -equidistant, pnmtopng chooses one of them arbitrarily. +equidistant, pnmtopng chooses one of them arbitrarily. -
However, if you prefix your color specification with +
However, if you prefix your color specification with "=", e.g.
@@ -195,19 +203,19 @@ equidistant, pnmtopng chooses one of them arbitrarily.-
only the exact color you specify will be transparent. If that +
only the exact color you specify will be transparent. If that color does not appear in the image, there will be no transparency. -pnmtopng issues an information message when this is the case. +pnmtopng issues an information message when this is the case. -
You specify the palette by naming a PPM file that has one pixel for +
You specify the palette by naming a PPM file that has one pixel for each color in the palette. -
Alternatively, consider the case that have a palette and you want +
Alternatively, consider the case that have a palette and you want to make sure your PNG contains only colors from the palette, approximating if necessary. You don't care what indexes the PNG uses internally for the colors (i.e. the order of the PNG palette). In @@ -229,9 +237,9 @@ image and your palette PPM through pnmremap. Though you might think it would, using -palette in this case wouldn't even save pnmtopng any work. -
There is no limit on the length of a file line or entry or key or text string. There is no limit on the number of entries. -
unit is either 0 or 1. When it is 1, @@ -363,9 +371,9 @@ more information on what this really means.
This option was new in Netpbm 10.71 (June 2015). Before that, pnmtopng never generates an sRGB chunk. -
This option was new in Netpbm 10.30 (October 2005). -
This option was new in Netpbm 10.30 (October 2005). -
This option was new in Netpbm 10.30 (October 2005). -
For information on the PNG format, see http://schaik.com/png. -
This program is part of Netpbm. @@ -25,8 +24,5 @@ before the renaming.
For Netpbm before 10.58, where the program is still named ppmquantall, just use the pnmquantall manual. - - - - - + + diff --git a/ppmshadow.html b/ppmshadow.html index 9683faef..170a783a 100644 --- a/ppmshadow.html +++ b/ppmshadow.html @@ -63,10 +63,7 @@ you don't specify ppmfile, the input is Standard Input.
In addition to the options common to all programs based on libnetpbm -(most notably -quiet, see -Common Options), ppmshadow recognizes the following -command line options: +ppmshadow recognizes the following command line options:
ppmshadow does not recognize the options common to all +programs based on libnetpbm (See +Common Options.) However, the -version option works.
This program is part of Netpbm.
ppmtoilbm reads a PPM image as input. Produces an ILBM file as output. ppmtoilbm understands the following ILBM types: -
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), ppmtoilbm recognizes the following +command line options:
Options marked with (*) can be prefixed with a "no", e.g. "-nohamif". All options can be abbreviated to their shortest unique prefix. -
This is the default. -
This is the default. -
HAM pictures will always get a grayscale colormap; a real color selection algorithm might give better results. On the other hand, @@ -175,17 +180,17 @@ the same depth (no. of planes) share a common colormap, which is useful for building HAM animations. -
For about a year in 1993-1994, there was a -savemem option. -
Copyright (C) 1989 by Jef Poskanzer. -
Modified October 1993 by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) - - -
Modified October 1993 by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) + + +
The Mitsubishi S340-10 Color Sublimation printer supports 24bit +
The Mitsubishi S340-10 Color Sublimation printer can print in 24 bit color. Images of the available sizes take so long to transfer that there is a fast method, employing a lookuptable, that ppmtomitsu will use if there is a maximum of 256 colors in the image. ppmtomitsu @@ -50,8 +50,8 @@ printer. The printer understands putting together images in the printers memory; ppmtomitsu doesn't utilize this as pnmcat etc provide the same functionality and let you view the result on-screen, too. The S340-10 is the lowest common denominator printer; for higher -resolution printers there's the dpi300 option. The other printers also -support higher values for enlarge eg, but I don't think that's +resolution printers there's the dpi300 option. The other printers are also +capable of higher values for enlarge eg, but I don't think that's essential enough to warrant a change in the program.
For proper results, the input maxval must be 255. Use pamdepth diff --git a/ppmtoterm.html b/ppmtoterm.html index 23ac56c0..e25f73d0 100644 --- a/ppmtoterm.html +++ b/ppmtoterm.html @@ -1,30 +1,30 @@ - -
All options can be abbreviated to their shortest unique prefix. +
All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign. -
This program is part of Netpbm. -
This program tries to produce an accurate representation of a PPM +
This program tries to produce an accurate representation of a PPM image on an terminal that implements the ANSI ISO 6429 standard. It approximates colors, finding the minimum Cartesian distance between the input RGB vectors and the ones in the generated palette. As the @@ -32,11 +32,11 @@ available color palette is somewhat restricted, you get the best results when the colors in the original image are few and the RGB intensities are close to zero, half of maximum, and maximum. -
You can usually get good results with cartoons or images with +
You can usually get good results with cartoons or images with plain colors (no gradients). With photos, results can vary, but are usually not very accurate. -
The output image has one line for each row and one character for each +
The output image has one line for each row and one character for each column of the input image. E.g. an 80 pixel by 25 pixel PPM image would fill up an 80x25 terminal screen. Use pamscale or pamcut to make your image fit properly on your screen. @@ -48,12 +48,12 @@ appear square on your terminal, as it should, you'll want to squash it vertically or stretch it horizontally by a factor of two (resulting int 10x20 characters are 20x40 characters). -
The image starts at the current cursor position on the terminal +
The image starts at the current cursor position on the terminal screen. Each successive row starts at Column 0 on the screen. If you want to shift the image up or down, for example to center it, use pnmpad on the input. -
This program was born with the objective of displaying nice color +
This program was born with the objective of displaying nice color images on the Linux console, e.g. a proper logo at Linux boot.
ppmtoascii does a similar things, but combines 2 or 8 pixels into @@ -64,41 +64,42 @@ pixel.
pbmto4425 does a similar thing for black and white images, using line drawing characters, on some terminals. -
-None. +
There are no command line options defined specifically +for ppmtoterm, but it recognizes the options common to all +programs based on libnetpbm (See +Common Options.) +
This program was new in Netpbm 10.9 (August 2002). +
This program was new in Netpbm 10.9 (August 2002). -
Modifications by Eric Haines to support raw and plain formats. +
Modifications by Eric Haines to produce raw and plain formats.
Modifications by Bryan Henderson to create transparency files and use mnemonic options. diff --git a/tifftopnm.html b/tifftopnm.html index c0526212..af540dfc 100644 --- a/tifftopnm.html +++ b/tifftopnm.html @@ -1,30 +1,30 @@ - -
This program is part of Netpbm. @@ -39,9 +39,9 @@ which type it is writing. output stream. Before Netpbm 10.27 (March 2005), however, it would just ignore all but the first input image. -
The tiff-filename argument names the file that contains the Tiff +
The tiff-filename argument names the file that contains the Tiff image. If you specify "-" or don't specify this -argument, tifftopnm uses Standard Input. +argument, tifftopnm uses Standard Input.
In either case, before Netpbm 10.70 (March 2015), the file must be seekable. That means no pipe, but any regular file is fine. In current @@ -49,14 +49,13 @@ Netpbm, the file need not be seekable, but if it isn't, tifftopnm creates a temporary regular file containing the entire image, so you must have resources for that (and it may defeat your reason for using a pipe). -
pamtotiff uses the Libtiff.org TIFF library (or whatever equivalent you provide) to interpret the TIFF input. So the set of files it is able to interpret is determined mostly by that library. -
This program cannot read every possible TIFF file -- there are +
This program cannot read every possible TIFF file -- there are myriad variations of the TIFF format. However, it does understand monochrome and gray scale, RGB, RGBA (red/green/blue with transparency channel), CMYK (Cyan-Magenta-Yellow-Black ink color separation), and @@ -77,91 +76,96 @@ intelligence. That native intelligence does not know as many formats as TIFFRGBAImageGet() does. And certain compressed formats simply cannot be read with TIFFReadScanLine(). -
Before Netpbm 10.11 (October 2002), tifftopnm never used +
Before Netpbm 10.11 (October 2002), tifftopnm never used TIFFRGBAImageGet(), so it could not interpret many of the formats it can interpret today. -
There is no fundamental reason that this program could not read +
There is no fundamental reason that this program could not read other kinds of TIFF files even when they don't fit in memory all at once. The existing limitations are mainly because no one has asked for more.
The PNM output has the same maxval as the Tiff input, except that +
The PNM output has the same maxval as the Tiff input, except that if the Tiff input is colormapped (which implies a maxval of 65535) the PNM output has a maxval of 255. Though this may result in lost information, such input images hardly ever actually have more color resolution than a maxval of 255 provides and people often cannot deal with PNM files that have maxval > 255. By contrast, a non-colormapped Tiff image that doesn't need a maxval > 255 doesn't -have a maxval > 255, so when tifftopnm sees a +have a maxval > 255, so when tifftopnm sees a non-colormapped maxval > 255, it takes it seriously and produces a matching output maxval. -
Another exception is where the TIFF maxval is greater than 65535, +
Another exception is where the TIFF maxval is greater than 65535, which is the maximum allowed by the Netpbm formats. In that case, tifftopnm uses a maxval of 65535, and you lose some information in the conversion. -
You may abbreviate any option to its shortest unique prefix. You may use +
In addition to the options common to all programs based on libnetpbm +(most notably -quiet, see +Common Options), tifftopnm recognizes the following +command line options: + +
You may abbreviate any option to its shortest unique prefix. You may use two hyphens instead of one in options. You may separate an option and its value either by an equals sign or white space. -
If you specify - as the filename, tifftopnm +
If you specify - as the filename, tifftopnm writes the transparency output to Standard Output and discards the image. -
See pamcomp for one way to use +
See pamcomp for one way to use the transparency output file. -
tifftopnm has two ways to do the conversion from Tiff to PNM, using +
tifftopnm has two ways to do the conversion from Tiff to PNM, using respectively two facilities of the TIFF library: -
Whole Image is preferable because the Tiff library does more of the +
Whole Image is preferable because the Tiff library does more of the work, which means it understands more of the Tiff format possibilities now and in the future. Also, some compressed TIFF formats don't allow you to extract an individual row. -
Row By Row uses far less memory, which means with large images, it +
Row By Row uses far less memory, which means with large images, it can run in environments where Whole Image cannot and may also run faster. And because Netpbm code does more of the work, it's possible that it can be more flexible or at least give better diagnostic @@ -170,13 +174,13 @@ information if there's something wrong with the TIFF.
The Netpbm native code may do something correctly that the TIFF library does incorrectly, or vice versa. -
In Netpbm, we stress function over performance, so by default we +
In Netpbm, we stress function over performance, so by default we try Whole Image first, and if we can't get enough memory for the decoded image or TIFFRGBAImageGet() fails, we fall back to Row By Row. But if you specify the -byrow option, tifftopnm will not attempt Whole Image. If Row By Row does not work, it simply fails. -
See Color Separation (CMYK) TIFFs for a +
See Color Separation (CMYK) TIFFs for a description of one way Row By Row makes a significant difference in your results. @@ -185,13 +189,13 @@ your results. tifftopnm then scales them back to maxval 65535, but the lower 8 bits of information is gone. -
In many versions of the TIFF library, TIFFRGBAImageGet() does not +
In many versions of the TIFF library, TIFFRGBAImageGet() does not correctly interpret TIFF files in which the raster orientation is column-major (i.e. a row of the raster is a column of the image). With such a TIFF library and file, you must use -byrow to get correct output. -
Before Netpbm 10.11 (October 2002), tifftopnm always did Row +
Before Netpbm 10.11 (October 2002), tifftopnm always did Row By Row. Netpbm 10.12 always tried Whole Image first. -byrow came in with Netpbm 10.13 (January 2003). @@ -230,18 +234,18 @@ that have an orientation other than the common one.
+
There is a piece of information in the header of a TIFF image called "fillorder." The TIFF specification quite clearly states that this value tells the order in which bits are arranged in a byte @@ -250,42 +254,42 @@ assuming that the image has a format where more than one pixel can be represented by a single byte: 1) the byte is filled from most significant bit to least significant bit going left to right in the image; and 2) the opposite. -
+
However, there is confusion in the world as to the meaning of fillorder. Evidence shows that some people believe it has to do with byte order when a single value is represented by two bytes. -
+
These people cause TIFF images to be created that, while they use a MSB-to-LSB fillorder, have a fillorder tag that says they used LSB-to-MSB. A program that properly interprets a TIFF image will not end up with the image that the author intended in this case. -
-For a long time, tifftopnm did not understand fillorder itself +
+For a long time, tifftopnm did not understand fillorder itself and assumed the fillorder was MSB-to-LSB regardless of the fillorder tag in the TIFF header. And as far as I know, there is no legitimate reason to use a fillorder other than MSB-to-LSB. So users of -tifftopnm were happily using those TIFF images that had +tifftopnm were happily using those TIFF images that had incorrect fillorder tags. -
-So that those users can continue to be happy, tifftopnm today +
+So that those users can continue to be happy, tifftopnm today continues to ignore the fillorder tag unless you tell it not to. (It does, however, warn you when the fillorder tag does not say MSB-to-LSB that the tag is being ignored). -
+
If for some reason you have a TIFF image that actually has LSB-to-MSB fillorder, and its fillorder tag correctly indicates that, you must -use the -respectfillorder option on tifftopnm to get +use the -respectfillorder option on tifftopnm to get proper results. -
-Examples of incorrect TIFF images are at ftp://weather.noaa.gov. They are -apparently created by a program called faxtotiff. +
+Examples of incorrect TIFF images are at ftp://weather.noaa.gov. They are +apparently created by a program called faxtotiff. -
+
This note was written on January 1, 2002. -
Some TIFF images contain color information in CMYK form, whereas PNM images use RGB. There are various formulas for converting between these @@ -307,36 +311,36 @@ Row By Row mode. Y=(1-K)*(1-B) formula always. -
Derived by Jef Poskanzer from tif2ras.c, which is Copyright (c) -1990 by Sun Microsystems, Inc. Author: Patrick J. Naughton (naughton@wind.sun.com). - -