astropy / astropy/reproject

Add flux-preserving exact reproject for HEALPIX?

Open
#70 1 comment 0 reactions 0 assignees View on GitHub
enhancement help-wanted
Dominant language
Python
Stars
127
Forks
74
Avg merge
1d 11h
Merged PRs (30d)
2

Description

This is a feature request to add a flux-conserving (and equivalently count-conserving) reprojection method to / from HEALPIX.

For HEALPIX <-> HEALPIX it would be trivial, just multiply / divide by 4 to the power of difference in HEALPIX order. E.g. if one gets a huge HEALPIX file but doesn't need the high resolution, one could downsample. Not sure if this should be in `reproject` or in `healpy`. @lpsinger Maybe this exists in `healpy` and I missed it?

For HEALPIX <-> normal WCS projection image I don't know how to do it. I thought HEALPIX pixel boundaries are great circles and the 4-corner polygon "exact" method from Montage could be used as well, but this page http://healpix.jpl.nasa.gov/html/intronode4.htm explains that pixel boundaries are not great circles on the sphere.
The use case I have for this count- and flux-preserving reprojection would be to be able to go back and forth between HEALPIX and normal projections and be able to do correct photometry of sources e.g. on FERMI data. @lpsinger Easy or hard to implement? Worth the effort?

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. First determine whether the functionality belongs in reproject or healpy, then investigate HEALPIX pixel geometry and the proposed exact reprojection approach. Done means supporting flux- and count-conserving conversion between HEALPIX and normal WCS projections, including the stated photometry use case.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.