reproject
Reproject astronomical images
What it is and what it does
Reproject is a Python package for re-gridding astronomical images from one world coordinate system to another—changing pixel resolution, orientation, or coordinate frame. It implements three distinct reprojection techniques: simple interpolation (similar to SWARP), the adaptive anti-aliased algorithm from DeForest (2004), and exact pixel overlap calculation on the celestial sphere (similar to Montage). It also supports reprojection to and from HEALPIX projections via astropy-healpix.
The package depends on a substantial stack of scientific Python libraries (numpy, scipy, astropy, astropy-healpix) and integrates with dask, dask-image, zarr, and fsspec for handling larger datasets. It is actively maintained, requires Python 3.11 or later, and is distributed under a permissive BSD 3-Clause license. Installation involves pre-built wheels for standard platforms, though the compiled dependencies add moderate friction.
Use it for:
- Align multiple astronomical survey images to a common pixel grid and coordinate system before stacking or analysis.
- Convert celestial observations between different projections (e.g., tangent-plane to HEALPIX) for survey-wide processing.
- Resample high-resolution imaging data to match lower-resolution reference frames while preserving flux.
- Prepare multi-wavelength observations from different telescopes for joint analysis by harmonizing their coordinate systems.
- Generate footprint maps showing valid data coverage after reprojection to a target coordinate frame.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Reproject astronomical images between different world coordinate systems and pixel grids using interpolation, adaptive anti-aliasing, or exact pixel overlap methods, with support for HEALPIX projections.
Yes, if you work with astronomical images and need to align them across different coordinate systems or resolutions. The package offers a well-maintained, permissive-licensed solution with multiple reprojection algorithms and HEALPIX support. Medium install friction is acceptable for scientific workflows. No known security vulnerabilities.
Install
reproject on PyPI
pip
pip install reprojectuv
uv add reprojectpoetry
poetry add reprojectInstalling reproject
Before you install
Medium install friction due to 10 runtime dependencies including compiled packages (numpy, scipy, astropy). Pre-built wheels available for current Python versions on major platforms. Active maintenance with recent release.
License in practice
BSD 3-Clause is permissive; you can use, modify, and distribute this package freely in commercial and private projects provided you include the license notice.
Quickstart
pip install reproject
from reproject import reproject_interp
from astropy.io import fits
data, header = fits.getdata('input.fits', header=True)
output_data, footprint = reproject_interp((data, header), target_header)
Requires Python >= 3.11. Compiled dependencies (numpy, scipy, astropy) must be installed; pre-built wheels handle this on standard platforms.
Verify before relying
- Whether the package handles large datasets efficiently with dask and zarr integration beyond basic reprojection.
- Performance characteristics and memory requirements for typical astronomical survey data sizes.
- Specific accuracy or speed trade-offs between the three implemented reprojection algorithms.
Package facts
| License | BSD 3-Clause (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 10 — dask, dask-image, zarr, fsspec, pillow, pyavm, numpy, astropy, astropy-healpix, scipy |
| Maintenance | actively maintained — 50 days since the last release |
| First released | |
| Downloads | 162,194/month — #10,613 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: reproject-0.21.0-cp311-abi3-macosx_10_9_x86_64.whl; reproject-0.21.0-cp311-abi3-macosx_11_0_arm64.whl; reproject-0.21.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; reproject-0.21.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; reproject-0.21.0-cp311-abi3-win_amd64.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
astropy-healpixProvides HEALPix spherical pixelization for…
permissive · top 15,000 on PyPI
gwcsGWCS provides tools for managing World…
unclear · top 15,000 on PyPI
healpyhealpy wraps the HEALPix C++ library to handle…
copyleft · top 15,000 on PyPI
regionsRegions provides tools for defining,…
permissive · top 15,000 on PyPI
reprojReproject shapely geometries between coordinate…
permissive · top 15,000 on PyPI
pyerfaPyERFA wraps the ERFA C library (Essential…
permissive · top 5,000 on PyPI
skyfieldSkyfield computes high-precision positions for…
permissive · top 15,000 on PyPI
pyvoPyVO provides Python access to Virtual…
permissive · top 15,000 on PyPI
photutilsPhotutils provides tools for detecting and…
permissive · top 15,000 on PyPI
ndcubendcube manipulates, inspects, and visualizes…
unclear · top 15,000 on PyPI