717#define LINLEN (sizeof(struct linprm)/sizeof(int))
740int linp2x(
struct linprm *lin,
int ncoord,
int nelem,
const double pixcrd[],
743int linx2p(
struct linprm *lin,
int ncoord,
int nelem,
const double imgcrd[],
746int linwarp(
struct linprm *lin,
const double pixblc[],
const double pixtrc[],
747 const double pixsamp[],
int *nsamp,
748 double maxdis[],
double *maxtot,
749 double avgdis[],
double *avgtot,
750 double rmsdis[],
double *rmstot);
752int matinv(
int n,
const double mat[],
double inv[]);
756#define linini_errmsg lin_errmsg
757#define lincpy_errmsg lin_errmsg
758#define linfree_errmsg lin_errmsg
759#define linprt_errmsg lin_errmsg
760#define linset_errmsg lin_errmsg
761#define linp2x_errmsg lin_errmsg
762#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 linsize(const struct linprm *lin, int sizes[2])
Compute the size of a linprm struct.
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:670
@ LINERR_SUCCESS
Definition lin.h:671
@ LINERR_MEMORY
Definition lin.h:673
@ LINERR_DEDISTORT
Definition lin.h:677
@ LINERR_DISTORT
Definition lin.h:676
@ LINERR_NULL_POINTER
Definition lin.h:672
@ LINERR_DISTORT_INIT
Definition lin.h:675
@ LINERR_SINGULAR_MTX
Definition lin.h:674
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:1093
int naxis
Definition dis.h:1100
int ndpmax
Definition dis.h:1104
double * maxdis
Definition dis.h:1107
Linear transformation parameters.
Definition lin.h:680
double * m_crpix
Definition lin.h:712
double * cdelt
Definition lin.h:690
double * imgpix
Definition lin.h:697
struct wcserr * err
Definition lin.h:705
struct disprm * disseq
Definition lin.h:692
double * crpix
Definition lin.h:688
int affine
Definition lin.h:700
double * pc
Definition lin.h:689
int i_naxis
Definition lin.h:698
double * m_cdelt
Definition lin.h:712
int flag
Definition lin.h:683
int m_flag
Definition lin.h:711
double * m_pc
Definition lin.h:712
struct disprm * dispre
Definition lin.h:691
struct disprm * m_disseq
Definition lin.h:713
struct disprm * m_dispre
Definition lin.h:713
double * tmpcrd
Definition lin.h:709
int naxis
Definition lin.h:687
double * piximg
Definition lin.h:696
int m_naxis
Definition lin.h:711
int unity
Definition lin.h:699
int simple
Definition lin.h:701
Error message handling.
Definition wcserr.h:243