PPMSHIFT(1)

πŸ’… ppmshift β€” the Netpbm glow-up you didn't know you needed

okay bestie, this is a page from the Ppmshift User Manual, section 1 of the General Commands Manual, and it's about to shift your whole world. literally. sideways. randomly. πŸ¦‹


✨ NAME ✨

ppmshift β€” shift lines of a PPM image left or right by a random amount

✨ SYNOPSIS ✨

ppmshift shift [ppmfile]

✨ DESCRIPTION ✨

so this program is part of Netpbm(1), iconic family, no notes. 🫢

ppmshift reads a PPM image as input, and then it does the thing: it shifts every row of image data to the left or to the right by a random amount, somewhere within a range of shift pixels. the random distribution is uniform and it's centered at zero movement β€” so like, on average, nobody's going anywhere, but every individual row is out here making choices. πŸ’€

ngl, the randomness in the image is limited before Netpbm 10.37 (December 2006) β€” if you run the program twice in the same second, you may get identical output. same second, same vibe. πŸ™ˆ

the tea: this is an effect the author intended to use for MPEG tests. unfortunately, that did not work out β€” it creates too random patterns to be used for animations. 😭 but lowkey? it might still give interesting results on still images. main character energy on a static pic. ✨

✨ OPTIONS ✨

there are no command line options defined specifically for ppmshift, bestie. but it does recognize the options common to all programs based on libnetpbm β€” see Common Options. (iykyk.) πŸ‘‘

✨ EXAMPLE ✨

check this out: save your favorite model's picture from something like alt.binaries.pictures.supermodels (ok, or from any other picture source), convert it to ppm, and process it e.g. like this β€” assuming the picture is 800x600 pixels:

#take the upper half, and leave it like it is
pamcut -top=0 -width=800 -height=300 cs.ppm >upper.ppm

#take the lower half, flip it upside down, dim it and distort it a little
pamcut -top=300 -width=800 -height=300 cs.ppm | \
    pamflip -topbottom | \
    ppmdim 0.7 | \
    ppmshift 10 >lower.ppm

#and concatenate the two pieces
pamcat -topbottom upper.ppm lower.ppm >newpic.ppm

and the resulting picture looks like the image being reflected on a water surface with slight ripples. 🌊 absolutely ate, fr fr. πŸ”₯

✨ SEE ALSO ✨

✨ AUTHOR ✨

Copyright (C) 1993 by Frank Neumann πŸŽ€

✨ 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/ppmshift.html

and that's the whole page, bestie πŸ’– this one came from the netpbm documentation, dated 20 November 2008, and it's giving very much "Ppmshift User Manual(1)" in the footer. slay, bye πŸŽ€βœ¨πŸŒΈ

πŸ“¦ where this page comes from