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
A Jupyter - Leaflet.js bridge

ipyleaflet A Jupyter / Leaflet bridge enabling interactive maps in the Jupyter notebook. Usage Selecting a basemap for a leaflet map: Loading a geojso

Jupyter Widgets 1.3k Dec 27, 2022
Helping data scientists better understand their datasets and models in text classification. With love from ServiceNow.

Azimuth, an open-source dataset and error analysis tool for text classification, with love from ServiceNow. Overview Azimuth is an open source applica

ServiceNow 145 Dec 23, 2022
Computer Vision in Python

Mahotas Python Computer Vision Library Mahotas is a library of fast computer vision algorithms (all implemented in C++ for speed) operating over numpy

Luis Pedro Coelho 792 Dec 20, 2022
Asynchronous Client for the worlds fastest in-memory geo-database Tile38

This is an asynchonous Python client for Tile38 that allows for fast and easy interaction with the worlds fastest in-memory geodatabase Tile38.

Ben 53 Dec 29, 2022
Hapi is a Python library for building Conceptual Distributed Model using HBV96 lumped model & Muskingum routing method

Current build status All platforms: Current release info Name Downloads Version Platforms Hapi - Hydrological library for Python Hapi is an open-sourc

Mostafa Farrag 15 Dec 26, 2022
Python module to access the OpenCage geocoding API

OpenCage Geocoding Module for Python A Python module to access the OpenCage Geocoder. Build Status / Code Quality / etc Usage Supports Python 3.6 or n

OpenCage GmbH 57 Nov 01, 2022
A package built to support working with spatial data using open source python

EarthPy EarthPy makes it easier to plot and manipulate spatial data in Python. Why EarthPy? Python is a generic programming language designed to suppo

Earth Lab 414 Dec 23, 2022
A light-weight, versatile XYZ tile server, built with Flask and Rasterio :earth_africa:

Terracotta is a pure Python tile server that runs as a WSGI app on a dedicated webserver or as a serverless app on AWS Lambda. It is built on a modern

DHI GRAS 531 Dec 28, 2022
Cloud Optimized GeoTIFF creation and validation plugin for rasterio

rio-cogeo Cloud Optimized GeoTIFF (COG) creation and validation plugin for Rasterio. Documentation: https://cogeotiff.github.io/rio-cogeo/ Source Code

216 Dec 31, 2022
A service to auto provision devices in Aruba Central based on the Geo-IP location

Location Based Provisioning Service for Aruba Central A service to auto provision devices in Aruba Central based on the Geo-IP location Geo-IP auto pr

Will Smith 3 Mar 22, 2022
A short term landscape evolution using a path sampling method to solve water and sediment flow continuity equations and model mass flows over complex topographies.

r.sim.terrain A short-term landscape evolution model that simulates topographic change for both steady state and dynamic flow regimes across a range o

Brendan Harmon 7 Oct 21, 2022
Earthengine-py-notebooks - A collection of 360+ Jupyter Python notebook examples for using Google Earth Engine with interactive mapping

earthengine-py-notebooks A collection of 360+ Jupyter Python notebook examples for using Google Earth Engine with interactive mapping Contact: Qiushen

Qiusheng Wu 1.1k Dec 29, 2022
🌐 Local tile server for viewing geospatial raster files with ipyleaflet or folium

🌐 Local Tile Server for Geospatial Rasters Need to visualize a rather large (gigabytes) raster you have locally? This is for you. A Flask application

Bane Sullivan 192 Jan 04, 2023
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
Documentation and samples for ArcGIS API for Python

ArcGIS API for Python ArcGIS API for Python is a Python library for working with maps and geospatial data, powered by web GIS. It provides simple and

Esri 1.4k Dec 30, 2022
Open Data Cube analyses continental scale Earth Observation data through time

Open Data Cube Core Overview The Open Data Cube Core provides an integrated gridded data analysis environment for decades of analysis ready earth obse

Open Data Cube 410 Dec 13, 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
Python bindings to libpostal for fast international address parsing/normalization

pypostal These are the official Python bindings to https://github.com/openvenues/libpostal, a fast statistical parser/normalizer for street addresses

openvenues 651 Dec 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
Implementation of Trajectory classes and functions built on top of GeoPandas

MovingPandas MovingPandas implements a Trajectory class and corresponding methods based on GeoPandas. Visit movingpandas.org for details! You can run

Anita Graser 897 Jan 01, 2023