- astropy.wcs.utils.fit_wcs_from_points(xy, world_coords, proj_point='center', projection='TAN', sip_degree=None)¶
Given two matching sets of coordinates on detector and sky, compute the WCS.
Fits a WCS object to matched set of input detector and sky coordinates. Optionally, a SIP can be fit to account for geometric distortion. Returns an
WCSobject with the best fit parameters for mapping between input pixel and sky coordinates.
The projection type (default ‘TAN’) can passed in as a string, one of the valid three-letter projection codes - or as a WCS object with projection keywords already set. Note that if an input WCS has any non-polynomial distortion, this will be applied and reflected in the fit terms and coefficients. Passing in a WCS object in this way essentially allows it to be refit based on the matched input coordinates and projection point, but take care when using this option as non-projection related keywords in the input might cause unexpected behavior.
x & y pixel coordinates.
Skycoord object with world coordinates.
- proj_point‘center’ or ~astropy.coordinates.SkyCoord`
Defaults to ‘center’, in which the geometric center of input world coordinates will be used as the projection point. To specify an exact point for the projection, a Skycoord object with a coordinate pair can be passed in. For consistency, the units and frame of these coordinates will be transformed to match
world_coordsif they don’t.
Three letter projection code, of any of standard projections defined in the FITS WCS standard. Optionally, a WCS object with projection keywords set may be passed in.
If set to a non-zero integer value, will fit SIP of degree
sip_degreeto model geometric distortion. Defaults to None, meaning no distortion corrections will be fit.
The best-fit WCS to the points given.
The fiducial point for the spherical projection can be set to ‘center’ to use the mean position of input sky coordinates, or as an
Units in all output WCS objects will always be in degrees.
If the coordinate frame differs between
SkyCoordobjects passed in for
proj_point, the frame for
world_coordswill override as the frame for the output WCS.
If a WCS object is passed in to
projectionthe CD/PC matrix will be used as an initial guess for the fit. If this is known to be significantly off and may throw off the fit, set to the identity matrix (for example, by doing wcs.wcs.pc = [(1., 0.,), (0., 1.)])