757#define LINLEN (sizeof(struct linprm)/sizeof(int))
782int linp2x(
struct linprm *lin,
int ncoord,
int nelem,
const double pixcrd[],
785int linx2p(
struct linprm *lin,
int ncoord,
int nelem,
const double imgcrd[],
788int linwarp(
struct linprm *lin,
const double pixblc[],
const double pixtrc[],
789 const double pixsamp[],
int *nsamp,
790 double maxdis[],
double *maxtot,
791 double avgdis[],
double *avgtot,
792 double rmsdis[],
double *rmstot);
794int matinv(
int n,
const double mat[],
double inv[]);
798#define linini_errmsg lin_errmsg
799#define lincpy_errmsg lin_errmsg
800#define linfree_errmsg lin_errmsg
801#define linprt_errmsg lin_errmsg
802#define linset_errmsg lin_errmsg
803#define linp2x_errmsg lin_errmsg
804#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.
const char * lin_errmsg[]
Status return messages.
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:708
@ LINERR_SUCCESS
Definition lin.h:709
@ LINERR_MEMORY
Definition lin.h:711
@ LINERR_DEDISTORT
Definition lin.h:715
@ LINERR_DISTORT
Definition lin.h:714
@ LINERR_NULL_POINTER
Definition lin.h:710
@ LINERR_DISTORT_INIT
Definition lin.h:713
@ LINERR_SINGULAR_MTX
Definition lin.h:712
int linperr(const struct linprm *lin, const char *prefix)
Print error messages from a linprm struct.
int linini(int alloc, int naxis, struct linprm *lin)
Default constructor for the linprm struct.
int linenq(const struct linprm *lin, int enquiry)
enquire about the state of a linprm struct.
int matinv(int n, const double mat[], double inv[])
Matrix inversion.
int linprt(const struct linprm *lin)
Print routine for the linprm struct.
linenq_enum
Definition lin.h:700
@ LINENQ_BYP
Definition lin.h:703
@ LINENQ_SET
Definition lin.h:702
@ LINENQ_MEM
Definition lin.h:701
int lincpy(int alloc, const struct linprm *linsrc, struct linprm *lindst)
Copy routine for the linprm struct.
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:1129
int naxis
Definition dis.h:1136
int ndpmax
Definition dis.h:1140
double * maxdis
Definition dis.h:1143
Linear transformation parameters.
Definition lin.h:718
struct disprm * disseq
Definition lin.h:730
struct disprm * dispre
Definition lin.h:729
int affine
Definition lin.h:738
int i_naxis
Definition lin.h:736
double * crpix
Definition lin.h:726
double * m_cdelt
Definition lin.h:752
int flag
Definition lin.h:721
double * piximg
Definition lin.h:734
double * dummy
Definition lin.h:748
int m_flag
Definition lin.h:751
struct wcserr * err
Definition lin.h:743
double * m_pc
Definition lin.h:752
double * imgpix
Definition lin.h:735
struct disprm * m_disseq
Definition lin.h:753
double * m_crpix
Definition lin.h:752
double * cdelt
Definition lin.h:728
struct disprm * m_dispre
Definition lin.h:753
double * pc
Definition lin.h:727
int naxis
Definition lin.h:725
int m_naxis
Definition lin.h:751
int unity
Definition lin.h:737
int simple
Definition lin.h:739
Error message handling.
Definition wcserr.h:243