astropy / reproject

Python-based Astronomical image reprojection :milky_way: - maintainer @astrofrog
https://reproject.readthedocs.io
BSD 3-Clause "New" or "Revised" License
107 stars 66 forks source link

Add flux-preserving exact reproject for HEALPIX? #70

Open cdeil opened 9 years ago

cdeil commented 9 years ago

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?

astrofrog commented 9 years ago

Actually for HEALPIX <-> HEALPIX it's also not trivial if you change coordinate system since the pixels are no longer aligned.