00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef MUSE_SKY_H
00023 #define MUSE_SKY_H
00024
00025
00026
00027
00028 #include <cpl.h>
00029
00030 #include "muse_utils.h"
00031 #include "muse_cplwrappers.h"
00032 #include "muse_pixtable.h"
00033 #include "muse_resampling.h"
00034 #include "muse_lsf.h"
00035
00036
00037
00038
00039 extern const muse_cpltable_def muse_fluxspectrum_def[];
00040 extern const muse_cpltable_def muse_relativespectrum_def[];
00041 extern const muse_cpltable_def muse_extinction_def[];
00042
00043
00044
00045
00049
00053
00054 typedef struct {
00055 double ignore;
00056 double fraction;
00057 double sampling;
00058 double csampling;
00059 double crsigmac;
00060 double crsigmas;
00061 } muse_sky_params;
00062
00065
00066
00067
00068
00069 cpl_table *muse_sky_spectrum_from_cube(muse_datacube *, const cpl_mask *);
00070 muse_mask *muse_sky_create_skymask(muse_image *, double, double, const char *);
00071 cpl_error_code muse_sky_save_continuum(muse_processing *, const cpl_table *, cpl_propertylist *);
00072
00073
00074 cpl_error_code muse_sky_lines_set_range(cpl_table *, double, double);
00075 cpl_error_code muse_sky_lines_save(muse_processing *, const cpl_table *, cpl_propertylist *);
00076 cpl_table *muse_sky_lines_load(muse_processing *);
00077 cpl_error_code muse_sky_lines_apply_strength(cpl_table *, const cpl_array *);
00078 cpl_error_code muse_sky_lines_cut(cpl_table *, double);
00079 cpl_table *muse_sky_lines_create(const cpl_table *, const cpl_table *, double);
00080
00081
00082 cpl_error_code muse_sky_lines_fit(cpl_table *, cpl_table *, cpl_image *, muse_wcs *);
00083 cpl_table *muse_sky_continuum_create(cpl_table *, cpl_table *, cpl_image *, muse_wcs *, double);
00084 cpl_table *muse_sky_continuum_load(muse_processing *);
00085
00086
00087 void muse_sky_qc_lines(cpl_propertylist *, cpl_table *, const char *);
00088 void muse_sky_qc_continuum(cpl_propertylist *, cpl_table *, const char *);
00089
00090
00091 cpl_array *muse_sky_lines_spectrum(const cpl_array *, cpl_table *, const cpl_image *, const muse_wcs *);
00092 cpl_error_code muse_sky_subtract_lines(muse_pixtable *, cpl_table *, muse_lsf_cube **);
00093 cpl_error_code muse_sky_subtract_continuum(muse_pixtable *, cpl_table *);
00094
00095 #endif