20#ifndef VISIR_SPECTRO_H
21#define VISIR_SPECTRO_H
27#include "visir_spc_optmod.h"
28#include "visir_inputs.h"
29#include "irplib_framelist.h"
34#define VISIR_AQU_APPROX_WLEN8 140
35#define VISIR_AQU_APPROX_WLEN13 840
38 const char * recipename;
39 const cpl_parameterlist * parlist;
40 cpl_boolean do_fixcombi;
41 cpl_propertylist * phu;
67visir_spc_resol visir_spc_get_res_wl(
const irplib_framelist *,
double *,
68 double *,
double *,
double *,
int);
70cpl_image * visir_spc_flip(
const cpl_image *,
double, visir_spc_resol,
71 visir_data_type,
bool *);
73cpl_bivector * visir_bivector_load_fits(
const char *,
const char *,
75cpl_error_code visir_vector_resample(cpl_vector *,
const cpl_vector *,
76 const cpl_bivector *);
77void * visir_spc_extract_wcal(
const cpl_image *,
const cpl_image *,
78 const int,
const int,
const double,
const double,
79 const double,
const double,
const visir_spc_resol,
80 const visir_spc_config *,
const char *,
81 const char *,
const int,
const visir_apdefs *,
82 const cpl_size,
const bool,
83 cpl_table **, cpl_image **, cpl_propertylist *);
85cpl_error_code visir_spc_wavecal(
const cpl_image *,
87 double,
double,
double,
88 double, visir_spc_resol,
89 const visir_spc_config *,
94cpl_error_code visir_spectro_qc(cpl_propertylist *, cpl_propertylist *,
95 cpl_boolean,
const irplib_framelist *,
96 const char *,
const char *);
98cpl_error_code visir_spc_echelle_limit(
int *,
int *,
double,
99 const visir_spc_config * cfg,
101cpl_image * visir_spc_column_extract(
const cpl_image *,
int,
int,
int);
105visir_spc_extract_order(cpl_image ** order,
106 cpl_image ** comorder,
107 int * lcol,
int * rcol,
108 const cpl_image * combined,
109 const cpl_image * imhcycle,
111 const visir_spc_config * pconfig,
112 const cpl_boolean do_ech,
115int visir_norm_coord(
const bool rev,
const float coord,
const int lcol,
116 const int rcol,
const visir_apdefs * aps);