28 #ifndef FORS_FLAT_NORMALISE_H
29 #define FORS_FLAT_NORMALISE_H
32 #include "mosca_image.h"
33 #include "fors_detected_slits.h"
34 #include "wavelength_calibration.h"
47 int mos_normalise(mosca::image& flat,
48 const mosca::wavelength_calibration& wave_cal,
50 cpl_table *slits, cpl_table *polytraces,
51 double blue,
double red,
53 int spa_smooth_radius,
int disp_smooth_radius,
54 int spa_fit_polyorder,
int disp_fit_nknots,
55 double fit_threshold);
57 int lss_normalise(mosca::image& flat,
58 const mosca::wavelength_calibration& wave_cal,
59 int spa_smooth_radius,
int disp_smooth_radius,
60 int spa_fit_polyorder,
int disp_fit_nknots,
61 double fit_threshold);
63 const mosca::image& get_normalisation_image()
const;
65 const std::vector<std::vector<float> >& get_wave_profiles()
const;
67 const std::vector<float>& get_wave_profiles_norm()
const;
69 cpl_image * get_wave_profiles_im()
const;
71 cpl_image * get_wave_profiles_im_mapped(
const fors::detected_slits& det_slits,
72 const mosca::wavelength_calibration& wave_cal,
75 double dispersion)
const;
77 static int get_middle_slit_valid_calib
78 (
const mosca::wavelength_calibration& wave_cal,
79 int slit_end_pos,
int slit_begin_pos);
83 mosca::image m_normalisation_image;
85 std::vector<std::vector<float> > m_wave_profiles;
87 std::vector<float> m_wave_profiles_norm;