Read images to numpy arrays

Overview

mahotas-imread: Read Image Files

https://api.travis-ci.com/luispedro/imread.png

IO with images and numpy arrays.

Mahotas-imread is a simple module with a small number of functions:

imread
Reads an image file
imread_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.

Online documentation

Python versions 2.6, 2.7, 3.3+ are officially supported.

Python 3.2 (and earlier versions in the Python 3 series) are officially not supported. Patches will be accepted if they do not mess up anything else, but bug reports will not be considered as very high priority.

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 = {http://dx.doi.org/10.5334/jors.ac},
    month = {July},
    volume = {1}
}

Installation/Dependencies

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.python27Packages.imread

or use the pkgs.python27Packages.imread object in your *.nix files.

Links & Contacts

Documentation: http://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).

History

Version 0.7.3 (2020-04-09)

  • Add missing test data to distribution

Version 0.7.2 (2020-03-24)

  • Fix several memory access bugs in parsers (reported by Robert Scott)

Version 0.7.1 (2019-05-09)

  • Fix 16-bit RGB/RGBA TIFF write (patch by Tomi Aarnio)

Version 0.7.0 (2018-09-30)

  • Add support for reading ImageJ ROIs

Version 0.6.1 (2018-02-15)

  • Support pathlib paths as function arguments
  • Fix 16 bit PNG write support (patch by Tomi Aarnio)

Version 0.6 (2016-09-21)

  • Add supports_format function
  • Make png compression level tunable when calling imsave
  • Add imsave_multi
  • Add partial support for reading PNG files in Gray+alpha format

Version 0.5.1 (2014-11-06)

  • Improve tests to work after installation
  • Fix compilation in MSVC (patch by Christoph Gohlke)

Version 0.5 (2014-10-16)

  • Add magic-number based format auto-detection
  • Auto detect whether webp is installed
  • Fix WebP reading (update to newer API)

Version 0.4 (2014-07-21)

  • Add configuration for TIFF saving
  • Correctly save 16 bit PNG images
  • Better error messages for JPEG

Version 0.3.2 (2013-10-06)

  • 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

Version 0.3.1 (2013-06-20)

  • Fix possible crash on error with TIFF
  • Fix compilation on Windows (reported by Volker Hilsenstein)
  • Make it easy to compile without WebP

Version 0.3.0 (2013-07-29)

  • 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

Version 0.2.6 (2013-06-19)

  • 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

Version 0.2.5 (2012-10-29)

  • 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

Version 0.2.4 (2012-06-26)

  • Add lzw.cpp to source distribution
  • Support saving 16-bit TIFF
  • Better Mac OS support (patch from Alexander Bohn)

Version 0.2.3 (2012-06-8)

  • Fix imread_multi

Version 0.2.2 (2012-06-5)

  • Add formatstr 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)
  • Fix writing of non-contiguous images (at least PNG was affected)

Version 0.2.1 (2012-02-11)

  • Add missing files to distribution

Version 0.2 (2012-03-19)

  • 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

Version 0.1 (2012-02-28)

  • Support for PNG
  • Support for TIFF
  • Support for JPEG
