GalacticDynamics / coordinax

Coordinates in JAX
MIT License
12 stars 3 forks source link

feat: Reference Frames! #227

Closed nstarman closed 1 week ago

nstarman commented 1 week ago

Partly addresses GalacticDynamics/galax#502

Adds a new module frames for working with reference frames. This PR introduces 3 reference frame classes: AbstractRefernceFrame, ICRS, and Galactocentric. Reference frames are instances of these classes. There is also the function frame_transform_op for creating an Operator that can perform the frame transformation on coordinates (quantities, vectors, and PhaseSpacePosition in galax). Currently the Galactocentric <-> ICRS operators are instances of private classes, but this will be refactored in a future PR so that they are OperatorSequence objects that expose the constituent transformations.

codecov[bot] commented 1 week ago

Codecov Report

Attention: Patch coverage is 98.22485% with 3 lines in your changes missing coverage. Please review.

Project coverage is 96.97%. Comparing base (e7fc885) to head (9e559b6). Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/coordinax/_src/frames/astro_frames.py 98.58% 2 Missing :warning:
src/coordinax/_src/frames/base.py 93.33% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main GalacticDynamics/coordinax#227 +/- ## ========================================== + Coverage 96.63% 96.97% +0.33% ========================================== Files 96 101 +5 Lines 3270 3437 +167 ========================================== + Hits 3160 3333 +173 + Misses 110 104 -6 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


🚨 Try these New Features: