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 #ifndef SINFONI_FUNCTIONS_H
00028 #define SINFONI_FUNCTIONS_H
00029
00030 #include <cpl.h>
00031
00032 #include <sinfoni_globals.h>
00033
00034
00035
00036 void memory_status(void);
00037 int check_rec_status(const char* _id, const int val);
00038 void add_pro_fits_key(cpl_propertylist * plist, char* pro_catg, char* file_name, char* out_name);
00039
00040
00041
00042 int sinfoni_extract_raw_linearity_frames(cpl_frameset * sof, cpl_frameset** raw);
00043 int sinfoni_extract_raw_dark_frames(cpl_frameset * sof, cpl_frameset** raw);
00044 int sinfoni_extract_raw_pinhole_frames(cpl_frameset * sof, cpl_frameset** raw);
00045 int sinfoni_extract_raw_slit_frames(cpl_frameset * sof, cpl_frameset** raw);
00046 int sinfoni_extract_raw_stack_frames(cpl_frameset * sof, cpl_frameset** pro);
00047
00048 int sinfoni_extract_raw_frames(cpl_frameset * sof, cpl_frameset** raw);
00049 int sinfoni_extract_pro_frames(cpl_frameset * sof, cpl_frameset** pro);
00050 int sinfoni_extract_cdb_frames(cpl_frameset * sof, cpl_frameset** cdb);
00051
00052 int sinfoni_extract_obj_frames(cpl_frameset * sof, cpl_frameset* obj);
00053 int sinfoni_extract_sky_frames(cpl_frameset * sof, cpl_frameset* sky);
00054 int sinfoni_extract_mst_frames(cpl_frameset * sof, cpl_frameset* cdb);
00055
00056
00057 int sinfoni_contains_frames_kind(cpl_frameset * sof,
00058 cpl_frameset* raw,
00059 const char* type);
00060
00061 int sinfoni_contains_frames_type(cpl_frameset * sof,
00062 cpl_frameset** raw,
00063 const char* type);
00064
00065
00066 int sinfoni_extract_raw_frames_type(cpl_frameset * sof,
00067 cpl_frameset** raw,
00068 const char* type);
00069
00070 int sinfoni_extract_raw_frames_type2(cpl_frameset * sof,
00071 cpl_frameset** raw,
00072 const char* type);
00073
00074 int sinfoni_extract_raw_frames_type1(cpl_frameset * sof,
00075 cpl_frameset* raw,
00076 const char* type);
00077
00078 int sinfoni_extract_frames_type(cpl_frameset * sof,
00079 cpl_frameset * raw,
00080 const char* type);
00081
00082 int sinfoni_remove_qc_frames(cpl_frameset* sof,cpl_frameset** raw);
00083
00084
00085
00086 double sinfoni_get_mjd_obs(cpl_frame * frame);
00087 int sinfoni_frame_is_raw(char * tag);
00088 int sinfoni_frame_is_pro(char * tag);
00089 int sinfoni_frame_is_cdb(char * tag);
00090 int sinfoni_frame_is_pinhole_lamp(char * tag);
00091 int sinfoni_frame_is_raw_stack(char * tag);
00092 int sinfoni_frame_is_slit_lamp(char * tag);
00093
00094
00095 int sinfoni_is_flat_bp(char * tag);
00096 int sinfoni_is_flat_lindet(char * tag);
00097 int sinfoni_is_dark(char * tag);
00098 int sinfoni_is_pinhole_lamp(char * tag) ;
00099 int sinfoni_is_raw_stack(char * tag) ;
00100
00101 int sinfoni_is_lamp_slit(char * tag) ;
00102 int sinfoni_is_sky_flat(char * tag) ;
00103
00104 int sinfoni_is_mflat(char * tag) ;
00105 int sinfoni_is_master_flat(char * tag) ;
00106 int sinfoni_is_master_flat_dither(char * tag) ;
00107
00108 int sinfoni_is_stack(char * tag) ;
00109 int sinfoni_is_lamp_wave_stacked(char * tag) ;
00110 int sinfoni_is_lamp_flux_stacked(char * tag) ;
00111 int sinfoni_is_psf_calibrator_stacked(char * tag) ;
00112 int sinfoni_is_focus_stacked(char * tag) ;
00113 int sinfoni_is_object_nodding_stacked(char * tag) ;
00114 int sinfoni_is_sky_nodding_stacked(char * tag) ;
00115 int sinfoni_is_object_skyspider_stacked(char * tag) ;
00116
00117
00118 int sinfoni_blank2dot(const char * in, char* ou) ;
00119 int sinfoni_is_bpmap(char *) ;
00120 int sinfoni_is_slitpos(char * tag) ;
00121 int sinfoni_is_wavemap(char * tag) ;
00122 int sinfoni_is_halosp(char * tag) ;
00123 int sinfoni_is_distlist(char * tag) ;
00124 int sinfoni_is_firstcol(char * tag) ;
00125 int sinfoni_is_fibres_on_off(cpl_frameset * sof,
00126 cpl_frameset* raw);
00127
00128
00129
00130 int
00131 sinfoni_clean_nan(cpl_image** im);
00132
00133 int sinfoni_get_clean_mean_window(cpl_image* img,
00134 int llx, int lly, int urx, int ury,
00135 const int kappa, const int nclip,
00136 double* clean_mean, double* clean_stdev);
00137
00138
00139 cpl_table* get_linearity(cpl_frameset* set);
00140 int get_gain(cpl_frameset* set);
00141 int get_gain2(cpl_frameset* set);
00142 cpl_table* get_gain3(cpl_frameset* set);
00143 int sinfoni_get_ron(cpl_frameset * framelist,
00144 const int ron_xmin,
00145 const int ron_xmax,
00146 const int ron_ymin,
00147 const int ron_ymax,
00148 const int ron_hsize,
00149 const int ron_nsamp,
00150 double** ron);
00151 int sinfoni_stack_get_pro_tag(char * tag_in, char* tag_out) ;
00152 int sinfoni_compare_tags(cpl_frame *, cpl_frame *) ;
00153 int sinfoni_pfits_add_pro(cpl_propertylist *, char *, char *, char *, char *,
00154 char *, const char *, cpl_frameset *, cpl_frameset *) ;
00155
00156 int sinfoni_get_spatial_res(cpl_frame * ref_frame,char * spat_res);
00157 int sinfoni_frame_is_dither(cpl_frame * ref_frame);
00158 int sinfoni_frame_is_sky(cpl_frame * ref_frame);
00159 int sinfoni_tag_is_obj(char * ref_frame);
00160 int sinfoni_tag_is_sky(char * ref_frame);
00161
00162 int sinfoni_frame_is_on(cpl_frame * ref_frame);
00163 int sinfoni_get_band(cpl_frame * ref_frame,char * band);
00164 int sinfoni_get_ins_set(char* band,int* ins_set);
00165 int sinfoni_get_ins_setting(cpl_frame * ref_file,char * set_id);
00166 int sinfoni_pfits_add_qc(cpl_propertylist * plist,qc_log * qc_log);
00167 int sinfoni_pfits_put_qc(cpl_propertylist * plist,cpl_table * qclog);
00168
00169
00170 cpl_table* sinfoni_qclog_init(const int sz);
00171
00172 int sinfoni_qclog_add(cpl_table* table, int raw,
00173 const char* key_name, const char* key_type, char* key_value,const char* key_help);
00174
00175 int sinfoni_qclog_delete(cpl_table* table);
00176
00177
00178 CPL_END_DECLS
00179
00180 #endif