WCSLIB  7.3
wtbarr.h
Go to the documentation of this file.
1 /*============================================================================
2 
3  WCSLIB 7.3 - an implementation of the FITS WCS standard.
4  Copyright (C) 1995-2020, Mark Calabretta
5 
6  This file is part of WCSLIB.
7 
8  WCSLIB is free software: you can redistribute it and/or modify it under the
9  terms of the GNU Lesser General Public License as published by the Free
10  Software Foundation, either version 3 of the License, or (at your option)
11  any later version.
12 
13  WCSLIB is distributed in the hope that it will be useful, but WITHOUT ANY
14  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
16  more details.
17 
18  You should have received a copy of the GNU Lesser General Public License
19  along with WCSLIB. If not, see http://www.gnu.org/licenses.
20 
21  Direct correspondence concerning WCSLIB to mark@calabretta.id.au
22 
23  Author: Mark Calabretta, Australia Telescope National Facility, CSIRO.
24  http://www.atnf.csiro.au/people/Mark.Calabretta
25  $Id: wtbarr.h,v 7.3 2020/06/03 03:37:02 mcalabre Exp $
26 *=============================================================================
27 *
28 * WCSLIB 7.3 - C routines that implement the FITS World Coordinate System
29 * (WCS) standard. Refer to the README file provided with WCSLIB for an
30 * overview of the library.
31 *
32 *
33 * Summary of the wtbarr struct
34 * ----------------------------
35 * The wtbarr struct is used by wcstab() in extracting coordinate lookup tables
36 * from a binary table extension (BINTABLE) and copying them into the tabprm
37 * structs stored in wcsprm.
38 *
39 *
40 * wtbarr struct - Extraction of coordinate lookup tables from BINTABLE
41 * --------------------------------------------------------------------
42 * Function wcstab(), which is invoked automatically by wcspih(), sets up an
43 * array of wtbarr structs to assist in extracting coordinate lookup tables
44 * from a binary table extension (BINTABLE) and copying them into the tabprm
45 * structs stored in wcsprm. Refer to the usage notes for wcspih() and
46 * wcstab() in wcshdr.h, and also the prologue to tab.h.
47 *
48 * For C++ usage, because of a name space conflict with the wtbarr typedef
49 * defined in CFITSIO header fitsio.h, the wtbarr struct is renamed to wtbarr_s
50 * by preprocessor macro substitution with scope limited to wtbarr.h itself,
51 * and similarly in wcs.h.
52 *
53 * int i
54 * (Given) Image axis number.
55 *
56 * int m
57 * (Given) wcstab array axis number for index vectors.
58 *
59 * int kind
60 * (Given) Character identifying the wcstab array type:
61 * - c: coordinate array,
62 * - i: index vector.
63 *
64 * char extnam[72]
65 * (Given) EXTNAME identifying the binary table extension.
66 *
67 * int extver
68 * (Given) EXTVER identifying the binary table extension.
69 *
70 * int extlev
71 * (Given) EXTLEV identifying the binary table extension.
72 *
73 * char ttype[72]
74 * (Given) TTYPEn identifying the column of the binary table that contains
75 * the wcstab array.
76 *
77 * long row
78 * (Given) Table row number.
79 *
80 * int ndim
81 * (Given) Expected dimensionality of the wcstab array.
82 *
83 * int *dimlen
84 * (Given) Address of the first element of an array of int of length ndim
85 * into which the wcstab array axis lengths are to be written.
86 *
87 * double **arrayp
88 * (Given) Pointer to an array of double which is to be allocated by the
89 * user and into which the wcstab array is to be written.
90 *
91 *===========================================================================*/
92 
93 #ifndef WCSLIB_WTBARR
94 #define WCSLIB_WTBARR
95 
96 #ifdef __cplusplus
97 extern "C" {
98 #define wtbarr wtbarr_s /* See prologue above. */
99 #endif
100  /* For extracting wcstab arrays. Matches */
101  /* the wtbarr typedef defined in CFITSIO */
102  /* header fitsio.h. */
103 struct wtbarr {
104  int i; /* Image axis number. */
105  int m; /* Array axis number for index vectors. */
106  int kind; /* wcstab array type. */
107  char extnam[72]; /* EXTNAME of binary table extension. */
108  int extver; /* EXTVER of binary table extension. */
109  int extlev; /* EXTLEV of binary table extension. */
110  char ttype[72]; /* TTYPEn of column containing the array. */
111  long row; /* Table row number. */
112  int ndim; /* Expected wcstab array dimensionality. */
113  int *dimlen; /* Where to write the array axis lengths. */
114  double **arrayp; /* Where to write the address of the array */
115  /* allocated to store the wcstab array. */
116 };
117 
118 #ifdef __cplusplus
119 #undef wtbarr
120 }
121 #endif
122 
123 #endif /* WCSLIB_WTBARR */
wtbarr::kind
int kind
Definition: getwcstab.h:173
wtbarr::ndim
int ndim
Definition: getwcstab.h:179
wtbarr::ttype
char ttype[72]
Definition: getwcstab.h:177
wtbarr::extlev
int extlev
Definition: getwcstab.h:176
wtbarr
Extraction of coordinate lookup tables from BINTABLE.
Definition: getwcstab.h:170
wtbarr::row
long row
Definition: getwcstab.h:178
wtbarr::extver
int extver
Definition: getwcstab.h:175
wtbarr::dimlen
int * dimlen
Definition: getwcstab.h:180
wtbarr::m
int m
Definition: getwcstab.h:172
wtbarr::i
int i
Definition: getwcstab.h:171
wtbarr::extnam
char extnam[72]
Definition: getwcstab.h:174
wtbarr::arrayp
double ** arrayp
Definition: getwcstab.h:181