This program is part of Netpbm.
pnmsmooth smoothes out an image by replacing each pixel with the average of its width X height neighbors. It is implemented as a progam that generates a PGM convolution matrix and then invokes pnmconvol with it.
Minimum unique abbreviations of options 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.
These options were new in Netpbm 10.32 (February 2006). Before that, use -size.
When you use this option, the first two program arguments are the width and height, respectively, of the convolution matrix and do the same thing as the -width and -height option values. The third (optional) program argument is the input file name.
In reality, in old pnmsmooth, the width and height are two values of the -size option, but the modern Netpbm command syntax paradigm doesn't allow an option with multiple values, so instead -size is an option with no value and width and height are program arguments. That has the fortunate effect of making the following command mean the same in current pnmsmooth as in old pnmsmooth:
pnmsmooth -size 5 5 infile.ppm >outfile.ppm
Before Netpbm 10.32 (February 2006), pnmsmooth did not use the modern Netpbm command line parser, so had an unconventional command line syntax. Most importantly, you could not use an equal size or double hyphens in the options.