This program is part of Netpbm.
pnmtofits reads a PNM image as input and produces a FITS (Flexible Image Transport System) file as output. The resolution of the output file is either 8 bits/pixel, or 16 bits/pixel, depending on the value of maxval in the input file. If the input file is a PBM or PGM image, the output file consists of a single plane image (NAXIS = 2). If instead the input file is a PPM image, the output file will consist of a three-plane image (NAXIS = 3, NAXIS3 = 3).
You can find a full description of the FITS format in Astronomy & Astrophysics Supplement Series 44 (1981), page 363.
-min and -max tell pnmtofits what "physical values" zero and maxval sample values, respectively, in the input image represent. Physical values are a FITS concept. pnmtofits sets up the BSCALE and BZERO FITS header cards to indicate this information.
The default for -min is 0 and for -max is the maxval, which means if you don't specify these options, the FITS physical values are in fact the original PNM sample values.
pnmtofits always sets up the FITS header DATAMIN and DATAMAX cards to indicate that the highest physical value in the image is the one corresponding to the PNM maxval and the lowest is that corresponding to PNM zero. This isn't really how those cards are supposed to be used, since the input image doesn't necessarily contain the full possible range of sample values. It is a conservative approximation.
pamtofits was originally pnmtofits and did not handle PAM input. It was extended and renamed in Netpbm 10.30 (October 2005).