[AstroPy] Inverting SIP distortions
Jacob Vanderplas
jakevdp at cs.washington.edu
Thu Oct 31 20:08:16 EDT 2013
Hello,
I'm working on a problem that requires the inversion of SIP
corrections: that is, I have points in world coordinates that I want
to project onto an image plane.
My FITS header contains both the (A_p_q, B_p_q) coefficients for the
forward transformation, as well as the (AP_p_q, BP_p_q) required for
the backward transformation, according to the Shupe et al 2005
reference.
The astropy WCS object has methods sip_foc2pix() and sip_pix2foc(),
which appeared to be what I needed, but these don't seem to actually
invert each other. That is:
>>> from astropy.wcs import WCS
>>> wcs = WCS(header)
>>> Xpix = [[1, 1]]
>>> Xfoc = wcs.sip_pix2foc(Xpix, 0)
>>> print wcs.sip_foc2pix(Xfoc, 0)
[[ 1.2522118 1.74039233]]
I would have expected this to recover the input pixels, but it's
clearly not the case. Is there any functionality in astropy that will
utilize the available AP/BP coefficients in my header to perform the
inverse SIP distortion? Is there anything I'm doing wrong or missing
here?
Thanks,
Jake
More information about the AstroPy
mailing list