28 #ifndef IRPLIB_WAVECAL_H
29 #define IRPLIB_WAVECAL_H
42 #define IRPLIB_WAVECAL_MODEL_COEFFS 4
44 #define IRPLIB_WAVECAL_MODEL_COLS 9
46 #define IRPLIB_WAVECAL_LAB_MODE "SpecMode"
47 #define IRPLIB_WAVECAL_LAB_RESID "Residual"
48 #define IRPLIB_WAVECAL_LAB_ORDER "Fit_Order"
49 #define IRPLIB_WAVECAL_LAB_XMIN "XMin"
50 #define IRPLIB_WAVECAL_LAB_XMAX "XMax"
51 #define IRPLIB_WAVECAL_LAB_C1 "C_1"
52 #define IRPLIB_WAVECAL_LAB_C2 "C_2"
53 #define IRPLIB_WAVECAL_LAB_C3 "C_3"
54 #define IRPLIB_WAVECAL_LAB_C4 "C_4"
56 #define IRPLIB_WAVECAL_LAB_WAVE "WAVELENGTH"
57 #define IRPLIB_WAVECAL_LAB_INTENS "INTENSITY"
70 } irplib_base_spectrum_model;
81 const cpl_bivector * lines;
87 } irplib_line_spectrum_model;
98 irplib_base_spectrum_model *,
101 const cpl_polynomial *,
102 irplib_base_spectrum_model *),
114 const cpl_polynomial *,
116 irplib_base_spectrum_model *,
119 const cpl_polynomial *,
120 irplib_base_spectrum_model *),
128 irplib_base_spectrum_model *,
131 const cpl_polynomial *,
132 irplib_base_spectrum_model *),
133 int, cpl_boolean,
double *);
138 irplib_base_spectrum_model *,
141 const cpl_polynomial *,
142 irplib_base_spectrum_model *),
147 const cpl_polynomial *,
148 irplib_base_spectrum_model *);
151 const cpl_polynomial *,
152 irplib_base_spectrum_model *);
156 const cpl_polynomial *,
157 irplib_base_spectrum_model *);
161 const cpl_polynomial *,
162 irplib_base_spectrum_model *);
165 const cpl_polynomial *,
166 irplib_base_spectrum_model *,
169 const cpl_polynomial *,
170 irplib_base_spectrum_model *));
cpl_error_code irplib_vector_fill_line_spectrum(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *)
Generate a 1D spectrum from a model and a dispersion relation.
cpl_error_code irplib_bivector_find_shift_from_correlation(cpl_bivector *, const cpl_polynomial *, const cpl_vector *, irplib_base_spectrum_model *, cpl_error_code(*)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *), int, cpl_boolean, double *)
Find shift(s) that maximizes (locally) the cross-correlation.
cpl_error_code irplib_vector_fill_logline_spectrum_fast(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *)
Generate a 1D spectrum from a model and a dispersion relation.
cpl_error_code irplib_polynomial_shift_1d_from_correlation(cpl_polynomial *, const cpl_vector *, irplib_base_spectrum_model *, cpl_error_code(*)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *), int, cpl_boolean, double *)
Shift self by the amount that maximizes the cross-correlation.
cpl_error_code irplib_polynomial_find_1d_from_correlation(cpl_polynomial *, int, const cpl_vector *, irplib_base_spectrum_model *, cpl_error_code(*)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *), double, double, int, int, double *)
Modify self by maximizing the cross-correlation.
cpl_error_code irplib_vector_fill_logline_spectrum(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *)
Generate a 1D spectrum from a model and a dispersion relation.
cpl_error_code irplib_polynomial_fit_2d_dispersion(cpl_polynomial *, const cpl_image *, int, double *)
Fit a 2D-dispersion from an image of wavelengths.
cpl_error_code irplib_vector_fill_line_spectrum_fast(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *)
Generate a 1D spectrum from a model and a dispersion relation.
cpl_error_code irplib_plot_spectrum_and_model(const cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *, cpl_error_code(*)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *))
Plot a 1D spectrum and one from a model.
cpl_error_code irplib_polynomial_find_1d_from_correlation_all(cpl_polynomial *, int, const cpl_vector *, int, int, irplib_base_spectrum_model *, cpl_error_code(*)(cpl_vector *, const cpl_polynomial *, irplib_base_spectrum_model *), double, double, int, int, int, int, cpl_boolean, double *)
Modify self by maximizing the cross-correlation across all maxima.
int irplib_bivector_count_positive(const cpl_bivector *, double, double)
Count the positive Y-entries in a given X-range.