Skip to main content

healpix-resample

PyPI Docs License: Apache 2.0

healpix-resample is a lightweight, GPU-friendly Python package for regridding data from unstructured longitude/latitude samples onto a HEALPix grid — one sparse linear operator, several interpolation strategies, and a consistent API across all of them.

Under the hood, every resampler builds a sparse PyTorch operator mapping input samples to a subset of HEALPix cells at a chosen resolution level, so the same forward/inverse operator can be reused, batched (B, N), and run on CPU or CUDA. The package manages the HEALPix authalic definition and the Earth ellipsoid using the WGS84 reference system.

Resamplers at a glance

Resampler Strategy Good for
NearestResampler Single nearest sample per cell Fast, simple, exact point indexing
BilinearResampler 4 nearest samples, inverse-distance weights Smoother than nearest, cheap
BicubicResampler 16 nearest samples, Keys' cubic convolution kernel Sharper on fields with curvature, still non-iterative
PSFResampler Gaussian PSF kernel + damped least-squares (Conjugate Gradient) Best reconstruction quality, dense or irregular data
ConservativeResampler Direct binning, area-weighted sum Exact flux/mass conservation
GroupByResampler Direct binning, configurable reduction (mean, sum, prod, amax, amin) Aggregating many samples per cell
CellPointResampler Level-29 "cell-point" encoding Exact point indexing, no interpolation

BilinearResampler, BicubicResampler, and PSFResampler also support an optional area= + conservative=True mode that redistributes each sample's value across its cell footprint instead of just interpolating, so the global total is preserved exactly — combining smooth interpolation with ConservativeResampler's exact-conservation guarantee. PSFResampler additionally supports out_cell_ids= to restrict output to a specific cell subset, and healpix_resample.subset_for_parent_cell lets you process one coarse HEALPix region at a time for datasets too large to load in full.

Every resampler handles NaN-valued samples consistently (excluded from the computation rather than propagated) and accepts both NumPy arrays and PyTorch tensors, returning whichever type you passed in.

Installation

From PyPI

pip install healpix-resample

From source (editable, for development)

git clone https://github.com/GRID4EARTH/healpix-resample.git
cd healpix-resample
pip install -e .

Or, using pixi (the environment this package is developed and tested in):

git clone https://github.com/GRID4EARTH/healpix-resample.git
cd healpix-resample
pixi install

Requirements

Verifying the installation

import healpix_resample
print(healpix_resample.__file__)

Quickstart

from healpix_resample import BilinearResampler

op = BilinearResampler(lon_deg=lon, lat_deg=lat, level=level, device="cuda")
result = op.resample(values)

healpix_values = result.cell_data   # (K,) or (B, K)
healpix_cells  = result.cell_ids    # (K,) HEALPix cell ids, same order as cell_data

Every resampler follows this same resample(val) -> ResampleResults(cell_data, cell_ids) pattern; swap BilinearResampler for any of the other classes above to change interpolation strategy without changing the rest of your code. See the full documentation — in particular the 4resamplers tutorial, which runs every resampler side by side on the same dataset — for a complete tour, including conservative mode, batched inputs, out_cell_ids, and large-scale parent-cell processing.

Documentation

Full documentation, including a user guide per resampler, tutorials, and the API reference, is available at grid4earth.eu/healpix-resample.

Development

This project uses pixi to manage environments.

pixi run tests          # run the test suite
pixi run -e docs build-docs   # build the documentation locally (docs/_build)

Target applications

  • Earth observation data remapping (e.g. Sentinel products)
  • Oceanographic or atmospheric gridding
  • Astronomical sky projections
  • Large-scale geospatial data harmonization

License

Apache License 2.0 — see LICENSE.

Metadata

Release files for healpix-resample 2026.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for healpix-resample 2026.7.0
File Size Uploaded
healpix_resample-2026.7.0.tar.gz 8.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for healpix-resample 2026.7.0
File Interpreter ABI Platform
healpix_resample-2026.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.4 MB

Release files / healpix_resample-2026.7.0.tar.gz

Download URL healpix_resample-2026.7.0.tar.gz
Size 8.4 MB
Tags Source
SHA-256 checksum
How to use checksums
3864d5e290b240f0106a34aec7f49cab0a8586580ce0c3f33ab4edd459ec4b47
BLAKE2b-256 checksum
How to use checksums
d34a528da4cf7bec95bcccb99564ce8d04dfb2a4cb815dfa74a161a791df0460
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.

Transparency log

Release files / healpix_resample-2026.7.0-py3-none-any.whl

Download URL healpix_resample-2026.7.0-py3-none-any.whl
Size 50.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9c8921f8fec60ce7f92a0f6e49dfebded3e89816167194202f68049a563470da
BLAKE2b-256 checksum
How to use checksums
d33d353dcd6db2fcb44af0d8fd2a3744c5ded83c7a52c4b7d2571836f0438488
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2026.7.0 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page