Comments
  • wheels?

    wheels?

    I noticed that https://github.com/luispedro/imread/issues/23 discussed uploading wheels.

    Has that effort been stalled?I ask because imread is being used by scikit-image to test the imread backend. Installing imread from source sometimes breaks the build system.

    We also had to create a special case for it since it did not have "wheels" so we couldn't recommend our users install it by default as a general "optional dependency".

    Here is an example of a troublesome build https://travis-ci.org/scikit-image/scikit-image/jobs/530681267

    opened by hmaarrfk 9
  • imsave does not work with 16-bit PNGs

    imsave does not work with 16-bit PNGs

    First of all I want to thank you for developing the library, and especially the 16-bit PNG support. I think I've found a bug in it, though: It seems that saving 16-bit RGB data does not work properly. Only the first 5 columns in the generated file have the expected values, others contain some garbage. Note that 8-bit read/write and 16-bit read are working fine.

    I'm running imread version 0.6 on 64-bit Ubuntu 14.04, tested on both Python 2.7.6 and 3.4.3.

    opened by toaarnio 6
  • Error in greyscale conversion during imread

    Error in greyscale conversion during imread

    I'm using the macport py27 versions of imread, mahotas, and numpy. When I load image_0011.jpg from the "ant" category of the Caltech 101 dataset, I receive the error

    " in () ----> 1 image = mahotas.imread('/Users/*****/datasets/caltech101/data/ant/image_0011.jpg', as_grey=True)

    /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/imread/imread.pyc in imread(filename, as_grey, formatstr) 50 # these are the values that wikipedia says are typical 51 transform = np.array([ 0.30, 0.59, 0.11]) ---> 52 return np.dot(im, transform) 53 return im 54

    ValueError: objects are not aligned"

    This particular image is already greyscale, so essentially, imread isn't checking to ensure that the image has three channels. I'm not sure if this is intended behaviour and isn't noted in the documentation, or the check wasn't implemented.

    opened by JasonBens 6
  • Test errors on Windows

    Test errors on Windows

    I am building imread from git master with msvc9 on win32-py2.7, linking statically against tiff-3.9.6, libpng-1.5.10, jpeg-8d, libwebp-0.1.3, and zlib-1.2.6. The link libraries all test OK. There are no warnings during build. Running setup.py test results in the following errors:

    <snip>
    imread.tests.test_error.test_error ... ok
    imread.tests.test_imread.test_with_dot ... ERROR
    imread.tests.test_imread.test_no_ext ... ok
    imread.tests.test_imread.test_formatstr ... ERROR
    imread.tests.test_jpeg.test_jpeg ... Corrupt JPEG data: 53 extraneous bytes before marker 0xc0
    ok
    imread.tests.test_jpeg.test_error ... ok
    imread.tests.test_png.test_png_raw ... ERROR
    imread.tests.test_png.test_asym ... ERROR
    imread.tests.test_png.test_error ... ok
    imread.tests.test_png.test_regression ... ERROR
    imread.tests.test_tiff.test_read_back ... ERROR
    imread.tests.test_tiff.test_error ... ok
    imread.tests.test_tiff.test_monochrome ... ERROR
    imread.tests.test_webp.test_error ... ok
    imread.tests.test_xcf.test_xcf ... The process cannot access the file because it is being used by another process.
    ERROR
    
    ======================================================================
    ERROR: imread.tests.test_imread.test_with_dot
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "X:\Python27\lib\site-packages\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "imread-git\imread\tests\test_imread.py", line 7, in test_with_dot
        f = imread('./imread/tests/data/good.png')
      File "imread-git\imread\imread.py", line 45, in imread
        im = reader(filename, formatstr)
    RuntimeError: Read Error
    
    ======================================================================
    ERROR: imread.tests.test_imread.test_formatstr
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "X:\Python27\lib\site-packages\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "imread-git\imread\tests\test_imread.py", line 16, in test_formatstr
        f = imread('./imread/tests/data/good', formatstr='png')
      File "imread-git\imread\imread.py", line 45, in imread
        im = reader(filename, formatstr)
    RuntimeError: Not a PNG file
    
    ======================================================================
    ERROR: imread.tests.test_png.test_png_raw
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "X:\Python27\lib\site-packages\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "imread-git\imread\tests\test_png.py", line 21, in test_png_raw
        back = imread(_filename)
      File "imread-git\imread\imread.py", line 45, in imread
        im = reader(filename, formatstr)
    RuntimeError: Read Error
    
    ======================================================================
    ERROR: imread.tests.test_png.test_asym
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "X:\Python27\lib\site-packages\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "imread-git\imread\tests\test_png.py", line 29, in test_asym
        back = imread(_filename)
      File "imread-git\imread\imread.py", line 45, in imread
        im = reader(filename, formatstr)
    RuntimeError: Read Error
    
    ======================================================================
    ERROR: imread.tests.test_png.test_regression
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "X:\Python27\lib\site-packages\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "imread-git\imread\tests\test_png.py", line 38, in test_regression
        im = imread('imread/tests/data/palette_zero.png')
      File "imread-git\imread\imread.py", line 45, in imread
        im = reader(filename, formatstr)
    RuntimeError: Read Error
    
    ======================================================================
    ERROR: imread.tests.test_tiff.test_read_back
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "X:\Python27\lib\site-packages\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "imread-git\imread\tests\test_tiff.py", line 20, in test_read_back
        back = imread(_filename)
      File "imread-git\imread\imread.py", line 45, in imread
        im = reader(filename, formatstr)
    RuntimeError: imread.imread._tiff: libtiff error: `internal: Read error at scanline 4294967295; got 16 bytes, expected 291`
    
    ======================================================================
    ERROR: imread.tests.test_tiff.test_monochrome
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "X:\Python27\lib\site-packages\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "imread-git\imread\tests\test_tiff.py", line 28, in test_monochrome
        mono = imread('imread/tests/data/mono.tif')
      File "imread-git\imread\imread.py", line 45, in imread
        im = reader(filename, formatstr)
    RuntimeError: imread.imread._tiff: libtiff error: `internal: Can not read TIFF directory`
    
    ======================================================================
    ERROR: imread.tests.test_xcf.test_xcf
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "X:\Python27\lib\site-packages\nose\case.py", line 197, in runTest
        self.test(*self.arg)
      File "imread-git\imread\tests\test_xcf.py", line 4, in test_xcf
        im = imread('imread/tests/data/diag.xcf')
      File "imread-git\imread\imread.py", line 45, in imread
        im = reader(filename, formatstr)
      File "imread-git\imread\special.py", line 36, in readxcf
        return imread.imread(N.name)
      File "imread-git\imread\imread.py", line 45, in imread
        im = reader(filename, formatstr)
    OSError: File does not exist
    
    ----------------------------------------------------------------------
    Ran 15 tests in 0.065s
    
    FAILED (errors=8)
    Error in atexit._run_exitfuncs:
    Traceback (most recent call last):
      File "X:\Python27\lib\atexit.py", line 24, in _run_exitfuncs
        func(*targs, **kargs)
      File "X:\Python27\lib\multiprocessing\util.py", line 284, in _exit_function
        info('process shutting down')
    TypeError: 'NoneType' object is not callable
    Error in sys.exitfunc:
    Traceback (most recent call last):
      File "X:\Python27\lib\atexit.py", line 24, in _run_exitfuncs
        func(*targs, **kargs)
      File "X:\Python27\lib\multiprocessing\util.py", line 284, in _exit_function
        info('process shutting down')
    TypeError: 'NoneType' object is not callable
    
    opened by cgohlke 6
  • Wheel building repository

    Wheel building repository

    Hi,

    I just made a repository that will build Linux and OSX wheels for imread, here:

    https://github.com/MacPython/imread-wheels

    travis-ci builds the wheels:

    https://travis-ci.org/MacPython/imread-wheels

    and uploads them to:

    https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com

    I've given @luispedro admin permission to the wheel building repo. The README at the top level of the repository should be self-explanatory.

    Would you consider uploading the built wheels to pypi? I'm happy to do that if you like, I do that for quite a few other projects (numpy, scipy, matplotlib and so on).

    Thanks for imread.

    opened by matthew-brett 5
  • Does not build using python3.4

    Does not build using python3.4

    I'm trying to build the imread module using python3.4. I was able to build it using python2 (submitted to the Arch User repository here https://aur.archlinux.org/packages/python2-imread/). However using 3.4 I get the following errors:


    building 'imread._imread' extension compiling C++ sources C compiler: g++ -pthread -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fPIC

    compile options: '-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -DPY_ARRAY_UNIQUE_SYMBOL=MahotasImread_PyArray_API_Symbol -I/usr/local/include -I/usr/lib/python3.4/site-packages/numpy/core/include -I/usr/include/python3.4m -c' g++: imread/_imread.cpp In file included from /usr/include/python3.4m/pyatomic.h:8:0, from /usr/include/python3.4m/Python.h:53, from imread/lib/numpy.h:11, from imread/_imread.cpp:23: /usr/include/python3.4m/dynamic_annotations.h:472:3: error: template with C linkage template ^ In file included from /usr/include/python3.4m/pyatomic.h:8:0, from /usr/include/python3.4m/Python.h:53, from imread/lib/numpy.h:11, from imread/_imread.cpp:23: /usr/include/python3.4m/dynamic_annotations.h:472:3: error: template with C linkage template ^

    error: Command "g++ -pthread -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -DPY_ARRAY_UNIQUE_SYMBOL=MahotasImread_PyArray_API_Symbol -I/usr/local/include -I/usr/lib/python3.4/site-packages/numpy/core/include -I/usr/include/python3.4m -c imread/_imread.cpp -o build/temp.linux-x86_64-3.4/imread/_imread.o" failed with exit status 1

    Any idea where the error may come from? I hope this helps.

    opened by McNoggins 4
  • PNG reads in inverted

    PNG reads in inverted

    This image (which I hope uploads without change, MD5 = b655482e6c500210caca8950d6ce4bd9) loads in imread 0.3.1incorrectly. It looks right if I xor it with 255, but I don't think that's all that's wrong.

    04_labeled

    opened by thouis 4
  • Disabled manual addition of zlib when building on non-linux platforms.

    Disabled manual addition of zlib when building on non-linux platforms.

    Hi. I was having errors building the latest imread sources on OSX from your repo's master:

    https://gist.github.com/4023544#file_error_building_luispedro_source_with_pip.txt

    Removing the two lines from setup.py that add zlib to the libraries install list on non-linux systems fixed it -- all the tests ran OK thereafter and the library performed as advertised:

    https://gist.github.com/4023544#file_successful_install_build_ext_inplace_and_nosetests_run_with_patch_to_setup_file.txt

    I am not sure if adding zlib explicitly is necessary for some other platform, or if indeed this is the way to go, but it was a solution on my end.

    opened by fish2000 4
  • Build fails with imread 0.7.2

    Build fails with imread 0.7.2

    In scikit-image, we have failures with the latest version of imread. I haven't seen the issue here, so I report it.

    https://travis-ci.org/github/scikit-image/scikit-image/jobs/667169692?utm_medium=notification&utm_source=github_status

    opened by sciunto 3
  • Msvc9 build errors

    Msvc9 build errors

    Hi Luis,

    thank you for creating this project! It will be very useful also for a number of other packages.

    I get the following compile errors with Visual Studio 2008:

    _imread.cpp
    X:\imread-git\imread\lib/file.h(17) : error C2039: 'close' : is not a member of '`global namespace''
    X:\imread-git\imread\lib/file.h(17) : error C3861: 'close': identifier not found
    X:\imread-git\imread\lib/file.h(20) : error C2039: 'read' : is not a member of '`global namespace''
    X:\imread-git\imread\lib/file.h(20) : error C2660: 'fd_source_sink::read' : function does not take 3 arguments
    X:\imread-git\imread\lib/file.h(23) : error C2039: 'lseek' : is not a member of '`global namespace''
    X:\imread-git\imread\lib/file.h(23) : error C3861: 'lseek': identifier not found
    X:\imread-git\imread\lib/file.h(24) : error C2039: 'lseek' : is not a member of '`global namespace''
    X:\imread-git\imread\lib/file.h(24) : error C3861: 'lseek': identifier not found
    X:\imread-git\imread\lib/file.h(25) : error C2039: 'lseek' : is not a member of '`global namespace''
    X:\imread-git\imread\lib/file.h(25) : error C3861: 'lseek': identifier not found
    X:\imread-git\imread\lib/file.h(29) : error C2039: 'write' : is not a member of '`global namespace''
    X:\imread-git\imread\lib/file.h(29) : error C2660: 'fd_source_sink::write' : function does not take 3 arguments
    X:\imread-git\imread\lib/numpy.h(71) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
    error: Command "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG  -IX:\Python27\lib\site-packages\numpy\core\include -IX:\Python27\include -IX:\Python27\PC /Tpimread/_imread.cpp /Fobuild\
    temp.win32-2.7\Release\imread/_imread.obj /Zm1000" failed with exit status 2
    
    opened by cgohlke 3
  • Badly readed gray image

    Badly readed gray image

    Hi, I wanted to read an 8bit png image with imread() function. But the loaded image has incorrectly 3 channels and also strange values in them. I'm using the package downloaded from http://www.lfd.uci.edu/~gohlke/pythonlibs/ (version for python 3.3 32bit). Could you please look at it and tell me if this is a bug or mistake at my side? Thanks.

    opened by MikiGrit 2
  • Write to buffer or return bytes

    Write to buffer or return bytes

    This is more a question or feature request / idea rather than an issue.

    If I am not mistaken it's currently not possible to write to a buffer or return the written bytes somehow right? What do you think about expanding the interface to support something like:

    buf = BytesIO()
    imsave(buf, my_fancy_array, formatstr='png')
    

    If this is out of scope never mind. I am just curious.

    feature-request 
    opened by flekschas 4
  • imread_multi() returns 1 image of 3997

    imread_multi() returns 1 image of 3997

    I'm unsure what's wrong with this image, but imread.imread_multi() only returns one image. (As do several other python tiff wrappers).

    https://drive.google.com/file/d/0Bx-14WwcXFgebmlLUGYwV1ZUc0E/view?usp=sharing

    Sorry for the large size; I couldn't create a smaller test case.

    tiffinfo reports: TIFF Directory at offset 0x8 (8) Subfile Type: (0 = 0x0) Image Width: 1024 Image Length: 544 Resolution: 0.307669, 0.307669 (unitless) Bits/Sample: 16 Compression Scheme: None Photometric Interpretation: min-is-black Samples/Pixel: 1 Rows/Strip: 544 Planar Configuration: single image plane ImageDescription: ImageJ=1.47u images=3997 frames=3997 unit=micron finterval=0.10010010004043579 loop=false min=1037.0 max=2281.0

    opened by thouis 6
