[AstroPy] astropy.coordinates vs kapteyn.celestial Coordinate Transformations

Thomas Robitaille thomas.robitaille at gmail.com
Sat Nov 15 12:32:06 EST 2014


I've played around with this a bit more, and I found that if I set:

_ngp_B1950 = FK4NoETerms(ra=192.25*u.degree, dec=27.4*u.degree)

(not FK4) then I explicitly set:

Galactic._ngp_J2000 = _lon0_B1950.transform_to(FK5)

then if I set:

Galactic._lon0_J2000 = Angle(122.931918539, u.degree)

Then the astropy FK5 -> Galactic and FK5 -> FK4 -> Galactic
transformations agree within ~0.1mas, and our results are in agreement
with other codes. I'll open an issue on the astropy repo and we can
discuss the technical details there.

Tom

Erik Tollerud wrote:
> Hi Tom and Joseph,
> 
> Originally, Galactic coordinates were defined to ~arcmin precision
> relative to FK4 (and it's not clear one way or another if this is
> supposed to include E-terms or not). Since then there have been
> recalibrations to FK5, although there's not an "official" version as far
> as we could find (just an appendix in a paper).
> 
> So I think what's happening here is that the "shortcut" FK5-> Galactic
> transform is being used, which gives somewhat different results because
> it made different arbitrary choices. We could just turn that off if we
> want to always be sure to use the FK4 transformation.
> 
> It's not really clear which is the "right" answer, though. I think our
> original thinking was that no one really uses Galactic for subarcsec
> precision, and there FK4 transformations are a lot slower, so this
> "shortcut" makes sense...
> 
> Hello,
> 
> I've been porting pyregion to use astropy instead of kapteyn, and tests
> with coordinate system conversions are slightly off.
> 
> I think I've narrowed down the problem to my expectation that this
> should be nearly zero:
> 
> In [21]: from astropy.coordinates import SkyCoord
> 
> In [22]: from kapteyn import celestial
> 
> In [23]: a = SkyCoord('292.03306305555554d 1.7592747222222223d',
> frame='galactic').transform_to('fk5'); print(a)
> <SkyCoord (FK5: equinox=J2000.000): ra=171.158093022 deg,
> dec=-59.2630875829 deg>
> 
> In [24]: celestial.sky2sky(celestial.galactic, celestial.fk5,
> [292.03306305555554], [1.7592747222222223])
> Out[24]: matrix([[ 171.15816386,  -59.26319319]])
> 
> In [25]: SkyCoord('171.15816386d -59.26319319d',
> frame='fk5').separation(a).to('arcsecond')
> Out[25]: <Angle 0.4019071919711007 arcsec>
> 
> 
> My question is: am I misunderstanding something about these coordinate
> transformations to make them not equivalent? A third of an arcsecond is
> significantly big deviation, particularly for HST or interferometry.
> AFAIK fk5 is J2000 in both libraries and galactic coordinates have no
> concept of epoch or equinox time.
> 
> Thanks,
> Joseph Booker
> 
> _______________________________________________
> AstroPy mailing list
> AstroPy at scipy.org <mailto:AstroPy at scipy.org>
> http://mail.scipy.org/mailman/listinfo/astropy
> 



More information about the AstroPy mailing list