WCSLIB  6.1
wtbarr.h
Go to the documentation of this file.
1 /*============================================================================
2 
3  WCSLIB 6.1 - an implementation of the FITS WCS standard.
4  Copyright (C) 1995-2018, 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 6.1 2018/10/19 08:35:17 mcalabre Exp $
26 *=============================================================================
27 *
28 * WCSLIB 6.1 - 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 * wtbarr struct - Extraction of coordinate lookup tables from BINTABLE
34 * --------------------------------------------------------------------
35 * Function wcstab(), which is invoked automatically by wcspih(), sets up an
36 * array of wtbarr structs to assist in extracting coordinate lookup tables
37 * from a binary table extension (BINTABLE) and copying them into the tabprm
38 * structs stored in wcsprm. Refer to the usage notes for wcspih() and
39 * wcstab() in wcshdr.h, and also the prologue to tab.h.
40 *
41 * For C++ usage, because of a name space conflict with the wtbarr typedef
42 * defined in CFITSIO header fitsio.h, the wtbarr struct is renamed to wtbarr_s
43 * by preprocessor macro substitution with scope limited to wcs.h itself.
44 *
45 * int i
46 * (Given) Image axis number.
47 *
48 * int m
49 * (Given) wcstab array axis number for index vectors.
50 *
51 * int kind
52 * (Given) Character identifying the wcstab array type:
53 * - c: coordinate array,
54 * - i: index vector.
55 *
56 * char extnam[72]
57 * (Given) EXTNAME identifying the binary table extension.
58 *
59 * int extver
60 * (Given) EXTVER identifying the binary table extension.
61 *
62 * int extlev
63 * (Given) EXTLEV identifying the binary table extension.
64 *
65 * char ttype[72]
66 * (Given) TTYPEn identifying the column of the binary table that contains
67 * the wcstab array.
68 *
69 * long row
70 * (Given) Table row number.
71 *
72 * int ndim
73 * (Given) Expected dimensionality of the wcstab array.
74 *
75 * int *dimlen
76 * (Given) Address of the first element of an array of int of length ndim
77 * into which the wcstab array axis lengths are to be written.
78 *
79 * double **arrayp
80 * (Given) Pointer to an array of double which is to be allocated by the
81 * user and into which the wcstab array is to be written.
82 *
83 *===========================================================================*/
84 
85 #ifndef WCSLIB_WTBARR
86 #define WCSLIB_WTBARR
87 
88 #ifdef __cplusplus
89 extern "C" {
90 #endif
91  /* For extracting wcstab arrays. Matches */
92  /* the wtbarr typedef defined in CFITSIO */
93  /* header fitsio.h. */
94 #ifdef __cplusplus
95 #define wtbarr wtbarr_s /* See prologue above. */
96 #endif
97 struct wtbarr {
98  int i; /* Image axis number. */
99  int m; /* Array axis number for index vectors. */
100  int kind; /* wcstab array type. */
101  char extnam[72]; /* EXTNAME of binary table extension. */
102  int extver; /* EXTVER of binary table extension. */
103  int extlev; /* EXTLEV of binary table extension. */
104  char ttype[72]; /* TTYPEn of column containing the array. */
105  long row; /* Table row number. */
106  int ndim; /* Expected wcstab array dimensionality. */
107  int *dimlen; /* Where to write the array axis lengths. */
108  double **arrayp; /* Where to write the address of the array */
109  /* allocated to store the wcstab array. */
110 };
111 
112 #ifdef __cplusplus
113 #undef wtbarr
114 }
115 #endif
116 
117 #endif /* WCSLIB_WTBARR */
int kind
Definition: getwcstab.h:173
char ttype[72]
Definition: getwcstab.h:177
int i
Definition: getwcstab.h:171
int m
Definition: getwcstab.h:172
long row
Definition: getwcstab.h:178
double ** arrayp
Definition: getwcstab.h:181
Extraction of coordinate lookup tables from BINTABLE.
Definition: getwcstab.h:170
char extnam[72]
Definition: getwcstab.h:174
int ndim
Definition: getwcstab.h:179
int extver
Definition: getwcstab.h:175
int * dimlen
Definition: getwcstab.h:180
int extlev
Definition: getwcstab.h:176