Skip to content
/ gridr Public

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

License

Notifications You must be signed in to change notification settings

CNES/gridr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GRIDR

Geometric and Radiometric Image Data Resampling

Python minimum rustc 1.80 minimum pyo3 0.26 Contributions welcome License Documentation

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
    • 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.
  • 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.

Getting Started

To install and use GRIDR, refer to the online documentation

About

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

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published