Comments (9)
Regarding the "why not using erfa", if we can do everything in Julia we can have advantages both in terms of speed and generality.
For the conversion graph, some eons ago, @helgee did Convertible.jl
which I believe is somewhat related to this
from skycoords.jl.
@kiranshila would you be interested to work on this in the Google Summer of Code? I think you said you're a PhD student, if so you'd be eligible to participate
from skycoords.jl.
For reference, for AltAz to Galactic, using the graph from https://docs.astropy.org/en/stable/coordinates/index.html#built-in-frame-classes,
we would have to implement AltAz -> CIRS -> ICRS -> FK5 -> Galactic
from skycoords.jl.
The graph idea is really novel, I really like the idea of "looking up" the chain of functions that convert between coordinates. The implementation details are a bit more complicated than that, I assume.
Perhaps a good way to segment this work would be to initiate a PR for AltAz that enables conversion to/from ICRS and in a separate PR we can discuss the global conversion strategy in more detail. In particular, I'm also curious about the design decision for astropy to use a reference frame as a parameter for the coords rather than using unique coords classes. This kind of design decision is closely coupled with the conversion implementation.
from skycoords.jl.
For the conversion graph, some eons ago, @helgee did
Convertible.jl
which I believe is somewhat related to this
This is a pretty cool package! It seems very similar, with much less complexity than what astropy is doing (it took me a few hours to work it all out).
With respects to the work breakdown, I agree. I can get a MWE of AltAz -> ICRS (I think we need CIRS for this, I can't find any examples of AltAz directly to ICRS).
Also, unlike astropy, I think we shouldn't allow construction of an AltAzCoord
without an observation time and location. This never made sense to me, as its like underdefined from the perspective of a "Sky Coordinate"
from skycoords.jl.
Convertible.jl was quite the hack and I came up with a less dangerous solution in the meantime.
I have implemented a graph of time scales using ItemGraphs.jl for AstroTime.jl. Please have a look here.
Unfortunately, I will not be able to assist much in the coming weeks due to personal reasons.
from skycoords.jl.
Also have a look at the still unpublished AstroBase.jl. Some of the conversions have already been ported to Julia and you can lift them from there for the time being.
from skycoords.jl.
Also have a look at the still unpublished AstroBase.jl. Some of the conversions have already been ported to Julia and you can lift them from there for the time being.
Oh interesting. You seem to have done a lot of the legwork there for the graph of frame conversion. Was the intention to use this library as the base package for Coords
?
from skycoords.jl.
@giordano That sounds interesting for sure! I'd have to clear things with an advisor if I start signing on for "formal deliverables", but I'll be working on this one way or another haha (because I desperately need it)
from skycoords.jl.
Related Issues (12)
- Support for other AbstractFloat types HOT 6
- Insertion of coordinates in degree or hours HOT 9
- Add Ecliptic and FK4 coordinates
- Enabling multi-threading? HOT 3
- Pkg registration HOT 6
- Error tagging new release HOT 1
- Convert from local coordinates to non-local HOT 1
- Not Installing on Julia 1.1 HOT 2
- Feature Requests HOT 3
- New Type for Utility HOT 1
- TagBot trigger issue HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from skycoords.jl.