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 std::vector<float> get_wave_profiles_norm(
double mflat_exptime,
68 const std::vector<float>& slit_widths,
69 const std::vector<float>& slit_lengths)
const;
71 cpl_image * get_wave_profiles_im()
const;
73 cpl_image * get_wave_profiles_im_mapped(
const fors::detected_slits& det_slits,
74 const mosca::wavelength_calibration& wave_cal,
77 double dispersion)
const;
79 static int get_middle_slit_valid_calib
80 (
const mosca::wavelength_calibration& wave_cal,
81 int slit_end_pos,
int slit_begin_pos);
85 mosca::image m_normalisation_image;
87 std::vector<std::vector<float> > m_wave_profiles;
89 std::vector<float> m_wave_profiles_norm;