Skip to main content

Read and write Netpbm files

Project description

Netpbmfile is a Python library to read and write image files in the Netpbm format as specified at http://netpbm.sourceforge.net/doc/.

The following Netpbm and Portable FloatMap formats are supported:

  • PBM (bi-level)

  • PGM (grayscale)

  • PPM (color)

  • PAM (arbitrary)

  • XV thumbnail (RGB332, read-only)

  • Pf (float32 grayscale, read-only)

  • PF (float32 RGB, read-only)

  • PF4 (float32 RGBA, read-only)

  • PGX (signed grayscale, read-only)

No gamma correction is performed. Only one image per file is supported.

The PGX format is specified in ITU-T Rec. T.803.

Author:

Christoph Gohlke

License:

BSD 3-Clause

Version:

2022.9.1

Requirements

This release has been tested with the following requirements and dependencies (other versions may work):

Revisions

2022.9.1

  • Update metadata.

2022.2.2

  • Add type hints.

  • Support reading PF4 RGBA FloatMaps.

  • Drop support for Python 3.7 and numpy < 1.19 (NEP29).

2021.6.6

  • Fix unclosed file warnings.

  • Support reading PGX JPEG2000 reference images.

2020.10.18

  • Disallow comments after last value in PNM headers.

2020.9.18

  • Remove support for Python 3.6 (NEP 29).

  • Support os.PathLike file names.

2020.1.1

  • Fix reading tightly packed P1 format and ASCII data with inline comments.

  • Remove support for Python 2.7 and 3.5.

  • Update copyright.

2018.10.18

  • Move netpbmfile.py into netpbmfile package.

2018.02.18

  • Support reading Portable FloatMaps.

  • Style fixes.

2016.02.24

  • Use fromdata classmethod to initialize from data.

  • Support with statement.

  • Scale RGB images to maxval for display.

  • Make keyword arguments explicit.

  • Support numpy 1.10.

Examples

Save a numpy array to a Netpbm file in grayscale format:

>>> data = numpy.array([[0, 1], [65534, 65535]], dtype='uint16')
>>> imwrite('_tmp.pgm', data)

Read the image data from a Netpbm file as numpy array:

>>> image = imread('_tmp.pgm')
>>> assert numpy.all(image == data)

Access meta and image data in a Netpbm file:

>>> with NetpbmFile('_tmp.pgm') as pgm:
...     pgm.axes
...     pgm.shape
...     pgm.dtype
...     pgm.maxval
...     pgm.magicnum
...     image = pgm.asarray()
'YX'
(2, 2)
dtype('>u2')
65535
b'P5'

View the image stored in a Netpbm file from a command line:

``python -m netpbmfile _tmp.pgm``.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netpbmfile-2022.9.1.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

netpbmfile-2022.9.1-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file netpbmfile-2022.9.1.tar.gz.

File metadata

  • Download URL: netpbmfile-2022.9.1.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for netpbmfile-2022.9.1.tar.gz
Algorithm Hash digest
SHA256 dc65d7517812469fc8e71f755e5f82a0d297c020c0d4c1bd9bac4f6ce39dbe1a
MD5 4431edd483957e97557af4f45859aa6a
BLAKE2b-256 bca0e391cb9348ac061c5d31f0af0728484ca1648779f328f03497b0f7ec717a

See more details on using hashes here.

File details

Details for the file netpbmfile-2022.9.1-py3-none-any.whl.

File metadata

File hashes

Hashes for netpbmfile-2022.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 43fdbda2dad40598ffd0d89d791fc1f46152cb5b0facf08be1aeebd0f3dfb41b
MD5 9d73cbdae7241eaac801faa517997deb
BLAKE2b-256 773ccaa12419a26f4c390ca03ce7e3e10bab6f91769fb017b33c2c78573c5229

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page