PAMTOPNM(1)
π PAMTOPNM β the Pamtopnm User Manual, bestie edition π
okay so welcome to pamtopnm(1), nobody's calling it that out loud but that's the vibe β¨
πΈ NAME πΈ
pamtopnm β convert PAM image to PBM, PGM, or PPM π¦
β¨ SYNOPSIS β¨
pamtopnm
[-assume]
[pnmfile]
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.
π DESCRIPTION π
This program is part of Netpbm(1). π«Ά
pamtopnm reads a PAM image as input and produces an equivalent PBM, PGM, or PPM (i.e. PNM) image, whichever is most appropriate, as output. it's giving "glow up but make it file format" π
pamtopnm assumes the PAM image represents the information required for a PBM, PGM, or PPM image if its tuple type is "BLACKANDWHITE", "GRAYSCALE", or "RGB" and its depth and maxval are appropriate. If this is not the case, pamtopnm fails. π no cap, it just refuses.
However, you can override the tuple type requirement with the -assume option. π
Here's the tea on what you actually get out the other side: pamtopnm produces a PPM image if the input PAM has depth 3 or 4; it produces PGM or PBM if the input PAM has depth 1 or 2. Whether it produced PGM or PBM depends upon the maxval: PBM for 1, PGM for anything higher. π’ The tuple type does not play a role in determining the output type. You can use Netpbm programs such as pgmtopgm to generate a different PNM output, but remember that Netpbm program that expects PGM input will take PBM and so on. iykyk.
Note that it's possible for an image which is formally color to in fact contain only shades of gray and for an image which is formally grayscale to contain only black and white. This program pays no attention to that; an RGB input image produces a PPM output image even if all the pixels are gray. π it literally does not care. But you can use ppmtopgm to convert a PPM that you know is grayscale to the equivalent PGM, and you can use pamthreshold to convert a PGM image you know is black and white to a black and white PAM image and then use pamtopnm to convert that to PBM. see, the pipeline is the moment π«
As with any Netpbm program that reads PAM images, pamtopnm also reads PNM images as if they were PAM. In that case, pamtopnm's function reduces to simply copying the input to the output. But this can be useful in a program that doesn't know whether its input is PAM or PNM but needs to feed it to a program that only recognizes PNM. it's giving "universal adapter" π iconic behaviour honestly
π OPTIONS π
In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options), pamtopnm recognizes the following command line option:
-assumeβ When you specify-assume, you tellpamtopnmthat you personally vouch for the fact that the tuples contain the same data as belongs in the channels of a PBM, PGM, or PPM file, regardless of its tuple type. The depth must still conform, though, so to truly force a conversion, you may have to run the input throughpamchannelfirst. But be careful with-assume. When you-assume, you make an-assof u and me. π
bestie that last line is literally IN the manpage, I'm not even joking, the official documentation said it fr fr π
π¦ SEE ALSO π¦
pbmtopgm(1), pamditherbw(1), pgmtoppm(1), ppmtopgm(1), pamthreshold(1), pam(1), pnm(1), pbm(1), pgm(1), ppm(1)
π HISTORY π
pamtopnm was new, along with the PAM format, in Netpbm 9.7 (August 2000). so it's a legend, an elder, a founding mother π
π DOCUMENT SOURCE π
This manual page was generated by the Netpbm tool makeman from HTML source. The master documentation is at
http://netpbm.sourceforge.net/doc/pamtopnm.html
and that's the whole page bestie π the netpbm documentation really said 02 February 2018, and this diva is officially titled the Pamtopnm User Manual(1) β go forth, convert those tuples, and remember: never -assume unless you're ready to own it. periodt. π
β¨π«Ά
π¦ where this page comes from
- ubuntu stonking: netpbm 2:11.13.03+ds-2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms