PBMCLEAN(1)

πŸ“¦
version 11.13.03 Β· 4 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– Pbmclean User Manual β€” section 1, bestie πŸ’–

okay so this is Pbmclean User Manual(1), a real actual manual page from the netpbm cinematic universe, and it's about a little program called pbmclean that removes ✨speckles✨ from images. yes you read that right. it's a Photoshop heal brush but make it command line and it's been doing this since 1989. we love a legacy queen. πŸ‘‘


✨ NAME ✨

pbmclean β€” despeckle a PBM image 🧹✨


🌸 SYNOPSIS 🌸

pbmclean [-minneighbors=N] [-black|-white] [-extended] [pbmfile]

that's it. that's the whole vibe. one line, four bracket-y bits, go off. 🫢


πŸŽ€ OPTION USAGE πŸŽ€

bestie pls memorise these three little quality-of-life rules, they're giving ✨flexible✨:

  • You can use the minimum unique abbreviation of the options. so like, if only one option starts with a letter, you can just... say that letter. slay.
  • You can use two hyphens instead of one. -black and --black are the same energy, no cap.
  • You can separate an option name from its value with white space instead of an equals sign. so -minneighbors=3 and -minneighbors 3 both work. iconic.

🌈 DESCRIPTION 🌈

So pbmclean is part of Netpbm(1). it cleans up a PBM image of random specks (the technical term is "snow", like TV static, but make it 1-bit 🩷). It reads a PBM image as input and outputs a PBM that is the same as the input except with isolated pixels inverted.

Basically: you can use pbmclean to clean up "snow" on bitmap images. snow removal but for pixels. πŸ¦‹

There are two ways pbmclean can define "isolated" pixels: simple and extended. When you specify -extended, pbmclean uses extended; otherwise it uses basic. that's the whole fork in the road, no third option, periodt.

πŸ’… Basic Mode πŸ’…

In basic mode, pbmclean looks at each pixel individually, and any pixel that doesn't have at least a minimum number of pixels of the same color touching it is considered isolated and pbmclean erases it.

The -minneighbors option specifies the minimum number of neighboring pixels of the same color for a pixel not to be considered isolated.

For example, if -minneighbors is two and there are two contiguous black pixels in an otherwise white field, each of those pixels is isolated, so pbmclean erases them β€” turns both white. byeee πŸ‘‹

The default minimum is 1 pixel β€” pbmclean flips only completely isolated pixels.

(A -minneighbors value greater than 8 generates a completely inverted image (but use pnminvert to do that) β€” or a completely white or completely black image with the -black or -white option). like... bestie that's a lot of neighbors, pls just use pnminvert, it's literally right there. 😭

pbmclean considers the area beyond the edges of the image to be white. (This matters when you consider pixels right on the edge of the image). edge pixels are going through it fr fr.

pbmclean does not distinguish between foreground and background; by default, it flips isolated pixels of either color. But you can specify -black or -white to have it flip only pixels of one color. choose your fighter. 🌸

πŸ¦‹ Extended Mode πŸ¦‹

In extended mode, pbmclean erases all blobs which don't have the specified minimum number of pixels. A blob is a set of contiguous pixels of the foreground color. The minimum number of pixels is one plus the -minneighbors value. You specify the foreground color with -black and -white (default is black).

For example, if -minneighbors is 2 and the foreground color is black, and the image contains a straight line 4 pixels long, pbmclean erases that β€” turns all four pixels white. pbmclean also erases 4 pixels in a square or L-shape. tiny blob detected, eliminated, no survivors πŸ’€

The default -minneighbors is 4, so a blob must have at least 5 pixels to escape pbmclean's purge. 5+ pixels or you're gone, that's the rule. πŸ‘‘

Extended mode was new in Netpbm 10.56 (September 2011). retro but recent-ish, we stan an update. ✨


⭐ OPTIONS ⭐

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

  • -black β€” flip pixels of the specified color (so, black ones). By default, if you specify neither -black nor -white, pbmclean flips both black and white pixels which do not have sufficient identical neighbors. If you specify -black, pbmclean leaves the white pixels alone and just erases isolated black pixels.
  • -white β€” flip pixels of the specified color (so, white ones). Vice versa of -black: leaves the black pixels alone and erases isolated white pixels. You may specify both -black and -white to get the same as the default behavior. 🫢 balance restored.
  • -minneighbors=N β€” This determines how many pixels must be in a cluster in order for pbmclean to consider them legitimate and not clean them out of the image. See Description. 🧚
    • Before December 2001, pbmclean accepted -N instead of -minneighbors.
    • Before Netpbm 10.27 (March 2005), -minneighbors was -minneighbor. (no "s". grammar was different back then, we don't judge.)
  • -extended β€” pbmclean uses extended, as opposed to basic, isolated pixel detection. πŸ”₯
    • This option was new in Netpbm 10.56 (September 2011).

πŸ‘€ SEE ALSO πŸ‘€

  • pbm(1)

go read it, it's the family tree. iykyk πŸ’œ


πŸŽ€ AUTHOR πŸŽ€

Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef Poskanzer. Copyright (C) 2001 by Michael Sternberg.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided "as is" without express or implied warranty.

fr, "as is" means as is β€” no warranty, no promises, no take-backs. we love a legally-dramatic disclaimer. πŸ’…

πŸ“ 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/pbmclean.html

and that's the whole page bestie!! ✨ this little manual came from the netpbm documentation, dated 19 November 2011, and it lives in section 1 of the Pbmclean User Manual. now go despeckle something. you're gonna eat. πŸ‘‘πŸ¦‹πŸ’–

πŸ“¦ where this page comes from