Changeset 12332 for trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c
- Timestamp:
- Mar 8, 2007, 12:21:18 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c (modified) (21 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c
r8456 r12332 12 12 struct stat filestatus; 13 13 char format[80], telescope[80]; 14 SecFilt *primary; 14 15 15 16 f = catalog[0].f; … … 28 29 catalog[0].catformat = DVO_FORMAT_UNDEF; 29 30 if (gfits_scan (&catalog[0].header, "FORMAT", "%s", 1, format)) { 30 if (!strcmp (format, "INTERNAL")) catalog[0].catformat = DVO_FORMAT_INTERNAL; 31 if (!strcmp (format, "LONEOS")) catalog[0].catformat = DVO_FORMAT_LONEOS; 32 if (!strcmp (format, "ELIXIR")) catalog[0].catformat = DVO_FORMAT_ELIXIR; 33 if (!strcmp (format, "PANSTARRS")) catalog[0].catformat = DVO_FORMAT_PANSTARRS; 34 if (!strcmp (format, "PMTEST")) catalog[0].catformat = DVO_FORMAT_PMTEST; 31 catalog[0].catformat = dvo_catalog_catformat (format); 35 32 if (catalog[0].catformat != DVO_FORMAT_UNDEF) goto got_format; 36 33 } 37 34 /* special cases: old versions of the DB tables which were poorly identified */ 38 35 if (gfits_scan (&catalog[0].header, "NEWMEAS", "%t", 1, &NewMeasure)) { 39 catalog[0].catformat = DVO_FORMAT_ELIXIR; 36 catalog[0].catformat = DVO_FORMAT_ELIXIR; // special case for ELIXIR 40 37 goto got_format; 41 38 } 42 39 if (gfits_scan (&catalog[0].header, "TELESCOP", "%s", 1, telescope)) { 43 40 if (!strncmp (telescope, "LONEOS", strlen("LONEOS"))) { 44 catalog[0].catformat = DVO_FORMAT_LONEOS; 41 catalog[0].catformat = DVO_FORMAT_LONEOS; // special case for LONEOS 45 42 goto got_format; 46 43 } 47 44 if (!strncmp (telescope, "1.3m McGraw-Hill", strlen("1.3m McGraw-Hill"))) { 48 catalog[0].catformat = DVO_FORMAT_ELIXIR; 45 catalog[0].catformat = DVO_FORMAT_ELIXIR; // special case for ELIXIR 49 46 goto got_format; 50 47 } … … 59 56 AverageSize = sizeof(Average); 60 57 MeasureSize = sizeof(Measure); 61 SecFiltSize = sizeof (SecFilt);58 SecFiltSize = sizeof(SecFilt); 62 59 break; 63 60 case DVO_FORMAT_LONEOS: 64 61 AverageSize = sizeof(AverageLoneos); 65 62 MeasureSize = sizeof(MeasureLoneos); 66 SecFiltSize = sizeof (SecFiltLoneos);63 SecFiltSize = sizeof(SecFiltLoneos); 67 64 break; 68 65 case DVO_FORMAT_ELIXIR: 69 66 AverageSize = sizeof(AverageElixir); 70 67 MeasureSize = sizeof(MeasureElixir); 71 SecFiltSize = sizeof (SecFiltElixir);68 SecFiltSize = sizeof(SecFiltElixir); 72 69 break; 70 case DVO_FORMAT_PANSTARRS_DEV_0: 71 AverageSize = sizeof(AveragePanstarrs_DEV_0); 72 MeasureSize = sizeof(MeasurePanstarrs_DEV_0); 73 SecFiltSize = sizeof(SecFiltPanstarrs_DEV_0); 74 break; 75 # if 0 73 76 case DVO_FORMAT_PANSTARRS: 74 77 AverageSize = sizeof(AveragePanstarrs); 75 78 MeasureSize = sizeof(MeasurePanstarrs); 76 SecFiltSize = sizeof (SecFiltPanstarrs);79 SecFiltSize = sizeof(SecFiltPanstarrs); 77 80 break; 78 81 case DVO_FORMAT_PMTEST: 79 82 AverageSize = sizeof(AveragePMtest); 80 83 MeasureSize = sizeof(MeasurePanstarrs); 81 SecFiltSize = sizeof (SecFiltPanstarrs);84 SecFiltSize = sizeof(SecFiltPanstarrs); 82 85 break; 86 # endif 83 87 default: 84 88 fprintf (stderr, "programming error in phot_catalog_raw\n"); … … 120 124 121 125 /* read and convert the averages (use a macro to clean this up?) */ 126 /* old versions of DVO stored one of the average magnitudes in Average. we save this if needed */ 122 127 if (catalog[0].catflags & LOAD_AVES) { 123 catalog[0].average = ReadRawAverage (catalog[0].f, catalog[0].Naverage, catalog[0].catformat );128 catalog[0].average = ReadRawAverage (catalog[0].f, catalog[0].Naverage, catalog[0].catformat, &primary); 124 129 } else { 125 130 /* skip over averages */ … … 157 162 Nitems = catalog[0].Naverage * catalog[0].Nsecfilt; 158 163 catalog[0].secfilt = ReadRawSecFilt (catalog[0].f, Nitems, catalog[0].catformat); 164 165 /* if primary is defined, we were supplied with one additional average magnitude from Average 166 we need to interleave these magnitudes with the secfilt entries just loaded */ 167 if (primary != NULL) { 168 int Ntmpfilt, Nsecfilt, Ntotal, i, j; 169 SecFilt *tmpfilt; 170 tmpfilt = catalog[0].secfilt; 171 Ntmpfilt = catalog[0].Nsecfilt; 172 Nsecfilt = catalog[0].Nsecfilt + 1; 173 Ntotal = Nsecfilt * catalog[0].Naverage; 174 ALLOCATE (catalog[0].secfilt, SecFilt, Ntotal); 175 for (i = 0; i < catalog[0].Naverage; i++) { 176 catalog[0].secfilt[i*Nsecfilt + 0] = primary[i]; 177 for (j = 0; j < Ntmpfilt; j++) { 178 catalog[0].secfilt[i*Nsecfilt + j + 1] = tmpfilt[i*Ntmpfilt + j]; 179 } 180 } 181 catalog[0].Nsecfilt = Nsecfilt; 182 free (primary); 183 } 184 159 185 } else { 160 186 /* skip over secfilts */ 161 187 Nskip = catalog[0].Nsecfilt * catalog[0].Naverage * SecFiltSize; 162 188 fseek (f, Nskip, SEEK_CUR); 189 if (primary != NULL) free (primary); 163 190 } 164 191 … … 194 221 int Nitems, nitems; 195 222 FILE *f; 223 SecFilt *primary; 224 SecFilt *secfilt; 225 int i, j, Nsecfilt, Nallfilt, Ntotal; 196 226 197 227 if (catalog[0].Naverage == 0) { … … 210 240 if (catalog[0].catformat == DVO_FORMAT_LONEOS) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "LONEOS"); 211 241 if (catalog[0].catformat == DVO_FORMAT_ELIXIR) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "ELIXIR"); 212 if (catalog[0].catformat == DVO_FORMAT_PANSTARRS) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS"); 213 if (catalog[0].catformat == DVO_FORMAT_PMTEST) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PMTEST"); 242 if (catalog[0].catformat == DVO_FORMAT_PANSTARRS_DEV_0) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS_DEV_0"); 243 // if (catalog[0].catformat == DVO_FORMAT_PANSTARRS) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PANSTARRS"); 244 // if (catalog[0].catformat == DVO_FORMAT_PMTEST) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PMTEST"); 214 245 215 246 /* rewind file pointers and truncate file */ … … 225 256 } 226 257 258 /* for the appropriate types, pull out the first secfilt and pass to WriteRawAverage as primary */ 259 if ((catalog[0].catformat == DVO_FORMAT_ELIXIR) || // special case for ELIXIR 260 (catalog[0].catformat == DVO_FORMAT_LONEOS)) { // special case for LONEOS 261 Nallfilt = catalog[0].Nsecfilt; 262 Nsecfilt = catalog[0].Nsecfilt - 1; 263 Ntotal = Nsecfilt * catalog[0].Naverage; 264 ALLOCATE (primary, SecFilt, catalog[0].Naverage); 265 ALLOCATE (secfilt, SecFilt, Ntotal); 266 267 for (i = 0; i < catalog[0].Naverage; i++) { 268 primary[i] = catalog[0].secfilt[i*Nallfilt + 0]; 269 for (j = 0; j < Nsecfilt; j++) { 270 secfilt[i*Nsecfilt + j] = catalog[0].secfilt[i*Nallfilt + j + 1]; 271 } 272 } 273 } else { 274 primary = NULL; 275 secfilt = catalog[0].secfilt; 276 Nsecfilt = catalog[0].Nsecfilt; 277 } 278 227 279 /* write averages and measures */ 228 WriteRawAverage (f, catalog[0].average, catalog[0].Naverage, catalog[0].catformat );280 WriteRawAverage (f, catalog[0].average, catalog[0].Naverage, catalog[0].catformat, primary); 229 281 WriteRawMeasure (f, catalog[0].measure, catalog[0].Nmeasure, catalog[0].catformat); 230 282 … … 240 292 Nitems = catalog[0].Naverage * catalog[0].Nsecfilt; 241 293 WriteRawSecFilt (f, catalog[0].secfilt, Nitems, catalog[0].catformat); 294 295 /* free temp storage */ 296 if (primary != NULL) { 297 free (primary); 298 free (secfilt); 299 } 300 242 301 return (TRUE); 243 302 } … … 250 309 /** Average / Raw Table conversions **/ 251 310 252 Average *ReadRawAverage (FILE *f, int Naverage, int format ) {311 Average *ReadRawAverage (FILE *f, int Naverage, int format, SecFilt **primary) { 253 312 254 313 int nitems; 255 314 Average *average; 256 AverageElixir *tmpAverageElixir; 257 AverageLoneos *tmpAverageLoneos;258 AveragePanstarrs *tmpAveragePanstarrs;259 AveragePMtest *tmpAveragePMtest;315 316 /* in the Elixir and Loneos cases, we are supplied with an average magnitude in Average 317 in these cases, save these values in primary; otherwise set primary to NULL */ 318 *primary = NULL; 260 319 261 320 switch (format) { 262 case DVO_FORMAT_INTERNAL: 321 case DVO_FORMAT_INTERNAL: { 263 322 ALLOCATE (average, Average, MAX (Naverage, 1)); 264 323 nitems = fread (average, sizeof(Average), Naverage, f); … … 268 327 } 269 328 gfits_convert_Average (average, sizeof(Average), Naverage); 270 break; 271 case DVO_FORMAT_ELIXIR: 272 ALLOCATE (tmpAverageElixir, AverageElixir, MAX (Naverage, 1)); 273 nitems = fread (tmpAverageElixir, sizeof(AverageElixir), Naverage, f); 329 break; } 330 case DVO_FORMAT_ELIXIR: { 331 AverageElixir *tmpAverage; 332 ALLOCATE (tmpAverage, AverageElixir, MAX (Naverage, 1)); 333 nitems = fread (tmpAverage, sizeof(AverageElixir), Naverage, f); 274 334 if (nitems != Naverage) { 275 335 fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage); 276 336 return (NULL); 277 337 } 278 gfits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage); 279 average = AverageElixirToInternal (tmpAverageElixir, Naverage); 280 free (tmpAverageElixir); 281 break; 282 case DVO_FORMAT_LONEOS: 283 ALLOCATE (tmpAverageLoneos, AverageLoneos, MAX (Naverage, 1)); 284 nitems = fread (tmpAverageLoneos, sizeof(AverageLoneos), Naverage, f); 338 gfits_convert_AverageElixir (tmpAverage, sizeof(AverageElixir), Naverage); 339 average = AverageElixirToInternal (tmpAverage, Naverage, primary); 340 free (tmpAverage); 341 break; } 342 case DVO_FORMAT_LONEOS: { 343 AverageLoneos *tmpAverage; 344 ALLOCATE (tmpAverage, AverageLoneos, MAX (Naverage, 1)); 345 nitems = fread (tmpAverage, sizeof(AverageLoneos), Naverage, f); 285 346 if (nitems != Naverage) { 286 347 fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage); 287 348 return (NULL); 288 349 } 289 gfits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage); 290 average = AverageLoneosToInternal (tmpAverageLoneos, Naverage); 291 free (tmpAverageLoneos); 292 break; 293 case DVO_FORMAT_PANSTARRS: 294 ALLOCATE (tmpAveragePanstarrs, AveragePanstarrs, MAX (Naverage, 1)); 295 nitems = fread (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage, f); 350 gfits_convert_AverageLoneos (tmpAverage, sizeof(AverageLoneos), Naverage); 351 average = AverageLoneosToInternal (tmpAverage, Naverage, primary); 352 free (tmpAverage); 353 break; } 354 case DVO_FORMAT_PANSTARRS_DEV_0: { 355 AveragePanstarrs_DEV_0 *tmpAverage; 356 ALLOCATE (tmpAverage, AveragePanstarrs_DEV_0, MAX (Naverage, 1)); 357 nitems = fread (tmpAverage, sizeof(AveragePanstarrs_DEV_0), Naverage, f); 296 358 if (nitems != Naverage) { 297 359 fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage); 298 360 return (NULL); 299 361 } 300 gfits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage); 301 average = AveragePanstarrsToInternal (tmpAveragePanstarrs, Naverage); 302 free (tmpAveragePanstarrs); 303 break; 304 case DVO_FORMAT_PMTEST: 305 ALLOCATE (tmpAveragePMtest, AveragePMtest, MAX (Naverage, 1)); 306 nitems = fread (tmpAveragePMtest, sizeof(AveragePMtest), Naverage, f); 362 gfits_convert_AveragePanstarrs_DEV_0 (tmpAverage, sizeof(AveragePanstarrs_DEV_0), Naverage); 363 average = AveragePanstarrs_DEV_0_ToInternal (tmpAverage, Naverage); 364 free (tmpAverage); 365 break; } 366 # if 0 367 case DVO_FORMAT_PANSTARRS: { 368 AveragePanstarrs *tmpAverage; 369 ALLOCATE (tmpAverage, AveragePanstarrs, MAX (Naverage, 1)); 370 nitems = fread (tmpAverage, sizeof(AveragePanstarrs), Naverage, f); 307 371 if (nitems != Naverage) { 308 372 fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage); 309 373 return (NULL); 310 374 } 311 gfits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage); 312 average = AveragePMtestToInternal (tmpAveragePMtest, Naverage); 313 free (tmpAveragePMtest); 314 break; 375 gfits_convert_AveragePanstarrs (tmpAverage, sizeof(AveragePanstarrs), Naverage); 376 average = AveragePanstarrsToInternal (tmpAverage, Naverage); 377 free (tmpAverage); 378 break; } 379 case DVO_FORMAT_PMTEST: { 380 AveragePMtest *tmpAverage; 381 ALLOCATE (tmpAverage, AveragePMtest, MAX (Naverage, 1)); 382 nitems = fread (tmpAverage, sizeof(AveragePMtest), Naverage, f); 383 if (nitems != Naverage) { 384 fprintf (stderr, "failed to read averages (%d vs %d)\n", nitems, Naverage); 385 return (NULL); 386 } 387 gfits_convert_AveragePMtest (tmpAverage, sizeof(AveragePMtest), Naverage); 388 average = AveragePMtestToInternal (tmpAverage, Naverage); 389 free (tmpAverage); 390 break; } 391 # endif 315 392 default: 316 393 fprintf (stderr, "error reading measures\n"); … … 322 399 /* accepts and converts internal average formats and outputs 323 400 raw data in the specified format */ 324 int WriteRawAverage (FILE *f, Average *average, int Naverage, int format ) {401 int WriteRawAverage (FILE *f, Average *average, int Naverage, int format, SecFilt *primary) { 325 402 326 403 int nitems; 327 AverageElixir *tmpAverageElixir;328 AverageLoneos *tmpAverageLoneos;329 AveragePanstarrs *tmpAveragePanstarrs;330 AveragePMtest *tmpAveragePMtest;331 404 332 405 switch (format) { 333 case DVO_FORMAT_INTERNAL: 406 case DVO_FORMAT_INTERNAL: { 334 407 gfits_convert_Average (average, sizeof(Average), Naverage); 335 408 nitems = fwrite (average, sizeof(Average), Naverage, f); … … 338 411 return (FALSE); 339 412 } 340 break; 341 case DVO_FORMAT_ELIXIR: 342 tmpAverageElixir = AverageInternalToElixir (average, Naverage); 343 gfits_convert_AverageElixir (tmpAverageElixir, sizeof(AverageElixir), Naverage); 344 nitems = fwrite (tmpAverageElixir, sizeof(AverageElixir), Naverage, f); 345 free (tmpAverageElixir); 413 break; } 414 case DVO_FORMAT_ELIXIR: { 415 AverageElixir *tmpAverage; 416 tmpAverage = AverageInternalToElixir (average, Naverage, primary); 417 gfits_convert_AverageElixir (tmpAverage, sizeof(AverageElixir), Naverage); 418 nitems = fwrite (tmpAverage, sizeof(AverageElixir), Naverage, f); 419 free (tmpAverage); 346 420 if (nitems != Naverage) { 347 421 fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage); 348 422 return (FALSE); 349 423 } 350 break; 351 case DVO_FORMAT_LONEOS: 352 tmpAverageLoneos = AverageInternalToLoneos (average, Naverage); 353 gfits_convert_AverageLoneos (tmpAverageLoneos, sizeof(AverageLoneos), Naverage); 354 nitems = fwrite (tmpAverageLoneos, sizeof(AverageLoneos), Naverage, f); 355 free (tmpAverageLoneos); 424 break; } 425 case DVO_FORMAT_LONEOS: { 426 AverageLoneos *tmpAverage; 427 tmpAverage = AverageInternalToLoneos (average, Naverage, primary); 428 gfits_convert_AverageLoneos (tmpAverage, sizeof(AverageLoneos), Naverage); 429 nitems = fwrite (tmpAverage, sizeof(AverageLoneos), Naverage, f); 430 free (tmpAverage); 356 431 if (nitems != Naverage) { 357 432 fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage); 358 433 return (FALSE); 359 434 } 360 break; 361 case DVO_FORMAT_PANSTARRS: 362 tmpAveragePanstarrs = AverageInternalToPanstarrs (average, Naverage); 363 gfits_convert_AveragePanstarrs (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage); 364 nitems = fwrite (tmpAveragePanstarrs, sizeof(AveragePanstarrs), Naverage, f); 365 free (tmpAveragePanstarrs); 435 break; } 436 case DVO_FORMAT_PANSTARRS_DEV_0: { 437 AveragePanstarrs_DEV_0 *tmpAverage; 438 tmpAverage = AverageInternalToPanstarrs_DEV_0 (average, Naverage); 439 gfits_convert_AveragePanstarrs_DEV_0 (tmpAverage, sizeof(AveragePanstarrs_DEV_0), Naverage); 440 nitems = fwrite (tmpAverage, sizeof(AveragePanstarrs_DEV_0), Naverage, f); 441 free (tmpAverage); 366 442 if (nitems != Naverage) { 367 443 fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage); 368 444 return (FALSE); 369 445 } 370 break; 371 case DVO_FORMAT_PMTEST: 372 tmpAveragePMtest = AverageInternalToPMtest (average, Naverage); 373 gfits_convert_AveragePMtest (tmpAveragePMtest, sizeof(AveragePMtest), Naverage); 374 nitems = fwrite (tmpAveragePMtest, sizeof(AveragePMtest), Naverage, f); 375 free (tmpAveragePMtest); 446 break; } 447 # if 0 448 case DVO_FORMAT_PANSTARRS: { 449 AveragePanstarrs *tmpAverage; 450 tmpAverage = AverageInternalToPanstarrs (average, Naverage); 451 gfits_convert_AveragePanstarrs (tmpAverage, sizeof(AveragePanstarrs), Naverage); 452 nitems = fwrite (tmpAverage, sizeof(AveragePanstarrs), Naverage, f); 453 free (tmpAverage); 376 454 if (nitems != Naverage) { 377 455 fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage); 378 456 return (FALSE); 379 457 } 380 break; 458 break; } 459 case DVO_FORMAT_PMTEST: { 460 AveragePMtest *tmpAverage; 461 tmpAverage = AverageInternalToPMtest (average, Naverage); 462 gfits_convert_AveragePMtest (tmpAverage, sizeof(AveragePMtest), Naverage); 463 nitems = fwrite (tmpAverage, sizeof(AveragePMtest), Naverage, f); 464 free (tmpAverage); 465 if (nitems != Naverage) { 466 fprintf (stderr, "failed to write averages (%d vs %d)\n", nitems, Naverage); 467 return (FALSE); 468 } 469 break; } 470 # endif 381 471 default: 382 472 fprintf (stderr, "error writing averages\n"); … … 392 482 int nitems; 393 483 Measure *measure; 394 MeasureElixir *tmpMeasureElixir;395 MeasureLoneos *tmpMeasureLoneos;396 MeasurePanstarrs *tmpMeasurePanstarrs;397 484 398 485 switch (format) { 399 case DVO_FORMAT_INTERNAL: 486 case DVO_FORMAT_INTERNAL: { 400 487 ALLOCATE (measure, Measure, MAX (Nmeasure, 1)); 401 488 nitems = fread (measure, sizeof(Measure), Nmeasure, f); … … 405 492 } 406 493 gfits_convert_Measure (measure, sizeof(Measure), Nmeasure); 407 break; 408 case DVO_FORMAT_ELIXIR: 409 ALLOCATE (tmpMeasureElixir, MeasureElixir, MAX (Nmeasure, 1)); 410 nitems = fread (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure, f); 494 break; } 495 case DVO_FORMAT_ELIXIR: { 496 MeasureElixir *tmpMeasure; 497 ALLOCATE (tmpMeasure, MeasureElixir, MAX (Nmeasure, 1)); 498 nitems = fread (tmpMeasure, sizeof(MeasureElixir), Nmeasure, f); 411 499 if (nitems != Nmeasure) { 412 500 fprintf (stderr, "failed to read measures (%d vs %d)\n", nitems, Nmeasure); 413 501 return (NULL); 414 502 } 415 gfits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure); 416 measure = MeasureElixirToInternal (tmpMeasureElixir, Nmeasure); 417 free (tmpMeasureElixir); 418 break; 419 case DVO_FORMAT_LONEOS: 420 ALLOCATE (tmpMeasureLoneos, MeasureLoneos, MAX (Nmeasure, 1)); 421 nitems = fread (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure, f); 503 gfits_convert_MeasureElixir (tmpMeasure, sizeof(MeasureElixir), Nmeasure); 504 measure = MeasureElixirToInternal (tmpMeasure, Nmeasure); 505 free (tmpMeasure); 506 break; } 507 case DVO_FORMAT_LONEOS: { 508 MeasureLoneos *tmpMeasure; 509 ALLOCATE (tmpMeasure, MeasureLoneos, MAX (Nmeasure, 1)); 510 nitems = fread (tmpMeasure, sizeof(MeasureLoneos), Nmeasure, f); 422 511 if (nitems != Nmeasure) { 423 512 fprintf (stderr, "failed to read measures (%d vs %d)\n", nitems, Nmeasure); 424 513 return (NULL); 425 514 } 426 gfits_convert_MeasureLoneos (tmpMeasure Loneos, sizeof(MeasureLoneos), Nmeasure);427 measure = MeasureLoneosToInternal (tmpMeasure Loneos, Nmeasure);428 free (tmpMeasure Loneos);429 break; 430 case DVO_FORMAT_PANSTARRS :431 case DVO_FORMAT_PMTEST:432 ALLOCATE (tmpMeasure Panstarrs, MeasurePanstarrs, MAX (Nmeasure, 1));433 nitems = fread (tmpMeasure Panstarrs, sizeof(MeasurePanstarrs), Nmeasure, f);515 gfits_convert_MeasureLoneos (tmpMeasure, sizeof(MeasureLoneos), Nmeasure); 516 measure = MeasureLoneosToInternal (tmpMeasure, Nmeasure); 517 free (tmpMeasure); 518 break; } 519 case DVO_FORMAT_PANSTARRS_DEV_0: { 520 MeasurePanstarrs_DEV_0 *tmpMeasure; 521 ALLOCATE (tmpMeasure, MeasurePanstarrs_DEV_0, MAX (Nmeasure, 1)); 522 nitems = fread (tmpMeasure, sizeof(MeasurePanstarrs_DEV_0), Nmeasure, f); 434 523 if (nitems != Nmeasure) { 435 524 fprintf (stderr, "failed to read measures (%d vs %d)\n", nitems, Nmeasure); 436 525 return (NULL); 437 526 } 438 gfits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure); 439 measure = MeasurePanstarrsToInternal (tmpMeasurePanstarrs, Nmeasure); 440 free (tmpMeasurePanstarrs); 441 break; 527 gfits_convert_MeasurePanstarrs_DEV_0 (tmpMeasure, sizeof(MeasurePanstarrs_DEV_0), Nmeasure); 528 measure = MeasurePanstarrs_DEV_0_ToInternal (tmpMeasure, Nmeasure); 529 free (tmpMeasure); 530 break; } 531 # if 0 532 case DVO_FORMAT_PANSTARRS: { 533 MeasurePanstarrs *tmpMeasure; 534 ALLOCATE (tmpMeasure, MeasurePanstarrs, MAX (Nmeasure, 1)); 535 nitems = fread (tmpMeasure, sizeof(MeasurePanstarrs), Nmeasure, f); 536 if (nitems != Nmeasure) { 537 fprintf (stderr, "failed to read measures (%d vs %d)\n", nitems, Nmeasure); 538 return (NULL); 539 } 540 gfits_convert_MeasurePanstarrs (tmpMeasure, sizeof(MeasurePanstarrs), Nmeasure); 541 measure = MeasurePanstarrsToInternal (tmpMeasure, Nmeasure); 542 free (tmpMeasure); 543 break; } 544 # endif 442 545 default: 443 546 fprintf (stderr, "error reading measures\n"); … … 452 555 453 556 int nitems; 454 MeasureElixir *tmpMeasureElixir;455 MeasureLoneos *tmpMeasureLoneos;456 MeasurePanstarrs *tmpMeasurePanstarrs;457 557 458 558 switch (format) { 459 case DVO_FORMAT_INTERNAL: 559 case DVO_FORMAT_INTERNAL: { 460 560 gfits_convert_Measure (measure, sizeof(Measure), Nmeasure); 461 561 nitems = fwrite (measure, sizeof(Measure), Nmeasure, f); … … 464 564 return (FALSE); 465 565 } 466 break; 467 case DVO_FORMAT_ELIXIR: 468 tmpMeasureElixir = MeasureInternalToElixir (measure, Nmeasure); 469 gfits_convert_MeasureElixir (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure); 470 nitems = fwrite (tmpMeasureElixir, sizeof(MeasureElixir), Nmeasure, f); 471 free (tmpMeasureElixir); 566 break; } 567 case DVO_FORMAT_ELIXIR: { 568 MeasureElixir *tmpMeasure; 569 tmpMeasure = MeasureInternalToElixir (measure, Nmeasure); 570 gfits_convert_MeasureElixir (tmpMeasure, sizeof(MeasureElixir), Nmeasure); 571 nitems = fwrite (tmpMeasure, sizeof(MeasureElixir), Nmeasure, f); 572 free (tmpMeasure); 472 573 if (nitems != Nmeasure) { 473 574 fprintf (stderr, "failed to write measures (%d vs %d)\n", nitems, Nmeasure); 474 575 return (FALSE); 475 576 } 476 break; 477 case DVO_FORMAT_LONEOS: 478 tmpMeasureLoneos = MeasureInternalToLoneos (measure, Nmeasure); 479 gfits_convert_MeasureLoneos (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure); 480 nitems = fwrite (tmpMeasureLoneos, sizeof(MeasureLoneos), Nmeasure, f); 481 free (tmpMeasureLoneos); 577 break; } 578 case DVO_FORMAT_LONEOS: { 579 MeasureLoneos *tmpMeasure; 580 tmpMeasure = MeasureInternalToLoneos (measure, Nmeasure); 581 gfits_convert_MeasureLoneos (tmpMeasure, sizeof(MeasureLoneos), Nmeasure); 582 nitems = fwrite (tmpMeasure, sizeof(MeasureLoneos), Nmeasure, f); 583 free (tmpMeasure); 482 584 if (nitems != Nmeasure) { 483 585 fprintf (stderr, "failed to write measures (%d vs %d)\n", nitems, Nmeasure); 484 586 return (FALSE); 485 587 } 486 break; 487 case DVO_FORMAT_PANSTARRS :488 case DVO_FORMAT_PMTEST:489 tmpMeasure Panstarrs = MeasureInternalToPanstarrs(measure, Nmeasure);490 gfits_convert_MeasurePanstarrs (tmpMeasurePanstarrs, sizeof(MeasurePanstarrs), Nmeasure);491 nitems = fwrite (tmpMeasure Panstarrs, sizeof(MeasurePanstarrs), Nmeasure, f);492 free (tmpMeasure Panstarrs);588 break; } 589 case DVO_FORMAT_PANSTARRS_DEV_0: { 590 MeasurePanstarrs_DEV_0 *tmpMeasure; 591 tmpMeasure = MeasureInternalToPanstarrs_DEV_0 (measure, Nmeasure); 592 gfits_convert_MeasurePanstarrs_DEV_0 (tmpMeasure, sizeof(MeasurePanstarrs_DEV_0), Nmeasure); 593 nitems = fwrite (tmpMeasure, sizeof(MeasurePanstarrs_DEV_0), Nmeasure, f); 594 free (tmpMeasure); 493 595 if (nitems != Nmeasure) { 494 596 fprintf (stderr, "failed to write measures (%d vs %d)\n", nitems, Nmeasure); 495 597 return (FALSE); 496 598 } 497 break; 599 break; } 600 # if 0 601 case DVO_FORMAT_PANSTARRS: { 602 MeasurePanstarrs *tmpMeasure; 603 tmpMeasure = MeasureInternalToPanstarrs (measure, Nmeasure); 604 gfits_convert_MeasurePanstarrs (tmpMeasure, sizeof(MeasurePanstarrs), Nmeasure); 605 nitems = fwrite (tmpMeasure, sizeof(MeasurePanstarrs), Nmeasure, f); 606 free (tmpMeasure); 607 if (nitems != Nmeasure) { 608 fprintf (stderr, "failed to write measures (%d vs %d)\n", nitems, Nmeasure); 609 return (FALSE); 610 } 611 break; } 612 # endif 498 613 default: 499 614 fprintf (stderr, "error writing measures\n"); … … 509 624 int nitems; 510 625 SecFilt *secfilt; 511 SecFiltElixir *tmpSecFiltElixir;512 SecFiltLoneos *tmpSecFiltLoneos;513 SecFiltPanstarrs *tmpSecFiltPanstarrs;514 626 515 627 switch (format) { 516 case DVO_FORMAT_INTERNAL: 628 case DVO_FORMAT_INTERNAL: { 517 629 ALLOCATE (secfilt, SecFilt, MAX (Nsecfilt, 1)); 518 630 nitems = fread (secfilt, sizeof(SecFilt), Nsecfilt, f); … … 522 634 } 523 635 gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt); 524 break; 525 case DVO_FORMAT_ELIXIR: 526 ALLOCATE (tmpSecFiltElixir, SecFiltElixir, MAX (Nsecfilt, 1)); 527 nitems = fread (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt, f); 636 break; } 637 case DVO_FORMAT_ELIXIR: { 638 SecFiltElixir *tmpSecFilt; 639 ALLOCATE (tmpSecFilt, SecFiltElixir, MAX (Nsecfilt, 1)); 640 nitems = fread (tmpSecFilt, sizeof(SecFiltElixir), Nsecfilt, f); 528 641 if (nitems != Nsecfilt) { 529 642 fprintf (stderr, "failed to read secfilts (%d vs %d)\n", nitems, Nsecfilt); 530 643 return (NULL); 531 644 } 532 gfits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt); 533 secfilt = SecFiltElixirToInternal (tmpSecFiltElixir, Nsecfilt); 534 free (tmpSecFiltElixir); 535 break; 536 case DVO_FORMAT_LONEOS: 537 ALLOCATE (tmpSecFiltLoneos, SecFiltLoneos, MAX (Nsecfilt, 1)); 538 nitems = fread (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt, f); 645 gfits_convert_SecFiltElixir (tmpSecFilt, sizeof(SecFiltElixir), Nsecfilt); 646 secfilt = SecFiltElixirToInternal (tmpSecFilt, Nsecfilt); 647 free (tmpSecFilt); 648 break; } 649 case DVO_FORMAT_LONEOS: { 650 SecFiltLoneos *tmpSecFilt; 651 ALLOCATE (tmpSecFilt, SecFiltLoneos, MAX (Nsecfilt, 1)); 652 nitems = fread (tmpSecFilt, sizeof(SecFiltLoneos), Nsecfilt, f); 539 653 if (nitems != Nsecfilt) { 540 654 fprintf (stderr, "failed to read secfilts (%d vs %d)\n", nitems, Nsecfilt); 541 655 return (NULL); 542 656 } 543 gfits_convert_SecFiltLoneos (tmpSecFilt Loneos, sizeof(SecFiltLoneos), Nsecfilt);544 secfilt = SecFiltLoneosToInternal (tmpSecFilt Loneos, Nsecfilt);545 free (tmpSecFilt Loneos);546 break; 547 case DVO_FORMAT_PANSTARRS :548 case DVO_FORMAT_PMTEST:549 ALLOCATE (tmpSecFilt Panstarrs, SecFiltPanstarrs, MAX (Nsecfilt, 1));550 nitems = fread (tmpSecFilt Panstarrs, sizeof(SecFiltPanstarrs), Nsecfilt, f);657 gfits_convert_SecFiltLoneos (tmpSecFilt, sizeof(SecFiltLoneos), Nsecfilt); 658 secfilt = SecFiltLoneosToInternal (tmpSecFilt, Nsecfilt); 659 free (tmpSecFilt); 660 break; } 661 case DVO_FORMAT_PANSTARRS_DEV_0: { 662 SecFiltPanstarrs_DEV_0 *tmpSecFilt; 663 ALLOCATE (tmpSecFilt, SecFiltPanstarrs_DEV_0, MAX (Nsecfilt, 1)); 664 nitems = fread (tmpSecFilt, sizeof(SecFiltPanstarrs_DEV_0), Nsecfilt, f); 551 665 if (nitems != Nsecfilt) { 552 666 fprintf (stderr, "failed to read secfilts (%d vs %d)\n", nitems, Nsecfilt); 553 667 return (NULL); 554 668 } 555 gfits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt); 556 secfilt = SecFiltPanstarrsToInternal (tmpSecFiltPanstarrs, Nsecfilt); 557 free (tmpSecFiltPanstarrs); 558 break; 669 gfits_convert_SecFiltPanstarrs_DEV_0 (tmpSecFilt, sizeof(SecFiltPanstarrs_DEV_0), Nsecfilt); 670 secfilt = SecFiltPanstarrs_DEV_0_ToInternal (tmpSecFilt, Nsecfilt); 671 free (tmpSecFilt); 672 break; } 673 # if 0 674 case DVO_FORMAT_PANSTARRS: { 675 SecFiltPanstarrs *tmpSecFilt; 676 ALLOCATE (tmpSecFilt, SecFiltPanstarrs, MAX (Nsecfilt, 1)); 677 nitems = fread (tmpSecFilt, sizeof(SecFiltPanstarrs), Nsecfilt, f); 678 if (nitems != Nsecfilt) { 679 fprintf (stderr, "failed to read secfilts (%d vs %d)\n", nitems, Nsecfilt); 680 return (NULL); 681 } 682 gfits_convert_SecFiltPanstarrs (tmpSecFilt, sizeof(SecFiltPanstarrs), Nsecfilt); 683 secfilt = SecFiltPanstarrsToInternal (tmpSecFilt, Nsecfilt); 684 free (tmpSecFilt); 685 break; } 686 # endif 559 687 default: 560 688 fprintf (stderr, "error reading measures\n"); … … 569 697 570 698 int nitems; 571 SecFiltElixir *tmpSecFiltElixir;572 SecFiltLoneos *tmpSecFiltLoneos;573 SecFiltPanstarrs *tmpSecFiltPanstarrs;574 699 575 700 switch (format) { 576 case DVO_FORMAT_INTERNAL: 701 case DVO_FORMAT_INTERNAL: { 577 702 gfits_convert_SecFilt (secfilt, sizeof(SecFilt), Nsecfilt); 578 703 nitems = fwrite (secfilt, sizeof(SecFilt), Nsecfilt, f); … … 581 706 return (FALSE); 582 707 } 583 break; 584 case DVO_FORMAT_ELIXIR: 585 tmpSecFiltElixir = SecFiltInternalToElixir (secfilt, Nsecfilt); 586 gfits_convert_SecFiltElixir (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt); 587 nitems = fwrite (tmpSecFiltElixir, sizeof(SecFiltElixir), Nsecfilt, f); 588 free (tmpSecFiltElixir); 708 break; } 709 case DVO_FORMAT_ELIXIR: { 710 SecFiltElixir *tmpSecFilt; 711 tmpSecFilt = SecFiltInternalToElixir (secfilt, Nsecfilt); 712 gfits_convert_SecFiltElixir (tmpSecFilt, sizeof(SecFiltElixir), Nsecfilt); 713 nitems = fwrite (tmpSecFilt, sizeof(SecFiltElixir), Nsecfilt, f); 714 free (tmpSecFilt); 589 715 if (nitems != Nsecfilt) { 590 716 fprintf (stderr, "failed to write secfilts (%d vs %d)\n", nitems, Nsecfilt); 591 717 return (FALSE); 592 718 } 593 break; 594 case DVO_FORMAT_LONEOS: 595 tmpSecFiltLoneos = SecFiltInternalToLoneos (secfilt, Nsecfilt); 596 gfits_convert_SecFiltLoneos (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt); 597 nitems = fwrite (tmpSecFiltLoneos, sizeof(SecFiltLoneos), Nsecfilt, f); 598 free (tmpSecFiltLoneos); 719 break; } 720 case DVO_FORMAT_LONEOS: { 721 SecFiltLoneos *tmpSecFilt; 722 tmpSecFilt = SecFiltInternalToLoneos (secfilt, Nsecfilt); 723 gfits_convert_SecFiltLoneos (tmpSecFilt, sizeof(SecFiltLoneos), Nsecfilt); 724 nitems = fwrite (tmpSecFilt, sizeof(SecFiltLoneos), Nsecfilt, f); 725 free (tmpSecFilt); 599 726 if (nitems != Nsecfilt) { 600 727 fprintf (stderr, "failed to write secfilts (%d vs %d)\n", nitems, Nsecfilt); 601 728 return (FALSE); 602 729 } 603 break; 604 case DVO_FORMAT_PANSTARRS :605 case DVO_FORMAT_PMTEST:606 tmpSecFilt Panstarrs = SecFiltInternalToPanstarrs(secfilt, Nsecfilt);607 gfits_convert_SecFiltPanstarrs (tmpSecFiltPanstarrs, sizeof(SecFiltPanstarrs), Nsecfilt);608 nitems = fwrite (tmpSecFilt Panstarrs, sizeof(SecFiltPanstarrs), Nsecfilt, f);609 free (tmpSecFilt Panstarrs);730 break; } 731 case DVO_FORMAT_PANSTARRS_DEV_0: { 732 SecFiltPanstarrs_DEV_0 *tmpSecFilt; 733 tmpSecFilt = SecFiltInternalToPanstarrs_DEV_0 (secfilt, Nsecfilt); 734 gfits_convert_SecFiltPanstarrs_DEV_0 (tmpSecFilt, sizeof(SecFiltPanstarrs_DEV_0), Nsecfilt); 735 nitems = fwrite (tmpSecFilt, sizeof(SecFiltPanstarrs_DEV_0), Nsecfilt, f); 736 free (tmpSecFilt); 610 737 if (nitems != Nsecfilt) { 611 738 fprintf (stderr, "failed to write secfilts (%d vs %d)\n", nitems, Nsecfilt); 612 739 return (FALSE); 613 740 } 614 break; 741 break; } 742 # if 0 743 case DVO_FORMAT_PANSTARRS: { 744 SecFiltPanstarrs *tmpSecFilt; 745 tmpSecFilt = SecFiltInternalToPanstarrs (secfilt, Nsecfilt); 746 gfits_convert_SecFiltPanstarrs (tmpSecFilt, sizeof(SecFiltPanstarrs), Nsecfilt); 747 nitems = fwrite (tmpSecFilt, sizeof(SecFiltPanstarrs), Nsecfilt, f); 748 free (tmpSecFilt); 749 if (nitems != Nsecfilt) { 750 fprintf (stderr, "failed to write secfilts (%d vs %d)\n", nitems, Nsecfilt); 751 return (FALSE); 752 } 753 break; } 754 # endif 615 755 default: 616 756 fprintf (stderr, "error writing secfilts\n");
Note:
See TracChangeset
for help on using the changeset viewer.
