Skip to main content

A library to ease the manipulation of geospatial images

Project description

Rastereasy

Click on the logo to access the complete documentation with many examples and notebooks.

Click here for a complete documentation

Introduction

rastereasy is a Python library for simple manipulation of geospatial raster and vector data (e.g., *.tif, *.jp2, *.shp). The goal is to simplify geospatial workflows by offering tools for reading and processing raster and vector files, resampling, cropping, reprojecting, stacking, filtering, etc of raster images, easy visualizations such as color composites and spectral plots, use (train / apply) some classical Machine Learning algorithms on images, provide some tools for late fusion of classifications (Dempster-Shafer), ...

The main class, Geoimage, enables to process raster similarly than numpy arrays while keeping and adapting all meta data.

Documentation

A complete documentation can be found here

Example Usage

Here's a quick example of what you can do with rastereasy:

 import rastereasy

 # Load a georeferenced image
 image = rastereasy.Geoimage("example.tif")

 # Get image information
 image.info()

 # Print value of pixel [100,200]
 print(image[100,200])

 # Create a color composite
 image.colorcomp(['4', '3', '2'])

 # Resample and reproject
 image_resampled = image.resampling(2)
 image_reproject = image.reproject("EPSG:4326")

 # Save the processed image
 image.save("processed_image.tif")

Installation

With pip

Install rastereasy via pip (the easiest method):

 $ pip install rastereasy

From source

To install rastereasy from source:

  1. Clone the repository from GitHub:
$ git clone https://github.com/pythonraster/rastereasy.git
  1. Navigate to the repository's root directory:
$ cd rastereasy
  1. Install the package using pip:
$ pip install .

Interactive Visualization Notes

Spectra visualization

Jupyter notebooks

As illustrated, rastereasy supports interactive plotting of spectral bands for individual pixels. To enable this functionality in Jupyter Notebook, rastereasy installs some Jupyter extensions in your environment. If it doesn't work, you may need to rebuild jupyter by the command:

jupyter lab build

Google Colab

To use the interactive plotting features in Google Colab, a special two-step setup is required.Follow these steps in the exact order. Separating the commands into different cells and restarting the session is essential.

Step 1: Install Libraries

Run the following cell to install rastereasy and the necessary dependencies for interactive widgets.

!pip install rastereasy ipympl
from google.colab import output
output.enable_custom_widget_manager()

Step 2: Restart the Runtime

After the installation is complete, you must restart the runtime.

Go to the menu: Runtime > Restart runtime (or use the shortcut Ctrl+M).

Step 3: Run Your Code

After restarting, you can now enable the interactive mode and use the library in a new cell.

%matplotlib widget
import rastereasy

To do

Check conda installation

Authors

Citation

If you use rastereasy, please cite:

Thomas Corpetti, Pierrick Matelot, Augustin de la Brosse, Candide Lissak Rastereasy: A Python package for an easy manipulation of remote sensing images Journal of Open Source Software, submitted, 2025.

License

This project is licensed under the MIT License – see the LICENCE file for details.

Releases

0.2.2

  • Minor bug in plotting

0.2.1

  • Added a new boolean test: image.isnan() to check for NaN values in an image.

  • Renamed resampling() to resample().

    • Both functions remain available in this version, but resampling() is deprecated and will be removed in a future release.
  • Renamed apply_ML_model() to predict().

    • Both functions remain available in this version, but apply_ML_model() is deprecated and will be removed in a future release.

0.2.0

This release introduces several new features (custom band names persistence, metadata-only loading, partial image reading, improved lat/lon visualization, and warnings for multi-band stacks) while remaining fully backward compatible. The version has therefore been bumped from 0.1.4 to 0.2.0.

Here are the main changes

  • User-defined band names

    • Band names set by the user via im.change_names are now automatically saved with im.save and reloaded with rastereasy.Geoimage.
  • Metadata-only loading

    • You can now load only the metadata without reading the full image using meta_only=True: im = rastereasy.Geoimage('myimage.tif', meta_only=True)
  • Partial image reading (window or area)

    • It is now possible to read a specific part of the image with the area parameter:

    • By indices: area=((start_row, end_row), (start_col, end_col))

    • By geographic coordinates: area=((lon1, lon2), (lat1, lat2)) with extent='latlon'

  • Warning for multi-band images in files2stack

    • When using rastereasy.files2stack with images containing multiple bands, a warning is displayed to inform the user.
  • Minor bugs in visualization for latitude/longitude coordinates has also been fixed.

0.1.4

September 2025. Add useful functions for ML

0.1.3

September 2025. Minor corrections in help of functions

0.1.2

September 2025. Add filters (gaussian, median, laplace, sobel and generic) functions.

0.1.1

June 2025. Minor bugs related to interactive visualization fixed (works in console and notebooks).

0.1.0

June 2025. First release, version 0.1.0

Project details


Download files

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

Source Distribution

rastereasy-0.3.0.tar.gz (8.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rastereasy-0.3.0-py3-none-any.whl (88.1 kB view details)

Uploaded Python 3

File details

Details for the file rastereasy-0.3.0.tar.gz.

File metadata

  • Download URL: rastereasy-0.3.0.tar.gz
  • Upload date:
  • Size: 8.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for rastereasy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 fb4d17c1c5b2418ccc5d951573bd7ca89bba33efa62a95cae2a46f4f85ae3f14
MD5 ba1ba5e83804dee04eb15a68b0deb0a9
BLAKE2b-256 551de43b8200d5284e027192fe96c7b27fb3fa0465a2764af805fc4473da54b8

See more details on using hashes here.

File details

Details for the file rastereasy-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: rastereasy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 88.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for rastereasy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86034a40582bbeb57eed8f42dc7cf66f1f050f32f4352f3f39588c49a84b52dc
MD5 493dff762350f0eb63c09046dbfd938d
BLAKE2b-256 5191534d5733bbba06d1f3151461fa1e604424722103311d551badd196507316

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page