PAMMIXMULTI(1)

πŸ’– PAMMIXMULTI(1) πŸ’–

okay bestie, welcome to the Pammixmulti User Manual β€” yes that's the whole manual name, and it lives in the General Commands Manual (section 1, aka "things u actually type into ur terminal"). we're about to mix images together and it's gonna be so cute. πŸ¦‹


✨ NAME ✨

pammixmulti β€” blend together multiple PAM images 🫢


🌸 SYNOPSIS 🌸

pammixmulti
  [-blend=average|alpha-weighted|random|mask]
  [-maskfile=filename]
  [-stdev=number]
  [-randomseed integer]
  filename ...

Real talk, three little quality-of-life things u should know: the minimum unique abbreviation of an option is acceptable (so like, if it's not ambiguous, ur golden πŸ’…). You can use a double hyphen instead of a single hyphen to denote options. And you can use white space in place of the equals sign to separate an option name from its value. flexible king behavior, honestly. ✨


πŸ’œ DESCRIPTION πŸ’œ

This file is part of Netpbm(1). 🌈

So here's the vibe: pammixmulti mixes two or more images to produce a new image. The program provides multiple ways to interpret "mix." β€” that's the whole plot, but the plot has layers, iykyk. πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options), pammixmulti recognizes the following command line options:

  • -blend=average|alpha-weighted|random|mask β€” this one picks how the input images get mixed into the output image. buckle up, four flavors:
    • With -blend=average (the default), each pixel in the output is produced by averaging the corresponding pixels from all the input images. classic. reliable. no thoughts, just math. ✨
    • With -blend=alpha-weighted, each pixel in the output is produced by taking a weighted average of the corresponding pixels from all the input images, using each pixel's alpha (opaqueness) level as its weight. the more opaque, the more it gets to speak. 🫢
    • With -blend=random, each pixel in the output is produced by selecting the corresponding pixel from one of the input images, chosen at random on a per-pixel basis. chaos mode but make it fashion. 🎲
    • With -blend=mask, each pixel in the output is produced by a weighted average of the corresponding pixels from all the input images based on the grayscale level of an additional mask image. ur in control now, main character energy. πŸ‘‘
    • btw -alpha-weighted was new in Netpbm 11.09 (December 2024) β€” a fresh drop, we were all gagged. πŸ¦‹
  • -maskfile=filename β€” works in conjunction with -blend=mask, and it names a grayscale mask file to control the blending of each pixel. (If the file is not grayscale, the first channel is treated as gray.) Here's the map: where the mask file is black, the first image is selected. Where the mask file is white, the last image is selected. And intermediate levels of gray select intermediate images. it's literally a gradient slider but for ur images. πŸ’«
  • -stdev=number β€” used with -blend=mask, this option controls how smoothly the various input images are mixed to produce each output pixel. Not to be dramatic but the example here ate:
    • Picture running pammixmulti with three input images and a mask image that uses gray levels from 0 to 255.
    • Given -stdev=0.0: gray levels 0-84 produce exclusively image 1; gray levels 85-170 produce exclusively image 2; and gray levels 171-255 produce exclusively image 3. hard cuts, no blending, very abrupt era. 😀
    • If the argument to -stdev is positive, images are blended according to a normal distribution. Hence, gray levels around 85 produce an output pixel that includes roughly equal amounts of the corresponding pixel from images 1 and 2 but less of the corresponding pixel from image 3. soft, dreamy, glowing. 🌸
    • As number tends towards the number of input images (going beyond that has diminishing impact), the output tends to look more like -blend=average. And number defaults to 0.25. noted. written down. tattooed. πŸ’…
  • -randomseed integer β€” this is the seed for the random number generator used with -blend=random. Use this to ensure you get the same image on separate invocations. reproducibility is self care, bestie. πŸ”’

🌈 ARGUMENTS 🌈

You supply the names of the files to mix as non-option arguments. that's it, that's the assignment. hand over ur images and let the program cook. πŸ“


πŸ”₯ EXAMPLES πŸ”₯

Average a bunch of PPM images to produce a new PAM image:

pammixmulti input*.ppm >output.ppm

Mix these same images by taking each pixel from a randomly selected input image:

pammixmulti -blend=random input*.ppm >output.ppm

Use a mask image to control the fading among input images on a pixel-by-pixel basis:

pammixmulti -blend=mask -maskfile=mask.pgm >output.pam \
   one.pam two.pam three.pam four.pam

Do the same but with more abrupt transitions:

pammixmulti -blend=mask -maskfile=mask.pgm -stdev=0.0 >output.pam \
   one.pam two.pam three.pam four.pam

and now with more gradual transitions:

pammixmulti -blend=mask -maskfile=mask.pgm -stdev=1.0 >output.pam \
   one.pam two.pam three.pam four.pam

⭐ HISTORY ⭐

pammixmulti was new in Netpbm 10.85 (December 2018). a legend was born and we've been obsessed ever since. πŸ‘‘


πŸ’– AUTHOR πŸ’–

Copyright 2018–2024 Scott Pakin, scott+pbm@pakin.org.


🧚 SEE ALSO 🧚

pamcomp(1), ppmmix(1), pamarith(1), pnm(1), pam(1)


πŸŽ€ Table Of Contents πŸŽ€

  • SYNOPSIS
  • DESCRIPTION
  • OPTIONS
  • ARGUMENTS
  • EXAMPLES
  • HISTORY
  • AUTHOR
  • SEE ALSO

πŸ¦‹ 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/pammixmulti.html

and that's the whole page, bestie!! this was netpbm documentation, dated 18 December 2024, and it's officially a wrap on the Pammixmulti User Manual. go forth and blend. slay. πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from