Releases(v0.7.2)
  • v0.7.2(Mar 24, 2020)

  • release-0.6(Oct 4, 2016)

    ChangeLog:

    • Add supports_format function
    • Make png compression level tunable when calling imsave
    • Add imsave_multi
    • Add partial support for reading PNG files in Gray+alpha format
    Source code(tar.gz)
    Source code(zip)
Owner
Luis Pedro Coelho
Luis Pedro Coelho
Simple, concise geographical visualization in Python

Geographic visualizations for HoloViews. Build Status Coverage Latest dev release Latest release Docs What is it? GeoViews is a Python library that ma

HoloViz 445 Jan 02, 2023
Create Siege configuration files from Cloud Optimized GeoTIFF.

cogeo-siege Documentation: Source Code: https://github.com/developmentseed/cogeo-siege Description Create siege configuration files from Cloud Optimiz

Development Seed 3 Dec 01, 2022
WebGL2 powered geospatial visualization layers

deck.gl | Website WebGL2-powered, highly performant large-scale data visualization deck.gl is designed to simplify high-performance, WebGL-based visua

Vis.gl 10.5k Jan 08, 2023
Enable geospatial data mining through Google Earth Engine in Grasshopper 3D, via its most recent Hops component.

AALU_Geo Mining This repository is produced for a masterclass at the Architectural Association Landscape Urbanism programme. Requirements Rhinoceros (

4 Nov 16, 2022
Python interface to PROJ (cartographic projections and coordinate transformations library)

pyproj Python interface to PROJ (cartographic projections and coordinate transformations library). Documentation Stable: http://pyproj4.github.io/pypr

832 Dec 31, 2022
GebPy is a Python-based, open source tool for the generation of geological data of minerals, rocks and complete lithological sequences.

GebPy is a Python-based, open source tool for the generation of geological data of minerals, rocks and complete lithological sequences. The data can be generated randomly or with respect to user-defi

Maximilian Beeskow 16 Nov 29, 2022
Stitch image tiles into larger composite TIFs

untiler Utility to take a directory of {z}/{x}/{y}.(jpg|png) tiles, and stitch into a scenetiff (tif w/ exact merc tile bounds). Future versions will

Mapbox 38 Dec 16, 2022
framework for large-scale SAR satellite data processing

pyroSAR A Python Framework for Large-Scale SAR Satellite Data Processing The pyroSAR package aims at providing a complete solution for the scalable or

John Truckenbrodt 389 Dec 21, 2022
python toolbox for visualizing geographical data and making maps

geoplotlib is a python toolbox for visualizing geographical data and making maps data = read_csv('data/bus.csv') geoplotlib.dot(data) geoplotlib.show(

Andrea Cuttone 976 Dec 11, 2022
Rasterio reads and writes geospatial raster datasets

Rasterio Rasterio reads and writes geospatial raster data. Geographic information systems use GeoTIFF and other formats to organize and store gridded,

Mapbox 1.9k Jan 07, 2023
LicenseLocation - License Location With Python

LicenseLocation Hi,everyone! ❀ 🧑 πŸ’› πŸ’š πŸ’™ πŸ’œ This is my first project! βœ” Actual

The Bin 1 Jan 25, 2022
Manipulation and analysis of geometric objects

Shapely Manipulation and analysis of geometric objects in the Cartesian plane. Shapely is a BSD-licensed Python package for manipulation and analysis

3.1k Jan 03, 2023
Python renderer for OpenStreetMap with custom icons intended to display as many map features as possible

Map Machine project consists of Python OpenStreetMap renderer: SVG map generation, SVG and PNG tile generation, RΓΆntgen icon set: unique CC-BY 4.0 map

Sergey Vartanov 0 Dec 18, 2022
Location field and widget for Django. It supports Google Maps, OpenStreetMap and Mapbox

django-location-field Let users pick locations using a map widget and store its latitude and longitude. Stable version: django-location-field==2.1.0 D

Caio Ariede 481 Dec 29, 2022
peartree: A library for converting transit data into a directed graph for sketch network analysis.

peartree 🍐 🌳 peartree is a library for converting GTFS feed schedules into a representative directed network graph. The tool uses Partridge to conve

Kuan Butts 183 Dec 29, 2022
Spatial Interpolation Toolbox is a Python-based GUI that is able to interpolate spatial data in vector format.

Spatial Interpolation Toolbox This is the home to Spatial Interpolation Toolbox, a graphical user interface (GUI) for interpolating geographic vector

Michael Ward 2 Nov 01, 2021
The geospatial toolkit for redistricting data.

maup maup is the geospatial toolkit for redistricting data. The package streamlines the basic workflows that arise when working with blocks, precincts

Metric Geometry and Gerrymandering Group 60 Dec 05, 2022
Expose a GDAL file as a HTTP accessible on-the-fly COG

cogserver Expose any GDAL recognized raster file as a HTTP accessible on-the-fly COG (Cloud Optimized GeoTIFF) The on-the-fly COG file is not material

Even Rouault 73 Aug 04, 2022
Geodata extensions for Django REST Framework

Django-Spillway Django and Django REST Framework integration of raster and feature based geodata. Spillway builds on the immensely marvelous Django RE

Brian Galey 62 Jan 04, 2023
gpdvega is a bridge between GeoPandas and Altair that allows to seamlessly chart geospatial data

gpdvega gpdvega is a bridge between GeoPandas a geospatial extension of Pandas and the declarative statistical visualization library Altair, which all

Ilia Timofeev 49 Jul 25, 2022