Changeset 37848
- Timestamp:
- Jan 17, 2015, 5:51:44 AM (12 years ago)
- Location:
- branches/eam_branches/ipp-20150112/Ohana/src/libdvo
- Files:
-
- 2 edited
-
include/dvodb.h (modified) (4 diffs)
-
src/dbExtractAverages.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20150112/Ohana/src/libdvo/include/dvodb.h
r37807 r37848 236 236 MEAS_RA_GALMODEL, // model pm prediction 237 237 MEAS_DEC_GALMODEL, // model pm prediction 238 } ;238 } dvoMeasureType; 239 239 240 240 /* average fields */ … … 288 288 AVE_RA_GALMODEL, // model pm prediction 289 289 AVE_DEC_GALMODEL, // model pm prediction 290 } ;290 } dvoAverageType; 291 291 292 292 // AVE_NPHOT, … … 364 364 IMAGE_REF_COLOR_BLUE, 365 365 IMAGE_REF_COLOR_RED 366 } ;366 } dvoImageType; 367 367 368 368 enum {DVO_TABLE_AVERAGE, DVO_TABLE_MEASURE, DVO_TABLE_IMAGE}; … … 382 382 int extract; 383 383 int table; 384 int ID; 384 int ID; // may be either dvoMeasureType or dvoAverageType 385 385 386 386 dvoMagSourceType magSource; // chip, (forced) warp, stack [only relevant for averages] -
branches/eam_branches/ipp-20150112/Ohana/src/libdvo/src/dbExtractAverages.c
r37807 r37848 53 53 54 54 // off_t i; 55 int n; 55 56 dbValue value; 56 57 … … 186 187 case AVE_PHOT: 187 188 // if we request mag:ave, use equiv for photcode (ie a given measure, say GPC1.g.XY01, will return g for mag:ave) 188 if (field->photcode->type == PHOT_MAG) { 189 // this is an error 190 break; 191 } 192 193 // if we ask for 2MASS_K, etc (REF values), return NAN unless measure->code matches 194 if (field->photcode->type == PHOT_REF) { 195 // need to ensure measure exists. 196 break; 197 } 198 199 // if we ask for GPC1.g.XY03:rel, etc (DEP values), return NAN unless measure->code matches 200 if (field->photcode->type == PHOT_DEP) { 201 // again. 202 break; 203 } 204 205 /* in some cases below we need a measurement which matches the requested photcode. 206 here is some sample code to find this. 207 208 for (i = 0; i < average[0].Nmeasure; i++) { 209 if (field->photcode->code != measure[i].photcode) continue; 210 value.Flt = measure[i].M; 211 break; 212 } 213 */ 189 190 // this is an error (no exposed photcodes should be of type PHOT_MAG) 191 if (field->photcode->type == PHOT_MAG) break; 214 192 215 193 switch (field->magOption) { … … 220 198 break; 221 199 case MAG_LEVEL_REF: 222 // which measure is needed here?223 // PhotRef (field->photcode, average, secfilt, measure, field->magClass, field->magSource);224 200 break; 225 201 case MAG_LEVEL_INST: 202 // find an appropriate measure (if one exists) 203 for (n = 0; n < average->Nmeasure; n++) { 204 if (field->photcode->code != measure[n].photcode) continue; 205 value.Flt = PhotInst (&measure[n], field->magClass); 206 break; 207 } 208 break; 226 209 case MAG_LEVEL_CAT: 210 // find an appropriate measure (if one exists) 211 for (n = 0; n < average->Nmeasure; n++) { 212 if (field->photcode->code != measure[n].photcode) continue; 213 value.Flt = PhotCat (&measure[n], field->magClass); 214 break; 215 } 216 break; 227 217 case MAG_LEVEL_SYS: 218 // find an appropriate measure (if one exists) 219 for (n = 0; n < average->Nmeasure; n++) { 220 if (field->photcode->code != measure[n].photcode) continue; 221 value.Flt = PhotSys (&measure[n], average, secfilt, field->magClass); 222 break; 223 } 224 break; 228 225 case MAG_LEVEL_REL: 226 // find an appropriate measure (if one exists) 227 for (n = 0; n < average->Nmeasure; n++) { 228 if (field->photcode->code != measure[n].photcode) continue; 229 value.Flt = PhotRel (&measure[n], average, secfilt, field->magClass); 230 break; 231 } 232 break; 229 233 case MAG_LEVEL_CAL: 230 234 case MAG_LEVEL_NONE: … … 243 247 case MAG_LEVEL_SYS: 244 248 case MAG_LEVEL_REL: 249 // find an appropriate measure (if one exists) 250 for (n = 0; n < average->Nmeasure; n++) { 251 if (field->photcode->code != measure[n].photcode) continue; 252 value.Flt = PhotErr (&measure[n], field->magClass); 253 break; 254 } 255 break; 245 256 case MAG_LEVEL_CAL: 246 257 case MAG_LEVEL_NONE: … … 259 270 break; 260 271 case MAG_LEVEL_INST: 272 // find an appropriate measure (if one exists) 273 for (n = 0; n < average->Nmeasure; n++) { 274 if (field->photcode->code != measure[n].photcode) continue; 275 value.Flt = PhotFluxInst (&measure[n], field->magClass); 276 break; 277 } 278 break; 261 279 case MAG_LEVEL_CAT: 280 // find an appropriate measure (if one exists) 281 for (n = 0; n < average->Nmeasure; n++) { 282 if (field->photcode->code != measure[n].photcode) continue; 283 value.Flt = PhotFluxCat (&measure[n], field->magClass); 284 break; 285 } 286 break; 262 287 case MAG_LEVEL_SYS: 288 // find an appropriate measure (if one exists) 289 for (n = 0; n < average->Nmeasure; n++) { 290 if (field->photcode->code != measure[n].photcode) continue; 291 value.Flt = PhotFluxSys (&measure[n], average, secfilt, field->magClass); 292 break; 293 } 294 break; 263 295 case MAG_LEVEL_REL: 296 // find an appropriate measure (if one exists) 297 for (n = 0; n < average->Nmeasure; n++) { 298 if (field->photcode->code != measure[n].photcode) continue; 299 value.Flt = PhotFluxRel (&measure[n], average, secfilt, field->magClass); 300 break; 301 } 302 break; 264 303 case MAG_LEVEL_CAL: 265 304 case MAG_LEVEL_NONE: … … 278 317 case MAG_LEVEL_SYS: 279 318 case MAG_LEVEL_REL: 319 // find an appropriate measure (if one exists) 320 for (n = 0; n < average->Nmeasure; n++) { 321 if (field->photcode->code != measure[n].photcode) continue; 322 value.Flt = PhotFluxInstErr (&measure[n], field->magClass); 323 break; 324 } 325 break; 280 326 case MAG_LEVEL_CAL: 281 327 case MAG_LEVEL_NONE:
Note:
See TracChangeset
for help on using the changeset viewer.
