gisgcalibration.h
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 GISGCALIBRATION_H
00029 #define GISGCALIBRATION_H
00030
00031 #include <cxtypes.h>
00032
00033 #include <cpl_macros.h>
00034 #include <cpl_parameterlist.h>
00035
00036 #include <girange.h>
00037 #include <giimage.h>
00038 #include <gitable.h>
00039 #include <gilocalization.h>
00040 #include <giextraction.h>
00041 #include <girebinning.h>
00042
00043
00044 #ifdef __cplusplus
00045 extern "C" {
00046 #endif
00047
00048
00057 struct GiSGCalConfig {
00058
00063 cxint repeat;
00064
00070 cxdouble zmax;
00071
00076 cxdouble cc_step;
00077
00083 cxbool cc_wdomain;
00084
00090 GiRange* cc_domain;
00091
00096 GiRange* rv_limits;
00097
00102 cxint rv_niter;
00103
00108 cxdouble rv_wfactor;
00109
00114 cxint pf_niter;
00115
00120 cxint pf_ntest;
00121
00126 cxdouble pf_dchisq;
00127
00128 };
00129
00130 typedef struct GiSGCalConfig GiSGCalConfig;
00131
00132
00133 cxint giraffe_calibrate_slit(GiTable* result, const GiExtraction* extraction,
00134 const GiLocalization* localization,
00135 const GiTable* fibers, const GiTable* wlsolution,
00136 const GiTable* slitgeometry,
00137 const GiTable* grating, const GiTable* mask,
00138 const GiSGCalConfig* config);
00139
00140 cxint giraffe_compute_offsets(GiTable* fibers,
00141 const GiRebinning* rebinning,
00142 const GiTable* grating,
00143 const GiTable* mask,
00144 const GiSGCalConfig* config);
00145
00146 GiSGCalConfig* giraffe_sgcalibration_config_create(cpl_parameterlist* list);
00147 void giraffe_sgcalibration_config_destroy(GiSGCalConfig* config);
00148 void giraffe_sgcalibration_config_add(cpl_parameterlist* list);
00149
00150
00151 #ifdef __cplusplus
00152 }
00153 #endif
00154
00155 #endif