遗留接口#

astropy.wcs API#

这个 Low Level APILegacy Interface 是原件吗 astropy.wcs 应用程序编程接口。它支持三种类型的变换:

这些转换中的每一个都可以独立使用,也可以在标准管道中一起使用。所有方法都支持标量和数组输入。注意,所有方法都需要一个附加的位置参数,即 origin 输入。它有两个可能的值- 0 -对于从零开始的坐标,例如numpy数组或 1 -对于基于1的坐标,如FITS标准,或来自ds9的坐标。

基本工作流程是创建一个WCS对象,使用 Header 和/或 HDUList 对象并调用以下方法之一::

>>> from astropy import wcs
>>> from astropy.io import fits
>>> from astropy.utils.data import get_pkg_data_filename
>>> fn = get_pkg_data_filename('data/j94f05bgq_flt.fits', package='astropy.wcs.tests')
>>> f = fits.open(fn)
>>> wcsobj = wcs.WCS(f[1].header)
>>> f.close()

或者,如果FITS文件使用任何不推荐使用的或非标准的功能,则可能需要调用 fix 对象上的方法。

使用以下转换方法之一。

  1. 在像素和世界坐标之间使用所有扭曲:

  • all_pix2world :执行从像素到世界坐标的所有三个系列转换(核心WCS、SIP和表查找失真)。如果你不确定要用哪一个,就用这个。

    >>> lon, lat = wcsobj.all_pix2world(30, 40, 0)
    >>> print(lon, lat)
    5.528442425094046 -72.05207808966726
    
  • all_world2pix :执行所有三项

    从世界坐标到像素坐标的转换(核心WCS、SIP和表查找失真),必要时使用迭代方法。

    >>> x, y = wcsobj.all_world2pix(lon, lat, 0)
    >>> print(x, y) #
    30.00000214673885 39.999999958235094
    
  1. 表演 SIP 仅转换:

    • sip_pix2foc :从像素转换为

      使用 SIP 多项式系数。

      >>> xsip, ysip = wcsobj.sip_pix2foc(30, 40, 0)
      >>> print(xsip, ysip)
      -1985.8600487630586 -984.4223711273145
      
    • sip_foc2pix :从焦点转换

      使用 SIP 多项式系数。请注意,只有在报头中指定了反向SIP失真时,此方法才有效。

  2. 表演 distortion paper 仅转换:

    • p4_pix2foc :从像素转换为

      使用FITS WCS中描述的查表畸变方法的焦平面坐标 distortion paper .

    • det2im :从探测器转换

      坐标到图像坐标。常用于窄列校正。

核心wcslib API#

核心wcslib API支持WCS论文I、II、III、IV中定义的FITS WCS标准。请注意,如果使用核心库中的函数,则不应用失真。

  1. 从世界像素到世界坐标:

    • wcs_pix2world :只执行核心WCS

      从像素到世界坐标的转换。

      >>> lon, lat = wcsobj.wcs_pix2world(30, 40, 0)
      >>> print(lon, lat)
      5.527103615238458 -72.0522441352217
      
  2. 从世界坐标到像素坐标:

    • wcs_world2pix :执行核心WCS转换

      从世界到像素坐标。

      >>> x, y = wcsobj.wcs_world2pix(lon, lat, 0)
      >>> print(x, y)
      30.000000000223267 40.0000000003696