36 #include "irplib_utils.h"
37 #include "visir_utils.h"
38 #include "visir_pfits.h"
39 #include "visir_dfs.h"
52 static const char * visir_dfs_find_tag_from_dpr(
const char *,
const char *,
80 FOR_EACH_FRAMESET(frame, set) {
81 const char * tag = cpl_frame_get_tag(frame);
86 if (tag == NULL) cpl_msg_warning(cpl_func,
87 "Frame %d has no tag", i);
88 else if (!strcmp(tag, VISIR_IMG_ACHRO_RAW) ||
89 !strcmp(tag, VISIR_IMG_COMBINE_CN) ||
90 !strcmp(tag, VISIR_IMG_COMBINE_CN_BURST) ||
91 !strcmp(tag, VISIR_IMG_COMBINE_CNJ) ||
92 !strcmp(tag, VISIR_IMG_COMBINE_CNJ_BURST) ||
93 !strcmp(tag, VISIR_IMG_COMBINE_CJ) ||
94 !strcmp(tag, VISIR_IMG_COMBINE_NJ) ||
95 !strcmp(tag, VISIR_IMG_COMBINE_DJ) ||
96 !strcmp(tag, VISIR_IMG_CAL_PHOT) ||
97 !strcmp(tag, VISIR_IMG_CAL_PHOT_BURST) ||
98 !strcmp(tag, VISIR_IMG_CAL_OBJ) ||
99 !strcmp(tag, VISIR_IMG_CAL_OBJ_BURST) ||
100 !strcmp(tag, VISIR_IMG_FF_RAW) ||
101 !strcmp(tag, VISIR_IMG_TECH_FF_RAW) ||
102 !strcmp(tag, VISIR_IMG_FOCFWHM_RAW) ||
103 !strcmp(tag, VISIR_IMG_ILLU_RAW) ||
104 !strcmp(tag, VISIR_IMG_PFOV_BIN) ||
105 !strcmp(tag, VISIR_IMG_PFOV_TEL) ||
106 !strcmp(tag, VISIR_IMG_PHOT_RAW) ||
107 !strcmp(tag, VISIR_IMG_PSF_RAW) ||
108 !strcmp(tag, VISIR_IMG_TRANS_RAW) ||
109 !strcmp(tag, VISIR_IMG_DARK_RAW) ||
110 !strcmp(tag, VISIR_ACQ_CNJ) ||
111 !strcmp(tag, VISIR_SPC_OBS_ECH_RAW) ||
112 !strcmp(tag, VISIR_SPC_OBS_RAW) ||
113 !strcmp(tag, VISIR_SPC_OBS_PP) ||
114 !strcmp(tag, VISIR_SPC_OBS_HR_RAW) ||
115 !strcmp(tag, VISIR_SPC_PHOT_RAW) ||
116 !strcmp(tag, VISIR_SPC_PHOT_PP) ||
117 !strcmp(tag, VISIR_SPC_PHOT_ECH_RAW) ||
118 !strcmp(tag, VISIR_SPC_PHOT_ECH_PP) ||
119 !strcmp(tag, VISIR_SPC_WCAL_ECH_RAW) ||
120 !strcmp(tag, VISIR_SPC_WCAL_RAW) ||
121 !strcmp(tag, VISIR_SPC_FF_RAW) ||
122 !strcmp(tag, VISIR_SPC_TECH_FF_RAW) ||
123 !strcmp(tag, VISIR_SPC_DARK_RAW) ||
124 !strcmp(tag, VISIR_IMG_LINES_ASCII) ||
125 !strcmp(tag, VISIR_SPC_LINES_ASCII) ||
126 !strcmp(tag, VISIR_SPC_QEFF_ASCII) ||
127 !strcmp(tag, VISIR_SAM_CAL_N_RAW) ||
128 !strcmp(tag, VISIR_SAM_CAL_CN_RAW) ||
129 !strcmp(tag, VISIR_SAM_CAL_NJ_RAW) ||
130 !strcmp(tag, VISIR_SAM_CAL_CNJ_RAW) ||
131 !strcmp(tag, VISIR_CORO_CAL_CNJ_RAW) ||
132 !strcmp(tag, VISIR_SAM_OBS_N_RAW) ||
133 !strcmp(tag, VISIR_SAM_OBS_CN_RAW) ||
134 !strcmp(tag, VISIR_SAM_OBS_NJ_RAW) ||
135 !strcmp(tag, VISIR_SAM_OBS_CNJ_RAW) ||
136 !strcmp(tag, VISIR_CORO_OBS_CNJ_RAW) ||
137 !strcmp(tag, VISIR_UTIL_INPUTS_RAW) ||
138 !strcmp(tag, VISIR_UTIL_CORRECTED) ||
139 !strcmp(tag, VISIR_UTIL_NODDED) ||
140 !strcmp(tag, VISIR_UTIL_CONVERT_RAW) ||
141 !strcmp(tag, VISIR_UTIL_CONVERT_TAB) ||
142 !strcmp(tag, VISIR_UTIL_CONVERT_INV) ||
143 !strcmp(tag, VISIR_UTIL_CONVERT_POS_AUX) ||
144 !strcmp(tag, VISIR_UTIL_CONVERT_INV_AUX) ||
145 !strcmp(tag, VISIR_UTIL_WEIGHT2ERROR) ||
146 !strcmp(tag, VISIR_IMG_BURST) ||
147 !strcmp(tag, VISIR_UTIL_DATA) ||
148 !strcmp(tag, VISIR_UTIL_UNDISTORT_RAW) ||
149 !strcmp(tag, VISIR_UTIL_REPACK_RAW))
150 cpl_frame_set_group(frame, CPL_FRAME_GROUP_RAW);
152 else if (!strcmp(tag, VISIR_CALIB_FLAT) ||
153 !strcmp(tag, VISIR_CALIB_BPM) ||
154 !strcmp(tag, VISIR_CALIB_STATIC_MASK) ||
155 !strcmp(tag, VISIR_CALIB_STATIC_MASK_IMG) ||
156 !strcmp(tag, VISIR_CALIB_STATIC_MASK_SPC) ||
157 !strcmp(tag, VISIR_CALIB_STDSTAR_IMG) ||
158 !strcmp(tag, VISIR_CALIB_STDSTAR_SPC) ||
159 !strcmp(tag, VISIR_CALIB_LINES_SPC) ||
160 !strcmp(tag, VISIR_CALIB_LIN) ||
161 !strcmp(tag, VISIR_SPC_OBS_SKYFRAME) ||
162 !strcmp(tag, VISIR_UTIL_WEIGHT2ERROR_PROCATG) ||
163 !strcmp(tag, VISIR_IMG_CLIPPED_MAP_PROCATG) ||
164 !strcmp(tag, VISIR_UTIL_WEIGHT2ERROR) ||
165 !strcmp(tag, VISIR_UTIL_WEIGHT_MAP) ||
166 !strcmp(tag, VISIR_UTIL_ERROR_MAP) ||
167 !strcmp(tag, VISIR_UTIL_VARIANCE_MAP) ||
168 !strcmp(tag, VISIR_SPC_CAT_ASCII) ||
169 !strcmp(tag, VISIR_CALIB_QEFF_SPC))
170 cpl_frame_set_group(frame, CPL_FRAME_GROUP_CALIB);
171 else cpl_msg_warning(cpl_func,
172 "Frame %d has unknown tag: %s", i, tag);
177 if (cpl_error_get_code())
178 cpl_msg_error(cpl_func,
"Could not identify RAW and CALIB frames "
179 "(after processing %d frames)", i);
181 return cpl_error_get_code();
185 visir_dfs_output_catg(
const char * inpcatg,
const char * pipecatg)
188 if (!strcmp(pipecatg, VISIR_IMG_PHOT_ONEBEAM_PROCATG) ||
189 !strcmp(pipecatg, VISIR_IMG_PHOT_COMBINED_PROCATG)) {
192 if (!strcmp(inpcatg, VISIR_ACQ_CNJ)) {
194 return "ACQ_IMG_PHOT_COMBINED";
197 return "ACQ_IMG_OBJ_COMBINED";
200 else if (!strcmp(inpcatg, VISIR_IMG_CAL_PHOT_BURST)) {
201 return VISIR_IMG_PHOT_COMBINED_PROCATG
"_BURST";
203 else if (!strcmp(inpcatg, VISIR_IMG_CAL_OBJ_BURST) ||
204 !strcmp(inpcatg, VISIR_IMG_COMBINE_CN_BURST) ||
205 !strcmp(inpcatg, VISIR_IMG_COMBINE_CNJ_BURST)) {
206 return VISIR_IMG_OBJ_COMBINED_PROCATG
"_BURST";
221 if (cpl_error_get_code())
return cpl_error_get_code();
223 cpl_ensure_code(
self != NULL, CPL_ERROR_NULL_INPUT);
241 static const char * visir_dfs_find_tag_from_dpr(
const char * catg,
245 const char * docatg = NULL;
248 if (cpl_error_get_code())
return NULL;
250 cpl_ensure(catg != NULL, CPL_ERROR_NULL_INPUT, NULL);
251 cpl_ensure(type != NULL, CPL_ERROR_NULL_INPUT, NULL);
252 cpl_ensure(tech != NULL, CPL_ERROR_NULL_INPUT, NULL);
254 #include "visir_dfs_dpr.h"
cpl_error_code visir_dfs_check_framelist_tag(const irplib_framelist *self)
Check the tags in a frameset (group raw only)
cpl_error_code irplib_dfs_check_framelist_tag(const irplib_framelist *self, const char *(*pfind)(const char *, const char *, const char *))
Check the tags in a frameset (group raw only)
int visir_dfs_set_groups(cpl_frameset *set)
Set the group as RAW or CALIB in a frameset.