FORS Pipeline Reference Manual 4.9.9
|
00001 /* $Id: moses.h,v 1.38 2010/11/26 13:45:07 cizzo Exp $ 00002 * 00003 * This file is part of the VIMOS Pipeline 00004 * Copyright (C) 2002-2010 European Southern Observatory 00005 * 00006 * This program is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2 of the License, or 00009 * (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00019 */ 00020 00021 /* 00022 * $Author: cizzo $ 00023 * $Date: 2010/11/26 13:45:07 $ 00024 * $Revision: 1.38 $ 00025 * $Name: fors-4_9_9 $ 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(const float *, int); 00044 cpl_vector *mos_peak_candidates(const float *, int, float, float); 00045 cpl_vector *mos_refine_peaks(const float *, int, cpl_vector *, int); 00046 void mos_set_multiplex(int); 00047 cpl_bivector *mos_identify_peaks(cpl_vector *, cpl_vector *, 00048 double, double, double); 00049 cpl_bivector *mos_find_peaks(const float *, int, cpl_vector *, 00050 cpl_polynomial *, double, int); 00051 double mos_eval_dds(cpl_polynomial *, double, double, double, double); 00052 cpl_polynomial *mos_poly_wav2pix(cpl_bivector *, int, double, int, 00053 int *, double *); 00054 cpl_polynomial *mos_poly_pix2wav(cpl_bivector *, int, double, int, 00055 int *, double *); 00056 cpl_image *mos_wavelength_calibration_raw(const cpl_image *, cpl_vector *, 00057 double, float, int, int, double, 00058 double, double *, double *, int *, 00059 double *, cpl_table *, cpl_image *, 00060 cpl_image *, cpl_table *, cpl_mask *); 00061 cpl_error_code mos_interpolate_wavecalib_slit(cpl_table *, cpl_table *, 00062 int, int); 00063 cpl_error_code mos_interpolate_wavecalib(cpl_table *, cpl_image *, int, int); 00064 cpl_table *mos_locate_spectra(cpl_mask *); 00065 cpl_error_code mos_validate_slits(cpl_table *); 00066 cpl_error_code mos_rotate_slits(cpl_table *, int, int, int); 00067 cpl_table *mos_identify_slits(cpl_table *, cpl_table *, cpl_table *); 00068 cpl_table *mos_identify_slits_fast(cpl_table *, cpl_table *, cpl_table *); 00069 cpl_table *mos_trace_flat(cpl_image *, cpl_table *, double, 00070 double, double, double); 00071 cpl_table *mos_poly_trace(cpl_table *, cpl_table *, int); 00072 cpl_error_code mos_global_trace(cpl_table *, cpl_table *, int); 00073 cpl_image *mos_spatial_calibration(cpl_image *, cpl_table *, cpl_table *, 00074 double, double, double, double, int, 00075 cpl_image *); 00076 cpl_image *mos_wavelength_calibration_final(cpl_image *, cpl_table *, 00077 cpl_vector *, double, float, int, 00078 int, double, double, double *, 00079 double *, int *, double *, 00080 cpl_table *, cpl_image *, 00081 cpl_image *, cpl_table *); 00082 cpl_table *mos_global_distortion(cpl_table *, cpl_table *, 00083 cpl_table *, cpl_table *, double); 00084 cpl_table *mos_build_slit_location(cpl_table *, cpl_table *, int); 00085 cpl_table *mos_build_curv_coeff(cpl_table *, cpl_table *, cpl_table *); 00086 cpl_table *mos_build_disp_coeff(cpl_table *, cpl_table *); 00087 cpl_table *mos_wavelength_align(cpl_image *, cpl_table *, double, double, 00088 double, cpl_table *, cpl_vector *, int, 00089 int, cpl_image *, int); 00090 cpl_table *mos_wavelength_align_lss(cpl_image *, double, double, double, 00091 cpl_table *, cpl_vector *, int, int, 00092 cpl_image *, int); 00093 cpl_image *mos_wavelength_calibration(cpl_image *, double, double, double, 00094 double, cpl_table *, int); 00095 cpl_image *mos_map_pixel(cpl_table *, double, double, double, double, int); 00096 cpl_image *mos_map_idscoeff(cpl_table *, int, double, double, double); 00097 cpl_image *mos_map_wavelengths(cpl_image *, cpl_image *, cpl_table *, 00098 cpl_table *, double, double, double, double); 00099 cpl_image *mos_map_spectrum(cpl_image *, cpl_image *, cpl_image *, cpl_table *, 00100 cpl_table *, double, double, double, double, int); 00101 cpl_image *mos_subtract_sky(cpl_image *, cpl_table *, cpl_table *, double, 00102 double, double, double); 00103 cpl_table *mos_sky_map(cpl_image *, cpl_image *, double, cpl_image *); 00104 cpl_table *mos_sky_map_super(cpl_image *, cpl_image *, double, double, int, 00105 cpl_image *); 00106 cpl_image *mos_sky_local_old(cpl_image *spectra, cpl_table *slits); 00107 cpl_image *mos_sky_local(cpl_image *, cpl_table *, int); 00108 00109 cpl_error_code mos_clean_cosmics(cpl_image *, float, float, float); 00110 cpl_error_code mos_clean_bad_pixels(cpl_image *, cpl_table *, int); 00111 00112 double mos_distortions_rms(cpl_image *, cpl_vector *, double, double, int, int); 00113 00114 cpl_image *mos_spatial_map(cpl_image *, cpl_table *, cpl_table *, double, 00115 double, double, double); 00116 cpl_image *mos_detect_objects(cpl_image *, cpl_table *, int, int, int); 00117 cpl_image **mos_extract_objects(cpl_image *, cpl_image *, cpl_table *, 00118 int, double, double, int); 00119 int mos_spectral_resolution(cpl_image *, double, double, double, int, 00120 double *, double *, double *, double *, int *); 00121 cpl_table *mos_resolution_table(cpl_image *image, double startwave, 00122 double dispersion, int saturation, 00123 cpl_vector *lines); 00124 double mos_integrate_signal(cpl_image *, cpl_image *, int, int, double, double); 00125 00126 cpl_polynomial *mos_montecarlo_polyfit(cpl_table *points, cpl_table *evaluate, 00127 int samples, int order); 00128 00129 cpl_error_code mos_randomise_image(cpl_image *, double ron, 00130 double gain, double bias); 00131 00132 /* Instrument dependent! */ 00133 00134 double mos_get_gain_vimos(cpl_propertylist *); 00135 cpl_table *mos_load_overscans_vimos(const cpl_propertylist *, int); 00136 cpl_table *mos_load_overscans_fors(const cpl_propertylist *); 00137 cpl_table *mos_load_slits_vimos(cpl_propertylist *); 00138 int mos_check_multiplex(cpl_table *); 00139 cpl_table *mos_load_slits_fors_mxu(cpl_propertylist *); 00140 cpl_table *mos_load_slits_fors_mos(cpl_propertylist *); 00141 cpl_table *mos_load_slits_fors_lss(cpl_propertylist *); 00142 cpl_table *mos_load_slits_fors_pmos(cpl_propertylist *); 00143 00144 cpl_error_code mos_refmask_find_gaps(cpl_mask *, cpl_image *, double); 00145 cpl_error_code mos_saturation_process(cpl_image *); 00146 cpl_error_code mos_subtract_background(cpl_image *); 00147 00148 cpl_error_code mos_object_intersect(cpl_table **, cpl_table *, int, float); 00149 00150 int mos_get_maxobjs_per_slit(cpl_table *); 00151 int mos_get_nobjects(cpl_table *); 00152 00153 int mos_check_slits(cpl_table *, float); 00154 int *fors_get_nobjs_perslit(cpl_table *); 00155 int mos_rebin_signal(cpl_image **, int); 00156 int mos_rebin_error(cpl_image **, int); 00157 cpl_table *mos_photometric_calibration(cpl_image *, double, double, double, 00158 double, cpl_table *, double, cpl_table *, 00159 int); 00160 int map_table(cpl_image *, double, double, cpl_table *, char *, char *); 00161 cpl_image *mos_ksigma_stack(cpl_imagelist *imlist, 00162 double klow, double khigh, int kiter, 00163 cpl_image **); 00164 cpl_image *mos_apply_photometry(cpl_image *, cpl_table *response, 00165 cpl_table *ext_table, double startwave, 00166 double dispersion, double gain, 00167 double exptime, double airmass); 00168 cpl_image *mos_propagate_photometry_error(cpl_image *, cpl_image *, 00169 cpl_table *response, 00170 cpl_table *ext_table, double startwave, 00171 double dispersion, double gain, 00172 double exptime, double airmass); 00173 int mos_check_polarisation(cpl_image *q_image, cpl_image *q_error, 00174 cpl_image *u_image, cpl_image *u_error, 00175 double startwave, double dispersion, 00176 double band, cpl_table *pol_sta, 00177 double ra, double dec, char *filter, 00178 int *polarisation, 00179 double *p_offset, double *p_error, 00180 double *a_offset, double *a_error); 00181 int mos_compute_offset(cpl_table *, cpl_table *, double *); 00182 cpl_error_code mos_image_shift(cpl_image *, double dx, double dy); 00183 int mos_slit_closest_to_center(cpl_table *slits, int nx, int ny); 00184 cpl_error_code mos_extract_flux(cpl_image *, cpl_table *, double, double, 00185 int, double, double *, double *); 00186 cpl_error_code mos_extract_flux_mapped(cpl_image *, cpl_table *, 00187 double, double, 00188 double lambda, double startwave, 00189 double dispersion, int dx, double gain, 00190 double *o_flux, double *o_err); 00191 int mos_median_in_slit(cpl_table *, cpl_table *, int slit, 00192 char *label, double *mvalue); 00193 cpl_image *mos_image_filter_median(cpl_image *image, int nx, int ny); 00194 00195 CPL_END_DECLS 00196 00197 #endif /* MOSES_H */