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
This GUI app was created to show the detailed information about the weather in any city selected by user

WeatherApp Content Brief description Tools Features Hotkeys How it works Screenshots Ways to improve the project Installation Brief description This G

TheBugYouCantFix 5 Dec 30, 2022
ArcGIS Python Toolbox for WhiteboxTools

WhiteboxTools-ArcGIS ArcGIS Python Toolbox for WhiteboxTools. This repository is related to the ArcGIS Python Toolbox for WhiteboxTools, which is an A

Qiusheng Wu 190 Dec 30, 2022
Python script that can be used to generate latitude/longitude coordinates for GOES-16 full-disk extent.

goes-latlon Python script that can be used to generate latitude/longitude coordinates for GOES-16 full-disk extent. 🌎 🛰️ The grid files can be acces

Douglas Uba 3 Apr 06, 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
Color correction plugin for rasterio

rio-color A rasterio plugin for applying basic color-oriented image operations to geospatial rasters. Goals No heavy dependencies: rio-color is purpos

Mapbox 111 Nov 15, 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
Python 台灣行政區地圖 (2021)

Python 台灣行政區地圖 (2021) 以 python 讀取政府開放平台的 ShapeFile 地圖資訊。歡迎引用或是協作 另有縣市資訊、村里資訊與各種行政地圖資訊 例如: 直轄市、縣市界線(TWD97經緯度) 鄉鎮市區界線(TWD97經緯度) | 政府資料開放平臺: https://data

WeselyOng 12 Sep 27, 2022
Python module and script to interact with the Tractive GPS tracker.

pyTractive GPS Python module and script to interact with the Tractive GPS tracker. Requirements Python 3 geopy folium pandas pillow usage: main.py [-h

Dr. Usman Kayani 3 Nov 16, 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
A GUI widget for Linux to show current time in different timezones.

A GUI widget to show current time in different timezones (under development). To use this widget: Run scripts/startup.py Select a country. A list of t

B.Jothin kumar 11 Nov 10, 2022
a Geolocator made in python

Geolocator A Geolocator made in python ✨ Features locates ur location using ur ip thats it! 💁‍♀️ How to use first download the locator.py file instal

Portgas D Ace 1 Oct 27, 2021
Digital Earth Australia notebooks and tools repository

Repository for Digital Earth Australia Jupyter Notebooks: tools and workflows for geospatial analysis with Open Data Cube and xarray

Geoscience Australia 335 Dec 24, 2022
scalable analysis of images and time series

thunder scalable analysis of image and time series analysis in python Thunder is an ecosystem of tools for the analysis of image and time series data

thunder-project 813 Dec 29, 2022
Implemented a Google Maps prototype that provides the shortest route in terms of distance

Implemented a Google Maps prototype that provides the shortest route in terms of distance, the fastest route, the route with the fewest turns, and a scenic route that avoids roads when provided a sou

1 Dec 26, 2021
Wraps GEOS geometry functions in numpy ufuncs.

PyGEOS PyGEOS is a C/Python library with vectorized geometry functions. The geometry operations are done in the open-source geometry library GEOS. PyG

362 Dec 23, 2022
Manage your XYZ Hub or HERE Data Hub spaces from Python.

XYZ Spaces for Python Manage your XYZ Hub or HERE Data Hub spaces and Interactive Map Layer from Python. FEATURED IN: Online Python Machine Learning C

HERE Technologies 30 Oct 18, 2022
prettymaps - A minimal Python library to draw customized maps from OpenStreetMap data.

A small set of Python functions to draw pretty maps from OpenStreetMap data. Based on osmnx, matplotlib and shapely libraries.

Marcelo de Oliveira Rosa Prates 9k Jan 08, 2023
geobeam - adds GIS capabilities to your Apache Beam and Dataflow pipelines.

geobeam adds GIS capabilities to your Apache Beam pipelines. What does geobeam do? geobeam enables you to ingest and analyze massive amounts of geospa

Google Cloud Platform 61 Nov 08, 2022
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
Minimum Bounding Box of Geospatial data

BBOX Problem definition: The spatial data users often are required to obtain the coordinates of the minimum bounding box of vector and raster data in

Ali Khosravi Kazazi 1 Sep 08, 2022