Question regarding rotations with observer-centric frames
- Dominant language
- Python
- Stars
- 5.3k
- Forks
- 2.2k
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 75
Description
I wish to rotate sky coordinates (`lon`, `lat`) between ecliptic, galactic and celestial coordinates. These are observercentric coordinates with origins given by a Cartesian heliocentric position `obspos` and a time of observation `obstime`. I am essentially trying to reproduce the rotations from healpy, with `healpy.rotator.Rotator` which rotates between `["E", "G", "C"]` with arbitrary origins (I think).
Using the `SkyCoord` object and the frames `BarycentricMeanEcliptic`, `Galactic` and `ICRS` seems to do the same as healpy's rotator. However, these are all solar system barycentric and it feels a bit weird to have users select these to represent their observercentric coordinates. Are there more fitting frames which I can use?
Ultimately my goal is to get heliocentric ecliptic unit vectors from the input coordinates and it feels like I have all the ingredients required to go directly from user a user specified frame `(E, G, C)` and `(obspos, obstime)`. I have tried supplying a `distance` or `location` parameter into the various astropy frames but I don't think i understand exactly how these are meant to be used.
This is from a suggestion by @lpsinger from the [pyOpenSci review](https://github.com/pyOpenSci/software-submission/issues/161) for the Astropy-affiliated [ZodiPy](https://github.com/Cosmoglobe/zodipy).
Contributor guide
Research direction
Start by reading the SkyCoord transformations involving BarycentricMeanEcliptic, Galactic, and ICRS, then compare their behavior with healpy.rotator.Rotator for E/G/C and the supplied obspos and obstime. Clarify with maintainers whether the desired outcome is a supported observer-centric transformation or documentation, with heliocentric ecliptic unit vectors as the acceptance criterion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100