Skip to content

GridR

GRIDR is a Python/Rust library for resampling and filtering raster image data

Source code


Overview

GRIDR is a library for resampling and filtering raster image data, designed for efficiency in both in-memory processing and I/O operations.

Functional Scope & Features

Core Capabilities

  • Grid-based Resampling
    • Adapt raster data to a target geometry defined by a grid containing the coordinates of each target pixel in the source image geometry.
    • Supports both full-resolution and under-sampled resolution grids.
    • Interpolation Methods : Nearest neighbor, Linear, Cubic, Cardinal B-Spline
    • Mask Support:
      • Grid Masks: Raster or sentinel values.
      • Source Image Masks: Raster, sentinel values, or vectorized geometry.
      • Target Mask Production: Generate masks for the target raster geometry.
    • Boundary Condition: extrapolation of edge missing data for interpolation within the source image domain.
    • Standalone mode: user-friendly automatic input checks and preprocessings
  • Filtering: Apply spatial filters in the frequency domain (e.g., low-pass filtering).
  • Mask Rasterization: Convert vectorized geometry masks into a regular target raster geometry.
  • Optimized Workflows: Reduce I/O overhead for large-scale processing.

Function Types

  1. Elemental (Core) Functions
    • Standalone operations for direct manipulation of in-memory data.
    • Ideal for custom processing pipelines and fine-grained control.
  2. Chained Functions
    • Optimized sequences of operations to minimize I/O overhead.
    • Efficiently manage memory and CPU usage for large-scale processing.

Technical Implementation

Architecture

  • Python: Core functionality and interface (not just for bindings).
  • Rust: Performance-critical algorithms and heavy computations.
  • PyO3: Used for seamless Python-Rust bindings.

Key Technical Aspects

  • Rust Core Library: Can be used independently in other Rust projects.
  • Python Integration: Full-featured methods available in Python, not just bindings.
  • Optimized I/O: Designed to handle large datasets efficiently.

Usage

Please refer to the online documentation.

Installation

To install GRIDR, refer to the installation documentation

Resources

Tutorials

Contacts