59 if (set == NULL)
return CPL_ERROR_NULL_INPUT ;
62 nframes = cpl_frameset_get_size(set) ;
65 for (i = 0 ; i < nframes ; i++) {
68 frame = cpl_frameset_get_position(set, i);
69 tag = cpl_frame_get_tag(frame);
72 cpl_msg_warning(cpl_func,
"Frame %d has no tag", i);
74 }
else if (!strcmp(tag, CR2RES_DETLIN_DARK_RAW) ||
75 !strcmp(tag, CR2RES_DETLIN_LAMP_RAW) ||
76 !strcmp(tag, CR2RES_DARK_RAW) ||
77 !strcmp(tag, CR2RES_FLAT_RAW) ||
78 !strcmp(tag, CR2RES_WAVE_UNE_RAW) ||
79 !strcmp(tag, CR2RES_WAVE_FPET_RAW) ||
80 !strcmp(tag, CR2RES_METROLOGY_RAW) ||
81 !strcmp(tag, CR2RES_CAL_NODDING_OTHER_RAW) ||
82 !strcmp(tag, CR2RES_CAL_NODDING_JITTER_RAW) ||
83 !strcmp(tag, CR2RES_OBS_NODDING_OTHER_RAW) ||
84 !strcmp(tag, CR2RES_OBS_NODDING_JITTER_RAW) ||
85 !strcmp(tag, CR2RES_OBS_ASTROMETRY_OTHER_RAW) ||
86 !strcmp(tag, CR2RES_OBS_ASTROMETRY_JITTER_RAW) ||
87 !strcmp(tag, CR2RES_OBS_STARING_OTHER_RAW) ||
88 !strcmp(tag, CR2RES_OBS_STARING_JITTER_RAW) ||
89 !strcmp(tag, CR2RES_OBS_STARING_WAVE_SKY_RAW) ||
90 !strcmp(tag, CR2RES_OBS_POLARIMETRY_OTHER_RAW) ||
91 !strcmp(tag, CR2RES_OBS_2D_OBJECT_RAW) ||
92 !strcmp(tag, CR2RES_OBS_2D_SKY_RAW) ||
95 !strcmp(tag, CR2RES_BPM_DRSTYPE) ||
99 !strcmp(tag, CR2RES_CALIBRATED_DRSTYPE) ||
101 !strcmp(tag, CR2RES_EXTRACT_1D_DRSTYPE) ||
104 !strcmp(tag, CR2RES_TW_DRSTYPE)) {
106 cpl_frame_set_group(frame, CPL_FRAME_GROUP_RAW);
107 }
else if (!strcmp(tag, CR2RES_EMISSION_LINES_TXT_RAW) ||
108 !strcmp(tag, CR2RES_LINES_SELECTION_TXT_RAW) ||
109 !strcmp(tag, CR2RES_PHOTO_FLUX_TXT_RAW) ||
113 !strcmp(tag, CR2RES_CAL_DETLIN_COEFFS_PROCATG) ||
114 !strcmp(tag, CR2RES_CAL_DETLIN_BPM_PROCATG) ||
116 !strcmp(tag, CR2RES_CAL_DARK_MASTER_PROCATG) ||
117 !strcmp(tag, CR2RES_CAL_DARK_BPM_PROCATG) ||
119 !strcmp(tag, CR2RES_CAL_FLAT_BPM_PROCATG) ||
120 !strcmp(tag, CR2RES_CAL_FLAT_EXTRACT_1D_PROCATG) ||
121 !strcmp(tag, CR2RES_CAL_FLAT_SLIT_MODEL_PROCATG) ||
122 !strcmp(tag, CR2RES_CAL_FLAT_SLIT_FUNC_PROCATG) ||
123 !strcmp(tag, CR2RES_CAL_FLAT_TW_PROCATG) ||
124 !strcmp(tag, CR2RES_CAL_FLAT_TW_MERGED_PROCATG) ||
125 !strcmp(tag, CR2RES_CAL_FLAT_MASTER_PROCATG) ||
127 !strcmp(tag, CR2RES_CAL_WAVE_TW_PROCATG) ||
128 !strcmp(tag, CR2RES_CAL_WAVE_MAP_PROCATG) ||
129 !strcmp(tag, CR2RES_CAL_WAVE_LINES_DIAGNOSTICS_PROCATG) ||
130 !strcmp(tag, CR2RES_CAL_WAVE_EXTRACT_1D_PROCATG) ||
132 !strcmp(tag, CR2RES_OBS_NODDING_EXTRACTA_PROCATG) ||
133 !strcmp(tag, CR2RES_OBS_NODDING_COMBINEDA_PROCATG) ||
134 !strcmp(tag, CR2RES_OBS_NODDING_SLITFUNCA_PROCATG) ||
135 !strcmp(tag, CR2RES_OBS_NODDING_SLITMODELA_PROCATG) ||
136 !strcmp(tag, CR2RES_OBS_NODDING_TWA_PROCATG) ||
137 !strcmp(tag, CR2RES_OBS_NODDING_EXTRACTB_PROCATG) ||
138 !strcmp(tag, CR2RES_OBS_NODDING_COMBINEDB_PROCATG) ||
139 !strcmp(tag, CR2RES_OBS_NODDING_SLITFUNCB_PROCATG) ||
140 !strcmp(tag, CR2RES_OBS_NODDING_SLITMODELB_PROCATG) ||
141 !strcmp(tag, CR2RES_OBS_NODDING_TWB_PROCATG) ||
142 !strcmp(tag, CR2RES_OBS_NODDING_EXTRACTC_PROCATG) ||
143 !strcmp(tag, CR2RES_OBS_NODDING_THROUGHPUT_PROCATG) ||
145 !strcmp(tag, CR2RES_OBS_STARING_COMBINED_PROCATG) ||
146 !strcmp(tag, CR2RES_OBS_STARING_EXTRACT_PROCATG) ||
147 !strcmp(tag, CR2RES_OBS_STARING_SLITFUNC_PROCATG) ||
148 !strcmp(tag, CR2RES_OBS_STARING_SLITMODEL_PROCATG) ||
150 !strcmp(tag, CR2RES_OBS_2D_EXTRACT_PROCATG) ||
151 !strcmp(tag, CR2RES_OBS_2D_CALIBRATED_PROCATG) ||
153 !strcmp(tag, CR2RES_OBS_POL_EXTRACTA_PROCATG) ||
154 !strcmp(tag, CR2RES_OBS_POL_TWA_PROCATG) ||
155 !strcmp(tag, CR2RES_OBS_POL_SPECA_PROCATG) ||
156 !strcmp(tag, CR2RES_OBS_POL_EXTRACTB_PROCATG) ||
157 !strcmp(tag, CR2RES_OBS_POL_TWB_PROCATG) ||
158 !strcmp(tag, CR2RES_OBS_POL_SPECB_PROCATG) ||
159 !strcmp(tag, CR2RES_OBS_POL_CALIB_A_PROCATG) ||
160 !strcmp(tag, CR2RES_OBS_POL_CALIB_B_PROCATG) ||
162 !strcmp(tag, CR2RES_EMISSION_LINES_PROCATG) ||
164 !strcmp(tag, CR2RES_PHOTO_FLUX_PROCATG) ||
166 !strcmp(tag, CR2RES_UTIL_CALIB_PROCATG) ||
168 !strcmp(tag, CR2RES_UTIL_BPM_MERGE_PROCATG) ||
170 !strcmp(tag, CR2RES_UTIL_BPM_SPLIT_PROCATG) ||
172 !strcmp(tag, CR2RES_UTIL_TRACE_TW_PROCATG) ||
174 !strcmp(tag, CR2RES_UTIL_SLIT_FUNC_PROCATG) ||
175 !strcmp(tag, CR2RES_UTIL_SLIT_MODEL_PROCATG) ||
176 !strcmp(tag, CR2RES_UTIL_EXTRACT_1D_PROCATG) ||
178 !strcmp(tag, CR2RES_UTIL_MASTER_FLAT_PROCATG) ||
179 !strcmp(tag, CR2RES_UTIL_NORM_BPM_PROCATG) ||
181 !strcmp(tag, CR2RES_UTIL_SLIT_CURV_MAP_PROCATG) ||
182 !strcmp(tag, CR2RES_UTIL_SLIT_CURV_TW_PROCATG) ||
184 !strcmp(tag, CR2RES_UTIL_WAVE_TW_PROCATG) ||
185 !strcmp(tag, CR2RES_UTIL_WAVE_MAP_PROCATG) ||
186 !strcmp(tag, CR2RES_UTIL_WAVE_LINES_DIAGNOSTICS_PROCATG) ||
187 !strcmp(tag, CR2RES_UTIL_WAVE_EXTRACT_1D_PROCATG) ||
189 !strcmp(tag, CR2RES_UTIL_TRACE_MAP_SLIT_CURVE_PROCATG) ||
190 !strcmp(tag, CR2RES_UTIL_TRACE_MAP_WL_PROCATG) ||
191 !strcmp(tag, CR2RES_UTIL_TRACE_MAP_TRACE_PROCATG) ||
193 !strcmp(tag, CR2RES_UTIL_SPLICE_SPLICED_1D_PROCATG)) {
195 cpl_frame_set_group(frame, CPL_FRAME_GROUP_CALIB);
198 return CPL_ERROR_NONE;