This program is part of Netpbm(1).
pammixinterlace is meant to operate on an image which is the interlacing of two images, where raster rows
0, 2, 4, etc. are from one image and rows 1, 3, 5, etc. are from another. (See below for why you might
expect to encounter such an image).
pammixinterlace makes each row of the output a mixture of the corresponding row of the input and its two
neighbors. It uses half of the main row and a quarter each of the two neighbor rows.
This can be useful if the image is a video capture from an interlaced video source. In that case, each
row shows the subject 1/60 second before or after the two rows that surround it. If the subject is
moving, this can detract from the quality of the image.
In video data streams, you often find each frame contains only half the rows of the image -- the odd half
or the even half. The displayer of the stream displays the rows in their proper positions on a CRT as
they come in. When you display the rows in this order, the CRT has less flicker because a particular
area of the screen gets refreshed twice as often. In the process of capturing such a stream, computers
often generate the interlaced image of the type that pammixinterlace works with. But this interlaced
image, when displayed on a CRT, does not look the same as if a displayer were rendering the stream
directly on a CRT as it arrived, because of the timing of when the various pixels get drawn and
subsequently fade. That's why you need something like pammixinterlace.
You may prefer the effect of simply extracting one of two images. You can do that with pamdeinterlace.