00001 #ifndef SINFO_UTILITIES_SCIRED_H
00002 #define SINFO_UTILITIES_SCIRED_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <cpl.h>
00022 #include "sinfo_key_names.h"
00023 #include "sinfo_pro_types.h"
00024 #include "sinfo_msg.h"
00025 #include "sinfo_cube_construct.h"
00026 #include "sinfo_utilities.h"
00027 #include "sinfo_object_cfg.h"
00028
00029 float*
00030 sinfo_read_distances(object_config* cfg);
00031
00032 float**
00033 sinfo_read_slitlets_edges(object_config * cfg);
00034
00035 int
00036 sinfo_check_input_data(object_config* cfg);
00037
00038 int
00039 sinfo_auto_size_cube2(object_config * cfg, float* ref_offx, float* ref_offy);
00040
00041 int
00042 sinfo_auto_size_cube3(char** framelist,
00043 const int nframes,
00044 float* ref_offx,
00045 float* ref_offy,
00046 int* size_x,
00047 int* size_y);
00048
00049 cpl_imagelist *
00050 sinfo_new_cube_getvig(
00051 cpl_imagelist * cube_in,
00052 int loleft_x,
00053 int loleft_y,
00054 int upright_x,
00055 int upright_y);
00056
00057 cpl_image *
00058 sinfo_new_image_getvig(
00059 cpl_image * image_in,
00060 int loleft_x,
00061 int loleft_y,
00062 int upright_x,
00063 int upright_y);
00064
00065 int
00066 sinfo_new_set_wcs_cube(cpl_imagelist* cub, const char* name, double clambda,
00067 double dis, double cpix, double cx, double cy);
00068
00069 int
00070 sinfo_new_set_wcs_image(cpl_image* img, const char* name,
00071 double cx, double cy);
00072
00073 int
00074 sinfo_new_set_wcs_spectrum(cpl_image* img, const char* name,
00075 double clambda, double dis, double cpix);
00076
00077
00078 void
00079 sinfo_new_change_plist_spectrum (cpl_propertylist * plist,
00080 double cenLambda,
00081 double dispersion,
00082 int cenpix);
00083
00084 void
00085 sinfo_new_change_plist_cube (cpl_propertylist * plist,
00086 float cenLambda,
00087 float dispersion,
00088 int cenpix,
00089 float center_x,
00090 float center_y );
00091
00092 void sinfo_new_change_plist_image (cpl_propertylist * plist,
00093 float center_x,
00094 float center_y );
00095
00096 int
00097 sinfo_new_extract_ao_info(cpl_frameset* obj_set,cpl_frameset** set,
00098 const char* recid,cpl_parameterlist* config);
00099
00100 cpl_imagelist*
00101 sinfo_new_fine_tune(cpl_imagelist* cube,float* correct_dist,
00102 const char* method, const int order, const int nslits) ;
00103
00104 int
00105 sinfo_new_object_assign_offset(const char* name, const int n, double* ref_offx,
00106 double* ref_offy, float** offsetx,
00107 float** offsety);
00108
00109 int
00110 sinfo_new_assign_offset(const int n,const char* name,float* offsetx,
00111 float* offsety,const float ref_offx,
00112 const float ref_offy);
00113
00114
00115 cpl_imagelist**
00116 sinfo_new_sinfoni_correct_median(cpl_imagelist** cubeobject, const int n_cubes);
00117
00118 cpl_imagelist**
00119 sinfo_new_sinfoni_correct_sky2(cpl_imagelist** cubes,
00120 const int nc,
00121 cpl_imagelist* sky_cube,
00122 cpl_imagelist* med_cube,
00123 cpl_imagelist* msk_cube,
00124 cpl_imagelist* avg_cube,
00125 cpl_imagelist* sig_cube,
00126 cpl_imagelist* ovr_cube);
00127
00128 cpl_imagelist**
00129 sinfo_new_sinfoni_correct_sky(cpl_imagelist** cubes,
00130 const int nc,
00131 cpl_imagelist* sky_cube);
00132
00133 int
00134 sinfo_new_sinfoni_correct_median_it(cpl_imagelist** inp);
00135
00136 #endif