1
1
/*============================================================================
3
WCSLIB 4.22 - an implementation of the FITS WCS standard.
3
WCSLIB 4.23 - an implementation of the FITS WCS standard.
4
4
Copyright (C) 1995-2014, Mark Calabretta
6
6
This file is part of WCSLIB.
23
23
Author: Mark Calabretta, Australia Telescope National Facility, CSIRO.
24
24
http://www.atnf.csiro.au/people/Mark.Calabretta
25
$Id: wcs.h,v 4.22 2014/04/12 15:03:52 mcalabre Exp $
25
$Id: wcs.h,v 4.23 2014/05/13 05:50:51 mcalabre Exp $
26
26
*=============================================================================
28
* WCSLIB 4.22 - C routines that implement the FITS World Coordinate System
28
* WCSLIB 4.23 - C routines that implement the FITS World Coordinate System
29
29
* (WCS) standard. Refer to
31
31
* "Representations of world coordinates in FITS",
312
312
* if any were specified on input).
315
* wcscompare() - Compare two wcsprm structs for equality
316
* ------------------------------------------------------
317
* wcscompare() compares two wcsprm structs for equality.
320
* cmp int A bit field controlling the strictness of the
321
* comparison. When 0, all fields must be identical.
323
* The following constants may be or'ed together to
324
* relax the comparison:
325
* WCSCOMPARE_ANCILLARY: Ignore ancillary keywords
326
* that don't change the WCS transformation, such
327
* as DATE-OBS or EQUINOX.
328
* WCSCOMPARE_TILING: Ignore integral differences in
329
* CRPIXja. This is the 'tiling' condition, where
330
* two WCSes cover different regions of the same
331
* map projection and align on the same map grid.
332
* WCSCOMPARE_CRPIX: Ignore any differences at all in
333
* CRPIXja. The two WCSes cover different regions
334
* of the same map projection but may not align on
335
* the same grid map. Overrides WCSCOMPARE_TILING.
337
* wcs1 const struct wcsprm*
338
* The first wcsprm struct to compare.
340
* wcs2 const struct wcsprm*
341
* The second wcsprm struct to compare.
344
* equal int* Non-zero when the given structs are equal.
346
* Function return value:
347
* int Status return value:
349
* 1: Null pointer passed.
315
352
* wcscopy() macro - Copy routine for the wcsprm struct
316
353
* ----------------------------------------------------
317
354
* wcscopy() does a deep copy of one wcsprm struct to another. As of
1346
1383
#define WCSSUB_STOKES 0x1010
1386
#define WCSCOMPARE_ANCILLARY 0x0001
1387
#define WCSCOMPARE_TILING 0x0002
1388
#define WCSCOMPARE_CRPIX 0x0004
1349
1391
extern const char *wcs_errmsg[];
1351
1393
enum wcs_errmsg_enum {
1369
1411
WCSERR_NO_SOLUTION = 11, /* No solution found in the specified
1371
1413
WCSERR_BAD_SUBIMAGE = 12, /* Invalid subimage specification. */
1372
WCSERR_NON_SEPARABLE = 13 /* Non-separable subimage coordinate
1414
WCSERR_NON_SEPARABLE = 13 /* Non-separable subimage coordinate
1526
1568
int wcssub(int alloc, const struct wcsprm *wcssrc, int *nsub, int axes[],
1527
1569
struct wcsprm *wcsdst);
1571
int wcscompare(int cmp, const struct wcsprm *wcs1, const struct wcsprm *wcs2,
1529
1574
int wcsfree(struct wcsprm *wcs);
1531
1576
int wcsprt(const struct wcsprm *wcs);