Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

Save and load numpy arrays as PNG images

Project description

imgarray (Python)

This stores 1D and 2D numpy arrays as png images. As a method of storage, not visualization (use pillow for that).

Q: Why would you ever want that?

  • It’s somewhat, though not extremely, space-efficient.
  • Saving and loading PNGs is supported by many languages, so all you need to do is port this library.
  • Results look kind of funny, nothing too interesting though.
  • Because you can.

Example

https://raw.githubusercontent.com/mverleg/imgarray/master/demo.png

Installation

This package requires numpy and pillow. They will be installed automatically if you install using pip:

pip install imgarray

Usage

Usage is very simple, there are only two functions:

from imgarray import save_array_img, load_array_img
data = randn((500, 500)).astype(int16)
save_array_img(data, path)
data2 = load_array_img(path)

You can check out demo.py or the tests for more (not a lot more to be fair, it’s a simple tool).

Notes

  • 1D arrays will be returned as 2D arrays with one unit dimension, because images are 2D.
  • It works with most numpy data types (specifically, the ones that use a number of bytes which is a power of 2).
  • If you remove metadata from the PNG, the file only loads correctly if the data was float64, and you’ll also get a warning.
  • If the data has more or less than 4 bytes per value, the height of the image is scaled to match. So array shape and image shape are similar but not necessarily identical.

Usage & contributions

Revised BSD License; at your own risk, you can mostly do whatever you want with this code, just don’t use my name for promotion and do keep the license file.

Pull requests are welcome, especially with unit tests. Due to the great importance of this library, maintenance is not going to be high-priority.

Project details


Release history Release notifications

This version
History Node

1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
imgarray-1.0-py2.py3-none-any.whl (6.9 kB) Copy SHA256 hash SHA256 Wheel 2.7
imgarray-1.0.tar.gz (4.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page