sinfoni_functions.h

00001 /* $Id: sinfoni_functions.h,v 1.11 2005/07/24 08:21:41 amodigli Exp $
00002  *
00003  * This file is part of the SINFONI Pipeline
00004  * Copyright (C) 2002,2003 European Southern Observatory
00005  *
00006  * This proram 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019  */
00020 
00021 /*
00022  * $Author: amodigli $
00023  * $Date: 2005/07/24 08:21:41 $
00024  * $Revision: 1.11 $
00025  * $Name:  $
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    group of frames
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    single frames
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    Extra functionalities
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

Generated on Wed Oct 26 13:08:55 2005 for SINFONI Pipeline Reference Manual by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001