Netpbm
Encyclopedia
Netpbm is an open source
package of graphics programs and a programming library, used mainly in the Unix
world. It is a highly portable package, working under many Unix platforms, Windows
, Mac OS X
, VMS
, Amiga OS and others and is included in all major open source
Unix-like
operating system
distributions.
Netpbm contains over 220 separate programs in the package, most of which have "pbm", "pgm", "ppm", "pam", or "pnm" in their names. For example, you might use pamscale to shrink an image by 10%, pamcomp to overlay one image on top of another, pbmtext to create an image of text or reduce the number of colors in an image with pnmquant.
The Netpbm package can, for example, use two successive conversion programs to turn a picture in the PBM format into a .bmp file:
pgmtoppm "#FFFFFF" somepic.pbm > somepic.ppm
ppmtobmp somepic.ppm > somepic.bmp
This is more commonly done as a pipeline
, to save execution time and to avoid
leaving a temporary somepic.ppm file around:
pgmtoppm "#FFFFFF" somepic.pbm | ppmtobmp > somepic.bmp
The Netpbm programs are frequently used as intermediates to convert between obscure formats. For instance, there may be no tool to convert an X11 window dump (XWD
format) directly to a Macintosh PICT
file, but one can do this by running xwdtopnm, then ppmtopict. (Tools which say that they output PNM may output PPM, PGM or PBM. Tools importing PNM will read any of the three formats.)
in the mid-1980s. At the time, there was no standard, reliable way to send binary files in email, and attempting to send anything other than 7-bit ASCII
in email often resulted in data corruption
. PBM was designed to allow images to be sent via email without being corrupted. Poskanzer released the forerunner of Netpbm, called Pbmplus in 1988. By the end of 1988, Poskanzer had developed the PGM (greyscale) and PPM (color) formats and released them with Pbmplus.
The last release of Pbmplus was on December 10, 1991. Poskanzer never released any further updates, and in 1993 Netpbm was developed to replace it. At first it was nothing more than a renamed release of Pbmplus, but updates continued to occur until 1995 when the package again became abandoned. In 1999 the Netpbm package was picked up by its present maintainer, Bryan Henderson.
In 2000 PAM was added to the file formats of the NetPBM library allowing an alpha channel.
The name Netpbm came from the program developers collaborating over the Internet
, which was notable at the time. (The NetBSD
operating system and Nethack
game got their names similarly.)
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
package of graphics programs and a programming library, used mainly in the Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
world. It is a highly portable package, working under many Unix platforms, Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, VMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
, Amiga OS and others and is included in all major open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
distributions.
File formats and programs
Netpbm defines a set of graphics formats called the netpbm formats:- The portable pixmap/greymap/bitmap formats PPM, PGM, PBM. They are collectively referred to as PNM.
- The more sophisticated PAMPAM graphics formatThe PAM graphics format of the Netpbm package generalises all the features of the previous formats and provides for extending them...
format.
Netpbm contains over 220 separate programs in the package, most of which have "pbm", "pgm", "ppm", "pam", or "pnm" in their names. For example, you might use pamscale to shrink an image by 10%, pamcomp to overlay one image on top of another, pbmtext to create an image of text or reduce the number of colors in an image with pnmquant.
The Netpbm package can, for example, use two successive conversion programs to turn a picture in the PBM format into a .bmp file:
pgmtoppm "#FFFFFF" somepic.pbm > somepic.ppm
ppmtobmp somepic.ppm > somepic.bmp
This is more commonly done as a pipeline
Pipeline (Unix)
In Unix-like computer operating systems , a pipeline is the original software pipeline: a set of processes chained by their standard streams, so that the output of each process feeds directly as input to the next one. Each connection is implemented by an anonymous pipe...
, to save execution time and to avoid
leaving a temporary somepic.ppm file around:
pgmtoppm "#FFFFFF" somepic.pbm | ppmtobmp > somepic.bmp
The Netpbm programs are frequently used as intermediates to convert between obscure formats. For instance, there may be no tool to convert an X11 window dump (XWD
Xwd
In the X Window System, xwd is a program for capturing the content of the screen or of a window and saving it into a file.xwd can be run in two ways: if user specifies the whole screen or the name or identifier of a window as an argument, the program captures the content of the window; otherwise,...
format) directly to a Macintosh PICT
PICT
PICT is a graphics file format introduced on the original Apple Macintosh computer as its standard metafile format. It allows the interchange of graphics , and some limited text support, between Mac applications, and was the native graphics format of QuickDraw.The original version, PICT 1, was...
file, but one can do this by running xwdtopnm, then ppmtopict. (Tools which say that they output PNM may output PPM, PGM or PBM. Tools importing PNM will read any of the three formats.)
History
The PBM (black and white) format was invented by Jef PoskanzerJef Poskanzer
Jeffrey A. Poskanzer is a computer programmer. He was the first person to post a weekly FAQ to Usenet. He developed the portable pixmap file format and Pbmplus to manipulate it. He owns the internet address acme.com , and worked on the team that ported A/UX...
in the mid-1980s. At the time, there was no standard, reliable way to send binary files in email, and attempting to send anything other than 7-bit ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...
in email often resulted in data corruption
Data corruption
Data corruption refers to errors in computer data that occur during writing, reading, storage, transmission, or processing, which introduce unintended changes to the original data...
. PBM was designed to allow images to be sent via email without being corrupted. Poskanzer released the forerunner of Netpbm, called Pbmplus in 1988. By the end of 1988, Poskanzer had developed the PGM (greyscale) and PPM (color) formats and released them with Pbmplus.
The last release of Pbmplus was on December 10, 1991. Poskanzer never released any further updates, and in 1993 Netpbm was developed to replace it. At first it was nothing more than a renamed release of Pbmplus, but updates continued to occur until 1995 when the package again became abandoned. In 1999 the Netpbm package was picked up by its present maintainer, Bryan Henderson.
In 2000 PAM was added to the file formats of the NetPBM library allowing an alpha channel.
The name Netpbm came from the program developers collaborating over the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
, which was notable at the time. (The NetBSD
NetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...
operating system and Nethack
NetHack
NetHack is a single-player roguelike video game originally released in 1987. It is a descendant of an earlier game called Hack , which is a descendant of Rogue...
game got their names similarly.)
See also
- GraphicsMagickGraphicsMagickGraphicsMagick is a fork of ImageMagick, emphasizing stability of both programming API and command-line options. It was branched off ImageMagick's version 5.5.2 in 2002 after irreconcilable differences emerged in the developers' group....
- ImageMagickImageMagickImageMagick is an open source software suite for displaying, converting, and editing raster image files. It can read and write over 100 image file formats. ImageMagick is licensed under the Apache 2.0 license.- Features and capabilities:...
- GD Graphics LibraryGD Graphics LibraryThe GD Graphics Library is a graphics software library by Thomas Boutell and others for dynamically manipulating images. Its native programming language is ANSI C, but it has interfaces for many other programming languages. It can create GIFs, JPEGs, PNGs, and WBMPs...
- List of Unix programs