665 #define LINLEN (sizeof(struct linprm)/sizeof(int))
686 int linp2x(
struct linprm *lin,
int ncoord,
int nelem,
const double pixcrd[],
689 int linx2p(
struct linprm *lin,
int ncoord,
int nelem,
const double imgcrd[],
692 int linwarp(
struct linprm *lin,
const double pixblc[],
const double pixtrc[],
693 const double pixsamp[],
int *nsamp,
694 double maxdis[],
double *maxtot,
695 double avgdis[],
double *avgtot,
696 double rmsdis[],
double *rmstot);
698 int matinv(
int n,
const double mat[],
double inv[]);
702 #define linini_errmsg lin_errmsg
703 #define lincpy_errmsg lin_errmsg
704 #define linfree_errmsg lin_errmsg
705 #define linprt_errmsg lin_errmsg
706 #define linset_errmsg lin_errmsg
707 #define linp2x_errmsg lin_errmsg
708 #define linx2p_errmsg lin_errmsg
int linwarp(struct linprm *lin, const double pixblc[], const double pixtrc[], const double pixsamp[], int *nsamp, double maxdis[], double *maxtot, double avgdis[], double *avgtot, double rmsdis[], double *rmstot)
Compute measures of distortion.
int linx2p(struct linprm *lin, int ncoord, int nelem, const double imgcrd[], double pixcrd[])
World-to-pixel linear transformation.
int linset(struct linprm *lin)
Setup routine for the linprm struct.
lin_errmsg_enum
Definition: lin.h:618
@ LINERR_SUCCESS
Definition: lin.h:619
@ LINERR_MEMORY
Definition: lin.h:621
@ LINERR_DEDISTORT
Definition: lin.h:625
@ LINERR_DISTORT
Definition: lin.h:624
@ LINERR_NULL_POINTER
Definition: lin.h:620
@ LINERR_DISTORT_INIT
Definition: lin.h:623
@ LINERR_SINGULAR_MTX
Definition: lin.h:622
int linperr(const struct linprm *lin, const char *prefix)
Print error messages from a linprm struct.
const char * lin_errmsg[]
Status return messages.
int linini(int alloc, int naxis, struct linprm *lin)
Default constructor for the linprm struct.
int linprt(const struct linprm *lin)
Print routine for the linprm struct.
int lincpy(int alloc, const struct linprm *linsrc, struct linprm *lindst)
Copy routine for the linprm struct.
int matinv(int n, const double mat[], double inv[])
Matrix inversion.
int lindist(int sequence, struct linprm *lin, struct disprm *dis, int ndpmax)
Assign a distortion to a linprm struct.
int lindis(int sequence, struct linprm *lin, struct disprm *dis)
Assign a distortion to a linprm struct.
int linp2x(struct linprm *lin, int ncoord, int nelem, const double pixcrd[], double imgcrd[])
Pixel-to-world linear transformation.
int linfree(struct linprm *lin)
Destructor for the linprm struct.
int lininit(int alloc, int naxis, struct linprm *lin, int ndpmax)
Default constructor for the linprm struct.
Distortion parameters.
Definition: dis.h:1063
int naxis
Definition: dis.h:1070
int ndpmax
Definition: dis.h:1074
double * maxdis
Definition: dis.h:1076
Linear transformation parameters.
Definition: lin.h:628
double * m_crpix
Definition: lin.h:660
double * cdelt
Definition: lin.h:638
double * imgpix
Definition: lin.h:645
struct wcserr * err
Definition: lin.h:653
struct disprm * disseq
Definition: lin.h:640
double * crpix
Definition: lin.h:636
int affine
Definition: lin.h:648
double * pc
Definition: lin.h:637
int i_naxis
Definition: lin.h:646
double * m_cdelt
Definition: lin.h:660
int flag
Definition: lin.h:631
int m_flag
Definition: lin.h:659
double * m_pc
Definition: lin.h:660
struct disprm * dispre
Definition: lin.h:639
struct disprm * m_disseq
Definition: lin.h:661
struct disprm * m_dispre
Definition: lin.h:661
double * tmpcrd
Definition: lin.h:657
int naxis
Definition: lin.h:635
double * piximg
Definition: lin.h:644
int m_naxis
Definition: lin.h:659
int unity
Definition: lin.h:647
int simple
Definition: lin.h:649
Error message handling.
Definition: wcserr.h:220