00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef MOSES_H
00029 #define MOSES_H
00030
00031 #include <cpl.h>
00032
00033 CPL_BEGIN_DECLS
00034
00035 cpl_table *mos_hough_table(cpl_table *, const char *, const char *);
00036 cpl_image *mos_remove_bias(cpl_image *, cpl_image *, cpl_table *);
00037 cpl_image *mos_normalise_flat(cpl_image *, cpl_image *, cpl_table *,
00038 cpl_table *, double, double, double, double,
00039 int, int);
00040 cpl_image *mos_normalise_longflat(cpl_image *, int, int, int);
00041 cpl_error_code mos_arc_background_1D(float *, float *, int, int, int);
00042 cpl_image *mos_arc_background(cpl_image *, int, int);
00043 int mos_lines_width(float *, int);
00044 cpl_vector *mos_peak_candidates(float *, int, float, float);
00045 cpl_vector *mos_refine_peaks(float *, int, cpl_vector *, int);
00046 cpl_bivector *mos_identify_peaks(cpl_vector *, cpl_vector *,
00047 double, double, double);
00048 cpl_bivector *mos_find_peaks(float *, int, cpl_vector *,
00049 cpl_polynomial *, double, int);
00050 double mos_eval_dds(cpl_polynomial *, double, double, double, double);
00051 cpl_polynomial *mos_poly_wav2pix(cpl_bivector *, int, double, int,
00052 int *, double *);
00053 cpl_polynomial *mos_poly_pix2wav(cpl_bivector *, int, double, int,
00054 int *, double *);
00055 cpl_image *mos_wavelength_calibration_raw(cpl_image *, cpl_vector *,
00056 double, float, int, int, double,
00057 double, double *, double *, int *,
00058 double *, cpl_table *, cpl_image *,
00059 cpl_image *, cpl_table *, cpl_mask *);
00060 cpl_error_code mos_interpolate_wavecalib(cpl_table *, cpl_image *, int);
00061 cpl_table *mos_locate_spectra(cpl_mask *);
00062 cpl_error_code mos_validate_slits(cpl_table *);
00063 cpl_error_code mos_rotate_slits(cpl_table *, int, int, int);
00064 cpl_table *mos_identify_slits(cpl_table *, cpl_table *, cpl_table *);
00065 cpl_table *mos_trace_flat(cpl_image *, cpl_table *, double,
00066 double, double, double);
00067 cpl_table *mos_poly_trace(cpl_table *, cpl_table *, int);
00068 cpl_error_code mos_global_trace(cpl_table *, cpl_table *, int);
00069 cpl_image *mos_spatial_calibration(cpl_image *, cpl_table *, cpl_table *,
00070 double, double, double, double, int,
00071 cpl_image *);
00072 cpl_image *mos_wavelength_calibration_final(cpl_image *, cpl_table *,
00073 cpl_vector *, double, float, int,
00074 int, double, double, double *,
00075 double *, int *, double *,
00076 cpl_table *, cpl_image *,
00077 cpl_image *, cpl_table *);
00078 cpl_table *mos_global_distortion(cpl_table *, cpl_table *,
00079 cpl_table *, cpl_table *, double);
00080 cpl_table *mos_build_slit_location(cpl_table *, cpl_table *, int);
00081 cpl_table *mos_build_curv_coeff(cpl_table *, cpl_table *, cpl_table *);
00082 cpl_table *mos_build_disp_coeff(cpl_table *, cpl_table *);
00083 cpl_table *mos_wavelength_align(cpl_image *, cpl_table *, double, double,
00084 double, cpl_table *, cpl_vector *, int,
00085 int, cpl_image *, int);
00086 cpl_table *mos_wavelength_align_lss(cpl_image *, double, double, double,
00087 cpl_table *, cpl_vector *, int, int,
00088 cpl_image *, int);
00089 cpl_image *mos_wavelength_calibration(cpl_image *, double, double, double,
00090 double, cpl_table *, int);
00091 cpl_image *mos_map_pixel(cpl_table *, double, double, double, double, int);
00092 cpl_image *mos_map_idscoeff(cpl_table *, int, double, double, double);
00093 cpl_image *mos_map_wavelengths(cpl_image *, cpl_image *, cpl_table *,
00094 cpl_table *, double, double, double, double);
00095 cpl_image *mos_map_spectrum(cpl_image *, cpl_image *, cpl_image *, cpl_table *,
00096 cpl_table *, double, double, double, double, int);
00097 cpl_image *mos_subtract_sky(cpl_image *, cpl_table *, cpl_table *, double,
00098 double, double, double);
00099 cpl_table *mos_sky_map(cpl_image *, cpl_image *, double, cpl_image *);
00100 cpl_table *mos_sky_map_super(cpl_image *, cpl_image *, double, double, int,
00101 cpl_image *);
00102 cpl_image *mos_sky_local_old(cpl_image *spectra, cpl_table *slits);
00103 cpl_image *mos_sky_local(cpl_image *, cpl_table *, int);
00104
00105 cpl_error_code mos_clean_cosmics(cpl_image *, float, float, float);
00106 cpl_error_code mos_clean_bad_pixels(cpl_image *, cpl_table *, int);
00107
00108 double mos_distortions_rms(cpl_image *, cpl_vector *, double, double, int, int);
00109
00110 cpl_image *mos_spatial_map(cpl_image *, cpl_table *, cpl_table *, double,
00111 double, double, double);
00112 cpl_image *mos_detect_objects(cpl_image *, cpl_table *, int, int, int);
00113 cpl_image **mos_extract_objects(cpl_image *, cpl_image *, cpl_table *,
00114 int, double, double, int);
00115 int mos_spectral_resolution(cpl_image *, double, double, double, int,
00116 double *, double *, double *, double *, int *);
00117 cpl_table *mos_resolution_table(cpl_image *image, double startwave,
00118 double dispersion, int saturation,
00119 cpl_vector *lines);
00120 double mos_integrate_signal(cpl_image *, cpl_image *, int, int, double, double);
00121
00122 cpl_polynomial *mos_montecarlo_polyfit(cpl_table *points, cpl_table *evaluate,
00123 int samples, int order);
00124
00125
00126
00127 double mos_get_gain_vimos(cpl_propertylist *);
00128 cpl_table *mos_load_overscans_vimos(cpl_propertylist *, int);
00129 cpl_table *mos_load_slits_vimos(cpl_propertylist *);
00130 cpl_table *mos_load_slits_fors_mxu(cpl_propertylist *);
00131 cpl_table *mos_load_slits_fors_mos(cpl_propertylist *);
00132 cpl_table *mos_load_slits_fors_lss(cpl_propertylist *);
00133
00134
00135
00136 CPL_END_DECLS
00137
00138 #endif