/usr/include/astrometry/fit-wcs.h is in libastrometry-dev 0.67+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | /*
# This file is part of the Astrometry.net suite.
# Licensed under a 3-clause BSD style license - see LICENSE
*/
#ifndef FIT_WCS_H
#define FIT_WCS_H
#include "astrometry/sip.h"
#include "astrometry/starkd.h"
int fit_sip_coefficients(const double* starxyz,
const double* fieldxy,
const double* weights,
int M,
const tan_t* tanin1,
int sip_order,
int inv_order,
sip_t* sipout);
void wcs_shift(tan_t* wcs, double xs, double ys);
/**
Computed SIP parameters given a set of corresponding points,
and an initial TAN WCS solution.
(See fit_sip_wcs_2 if you don't already have a TAN)
If 'weights' is NULL, uniform weighting will be used.
*/
int fit_sip_wcs(const double* starxyz,
const double* fieldxy,
const double* weights,
int M,
const tan_t* tanin,
int sip_order,
int inv_order,
int doshift,
sip_t* sipout
);
int fit_sip_wcs_2(const double* starxyz,
const double* fieldxy,
const double* weights,
int M,
int sip_order,
int inv_order,
int W, int H,
int crpix_center,
double* crpix,
int doshift,
sip_t* sipout
);
/**
Move the tangent point to the given CRPIX, keeping the corresponding
stars in "starxyz" and "fieldxy" aligned. It's assumed that "tanin"
contains a reasonably close WCS solution (eg, from
fit_wcs). The output is put in "tanout". You might want
to iterate this process, though in my tests the adjustments in the
second iteration are very minor.
*/
int fit_tan_wcs_move_tangent_point(const double* starxyz,
const double* fieldxy,
int N,
const double* crpix,
const tan_t* tanin,
tan_t* tanout);
int fit_tan_wcs_move_tangent_point_weighted(const double* starxyz,
const double* fieldxy,
const double* weights,
int N,
const double* crpix,
const tan_t* tanin,
tan_t* tanout);
/*
Computes a rigid (conformal) TAN WCS projection, based on the correspondence
between stars and field objects.
. starxyz is an array of star positions on the unit sphere.
. fieldxy is an array of pixel coordinates.
. nobjs is the number of correspondences; the star at
. (starxyz + i*3) corresponds with the field object at (fieldxy + i*2).
If "p_scale" is specified, the scale of the field will be placed in it.
It is in units of degrees per pixel.
*/
int fit_tan_wcs(const double* starxyz,
const double* fieldxy,
int nobjs,
// output:
tan_t* wcstan,
double* p_scale);
int fit_tan_wcs_weighted(const double* starxyz,
const double* fieldxy,
const double* weights,
int N,
// output:
tan_t* tan,
double* p_scale);
#endif
|