Skip to main content

Tools to analyse HEALPix EO data

Project description

healpix-analyse

Documentation License Python

A Python toolkit for analysing signals defined on HEALPix spherical grids, with a focus on Earth Observation data. All operators are implemented in PyTorch and are fully differentiable through torch.autograd.

Read the full documentation


Features

  • Spherical harmonic transforms — local ALM coefficients, ring-based full-sky SHT (spin-0, 1, 2), power spectra
  • Gauge-equivariant convolutionHealPixConv with configurable kernel size, gauge types, and number of gauges
  • Multi-resolution operatorsHealPixDown (smooth / max-pool) and HealPixUp (adjoint upsampling), NESTED ordering
  • Differentiable by default — all hot-path operations are autograd-compatible
  • NumPy and Torch interoperability — accepts both array types, returns the same type

Package map

healpix_analyse/
├── alm.py               # Local complex spherical harmonic coefficients
├── alm_latlon.py         # SHT for arbitrary iso-latitude grids
├── healpix_sht.py        # Ring-based full-sky SHT for HEALPix
├── convol.py             # Gauge-equivariant spherical convolution (HealPixConv)
├── down.py               # Resolution reduction (HealPixDown)
├── up.py                 # Resolution increase (HealPixUp)
├── powerspectra.py        # Isotropic power spectrum on HEALPix patches
├── powerspectra_lonlat.py # Power spectrum on irregular lon/lat grids
├── healpix_interp.py      # Bilinear interpolation on HEALPix (NESTED)
├── make_rectangle.py      # Rectangular HEALPix patches from bounding boxes
├── resample.py            # Resample HEALPix onto regular lat/lon grids
└── ps.py                  # Power spectrum utilities

Quick start

import numpy as np
import healpy as hp
from healpix_analyse.alm_latlon import build_rings_from_latlon, anafast_latlon

nside = 64
npix  = 12 * nside**2
lmax  = 3 * nside

# Random test map
im = np.random.randn(npix)

# Build ring structure from HEALPix coordinates
theta, phi = hp.pix2ang(nside, np.arange(npix))
ring_theta, ring_phi_list, ring_counts, sort_idx = build_rings_from_latlon(
    theta, phi, convention="colatitude_rad"
)

# Compute angular power spectrum
cl = anafast_latlon(
    im[sort_idx], ring_theta, ring_phi_list, ring_counts,
    lmax=lmax, quadrature="equal_area",
)
print(cl.shape)   # torch.Size([193])

Installation

pip install git+https://github.com/EOPF-DGGS/healpix-analyse.git

From source (development)

git clone git@github.com:EOPF-DGGS/healpix-analyse.git
cd healpix-analyse
pip install -e .

Documentation

Full documentation is available at eopf-dggs.github.io/healpix-analyse.

To build locally:

pip install -e ".[docs]"
cd docs
make html

Relationship to healpix-geo and healpix-ai

  • healpix-geo — HEALPix geometry: pixel coordinates, ellipsoids, coverage queries
  • healpix-analyse — signal analysis: SHT, convolutions, power spectra, multi-resolution operators
  • healpix-ai — deep learning: autoencoders, U-Nets, forecasters built on top of healpix-analyse

License

Apache 2.0 — see LICENSE.

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

healpix_analyse-2026.5.1.tar.gz (9.2 MB view details)

Uploaded Source

Built Distribution

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

healpix_analyse-2026.5.1-py3-none-any.whl (78.5 kB view details)

Uploaded Python 3

File details

Details for the file healpix_analyse-2026.5.1.tar.gz.

File metadata

  • Download URL: healpix_analyse-2026.5.1.tar.gz
  • Upload date:
  • Size: 9.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for healpix_analyse-2026.5.1.tar.gz
Algorithm Hash digest
SHA256 b4fe761b7e992d6c207011435e6a3a903f04cb231e6d4bfb91cd26eecbc2c0f4
MD5 438ef9c43bcab32b2daa8750baf1cf49
BLAKE2b-256 4bd1bb9721b771f124d0a185e10b43f1cacb16bb261a525a98adacea78ee494d

See more details on using hashes here.

Provenance

The following attestation bundles were made for healpix_analyse-2026.5.1.tar.gz:

Publisher: pypipublish.yml on EOPF-DGGS/healpix-analyse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file healpix_analyse-2026.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for healpix_analyse-2026.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9b2c82871b13e82a162efd75392c10ae8edcf2c4bdb936ffe538dfffc1d99fb5
MD5 72a6beeacf11bf7471168a53a2885311
BLAKE2b-256 424e9fe89b64dd1f56c23bd02c3c7009a6d08bef28587e554efd41d859c5a4e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for healpix_analyse-2026.5.1-py3-none-any.whl:

Publisher: pypipublish.yml on EOPF-DGGS/healpix-analyse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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