00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096 #ifndef FLAMES_MIDAS_DEF_H
00097 #define FLAMES_MIDAS_DEF_H
00098
00099 #ifdef HAVE_CONFIG_H
00100 # include <config.h>
00101 #endif
00102
00103
00104
00105
00106 #include <fitsio.h>
00107 #include <cpl.h>
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117 #define MAREMMA 2
00118
00119
00120 #define D_OLD_FORMAT 0
00121 #define D_I1_FORMAT 1
00122 #define D_I2_FORMAT 2
00123 #define D_UI2_FORMAT 102
00124 #define D_I4_FORMAT 4
00125 #define D_R4_FORMAT 10
00126 #define D_R8_FORMAT 18
00127
00128
00129 #define D_L4_FORMAT 24
00130 #define D_C_FORMAT 30
00131
00132
00133
00134
00135
00136
00137
00138 #define F_IMA_TYPE 1
00139
00140 #define F_TBL_TYPE 3
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151 #define F_I_MODE 0
00152 #define F_O_MODE 1
00153 #define F_IO_MODE 2
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165 #define F_D_MODE 2
00166
00167
00168 #define TEXT_LEN 84
00169
00170
00171
00172
00173
00174
00175 #define SCSPRO(name) flames_midas_scspro(name)
00176 #define SCSEPI() flames_midas_scsepi()
00177
00178
00179
00180
00181 #define SCTPUT(msg) flames_midas_sctput(msg, __func__, __FILE__, __LINE__)
00182
00183
00184 #define SCKGETC(key, felem, maxvals, actvals, values) flames_midas_sckgetc(key, felem, maxvals, actvals, values)
00185 #define SCKGETC_fs(key, felem, maxvals, actvals, values) flames_midas_sckgetc_fs(key, felem, maxvals, actvals, values)
00186 #define SCKGETC_fsp(key, felem, maxvals, actvals, values) flames_midas_sckgetc_fsp(key, felem, maxvals, actvals, values)
00187 #define SCKFND(key, type, noelem, bytelem) flames_midas_sckfnd(key, type, noelem, bytelem)
00188 #define SCKFND_double(key, type, noelem, bytelem) flames_midas_sckfnd_double(key, type, noelem, bytelem)
00189 #define SCKFND_float(key, type, noelem, bytelem) flames_midas_sckfnd_float(key, type, noelem, bytelem)
00190 #define SCKFND_int(key, type, noelem, bytelem) flames_midas_sckfnd_int(key, type, noelem, bytelem)
00191 #define SCKFND_string(key, type, noelem, bytelem) flames_midas_sckfnd_string(key, type, noelem, bytelem)
00192
00193 #define SCKRDD(key, felem, maxvals, actvals, values, unit, null) flames_midas_sckrdd(key, felem, maxvals, actvals, values, unit, null)
00194 #define SCKRDC(key, noelem, felem, maxvals, actvals, values, unit, null) flames_midas_sckrdc(key, noelem, felem, maxvals, actvals, values, unit, null)
00195 #define SCKRDI(key, felem, maxvals, actvals, values, unit, null) flames_midas_sckrdi(key, felem, maxvals, actvals, values, unit, null)
00196 #define SCKRDR(key, felem, maxvals, actvals, values, unit, null) flames_midas_sckrdr(key, felem, maxvals, actvals, values, unit, null)
00197
00198 #define SCKWRC(key, noelem, values, felem, maxval, unit) flames_midas_sckwrc(key, noelem, values, felem, maxval, unit)
00199 #define SCKWRD(key, values, felem, maxval, unit) flames_midas_sckwrd(key, values, felem, maxval, unit)
00200 #define SCKWRI(key, values, felem, maxval, unit) flames_midas_sckwri(key, values, felem, maxval, unit)
00201
00202
00203 #define SCCADD(catfile, name, ident) flames_midas_sccadd(catfile, name, ident)
00204 #define SCCCRE(catfile, type, flag) flames_midas_scccre(catfile, type, flag)
00205 #define SCCFND(catfile, frmno, frame) flames_midas_sccfnd(catfile, frmno, frame)
00206 #define SCCGET(catfile, flag, name, ident, no) flames_midas_sccget(catfile, flag, name, ident, no)
00207 #define SCCSHO(catfile, noent, last) flames_midas_sccsho(catfile, noent, last)
00208
00209
00210 #define SCFINF(name, fno, ibuf) flames_midas_scfinf(name, fno, ibuf)
00211 #define SCFCRE(name, dattype, iomode, filtype, size, imno) flames_midas_scfcre(name, dattype, iomode, filtype, size, imno)
00212 #define SCFOPN(name, dattype, newopn, filtype, imno) flames_midas_scfopn(name, dattype, newopn, filtype, imno)
00213 #define SCFCLO(imno) flames_midas_scfclo(imno)
00214 #define SCFPUT(imno, felem, size, bufadr) flames_midas_scfput(imno, felem, size, bufadr)
00215 #define SCFGET(imno, felem, size, actsize, bufadr) flames_midas_scfget(imno, felem, size, actsize, bufadr)
00216
00217
00218 #define SCDFND(imno, descr, type, noelem, bytelem) flames_midas_scdfnd(imno, descr, type, noelem, bytelem)
00219 #define SCDPRS(imno, descr, type, noelem, bytelem) flames_midas_scdprs(imno, descr, type, noelem, bytelem)
00220 #define SCDRDI(imno, descr, felem, maxvals, actvals, values, unit, null) flames_midas_scdrdi(imno, descr, felem, maxvals, actvals, values, unit, null)
00221 #define SCDRDD(imno, descr, felem, maxvals, actvals, values, unit, null) flames_midas_scdrdd(imno, descr, felem, maxvals, actvals, values, unit, null)
00222 #define SCDWRI(imno, descr, values, felem, nval, unit) flames_midas_scdwri(imno, descr, values, felem, nval, unit)
00223 #define SCDWRD(imno, descr, values, felem, nval, unit) flames_midas_scdwrd(imno, descr, values, felem, nval, unit)
00224 #define SCDWRR(imno, descr, values, felem, nval, unit) flames_midas_scdwrr(imno, descr, values, felem, nval, unit)
00225 #define SCDWRC(imno, descr, noelm, values, felem, nval, unit) flames_midas_scdwrc(imno, descr, noelm, values, felem, nval, unit)
00226 #define SCDCOP(from, to, mask) flames_midas_scdcop(from, to, mask)
00227 #define SCDCOP_nonaxis(from, to, mask) flames_midas_scdcop_nonaxis(from, to, mask)
00228 #define SCDDEL(imno, descr) flames_midas_scddel(imno, descr)
00229 #define SCDRDR(imno, descr, felem, maxvals, actvals, values, unit, null) flames_midas_scdrdr(imno, descr, felem, maxvals, actvals, values, unit, null)
00230 #define SCDRDC(imno, descr, noelem, felem, maxvals, actvals, values, unit, null) flames_midas_scdrdc(imno, descr, noelem, felem, maxvals, actvals, values, unit, null)
00231
00232 #define SCDGETC(imno, descr, felem, maxvals, actvals, values) SCDRDC(imno, descr, 1, felem, maxvals, actvals, values, NULL, NULL)
00233
00234
00235 #define TCTOPN(name, mode, tid) flames_midas_tctopn(name, mode, -1, tid)
00236 #define TCTCLO(tid) flames_midas_tctclo(tid)
00237 #define TCCSER(tid, colref, column) flames_midas_tccser(tid, colref, column)
00238 #define TCIGET(tid, column, row) flames_midas_tciget(tid, column, row)
00239
00240 #define TCERDD(tid, row, column, value, null) flames_midas_tcerdd(tid, row, column, value, null)
00241
00242 #define TCBGET(tid, column, dtype, items, bytes) flames_midas_tcbget(tid, column, dtype, items, bytes)
00243
00244 #define TCCINI(tid, dtype, alen, form, unit, label, column) flames_midas_tccini(tid, dtype, alen, form, unit, label, column)
00245 #define TCDGET(tid, store) flames_midas_tcdget(tid, store)
00246
00247 #define TCERDC(tid, row, column, values, null) flames_midas_tcerdc(tid, row, column, values, null)
00248 #define TCERDI(tid, row, column, values, null) flames_midas_tcerdi(tid, row, column, values, null)
00249 #define TCERDR(tid, row, column, values, null) flames_midas_tcerdr(tid, row, column, values, null)
00250 #define TCEWRC(tid, row, column, value) flames_midas_tcewrc(tid, row, column, value)
00251 #define TCEWRD(tid, row, column, value) flames_midas_tcewrd(tid, row, column, value)
00252 #define TCEWRI(tid, row, column, value) flames_midas_tcewri(tid, row, column, value)
00253 #define TCEWRR(tid, row, column, value) flames_midas_tcewrr(tid, row, column, value)
00254
00255 #define TCARDC(tid, row, col, index, items, value) flames_midas_tcardc(tid, row, col, index, items, value)
00256 #define TCARDD(tid, row, col, index, items, value) flames_midas_tcardd(tid, row, col, index, items, value)
00257 #define TCARDI(tid, row, col, index, items, value) flames_midas_tcardi(tid, row, col, index, items, value)
00258 #define TCARDR(tid, row, col, index, items, value) flames_midas_tcardr(tid, row, col, index, items, value)
00259 #define TCAWRC(tid, row, col, index, items, value) flames_midas_tcawrc(tid, row, col, index, items, value)
00260 #define TCAWRD(tid, row, col, index, items, value) flames_midas_tcawrd(tid, row, col, index, items, value)
00261 #define TCAWRI(tid, row, col, index, items, value) flames_midas_tcawri(tid, row, col, index, items, value)
00262 #define TCAWRR(tid, row, col, index, items, value) flames_midas_tcawrr(tid, row, col, index, items, value)
00263
00264 #define TCFGET(tid, column, form, dtype) flames_midas_tcfget(tid, column, form, dtype)
00265 #define TCLGET(tid, column, label) flames_midas_tclget(tid, column, label)
00266 #define TCLSER(tid, label, column) flames_midas_tclser(tid, label, column)
00267 #define TCSGET(tid, row, value) flames_midas_tcsget(tid, row, value)
00268 #define TCSPUT(tid, row, value) flames_midas_tcsput(tid, row, value)
00269
00270
00271 #define TCTINI(name, mode, allrow, tid) flames_midas_tctopn(name, mode, allrow, tid)
00272
00273 #define TCUGET(tid, column, unit) flames_midas_tcuget(tid, column, unit)
00274
00275 #define flames_midas_fail() flames_midas_fail_macro(__FILE__, __func__, __LINE__)
00276 #define flames_midas_error(status) flames_midas_error_macro(__FILE__, __func__, __LINE__, status)
00277
00278
00279
00280
00281
00282
00283 int flames_midas_scspro(const char *name);
00284 int flames_midas_scsepi(void);
00285 int flames_midas_fail_macro(const char *file, const char *function, int line);
00286 int flames_midas_error_macro(const char *file, const char *function, int line,
00287 int status);
00288
00289
00290
00291
00292
00293 int flames_midas_sckgetc(const char *key,
00294 int felem, int maxvals,
00295 int *actvals, char *values);
00296 int flames_midas_sckgetc_fs(const cpl_frameset *key,
00297 int felem, int maxvals,
00298 int *actvals, const cpl_frameset **values);
00299
00300 int flames_midas_sckgetc_fsp(cpl_frameset **key,
00301 int felem, int maxvals,
00302 int *actvals, cpl_frameset ***values);
00303
00304 int flames_midas_sckrdd(const double *key, int felem, int maxvals,
00305 int *actvals, double *values, int *unit, int *null);
00306 int flames_midas_sckrdi(const int *key, int felem, int maxvals,
00307 int *actvals, int *values, int *unit, int *null);
00308 int flames_midas_sckrdr(const float *key, int felem, int maxvals,
00309 int *actvals, float *values, int *unit, int *null);
00310 int flames_midas_sckrdc(const char *key, int noelem, int felem, int maxvals,
00311 int *actvals, char *values, int *unit, int *null);
00312
00313 int flames_midas_sckwri(int *key, const int *values,
00314 int felem, int maxval, int *unit);
00315 int flames_midas_sckwrd(double *key, const double *values,
00316 int felem, int maxval, int *unit);
00317 int flames_midas_sckwrc(char *key, int noelem,
00318 const char *values, int felem, int maxvals, int *unit);
00319
00320 int flames_midas_sckfnd_double(const double *key, char *type, int *noelem, int *bytelem);
00321 int flames_midas_sckfnd_float(const float *key, char *type, int *noelem, int *bytelem);
00322 int flames_midas_sckfnd_int(const int *key, char *type, int *noelem, int *bytelem);
00323 int flames_midas_sckfnd_string(const char *key, char *type, int *noelem, int *bytelem);
00324
00325
00326
00327 int flames_midas_sctput(const char *msg,
00328 const char *func, const char *file, int line);
00329
00330
00331 int flames_midas_scfopn(const char *name, int dattype, int newopn, int filtype, int *imno);
00332 int flames_midas_scfclo(int imno);
00333 int flames_midas_scfcre(const char *name, int dattype, int iomode, int filtype,
00334 int size, int *imno);
00335 int flames_midas_scfinf(const char *name, int fno, int *ibuf);
00336 int flames_midas_scfget(int imno, int felem, int size, int *actsize, char *bufadr);
00337 int flames_midas_scfput(int imno, int felem, int size, const char *bufadr);
00338
00339
00340 int flames_midas_scdfnd(int imno, const char *descr,
00341 char *type, int *noelem, int *bytelem);
00342
00343 int flames_midas_scdprs(int imno, const char *descr,
00344 char *type, int *noelem, int *bytelem);
00345
00346 int flames_midas_scdrdi(int imno, const char *descr,
00347 int felem, int maxvals,
00348 int *actvals, int *values,
00349 int *unit, int *null);
00350 int flames_midas_scdrdd(int imno, const char *descr,
00351 int felem, int maxvals,
00352 int *actvals, double *values,
00353 int *unit, int *null);
00354 int flames_midas_scdrdr(int imno, const char *descr,
00355 int felem, int maxvals,
00356 int *actvals, float *values,
00357 int *unit, int *null);
00358 int flames_midas_scdrdc(int imno, const char *descr,
00359 int noelem,
00360 int felem, int maxvals,
00361 int *actvals, char *values,
00362 int *unit, int *null);
00363
00364 int flames_midas_scdwri(int imno, const char *descr, const int *values,
00365 int felem, int nval, const int *unit);
00366 int flames_midas_scdwrd(int imno, const char *descr, const double *values,
00367 int felem, int nval, const int *unit);
00368
00369 int flames_midas_scdwrr(int imno, const char *descr, const float *values,
00370 int felem, int nval, const int *unit);
00371 int flames_midas_scdwrc(int imno, const char *descr, int noelm, const char *values,
00372 int felem, int nval, const int *unit);
00373
00374 int flames_midas_scdcop(int from, int to, int mask);
00375 int flames_midas_scdcop_nonaxis(int from, int to, int mask);
00376
00377 int flames_midas_scddel(int imno, const char *descr);
00378
00379
00380 int flames_midas_tctopn(const char *name, int mode, int allrow, int *tid);
00381 int flames_midas_tctclo(int tid);
00382 int flames_midas_tccser(int tid, const char *colref, int *column);
00383 int flames_midas_tciget(int tid, int *column, int *row);
00384
00385 int flames_midas_tcardc(int tid, int row, int col, int index, int items, char *value);
00386 int flames_midas_tcardd(int tid, int row, int col, int index, int items, double *value);
00387 int flames_midas_tcardi(int tid, int row, int col, int index, int items, int *value);
00388 int flames_midas_tcardr(int tid, int row, int col, int index, int items, float *value);
00389 int flames_midas_tcawrc(int tid, int row, int col, int index, int items, const char *value);
00390 int flames_midas_tcawrd(int tid, int row, int col, int index, int items, const double *value);
00391 int flames_midas_tcawri(int tid, int row, int col, int index, int items, const int *value);
00392 int flames_midas_tcawrr(int tid, int row, int col, int index, int items, const float *value);
00393 int flames_midas_tcbget(int tid, int column, int *dtype, int *items, int *bytes);
00394 int flames_midas_tcdget(int tid, int *store);
00395 int flames_midas_tcfget(int tid, int column, char *form, int *dtype);
00396 int flames_midas_tclget(int tid, int column, char *label);
00397 int flames_midas_tcuget(int tid, int column, char *unit);
00398 int flames_midas_tclser(int tid, const char *label, int *column);
00399 int flames_midas_tccini(int tid, int dtype, int alen,
00400 const char *form, const char *unit, const char *label,
00401 int *column);
00402 int flames_midas_tcerdc(int tid, int row, int column, char *values, int *null);
00403 int flames_midas_tcerdi(int tid, int row, int column, int *values, int *null);
00404 int flames_midas_tcerdr(int tid, int row, int column, float *values, int *null);
00405 int flames_midas_tcerdd(int tid, int row, int column,
00406 double *value, int *null);
00407 int flames_midas_tcewrc(int tid, int row, int column, const char *value);
00408 int flames_midas_tcewri(int tid, int row, int column, const int *value);
00409 int flames_midas_tcewrr(int tid, int row, int column, const float *value);
00410 int flames_midas_tcewrd(int tid, int row, int column, const double *value);
00411 int flames_midas_tcsget(int tid, int row, int *value);
00412 int flames_midas_tcsput(int tid, int row, const int *value);
00413
00414
00415 int flames_midas_sccsho(const cpl_frameset *catfile,
00416 int *noent,
00417 int *last);
00418
00419 int flames_midas_sccget(const cpl_frameset *catfile,
00420 int flag,
00421 char *name, char *ident,
00422 int *no);
00423
00424 int flames_midas_sccfnd(const cpl_frameset *catfile,
00425 int frmno,
00426 char *frame);
00427 int flames_midas_scccre(cpl_frameset **catfile,
00428 int type,
00429 int flag);
00430 int flames_midas_sccadd(cpl_frameset *catfile,
00431 const char *name,
00432 const char *ident);
00433
00434
00435 cpl_type
00436 flames_midas_image_dtype_to_cpltype(int dtype);
00437
00438
00439 #endif