This program is part of Netpbm.
pamoil reads a Netpbm image as input and does an "oil transfer", and writes the same type of Netpbm image as output.
The oil transfer is described in "Beyond Photography" by Holzmann, chapter 4, photo 7. It's a sort of localized smearing.
The smearing works like this: First, assume a grayscale image. For each pixel in the image, pamoil looks at a square neighborhood around it. pamoil determines what is the most common pixel intensity in the neighborhood, and puts a pixel of that intensity into the output in the same position as the input pixel.
For color images, or any arbitrary multi-channel image, pamoil computes each channel (e.g. red, green, and blue) separately the same way as the grayscale case above.
At the edges of the image, where the regular neighborhood would run off the edge of the image, pamoil uses a clipped neighborhood.
The default is 3.
This program is based on pgmoil Copyright (C) 1990 by Wilson Bent (firstname.lastname@example.org)
Modified to ppm by Chris Sheppard, June 25, 2001
Modified to pnm, using pam functions, by Bryan Henderson June 28, 2001.