IO with images and numpy arrays.
Mahotas-imread is a simple module with a small number of functions:
imread
: Reads an image fileimread_multi
: Reads an image file with multiple images. Currently, TIFF and STK (a TIFF sub-based format) support this function.imsave
: Writes an image file
Example (which uses mahotas for Gaussian filtering):
from imread import imread, imsave
from mahotas import gaussian_filter
lena = imread('lena.jpeg')
lena = gaussian_filter(lena.astype(float), 4.)
imsave('lena-filtered.jpeg', lena)
This grew out of frustration at current image loading solutions in Python, in either my packages [mahotas] or packages from others [scikit-image, for example].
The relationship with numpy is very contained and this could be easily repurposed to load images in other frameworks, even other programming languages.
Python versions 2.6, 2.7, 3.3 are officially supported.
::: {#Citation} If you use imread on a published publication, please cite the main mahotas paper (imread is a spin-off of mahotas): :::
Luis Pedro Coelho Mahotas: Open source software for scriptable computer vision in Journal of Open Research Software, vol 1, 2013. [DOI]
In Bibtex format:
@article{mahotas,
author = {Luis Pedro Coelho},
title = {Mahotas: Open source software for scriptable computer vision},
journal = {Journal of Open Research Software},
year = {2013},
doi = {https://dx.doi.org/10.5334/jors.ac},
month = {July},
volume = {1}
}
The easiest environment to install mahotas-imread is anaconda, through conda-forge. Just use:
conda config --add channels conda-forge
conda install imread
To compile on debian/ubuntu:
sudo apt-get install libpng12-dev libtiff4-dev libwebp-dev
sudo apt-get install xcftools
To compile on Mac:
sudo port install libpng tiff webp
Either way, you can then compile with:
python setup.py build
and install with:
python setup.py install
On Windows, you can also just download a pre-built package from C. Gohlke's repository
On nix, you can use:
nix-env -iA nixpkgs.python3Packages.imread
or use the pkgs.python3Packages.imread
object in your *.nix
files.
- Documentation: https://imread.readthedocs.io/
- Issue Tracker: github imread issues
- Mailing List: Use the pythonvision mailing list for questions, bug submissions, etc.
- Main Author & Maintainer: Luis Pedro Coelho (follow on twitter or github).
- Fix build issue (#43, patch by @carlosal1015)
- Add missing header files to distribution
- Add missing test data to distribution
- Fix several memory access bugs in parsers (reported by Robert Scott)
- Fix 16-bit RGB/RGBA TIFF write (patch by Tomi Aarnio)
- Add support for reading ImageJ ROIs
- Support pathlib paths as function arguments
- Fix 16 bit PNG write support (patch by Tomi Aarnio)
- Add [supports_format]{.title-ref} function
- Make png compression level tunable when calling imsave
- Add imsave_multi
- Add partial support for reading PNG files in Gray alpha format
- Improve tests to work after installation
- Fix compilation in MSVC (patch by Christoph Gohlke)
- Add magic-number based format auto-detection
- Auto detect whether webp is installed
- Fix WebP reading (update to newer API)
- Add configuration for TIFF saving
- Correctly save 16 bit PNG images
- Better error messages for JPEG
- Added imload*/imwrite synonyms as suggested by Thouis (Ray) Jones
- Options framework
- Allow user to specify JPEG quality when saving
- Fix loading of 16 bit PNG images
- Fix possible crash on error with TIFF
- Fix compilation on Windows (reported by Volker Hilsenstein)
- Make it easy to compile without WebP
- Support for reading from in-memory blobs
- Support for reading & writing TIFF metadata
- Add PHOTOMETRIC tag to TIFF (reported by Volker Hilsenstein)
- Support writing RGB TIFFs
- Fix hard crash when saving with non-existing file type
- Fix compilation on MacOS (patch by Alexander Bohn)
- Add
verbose
argument to tests.run() - Better error when attempting to save floating point images
- Correctly accept uppercase extensions
- Python 3 support (patch by Christoph Gohlke [pull request 8 on github])
- Read 1-Bit PNGs
- Read simple BMPs (compression and many bit types not supported)
- More complete debug mode (export DEBUG=2 when building), more checks
- Add lzw.cpp to source distribution
- Support saving 16-bit TIFF
- Better Mac OS support (patch from Alexander Bohn)
- Fix imread_multi
- Add [formatstr]{.title-ref} argument to imread
- Open files in binary mode on Windows (patch by Christoph Gohlke)
- Read-only support for LSM files
- Read-only support for XCF files (through [xcf2png]{.title-ref})
- Fix writing of non-contiguous images (at least PNG was affected)
- Add missing files to distribution
- Compile on MSVC (Patches by Christoph Gohlke)
- Support for WebP
- Support for 1-bit TIFFs
- Better error message
- Support for multi-page TIFF reading
- Experimental read-only support for STK files
- Support for PNG
- Support for TIFF
- Support for JPEG