Changeset 26764
- Timestamp:
- Feb 2, 2010, 7:06:18 PM (16 years ago)
- Location:
- branches/eam_branches/20091201
- Files:
-
- 22 edited
-
extsrc/gpcsw/gpcsrc/analysis/libpscoords/pscoords.c (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/analysis/libpscoords/pscoords.h (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/analysis/libpsf/psf.c (modified) (2 diffs)
-
extsrc/gpcsw/gpcsrc/analysis/libpsf/psf2dim.f (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/fits/burntool/burnfix.c (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/fits/burntool/burntool.c (modified) (16 diffs)
-
extsrc/gpcsw/gpcsrc/fits/burntool/burntool.h (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/fits/burntool/burnutils.c (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/fits/burntool/man/burntool.1 (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/fits/burntool/persist_fits.c (modified) (48 diffs)
-
extsrc/gpcsw/gpcsrc/fits/burntool/persistio.c (modified) (6 diffs)
-
extsrc/gpcsw/gpcsrc/fits/burntool/psfstamp.c (modified) (9 diffs)
-
extsrc/gpcsw/gpcsrc/fits/burntool/stardetect.c (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/fits/burntool/trailfit.c (modified) (3 diffs)
-
extsrc/gpcsw/gpcsrc/fits/libfhreg/general.h (modified) (3 diffs)
-
extsrc/gpcsw/gpcsrc/fits/libfhreg/gpc_all.h (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/fits/libfhreg/gpc_detector.h (modified) (3 diffs)
-
extsrc/gpcsw/gpcsrc/fits/libfhreg/gpc_instrument.h (modified) (2 diffs)
-
extsrc/gpcsw/gpcsrc/fits/libfhreg/gpc_shutter.h (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/fits/libfhreg/gpc_telescope.h (modified) (3 diffs)
-
ippconfig/gpc1/camera.config (modified) (1 diff)
-
ppImage/src/ppImageBurntoolMask.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/analysis/libpscoords/pscoords.c
r24391 r26764 181 181 #define PSC_REFRACT_CONST 55.7 /* Standard refraction ("/tanz) at STP */ 182 182 #endif 183 184 /* Return default values for current fit*/ 185 int psc_defaults(double *pscale, double *d2, double *d3, double *airdens) 186 { 187 *pscale = PS_scale; 188 *d2 = PS_d2; 189 *d3 = PS_d3; 190 *airdens = PS_airdens; 191 return(0); 192 } 183 193 184 194 /* Enable application of chip offsets (um, mrad)? */ -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/analysis/libpscoords/pscoords.h
r24391 r26764 244 244 /* Enable application of chip offsets (um, mrad)? */ 245 245 int psc_load_otaoff(const char *fname); 246 247 /* Return default values for current fit*/ 248 int psc_defaults(double *pscale, double *d2, double *d3, double *airdens); -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/analysis/libpsf/psf.c
r23924 r26764 111 111 /* Load up results (with a few sanity checks!) */ 112 112 if(psfout != NULL && alg != PSF_2DIM) { 113 psfout->ix = 0; 114 psfout->iy = 0; 113 // psfout->ix = 0; 114 // psfout->iy = 0; 115 // 091211: JT this is a harmless lie, supposed to be highest pixel 116 psfout->ix = xu; 117 psfout->iy = yu; 118 // 115 119 psfout->x0 = xu; 116 120 psfout->y0 = yu; … … 128 132 psfextra->xfw = xfwhm; 129 133 psfextra->yfw = yfwhm; 134 psfextra->majfw = 0.0; 135 psfextra->minfw = 0.0; 136 psfextra->thfw = 0.0; 137 psfextra->wpeak = 0.0; 138 psfextra->wbkgnd = 0.0; 139 psfextra->dflux = 0.0; 140 psfextra->dbkgnd = 0.0; 141 psfextra->rmsbkgnd = 0.0; 130 142 } 131 143 if(alg == PSF_BIN) psfextra->binfactor = extra; -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/analysis/libpsf/psf2dim.f
r23490 r26764 188 188 wpar(9) = 0.5 189 189 * WAUX: NXPATCH, NYPATCH, NX, XOFF, YOFF, EADU, EXTRASKY, IGNORE_VALUE, INIT 190 waux(1) = min(n,nx-1-mx) + n + 1 191 waux(2) = min(n,ny-1-my) + n + 1 190 C waux(1) = min(n,nx-1-mx) + n + 1 191 C waux(2) = min(n,ny-1-my) + n + 1 192 waux(1) = min(2*n+1, nx-1-iwxs) 193 waux(2) = min(2*n+1, ny-1-iwys) 192 194 waux(3) = nx 193 195 waux(4) = iwxs -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/burntool/burnfix.c
r25070 r26764 72 72 ymid = (cell->burn[k].y0m + cell->burn[k].y1m + 73 73 cell->burn[k].y0p + cell->burn[k].y1p + 2) / 4; 74 i = cell->burn[k].nfit/ 2;74 i = ABS(cell->burn[k].nfit) / 2; 75 75 printf("%3d %5d %3d %5d %5d %3d %5d %3d %5d %5d %2d %1d %1d %6.3f %8d\n", 76 76 k, -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/burntool/burntool.c
r25438 r26764 50 50 fprintf(stderr, "\rerror: burntool could not open file `%s'\n", 51 51 ifilename); 52 exit( EXIT_FAILURE);52 exit(-314); 53 53 } 54 54 nextend = fh_extensions(ihu); … … 57 57 ifilename); 58 58 #ifndef JT2DHACK 59 exit( EXIT_FAILURE);59 exit(-315); 60 60 #endif 61 61 } … … 343 343 ifilename); 344 344 if(persist_fits_remove_tables(ihu, deltablefitsfile) != FH_SUCCESS) { 345 exit(EXIT_FAILURE); 346 } 347 else { 345 exit(-316); 346 } else { 348 347 exit(EXIT_SUCCESS); 349 348 } … … 365 364 /* Read the persistence data for this OTA */ 366 365 if(persistfile != NULL) { /* Text data file */ 367 if(persist_read(OTA, persistfile)) exit( EXIT_FAILURE);366 if(persist_read(OTA, persistfile)) exit(-317); 368 367 } else if(persistfitsfile != NULL) { /* FITS table */ 369 368 if(persist_fits_read(OTA, persistfitsfile) != FH_SUCCESS) 370 exit( EXIT_FAILURE);369 exit(-318); 371 370 } 372 371 … … 427 426 "\rerror: Cannot read EXTNAME from `%s' for extension #%d\n", 428 427 ifilename, ext); 429 exit( EXIT_FAILURE);428 exit(-319); 430 429 } 431 430 if(fh_get_str(ehu, "XTENSION", xtension, sizeof(xtension)) != FH_SUCCESS) { … … 433 432 "\rerror: Cannot read XTENSION from `%s' for extension #%d\n", 434 433 ifilename, ext); 435 exit( EXIT_FAILURE);434 exit(-320); 436 435 } 437 436 if(!strcmp("TABLE", xtension)) { … … 461 460 fprintf(stderr, 462 461 "\rerror: Illegal cell number %d from '%s'\n", cell, extname); 463 exit( EXIT_FAILURE);462 exit(-321); 464 463 } 465 464 … … 487 486 (naxis >= 3 && fh_get_NAXIS3(ehu, &naxis3) != FH_SUCCESS)) { 488 487 fprintf(stderr, "\rerror: Cannot get NAXIS*'\n"); 489 exit( EXIT_FAILURE);488 exit(-322); 490 489 } 491 490 if (naxis != 2) { … … 503 502 } 504 503 fprintf(stderr, "\rerror: 32bpp support not yet implemented in burntool.\n"); 505 exit( EXIT_FAILURE);504 exit(-324); 506 505 } 507 506 /* Check BSCALE and warn if it is anything other than 1.0. … … 525 524 } 526 525 527 buf = (IMTYPE*)malloc(naxis1*naxis2*naxis3*sizeof(short)); 526 if( (buf = (IMTYPE*)malloc(naxis1*naxis2*naxis3*sizeof(short))) == NULL) { 527 fprintf(stderr, "\rerror: failed to alloc FITS buffer\n"); 528 exit(-325); 529 } 528 530 if (fh_read_padded_image(ehu, fh_file_desc(ehu), buf, 529 531 naxis1*naxis2*naxis3*sizeof(short), … … 531 533 fprintf(stderr, "\rerror: failed to read image data for extension `%s'.\n", 532 534 extname); 533 free(buf);534 exit( EXIT_FAILURE);535 // free(buf); 536 exit(-326); 535 537 } 536 538 … … 617 619 fprintf(stderr, "\rerror: failed to re-write image data for extension `%s'.\n", 618 620 extname); 619 free(buf);620 exit( EXIT_FAILURE);621 // free(buf); 622 exit(-327); 621 623 } 622 624 } … … 667 669 if(2*SKY_MARG*ny > nmedian_buf) { 668 670 if(median_buf != NULL) free(median_buf); 669 median_buf = (int *)calloc(2*SKY_MARG*ny, sizeof(int)); 671 if( (median_buf = (int *)calloc(2*SKY_MARG*ny, sizeof(int))) == NULL) { 672 fprintf(stderr, "\rerror: failed to alloc median buffer\n"); 673 exit(-667); 674 } 675 670 676 nmedian_buf = 2*SKY_MARG*ny; 671 677 } … … 674 680 if(NX*NY > nimbuf) { 675 681 if(imbuf != NULL) free(imbuf); 676 imbuf = (int *)calloc(NX*NY, sizeof(DTYPE)); 682 if( (imbuf = (int *)calloc(NX*NY, sizeof(DTYPE))) == NULL) { 683 fprintf(stderr, "\rerror: failed to alloc cell copy\n"); 684 exit(-668); 685 } 677 686 nimbuf = NX*NY; 678 687 } … … 681 690 if(NX*NY > nmbuf) { 682 691 if(mbuf != NULL) free(mbuf); 683 mbuf = (int *)calloc(NX*NY, sizeof(MTYPE)); 692 if( (mbuf = (int *)calloc(NX*NY, sizeof(MTYPE))) == NULL) { 693 fprintf(stderr, "\rerror: failed to alloc mask buffer\n"); 694 exit(-669); 695 } 684 696 nmbuf = NX*NY; 685 697 } … … 688 700 if(NX*NY > nmsbuf) { 689 701 if(msbuf != NULL) free(msbuf); 690 msbuf = (int *)calloc(NX*NY, sizeof(MTYPE)); 702 if( (msbuf = (int *)calloc(NX*NY, sizeof(MTYPE))) == NULL) { 703 fprintf(stderr, "\rerror: failed to alloc veto buffer\n"); 704 exit(-670); 705 } 691 706 nmsbuf = NX*NY; 692 707 } -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/burntool/burntool.h
r25070 r26764 208 208 STATIC int wlinearfit(int npt, double *x, double *y, 209 209 double *w, double *a, double *b); 210 STATIC int linearrms(int npt, double *x, double *y, double a, double b, double *rms); 210 211 STATIC int int_median(int n, int *key); 211 212 STATIC double double_median(int n, double *key); -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/burntool/burnutils.c
r25070 r26764 290 290 return(0); 291 291 } 292 293 /****************************************************************/ 294 /* Return of RMS relative to Fit y = ax + b */ 295 STATIC int linearrms(int npt, double *x, double *y, double a, double b, 296 double *rms) 297 { 298 *rms = 0.0; 299 while(--npt >= 0) *rms += (y[npt]-a*x[npt]-b)*(y[npt]-a*x[npt]-b); 300 if(*rms > 0) *rms = sqrt(*rms); 301 return(0); 302 } -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/burntool/man/burntool.1
r25324 r26764 60 60 correction is applied) and they will propagate from input to output 61 61 until they finally achieve a legal fit with negligible amplitude. 62 Note that if burntool decides that a fit had a bad slope but was 63 non-negligible it negates the "nfit" width parameter of the fit box. 62 64 63 65 Burntool also identifies really blasted areas which are saturated from -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/burntool/persist_fits.c
r25299 r26764 222 222 for(k=0; k<cell[j].npersist; k++) 223 223 { 224 /* Retire old burns */ 225 if(cell[j].time - cell[j].persist[k].time > EXPIRE_TRAIL_TIME) 226 continue; 227 224 228 if(PERSIST_RETAIN) { 225 229 /* Keep fits which have a dubious slope */ … … 233 237 } 234 238 num_areas++; 235 num_fits += cell[j].persist[k].nfit;239 num_fits += ABS(cell[j].persist[k].nfit); 236 240 } 237 241 … … 253 257 } 254 258 num_areas++; 255 num_fits += cell[j].burn[k].nfit;259 num_fits += ABS(cell[j].burn[k].nfit); 256 260 } 257 261 } … … 308 312 (fh_table_write_value(table, data, row, AREA_TABLE_COL_EXFIT, &(area->exfit)) != FH_SUCCESS)) 309 313 { 310 fprintf(stderr, " error: Error writing data to row %d of area table.\n", row);314 fprintf(stderr, "\rerror: Error writing data to row %d of area table.\n", row); 311 315 return FH_BAD_VALUE; 312 316 } … … 346 350 for(k=0; k<cell[j].npersist; k++) 347 351 { 352 /* Retire old burns */ 353 if(cell[j].time - cell[j].persist[k].time > EXPIRE_TRAIL_TIME) 354 continue; 355 348 356 if(PERSIST_RETAIN) { 349 357 /* Keep fits which have a dubious slope */ … … 422 430 (fh_table_write_value(table, data, row, FIT_TABLE_COL_ZERO, &zero) != FH_SUCCESS)) 423 431 { 424 fprintf(stderr, " error: Error writing data to row %d of fit table.\n", row);432 fprintf(stderr, "\rerror: Error writing data to row %d of fit table.\n", row); 425 433 return FH_BAD_VALUE; 426 434 } … … 460 468 for(k=0; k<cell[j].npersist; k++) 461 469 { 470 /* Retire old burns */ 471 if(cell[j].time - cell[j].persist[k].time > EXPIRE_TRAIL_TIME) 472 continue; 473 462 474 if(PERSIST_RETAIN) { 463 475 /* Keep fits which have a dubious slope */ … … 468 480 if(cell[j].persist[k].fiterr) continue; 469 481 } 470 for(i=0; i< cell[j].persist[k].nfit; i++)482 for(i=0; i<ABS(cell[j].persist[k].nfit); i++) 471 483 { 472 484 result = write_fit_row(hu, data, table, row++, … … 493 505 } 494 506 495 for(i=0; i< cell[j].burn[k].nfit; i++)507 for(i=0; i<ABS(cell[j].burn[k].nfit); i++) 496 508 { 497 509 result = write_fit_row(hu, data, table, row++, … … 534 546 { 535 547 fprintf(stderr, 536 " error: Unable to get cell number from row %d of burn area table\n",548 "\rerror: Unable to get cell number from row %d of burn area table\n", 537 549 row); 538 550 return FH_BAD_VALUE; … … 542 554 if((cell_num < 0) || (cell_num > MAXCELL)) 543 555 { 544 fprintf(stderr, " error: illegal cell %d in area table row %d\n",556 fprintf(stderr, "\rerror: illegal cell %d in area table row %d\n", 545 557 cell_num, row); 546 558 boxbuf[row].cell = -1; … … 576 588 { 577 589 fprintf(stderr, 578 " error: Error reading values from row %d of burn area table\n",590 "\rerror: Error reading values from row %d of burn area table\n", 579 591 row); 580 592 boxbuf[row].nfit = 0; … … 583 595 584 596 /* Make space for fits (to be read later). */ 585 if( boxbuf[row].nfit> 0)597 if(ABS(boxbuf[row].nfit) > 0) 586 598 { 587 599 /* This shouldn't happen, but be nice and don't leak. */ … … 590 602 if(boxbuf[row].yfit) free(boxbuf[row].yfit); 591 603 592 boxbuf[row].zero = (double *)calloc(boxbuf[row].nfit, sizeof(double)); 593 boxbuf[row].xfit = (int *)calloc(boxbuf[row].nfit, sizeof(int)); 594 boxbuf[row].yfit = (int *)calloc(boxbuf[row].nfit, sizeof(int)); 604 boxbuf[row].zero = (double *)calloc(ABS(boxbuf[row].nfit), sizeof(double)); 605 boxbuf[row].xfit = (int *)calloc(ABS(boxbuf[row].nfit), sizeof(int)); 606 boxbuf[row].yfit = (int *)calloc(ABS(boxbuf[row].nfit), sizeof(int)); 607 608 if(boxbuf[row].zero == NULL || 609 boxbuf[row].xfit == NULL || 610 boxbuf[row].yfit == NULL) { 611 fprintf(stderr, "\rerror: failed to alloc boxbuf\n"); 612 exit(-671); 613 } 595 614 boxbuf[row].fiterr = 0; 596 615 } … … 627 646 (fh_get_int(hu, "TFIELDS", &num_cols) != FH_SUCCESS)) 628 647 { 629 fprintf(stderr, " error: Unable to find required keywords for area table dimensions\n");648 fprintf(stderr, "\rerror: Unable to find required keywords for area table dimensions\n"); 630 649 return FH_NOT_FOUND; 631 650 } … … 634 653 if(num_cols != table->num_cols) 635 654 { 636 fprintf(stderr, " error: %d-column area table found, expected %d cols.\n",655 fprintf(stderr, "\rerror: %d-column area table found, expected %d cols.\n", 637 656 num_cols, table->num_cols); 638 657 return FH_BAD_VALUE; … … 642 661 { 643 662 fprintf(stderr, 644 " error: too many boxes in area table. Max is %d, got %d\n",663 "\rerror: too many boxes in area table. Max is %d, got %d\n", 645 664 MAXBURN, num_rows); 646 665 return FH_BAD_VALUE; … … 654 673 { 655 674 fprintf(stderr, 656 " error: Unable to allocate %d bytes for area table.\n",675 "\rerror: Unable to allocate %d bytes for area table.\n", 657 676 table->table_size); 658 677 return FH_NO_MEMORY; … … 662 681 table->table_size, FH_TYPESIZE_8) != FH_SUCCESS) 663 682 { 664 fprintf(stderr, " error: Unable to map area table body for reading.\n");683 fprintf(stderr, "\rerror: Unable to map area table body for reading.\n"); 665 684 free(data); 666 685 return FH_INVALID; … … 713 732 { 714 733 fprintf(stderr, 715 " error: Unable to get cell number from row %d of fit table\n",734 "\rerror: Unable to get cell number from row %d of fit table\n", 716 735 row); 717 736 return FH_BAD_VALUE; … … 720 739 if((*cell < 0) || (*cell > MAXCELL)) 721 740 { 722 fprintf(stderr, " error: illegal cell %d in fit table row %d\n",741 fprintf(stderr, "\rerror: illegal cell %d in fit table row %d\n", 723 742 *cell, row); 724 743 … … 733 752 { 734 753 fprintf(stderr, 735 " error: Error reading values from row %d of burn area table\n",754 "\rerror: Error reading values from row %d of burn area table\n", 736 755 row); 737 756 return FH_BAD_VALUE; … … 782 801 (fh_get_int(hu, "TFIELDS", &num_cols) != FH_SUCCESS)) 783 802 { 784 fprintf(stderr, " error: Unable to find required keywords for fit table dimensions\n");803 fprintf(stderr, "\rerror: Unable to find required keywords for fit table dimensions\n"); 785 804 return FH_NOT_FOUND; 786 805 } … … 789 808 if(num_cols != table->num_cols) 790 809 { 791 fprintf(stderr, " error: %d-column fit table found, expected %d cols.\n",810 fprintf(stderr, "\rerror: %d-column fit table found, expected %d cols.\n", 792 811 num_cols, table->num_cols); 793 812 return FH_BAD_VALUE; … … 805 824 { 806 825 fprintf(stderr, 807 " error: Unable to allocate %d bytes for area table.\n",826 "\rerror: Unable to allocate %d bytes for area table.\n", 808 827 table->table_size); 809 828 return FH_NO_MEMORY; … … 811 830 if(fh_read_image(hu, fh_file_desc(hu), data, table->table_size, FH_TYPESIZE_8) != FH_SUCCESS) 812 831 { 813 fprintf(stderr, " error: Unable to read fit table body.\n");832 fprintf(stderr, "\rerror: Unable to read fit table body.\n"); 814 833 free(data); 815 834 return FH_INVALID; … … 821 840 for(area = 0; area < num_areas; area++) 822 841 { 823 for(i = 0; i < boxbuf[area].nfit; i++)842 for(i = 0; i < ABS(boxbuf[area].nfit); i++) 824 843 { 825 844 if((result = read_fit(hu, table, data, fit_table_row, … … 836 855 { 837 856 fprintf(stderr, 838 " error: Fit in table row %d does not match current area "857 "\rerror: Fit in table row %d does not match current area " 839 858 "(table cell=%d cx=%d cy=%d vs. area cell=%d cx=%d cy=%d)\n", 840 859 fit_table_row, … … 891 910 { 892 911 fprintf(stderr, 893 " error: unable to create header structure for FITS file \"%s\"\n",912 "\rerror: unable to create header structure for FITS file \"%s\"\n", 894 913 filename); 895 914 return FH_NO_MEMORY; … … 899 918 if ((result = fh_file(phu, filename, FH_FILE_RDONLY)) != FH_SUCCESS) 900 919 { 901 fprintf(stderr, 902 "error: unable to open FITS file \"%s\"\n", 920 fprintf(stderr, "\rerror: unable to open FITS file \"%s\"\n", 903 921 filename); 904 922 fh_destroy(phu); … … 911 929 if(!area_hu || !fit_hu) 912 930 { 913 fprintf(stderr, 914 "error: Unable to find persistence info in FITS file.\n"); 931 fprintf(stderr, "\rerror: Unable to find persistence info in FITS file.\n"); 915 932 fh_destroy(phu); 916 933 return FH_NOT_FOUND; … … 926 943 free(fit_table.strbuf); 927 944 fh_destroy(phu); 945 fprintf(stderr, "\rerror: Unable to read area table from FITS file.\n"); 928 946 return result; 929 947 } … … 935 953 free(fit_table.strbuf); 936 954 fh_destroy(phu); 955 fprintf(stderr, "\rerror: Unable to read fit table from FITS file.\n"); 937 956 return result; 938 957 } … … 961 980 for(k=0; k<MAXCELL; k++) { 962 981 if( (i=cell[k].npersist) > 0) { 963 cell[k].persist = (OBJBOX *)calloc(i, sizeof(OBJBOX)); 982 if( (cell[k].persist = (OBJBOX *)calloc(i, sizeof(OBJBOX))) == NULL) { 983 fprintf(stderr, "\rerror: failed to alloc cell persist buffer\n"); 984 exit(-672); 985 } 964 986 cell[k].npersist = 0; 965 987 } … … 1018 1040 { 1019 1041 fprintf(stderr, 1020 " error: Unable to write correction info to FITS file. Correction FITS tables already exist.\n");1042 "\rerror: Unable to write correction info to FITS file. Correction FITS tables already exist.\n"); 1021 1043 return FH_NO_SPACE; 1022 1044 } … … 1025 1047 if ((fd = fh_file_desc(phu)) == -1) 1026 1048 { 1027 fprintf(stderr, " error: header passed has no associated file.\n");1049 fprintf(stderr, "\rerror: header passed has no associated file.\n"); 1028 1050 return FH_INVALID; 1029 1051 } … … 1033 1055 { 1034 1056 fprintf(stderr, 1035 " error: Unable to seek to end of file.\n");1057 "\rerror: Unable to seek to end of file.\n"); 1036 1058 return FH_IN_ERRNO; 1037 1059 } … … 1042 1064 { 1043 1065 fprintf(stderr, 1044 " error: Unable to create headers for correction FITS tables.\n");1066 "\rerror: Unable to create headers for correction FITS tables.\n"); 1045 1067 if(area_hu) fh_destroy(area_hu); 1046 1068 if(fit_hu) fh_destroy(fit_hu); … … 1066 1088 (fh_munmap_table(area_hu) != FH_SUCCESS)) 1067 1089 { 1068 fprintf(stderr, " error: Error encountered writing area table to FITS file.\n");1090 fprintf(stderr, "\rerror: Error encountered writing area table to FITS file.\n"); 1069 1091 fh_destroy(fit_hu); 1070 1092 free(area_table.strbuf); … … 1087 1109 (fh_munmap_table(fit_hu) != FH_SUCCESS)) 1088 1110 { 1089 fprintf(stderr, " error: Error encountered writing area table to FITS file.\n");1111 fprintf(stderr, "\rerror: Error encountered writing area table to FITS file.\n"); 1090 1112 free(area_table.strbuf); 1091 1113 free(fit_table.strbuf); … … 1149 1171 if(fh_get_int(phu_in, "NEXTEND", &num_extensions) != FH_SUCCESS) 1150 1172 { 1151 fprintf(stderr, " error: Unable to get NEXTEND from input primary FITS header.\n");1173 fprintf(stderr, "\rerror: Unable to get NEXTEND from input primary FITS header.\n"); 1152 1174 return FH_INVALID; 1153 1175 } … … 1157 1179 { 1158 1180 fprintf(stderr, 1159 " error: Unable to find persistence info in FITS file.\n");1181 "\rerror: Unable to find persistence info in FITS file.\n"); 1160 1182 return FH_INVALID; 1161 1183 } … … 1175 1197 if((fd_out = open(fileout, O_CREAT | O_RDWR, 0644)) < 0) 1176 1198 { 1177 fprintf(stderr, " error: Failed to open \"%s\" for output.\n",1199 fprintf(stderr, "\rerror: Failed to open \"%s\" for output.\n", 1178 1200 fileout); 1179 1201 exit(EXIT_FAILURE); … … 1192 1214 (fh_write(phu_out, fd_out) != FH_SUCCESS)) 1193 1215 { 1194 fprintf(stderr, " error: Unable to copy primary header to \"%s\"\n",1216 fprintf(stderr, "\rerror: Unable to copy primary header to \"%s\"\n", 1195 1217 fileout); 1196 1218 fh_destroy(phu_out); … … 1209 1231 if(!(ehu_in = fh_ehu(phu_in, i))) 1210 1232 { 1211 fprintf(stderr, " error: Unable to read extension %d from input FITS file\n", i);1233 fprintf(stderr, "\rerror: Unable to read extension %d from input FITS file\n", i); 1212 1234 fh_destroy(phu_out); 1213 1235 close(fd_out); … … 1217 1239 if (fh_get_str(ehu_in, "EXTNAME", extname, sizeof(extname)) != FH_SUCCESS) 1218 1240 { 1219 fprintf(stderr, " error: Unable to get EXTNAME from extension %d in input FITS file.\n", i);1241 fprintf(stderr, "\rerror: Unable to get EXTNAME from extension %d in input FITS file.\n", i); 1220 1242 fh_destroy(phu_out); 1221 1243 close(fd_out); … … 1233 1255 (fh_reserve(ehu_out, (2880/80)) != FH_SUCCESS)) 1234 1256 { 1235 fprintf(stderr, " error: Unable to copy extension %d to %s.\n", i, fileout);1257 fprintf(stderr, "\rerror: Unable to copy extension %d to %s.\n", i, fileout); 1236 1258 fh_destroy(phu_out); 1237 1259 close(fd_out); … … 1248 1270 (fh_copy_padded_image(ehu_out, fd_out, fh_file_desc(ehu_in)) != FH_SUCCESS)) 1249 1271 { 1250 fprintf(stderr, " error: Unable to copy extension %d to %s.\n", i, fileout);1272 fprintf(stderr, "\rerror: Unable to copy extension %d to %s.\n", i, fileout); 1251 1273 fh_destroy(phu_out); 1252 1274 close(fd_out); -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/burntool/persistio.c
r25299 r26764 51 51 &boxbuf[nbox].slope, &boxbuf[nbox].nfit, 52 52 &boxbuf[nbox].sxfit, &boxbuf[nbox].exfit); 53 if(boxbuf[nbox].nfit > 0) { 54 boxbuf[nbox].zero = (double *)calloc(boxbuf[nbox].nfit, sizeof(double)); 55 boxbuf[nbox].xfit = (int *)calloc(boxbuf[nbox].nfit, sizeof(int)); 56 boxbuf[nbox].yfit = (int *)calloc(boxbuf[nbox].nfit, sizeof(int)); 57 for(i=0; i<boxbuf[nbox].nfit; i++) { 53 if(ABS(boxbuf[nbox].nfit) > 0) { 54 boxbuf[nbox].zero = (double *)calloc(ABS(boxbuf[nbox].nfit), sizeof(double)); 55 boxbuf[nbox].xfit = (int *)calloc(ABS(boxbuf[nbox].nfit), sizeof(int)); 56 boxbuf[nbox].yfit = (int *)calloc(ABS(boxbuf[nbox].nfit), sizeof(int)); 57 if(boxbuf[nbox].zero == NULL || 58 boxbuf[nbox].xfit == NULL || 59 boxbuf[nbox].yfit == NULL) { 60 fprintf(stderr, "\rerror: failed to alloc boxbuf\n"); 61 exit(-673); 62 } 63 64 for(i=0; i<ABS(boxbuf[nbox].nfit); i++) { 58 65 if(fgets(line, 1024, fp) == NULL) { 59 66 fprintf(stderr, "\rerror: short read of burn lines\n"); … … 85 92 for(k=0; k<MAXCELL; k++) { 86 93 if( (i=cell[k].npersist) > 0) { 87 cell[k].persist = (OBJBOX *)calloc(i, sizeof(OBJBOX)); 94 if( (cell[k].persist = (OBJBOX *)calloc(i, sizeof(OBJBOX))) == NULL) { 95 fprintf(stderr, "\rerror: failed to alloc cell persist buffer\n"); 96 exit(-674); 97 } 88 98 cell[k].npersist = 0; 89 99 } … … 149 159 k = boxid[kp]; 150 160 zk = 0.0; 151 if( box[k].nfit > 0) zk = box[k].zero[box[k].nfit/2];161 if(ABS(box[k].nfit) > 0) zk = box[k].zero[ABS(box[k].nfit)/2]; 152 162 for(jp=kp+1; jp<n; jp++) { 153 163 j = boxid[jp]; 154 164 zj = 0.0; 155 if( box[j].nfit > 0) zj = box[j].zero[box[j].nfit/2];165 if(ABS(box[j].nfit) > 0) zj = box[j].zero[ABS(box[j].nfit)/2]; 156 166 if(ABS(yctr[jp]-yctr[kp]) > DIFFERENT_STREAK) { 157 167 /* Trim back the feebler streak */ … … 242 252 for(k=0; k<cell[j].npersist; k++) { 243 253 254 /* Retire old burns */ 255 if(cell[j].time - cell[j].persist[k].time > EXPIRE_TRAIL_TIME) 256 continue; 257 244 258 if(PERSIST_RETAIN) { 245 259 /* Keep fits which have a dubious slope */ … … 265 279 cell[j].persist[k].slope, cell[j].persist[k].nfit, 266 280 cell[j].persist[k].sxfit, cell[j].persist[k].exfit); 267 for(i=0; i< cell[j].persist[k].nfit; i++) {281 for(i=0; i<ABS(cell[j].persist[k].nfit); i++) { 268 282 fprintf(fp, "%3d %3d %8.4f\n", cell[j].persist[k].xfit[i], 269 283 cell[j].persist[k].yfit[i], cell[j].persist[k].zero[i]); … … 301 315 cell[j].burn[k].slope, cell[j].burn[k].nfit, 302 316 cell[j].burn[k].sxfit, cell[j].burn[k].exfit); 303 for(i=0; i< cell[j].burn[k].nfit; i++) {317 for(i=0; i<ABS(cell[j].burn[k].nfit); i++) { 304 318 fprintf(fp, "%3d %3d %8.4f\n", cell[j].burn[k].xfit[i], 305 319 cell[j].burn[k].yfit[i], cell[j].burn[k].zero[i]); -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/burntool/psfstamp.c
r25438 r26764 112 112 113 113 /* Make a postage stamp for it */ 114 box[k].stamp = (IMTYPE *)calloc(size*size, sizeof(IMTYPE)); 114 if( (box[k].stamp = (IMTYPE *)calloc(size*size, sizeof(IMTYPE))) == NULL) { 115 fprintf(stderr, "\rerror: failed to stamp buffer\n"); 116 exit(-675); 117 } 118 115 119 sum = 0; 116 120 for(j=y0; j<=y1; j++) { … … 136 140 int i, k, l, nstar, fdout, otacx, otacy, xid, yid, ntot=0, sumax; 137 141 int cellcount, ota_xid, ota_yid; 138 double scale, phi, fwhm[3], q[ 5], qt, xfp, yfp, pi=4*atan(1.0);142 double scale, phi, fwhm[3], q[7], qt, xfp, yfp, pi=4*atan(1.0); 139 143 IMTYPE *median_image; 140 144 CELL *cell; … … 171 175 172 176 /* Create a median image and write as the first one */ 173 median_image = (IMTYPE *)calloc(nx*ny, sizeof(IMTYPE)); 177 if( (median_image = (IMTYPE *)calloc(nx*ny, sizeof(IMTYPE))) == NULL) { 178 fprintf(stderr, "\rerror: failed to alloc median PSF image\n"); 179 exit(-676); 180 } 174 181 for(i=0; i<nx*ny; i++) { 175 182 nstar = 0; … … 256 263 int k, l, cellx, celly, ota_xid, ota_yid, nfwave, nqavg; 257 264 double xota, yota, xfp, yfp, phi; 258 double fwhm[3], q[ 5], fw[MAXPSFMEDIAN];265 double fwhm[3], q[7], fw[MAXPSFMEDIAN]; 259 266 double m2[MAXPSFMEDIAN], qp[MAXPSFMEDIAN], qc[MAXPSFMEDIAN]; 260 267 double qt[MAXPSFMEDIAN], fwavg[MAXPSFMEDIAN]; 268 double qpavg[MAXPSFMEDIAN], qcavg[MAXPSFMEDIAN], qtavg[MAXPSFMEDIAN]; 261 269 double q3c[MAXPSFMEDIAN], q3s[MAXPSFMEDIAN]; 262 double qpavg[MAXPSFMEDIAN], qcavg[MAXPSFMEDIAN], qtavg[MAXPSFMEDIAN];263 270 double q3cavg[MAXPSFMEDIAN], q3savg[MAXPSFMEDIAN]; 271 double q1c[MAXPSFMEDIAN], q1s[MAXPSFMEDIAN]; 272 double q1cavg[MAXPSFMEDIAN], q1savg[MAXPSFMEDIAN]; 264 273 int nstar[MAXCELL], nfw[MAXCELL]; 265 274 double fwmed[MAXCELL], m2med[MAXCELL]; 266 275 double qpmed[MAXCELL], qcmed[MAXCELL], qtmed[MAXCELL]; 267 276 double q3cmed[MAXCELL], q3smed[MAXCELL]; 268 double qpmacro, qcmacro, qtmacro, fwmacro, q3cmacro, q3smacro; 277 double q1cmed[MAXCELL], q1smed[MAXCELL]; 278 double qpmacro, qcmacro, qtmacro, fwmacro, q3cmacro, q3smacro, q1cmacro, q1smacro; 269 279 FILE *fp; 270 280 CELL *cell; … … 310 320 q3c[nstar[k]] = q[3]; 311 321 q3s[nstar[k]] = q[4]; 322 q1c[nstar[k]] = q[5]; 323 q1s[nstar[k]] = q[6]; 312 324 /* Get the position in the focal plane and therefore the qt statistic */ 313 325 psc_cell_to_pixel(cellx, celly, 0.5*PSC_HCELL/PSC_PIXEL, … … 333 345 q3cmed[k] = double_median(nstar[k], q3c); 334 346 q3smed[k] = double_median(nstar[k], q3s); 347 q1cmed[k] = double_median(nstar[k], q1c); 348 q1smed[k] = double_median(nstar[k], q1s); 335 349 } else { 336 350 m2med[k] = qpmed[k] = qcmed[k] = qtmed[k] = -99.99; 337 351 q3cmed[k] = q3smed[k] = -99.99; 352 q1cmed[k] = q1smed[k] = -99.99; 338 353 } 339 354 /* Toss these results into the macrocell median hopper */ … … 348 363 q3cavg[nqavg] = q3c[l]; 349 364 q3savg[nqavg] = q3s[l]; 365 q1cavg[nqavg] = q1c[l]; 366 q1savg[nqavg] = q1s[l]; 350 367 nqavg++; 351 368 } … … 359 376 q3cmacro = double_median(nqavg, q3cavg); 360 377 q3smacro = double_median(nqavg, q3savg); 361 if(nqavg == 0) qpmacro = qcmacro = qtmacro = q3cmacro = q3smacro = -99.99; 378 q1cmacro = double_median(nqavg, q1cavg); 379 q1smacro = double_median(nqavg, q1savg); 380 if(nqavg == 0) qpmacro = qcmacro = qtmacro = q3cmacro = q3smacro = q1cmacro = q1smacro = -99.99; 362 381 fwmacro = double_median(nfwave, fwavg); 363 382 … … 370 389 cell = ota + k; 371 390 372 fprintf(fp, "ext=xy%1d%1d bias=%d sky=%d rmssky=%d npsf=%d fwhm=%.2f fwmed=%.2f m2=%.2f qp=%.3f qc=%.3f qt=%.3f q3c=%.3f q3s=%.3f q pm=%.3f qcm=%.3f qtm=%.3f q3cm=%.3f q3sm=%.3f\n",391 fprintf(fp, "ext=xy%1d%1d bias=%d sky=%d rmssky=%d npsf=%d fwhm=%.2f fwmed=%.2f m2=%.2f qp=%.3f qc=%.3f qt=%.3f q3c=%.3f q3s=%.3f q1c=%.3f q1s=%.3f qpm=%.3f qcm=%.3f qtm=%.3f q3cm=%.3f q3sm=%.3f q1cm=%.3f q1sm=%.3f\n", 373 392 cellx, celly, cell->bias, cell->sky, cell->rms, 374 393 nstar[k], fwmed[k], fwmacro, m2med[k], 375 qpmed[k], qcmed[k], qtmed[k], q3cmed[k], q3smed[k], 376 qpmacro, qcmacro, qtmacro, q3cmacro, q3smacro); 394 qpmed[k], qcmed[k], qtmed[k], q3cmed[k], q3smed[k], 395 q1cmed[k], q1smed[k], 396 qpmacro, qcmacro, qtmacro, q3cmacro, q3smacro, 397 q1cmacro, q1smacro); 377 398 } 378 399 } -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/burntool/stardetect.c
r25070 r26764 193 193 cell->burn = (OBJBOX *)calloc(cell->nburn, sizeof(OBJBOX)); 194 194 cell->star = (OBJBOX *)calloc(cell->nstar, sizeof(OBJBOX)); 195 if( cell->burn == NULL || cell->star == NULL) { 196 fprintf(stderr, "\rerror: failed to alloc burn box\n"); 197 exit(-678); 198 } 195 199 196 200 /* Copy the boxes to the cell info structure */ -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/burntool/trailfit.c
r25299 r26764 137 137 box->xfit = (int *)calloc(xe-xs+1, sizeof(int)); 138 138 box->yfit = (int *)calloc(xe-xs+1, sizeof(int)); 139 if(box->zero == NULL || box->xfit == NULL || box->yfit == NULL) { 140 fprintf(stderr, "\rerror: failed to alloc box memory\n"); 141 exit(-679); 142 } 139 143 /* Some defaults */ 140 144 box->slope = 0.0; … … 226 230 /* FIXME: sanity check fits */ 227 231 if(slope >= FIT_MAX_SLOPE || slope < FIT_MIN_SLOPE) { 232 /* Check whether it's a significant trail (but with wrong slope) or just 233 * noise. In the former case negate box->nfit, 234 * in the latter case set it to zero. */ 235 linearrms(nfit, ybuf+y1, zbuf+y1, slope, zero, &trial); 228 236 box->slope = slope; 229 box->nfit = 0; 237 if(trial > 2*rms) box->nfit = -box->nfit; 238 else box->nfit = 0; 230 239 box->fiterr = FIT_SLOPE_ERROR; 231 240 return(-1); … … 268 277 /* FIXME: what's a really good criterion for negligible fit? */ 269 278 /* 100 pixels up fit is zsum or ~zsum/e */ 270 if(zsum > NEGLIGIBLE_TRAIL*rms) { 279 // if(zsum > NEGLIGIBLE_TRAIL*rms) { 280 if(zsum > NEGLIGIBLE_TRAIL*rms || 281 /* 100113: but also evaluate at the end of the fit for stubby trails */ 282 zbuf[y2]*zsum > NEGLIGIBLE_TRAIL*rms) { 271 283 272 284 /* Ascertain the starting point of where the fit is good */ -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/libfhreg/general.h
r23490 r26764 79 79 MK_PFL( 10.0, BZERO ,1, "Zero factor" ) 80 80 MK_PFL( 11.0, BSCALE ,1, "Scale factor" ) 81 MK_STR( 12.0, BUNIT , "fits-data * BSCALE + BZERO = these units" ) 81 82 82 83 /* … … 90 91 MK_CMT( 50.5, CMTSUM5 , "" ) 91 92 MK_STR( 51.0, CMMTOBS , "" ) 93 MK_STR( 51.1, CMMTOBS1, "" ) 94 MK_STR( 51.2, CMMTOBS2, "" ) 95 MK_STR( 51.3, CMMTOBS3, "" ) 96 MK_STR( 51.4, CMMTOBS4, "" ) 97 MK_STR( 51.5, CMMTOBS5, "" ) 98 MK_STR( 51.6, CMMTOBS6, "" ) 99 MK_STR( 51.7, CMMTOBS7, "" ) 100 MK_STR( 51.8, CMMTOBS8, "" ) 101 MK_STR( 51.9, CMMTOBS9, "" ) 92 102 MK_STR( 52.0, CMMTSEQ , "" ) 93 103 MK_STR( 53.0, OBJECT , "" ) … … 127 137 128 138 MK_STR( 95.0, OBSTYPE, "Observation/Exposure type" ) 129 MK_PFL( 96.0, EXPTIME,3, "Exposure time (seconds)" ) 130 MK_PFL( 96.1, EXPREQ ,3, "Exposure time requested (seconds)" ) 131 MK_PFL( 97.0, DARKTIME,3, "Dark current time (seconds)" ) 139 MK_PFL( 96.0, EXPTIME,3, "[sec] Exposure time" ) 140 MK_PFL( 96.1, EXPREQ ,3, "[sec] Exposure time requested" ) 141 MK_PFL( 97.0, DARKTIME,3, "[sec] Dark current time" ) 142 MK_INT( 97.5, PONTIME, "[sec] Time since last detector \"power on\"" ) 143 MK_INT( 97.6, SATTIME, "[sec] Time since last detected saturation event" ) 144 MK_INT( 97.7, TRKTIME, "[sec] Time since last detected tracking error" ) 145 MK_INT( 97.8, VDOTIME, "[sec] Time since \"video\" command used" ) -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/libfhreg/gpc_all.h
r23490 r26764 20 20 #include "gpc_wcs.h" 21 21 #include "gpc_plant.h" 22 #include "gpc_postprocess.h" -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/libfhreg/gpc_detector.h
r23490 r26764 69 69 MK_INT( 152.1, SATURATE, "[ADU] Saturation value" ) 70 70 MK_FLT( 155.0, GAIN ,3, "[e/ADU] est. gain from xray" ) 71 MK_FLT( 155.9, XRNOISE, 2, "[ADU] RMS noise in overscan on xray")72 MK_FLT( 156.0, RDNOISE ,2, "[ADU] RMS Read noise on overscan")71 MK_FLT( 155.9, XRNOISE, 3, "[e] RMS noise in overscan on xray" ) 72 MK_FLT( 156.0, RDNOISE ,3, "[e] Read noise" ) 73 73 MK_FLT( 157.0, DCURRENT,5, "[ADU/pixel/sec] Dark current" ) 74 74 MK_FLT( 157.1, DARKCUR ,5, "[e-/pixel/hour] Dark current" ) 75 75 MK_STR( 158.0, QEPOINTS, "QE%@wavelength in nm" ) 76 76 MK_INT( 159.0, BIASLVL, "[ADU] Bias level (overscan mean)" ) 77 MK_INT( 159.2, BACKEST, "[ADU] Background level est ., overscan corrected")77 MK_INT( 159.2, BACKEST, "[ADU] Background level estimation" ) 78 78 MK_STR( 165.0, DETSTAT , "Detector status" ) 79 79 MK_FLT( 166.0, DETTEM ,3, "[C] Detector temperature" ) 80 MK_CMT( 166.1, CMTDETT1, "If DETTEMOV is T, DETTEMP was overridden. Old" ) 81 MK_CMT( 166.2, CMTDETT2, "temp. is CDETTEM and new temp. was derived as:" ) 82 MK_CMT( 166.3, CMTDETT3, "V = (ADU-B) / (A*32768)" ) 83 MK_CMT( 166.4, CMTDETT4, "T = 3369-sqrt[3369^2+1313^2*(13.1*V-1)/(V-1)]" ) 84 MK_BLN( 166.5, DETTEMOV, "Detector temperature overridden" ) 85 MK_INT( 166.6, DETTEADU, "[ADU] Detector temperature A/D measurement" ) 86 MK_PFL( 166.7, DETTCOFA,3, "Coefficient A used in overriding detector temp." ) 87 MK_INT( 166.8, DETTCOFB, "Coefficient B used in overriding detector temp." ) 88 MK_FLT( 166.9, CDETTEM ,3, "[C] Detector temperature calc. by controller" ) 80 89 MK_PFL( 170.0, PIXSIZE ,3, "[um] Pixel size for both axes" ) 81 90 MK_PFL( 171.1, PIXSIZE1,3, "[um] Pixel size for axis 1" ) … … 105 114 MK_INT( 185.2, CCDBIN2 , "Binning factor along axis 2" ) 106 115 MK_INT( 186.1, PRESCAN1, "Prescan count on axis 1" ) 116 MK_INT( 186.11,PRESCANX, "Post-xtrig-bias portion of prescan1" ) 107 117 MK_INT( 186.2, PRESCAN2, "Prescan count on axis 2" ) 108 118 MK_INT( 187.1, OVRSCAN1, "Overscan count on axis 1" ) … … 144 154 MK_INT( 198.07,CON_UP, "[seconds] Controller up-time" ) 145 155 MK_STR( 198.08,CON_VSUM, "Device operating point md5sum" ) 156 MK_INT( 198.10,FPGASER, "Controller FPGA board serial number" ) 157 MK_STR( 198.11,FPGAVER, "Controller FPGA board version" ) 158 MK_STR( 198.12,FPGATAR, "Controller FPGA board target system" ) 159 MK_STR( 198.13,FPGAEC, "Controller FPGA board engineering changes" ) 160 MK_INT( 198.20,DAQ3USER, "Controller DAQ3U board serial number" ) 161 MK_STR( 198.21,DAQ3UVER, "Controller DAQ3U board version" ) 162 MK_STR( 198.22,DAQ3UTAR, "Controller DAQ3U board target system" ) 163 MK_STR( 198.23,DAQ3UEC, "Controller DAQ3U board engineering changes" ) 164 MK_INT( 198.20,PREAMSER, "Controller Preamp board serial number" ) 165 MK_STR( 198.21,PREAMVER, "Controller Preamp board version" ) 166 MK_STR( 198.22,PREAMTAR, "Controller Preamp board target system" ) 167 MK_STR( 198.23,PREAMEC, "Controller Preamp board engineering changes" ) 168 MK_INT( 198.30,DAQLBSER, "DAQ3U loopback test board serial number" ) 169 MK_STR( 198.31,DAQLBVER, "DAQ3U loopback test board version" ) 170 MK_STR( 198.32,DAQLBTAR, "DAQ3U loopback test board target system" ) 171 MK_STR( 198.33,DAQLBEC, "DAQ3U loopback test board engineering changes" ) 146 172 MK_INT( 198.40,TSP_SHOP, "Milliseconds from last clean to shutter open" ) 147 173 MK_INT( 198.41,TSP_SHCL, "Milliseconds from last clean to shutter close" ) -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/libfhreg/gpc_instrument.h
r23490 r26764 63 63 MK_PFL( 1009.11,L3AIRTMP,1, "[C] Air temperature in space above L3" ) 64 64 MK_PFL( 1009.12,L3DEWPT, 1, "[C] Calculated dew point in space above L3" ) 65 MK_PFL( 1009.20,ENHUMID, 1, "[%] Rel. humidity of cam. evironment (ferit)" ) 66 MK_PFL( 1009.21,ENAIRTMP,1, "[C] Air temperature of camera environment" ) 67 MK_PFL( 1009.22,ENDEWPT, 1, "[C] Calculated dew point of camera environment" ) 68 MK_STR( 1009.30,GLYSTAT, "Camera heat exchanger glycol status" ) 69 MK_STR( 1009.31,GLYMODE, "Camera heat exchanger glycol mode" ) 65 70 MK_STR( 1010.0, FILTSTAT, "Filter mechanism status" ) 66 71 MK_STR( 1010.1, FILTERID, "Filter glass identification" ) … … 80 85 MK_INT( 1224.0, SH_ARMPN , "motion controller input pins" ) 81 86 MK_PFL( 1225.0, SH_DIODE,1, "Vref/4096 (Vref=5V nominal) photodiode volts" ) 87 MK_STR( 1260.1, CS_LIGHT, "Cal screen laser status during exposure" ) 88 MK_STR( 1261.0, CS_LIMIT, "Cal screen laser exposure limit: time|volt" ) 89 MK_PFL( 1262.0, CS_WAVE,1, "Cal screen laser wavelength" ) 90 MK_PFL( 1263.0, CS_EXPT,1, "Cal screen laser exposure time" ) 91 MK_PFL( 1264.0, CS_VOLTS,3, "Cal screen laser photodiode limit voltage" ) 92 MK_PFL( 1265.1, CS_INTV1,3, "Cal screen photodiode integrator pre-voltage" ) 93 MK_PFL( 1265.2, CS_INTV2,3, "Cal screen photodiode integrator start-voltage" ) 94 MK_PFL( 1265.3, CS_INTV3,3, "Cal screen photodiode integrator stop-voltage" ) 95 MK_PFL( 1265.4, CS_INTV4,3, "Cal screen photodiode integrator post-voltage" ) 96 MK_PFL( 1266.1, CS_INTT1,3, "Cal screen photodiode integrator pre-seconds" ) 97 MK_PFL( 1266.2, CS_INTT2,3, "Cal screen photodiode integrator exposure sec" ) 98 MK_PFL( 1266.3, CS_INTT3,3, "Cal screen photodiode integrator post-seconds" ) 99 MK_PFL( 1267.0, CS_SHOP,3, "GPC1 shutter open start" ) 100 MK_PFL( 1268.0, CS_SHCL,3, "GPC1 shutter close start" ) 101 -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/libfhreg/gpc_shutter.h
r23490 r26764 57 57 MK_STR( 201.0, SHUTSTAT, "Shutter status" ) 58 58 MK_STR( 201.1, SHUTERR, "Shutter error code" ) 59 MK_STR( 202.00,SHUTOPEN, " Shutter open time (TAI)")60 MK_STR( 202.01,SHUTCLOS, " Shutter close time (TAI)")61 MK_PFL( 202.02,SHUTOPWN,6, " Shutter open uncertainty before SHUTOPEN (sec)" )62 MK_PFL( 202.03,SHUTCLWN,6, " Shutter close uncertainty before SHUTCLOS (sec)" )63 MK_STR( 202.04,SHUTOUTC, " Shutter open time (UTC)")64 MK_STR( 202.05,SHUTCUTC, " Shutter close time (UTC)")65 MK_INT( 202.06,SHUTLEAP, " Leap seconds used in TAI-UTC conversion (sec)" )66 MK_PFL( 202.07,SHUTREQ, 6, " Requested exposure duration (sec)" )67 MK_PFL( 202.08,SHUTTIME,6, " Actual exposure duration (sec)" )59 MK_STR( 202.00,SHUTOPEN, "[TAI date time] Shutter open time" ) 60 MK_STR( 202.01,SHUTCLOS, "[TAI date time] Shutter close time" ) 61 MK_PFL( 202.02,SHUTOPWN,6, "[sec] Shutter open uncertainty before SHUTOPEN" ) 62 MK_PFL( 202.03,SHUTCLWN,6, "[sec] Shutter close uncertainty before SHUTCLOS" ) 63 MK_STR( 202.04,SHUTOUTC, "[UTC date time] Shutter open time" ) 64 MK_STR( 202.05,SHUTCUTC, "[UTC date time] Shutter close time" ) 65 MK_INT( 202.06,SHUTLEAP, "[sec] Leap seconds used in TAI-UTC conversion" ) 66 MK_PFL( 202.07,SHUTREQ, 6, "[sec] Requested exposure duration" ) 67 MK_PFL( 202.08,SHUTTIME,6, "[sec] Actual exposure duration" ) 68 68 MK_STR( 202.09,SHUTOPBL, "Shutter blade in aperture at start of exposure" ) 69 69 MK_STR( 202.10,SHUTCLBL, "Shutter blade in aperture at end of exposure" ) -
branches/eam_branches/20091201/extsrc/gpcsw/gpcsrc/fits/libfhreg/gpc_telescope.h
r24391 r26764 70 70 MK_STR( 503.0, TELSTAT , "Telescope control system status" ) 71 71 MK_STR( 503.1, DOMSTAT , "Telescope enclosure status" ) 72 MK_STR( 503.2, GUISTAT , "Telescope guiding system status" )73 MK_STR( 503.3, GUICONF , "Telescope guiding configuration" )74 MK_STR( 503.4, GUIKERN , "Filter kernel used for guiding" )75 MK_PFL( 503.5, GUIGAIX ,2, "Telescope guiding gain factor (x offset)" )76 MK_PFL( 503.6, GUIGAIY ,2, "Telescope guiding gain factor (y offset)" )77 MK_PFL( 503.7, GUIRATE ,1, "Telescope guiding rate (Hz)" )78 72 MK_VAL( 521.1, EQUINOX , "Telescope equinox of coordinates" ) 79 73 MK_VAL( 521.2, EPOCH , "Telescope equinox of coordinates" ) 80 MK_PFL( 522.1, RA ,6, "Telescope Right Ascension (degrees)" ) 81 MK_PFL( 522.2, DEC ,6, "Telescope Declination (degrees)" ) 82 MK_PFL( 522.3, AZ ,6, "Telescope azimuth (degrees)" ) 83 MK_PFL( 522.4, ALT ,6, "Telescope pointing altitude (degrees)" ) 84 MK_PFL( 522.5, ROT ,6, "Telescope rotator angle (degrees)" ) 85 MK_PFL( 522.6, POSANGLE,6, "Telescope position angle (degrees)" ) 86 MK_PFL( 523.0, COMRA ,6, "Commanded telescope Right Ascension (degrees)" ) 87 MK_PFL( 523.1, COMDEC ,6, "Commanded telescope Declination (degrees)" ) 88 MK_PFL( 523.2, COMAZ ,6, "Commanded telescope azimuth (degrees)" ) 89 MK_PFL( 523.3, COMALT ,6, "Commanded telescope pointing altitude (degrees)" ) 90 MK_PFL( 523.4, COMROT ,6, "Commanded telescope rotator angle (degrees)" ) 91 MK_PFL( 523.5, MOONANG ,6, "Angular distance to moon (degrees)" ) 74 MK_PFL( 522.1, RA ,6, "[deg] Telescope FOV center Right Ascension" ) 75 MK_PFL( 522.2, DEC ,6, "[deg] Telescope FOV center Declination" ) 76 MK_STR( 522.21,RASTRNG , "[deg:mm:ss] Telescope sexagesimal Right Ascen." ) 77 MK_STR( 522.22,DECSTRNG, "[deg:mm:ss] Telescope sexagesimal Declination" ) 78 MK_PFL( 522.3, AZ ,6, "[deg] Telescope azimuth" ) 79 MK_PFL( 522.4, ALT ,6, "[deg] Telescope pointing altitude" ) 80 MK_PFL( 522.5, ROT ,6, "[deg] Telescope rotator angle" ) 81 MK_PFL( 522.6, POSANGLE,6, "[deg] Telescope position angle" ) 82 MK_PFL( 523.0, COMRA ,6, "[deg] Commanded telescope Right Ascension" ) 83 MK_PFL( 523.1, COMDEC ,6, "[deg] Commanded telescope Declination" ) 84 MK_PFL( 523.2, COMAZ ,6, "[deg] Commanded telescope azimuth" ) 85 MK_PFL( 523.3, COMALT ,6, "[deg] Commanded telescope pointing altitude" ) 86 MK_PFL( 523.4, COMROT ,6, "[deg] Commanded telescope rotator angle" ) 87 MK_PFL( 523.5, MOONANG ,6, "[deg] Angular distance to moon" ) 88 MK_PFL( 523.6, AIRMASS ,3, "Airmass at start of observation" ) 92 89 MK_CMT( 530.00,CMTTELO1, "NOTE: Telescope RA DEC or ALT AZ already include") 93 90 MK_CMT( 530.10,CMTTELO2, " the following offsets. Do not re-apply!" ) 94 MK_PFL( 532.1, TELOFRA ,6, "Telescope offset in RA (degrees)" ) 95 MK_PFL( 532.2, TELOFDEC,6, "Telescope offset in DEC (degrees)" ) 96 MK_PFL( 532.3, TELOFAZ ,6, "Telescope offset in AZ (degrees)" ) 97 MK_PFL( 532.4, TELOFALT,6, "Telescope offset in ALT (degrees)" ) 98 MK_PFL( 532.5, TELOFROT,6, "Telescope offset in ROT (degrees)" ) 99 MK_PFL( 532.7, TELOFX ,6, "Telescope offset in camera X (degrees)" ) 100 MK_PFL( 532.8, TELOFY ,6, "Telescope offset in camera Y (degrees)" ) 101 MK_PFL( 540.1, AIRMASS ,3, "Airmass at start of observation" ) 102 MK_PFL( 541.1, M1X ,6, "Primary mirror x position (um)" ) 103 MK_PFL( 541.2, M1Y ,6, "Primary mirror y position (um)" ) 104 MK_PFL( 541.3, M1Z ,6, "Primary mirror z position (um)" ) 105 MK_PFL( 541.4, M1TIP ,6, "Primary mirror tip (arcsec)" ) 106 MK_PFL( 541.5, M1TILT ,6, "Primary mirror tilt (arcsec)" ) 107 MK_PFL( 542.1, M2X ,6, "Secondary mirror x position (um)" ) 108 MK_PFL( 542.2, M2Y ,6, "Secondary mirror y position (um)" ) 109 MK_PFL( 542.3, M2Z ,6, "Secondary mirror z position (um)" ) 110 MK_PFL( 542.4, M2TIP ,6, "Secondary mirror tip (arcsec)" ) 111 MK_PFL( 542.5, M2TILT ,6, "Secondary mirror tilt (arcsec)" ) 91 MK_PFL( 532.1, TELOFRA ,6, "[deg] Telescope offset in RA" ) 92 MK_PFL( 532.2, TELOFDEC,6, "[deg] Telescope offset in DEC" ) 93 MK_PFL( 532.3, TELOFAZ ,6, "[deg] Telescope offset in AZ" ) 94 MK_PFL( 532.4, TELOFALT,6, "[deg] Telescope offset in ALT" ) 95 MK_PFL( 532.5, TELOFROT,6, "[deg] Telescope offset in ROT" ) 96 MK_PFL( 532.7, TELOFX ,6, "[deg] Telescope offset in camera X" ) 97 MK_PFL( 532.8, TELOFY ,6, "[deg] Telescope offset in camera Y" ) 98 99 /* 100 * Guiding 101 */ 102 MK_STR( 540.00,GUISTAT , "Telescope guiding system status" ) 103 MK_STR( 540.01,GUICONF , "Telescope guiding configuration" ) 104 MK_STR( 540.02,GUISTAR , "Telescope guiding (single or multi-star)" ) 105 MK_BLN( 540.03,GUIROTEN, "Telescope guiding rotation enabled" ) 106 MK_PFL( 540.10,GUIGAIX ,2, "Telescope guiding gain factor (x offset)" ) 107 MK_PFL( 540.11,GUIGAIY ,2, "Telescope guiding gain factor (y offset)" ) 108 MK_PFL( 540.12,GUIRATE ,1, "[Hz] Telescope guiding rate" ) 109 MK_STR( 540.20,GUIKERN , "Filter kernel used for guiding" ) 110 MK_STR( 540.21,GUIKERN1, "Filter kernel used for guiding (cont)" ) 111 MK_STR( 540.22,GUIKERN2, "Filter kernel used for guiding (cont)" ) 112 MK_STR( 540.23,GUIKERN3, "Filter kernel used for guiding (cont)" ) 113 MK_STR( 540.24,GUIKERN4, "Filter kernel used for guiding (cont)" ) 114 MK_STR( 540.25,GUIKERN5, "Filter kernel used for guiding (cont)" ) 115 MK_STR( 540.26,GUIKERN6, "Filter kernel used for guiding (cont)" ) 116 MK_STR( 540.27,GUIKERN7, "Filter kernel used for guiding (cont)" ) 117 MK_STR( 540.28,GUIKERN8, "Filter kernel used for guiding (cont)" ) 118 MK_STR( 540.29,GUIKERN9, "Filter kernel used for guiding (cont)" ) 119 MK_INT( 540.30,GUIKLEN , "Number of taps in filter kernel" ) 120 MK_INT( 540.31,GUIKSUM , "Sum of all filter kernel taps" ) 121 MK_INT( 540.40,GUINSTAR, "Number of guide stars sought" ) 122 MK_INT( 540.41,GUINOK, "Number of guide stars used (median)" ) 123 MK_INT( 540.42,GUIERR, "90 percentile of guide fit error codes" ) 124 MK_PFL( 540.43,GUIDR, 2, "[arcsec] median RMS of guide star offsets" ) 125 MK_PFL( 540.50,GUIXMED, 2, "[arcsec] median x offset of guide stars" ) 126 MK_PFL( 540.51,GUIX50, 2, "[arcsec] 50% range of guide star x" ) 127 MK_PFL( 540.52,GUIX90, 2, "[arcsec] 90% range of guide star x" ) 128 MK_PFL( 540.60,GUIYMED, 2, "[arcsec] median y offset of guide stars" ) 129 MK_PFL( 540.61,GUIY50, 2, "[arcsec] 50% range of guide star y" ) 130 MK_PFL( 540.62,GUIY90, 2, "[arcsec] 90% range of guide star y" ) 131 MK_PFL( 540.70,GUIROT, 4, "[deg] median rotation offset of guide stars" ) 132 MK_PFL( 540.71,GUIROT50,4, "[deg] 50% range of rotation offset" ) 133 MK_PFL( 540.72,GUIROT90,4, "[deg] 90% range of rotation offset" ) 134 MK_PFL( 540.80,GUIFWMED,2, "[arcsec] median guide star FWHM" ) 135 MK_PFL( 540.81,GUIFW50, 2, "[arcsec] 50% range of guide star FWHM" ) 136 MK_PFL( 540.82,GUIFW90, 2, "[arcsec] 90% range of guide star FWHM" ) 137 MK_PFL( 540.90,GUIM1MED,2, "[mag] median zeropoint" ) 138 MK_PFL( 540.91,GUIM150, 2, "[mag] 50% range of median zeropoint" ) 139 MK_PFL( 540.92,GUIM190, 2, "[mag] 90% range of median zeropoint" ) 140 MK_PFL( 540.93,GUIXTNCT,2, "[mag] total extinction during exposure" ) 141 MK_PFL( 540.94,GUIZPRMS,2, "[mag] median RMS scatter of zeropoints" ) 142 143 /* 144 * Mirror info 145 */ 146 MK_PFL( 541.1, M1X ,6, "[um] Primary mirror x position" ) 147 MK_PFL( 541.2, M1Y ,6, "[um] Primary mirror y position" ) 148 MK_PFL( 541.3, M1Z ,6, "[um] Primary mirror z position" ) 149 MK_PFL( 541.4, M1TIP ,6, "[arcsec] Primary mirror tip" ) 150 MK_PFL( 541.5, M1TILT ,6, "[arcsec] Primary mirror tilt" ) 151 MK_PFL( 542.1, M2X ,6, "[um] Secondary mirror x position" ) 152 MK_PFL( 542.2, M2Y ,6, "[um] Secondary mirror y position" ) 153 MK_PFL( 542.3, M2Z ,6, "[um] Secondary mirror z position" ) 154 MK_PFL( 542.4, M2TIP ,6, "[arcsec] Secondary mirror tip" ) 155 MK_PFL( 542.5, M2TILT ,6, "[arcsec] Secondary mirror tilt" ) 112 156 MK_STR( 543.0, M1M2MODV, "Telescope mirror position model version" ) 113 MK_PFL( 543.1, M1NOMX ,6, " Modeled Primary mirror x position (um)" )114 MK_PFL( 543.2, M1NOMY ,6, " Modeled Primary mirror y position (um)" )115 MK_PFL( 543.3, M1NOMZ ,6, " Modeled Primary mirror z position (um)" )116 MK_PFL( 543.4, M1NOMTIP,6, " Modeled Primary mirror tip (arcsec)" )117 MK_PFL( 543.5, M1NOMTIL,6, " Modeled Primary mirror tilt (arcsec)" )118 MK_PFL( 544.1, M2NOMX ,6, " Modeled Secondary mirror x position (um)" )119 MK_PFL( 544.2, M2NOMY ,6, " Modeled Secondary mirror y position (um)" )120 MK_PFL( 544.3, M2NOMZ ,6, " Modeled Secondary mirror z position (um)" )121 MK_PFL( 544.4, M2NOMTIP,6, " Modeled Secondary mirror tip (arcsec)" )122 MK_PFL( 544.5, M2NOMTIL,6, " Modeled Secondary mirror tilt (arcsec)" )123 MK_STR( 550.1, TELTEMTR, " Mid truss temperatures (C)")124 MK_STR( 550.2, TELTEMSP, " Spider temperatures (C)")125 MK_STR( 550.3, TELTEMMS, " Primary mirror support temps (C)")126 MK_STR( 550.4, TELTEMM1, " Primary mirror temps (C)")127 MK_STR( 550.5, TELTEMM2, " Secondary mirror temps (C)")128 MK_STR( 550.6, TELTEMEX, " Miscellaneous temperatures (C)")157 MK_PFL( 543.1, M1NOMX ,6, "[um] Modeled Primary mirror x position" ) 158 MK_PFL( 543.2, M1NOMY ,6, "[um] Modeled Primary mirror y position" ) 159 MK_PFL( 543.3, M1NOMZ ,6, "[um] Modeled Primary mirror z position" ) 160 MK_PFL( 543.4, M1NOMTIP,6, "[arcsec] Modeled Primary mirror tip" ) 161 MK_PFL( 543.5, M1NOMTIL,6, "[arcsec] Modeled Primary mirror tilt" ) 162 MK_PFL( 544.1, M2NOMX ,6, "[um] Modeled Secondary mirror x position" ) 163 MK_PFL( 544.2, M2NOMY ,6, "[um] Modeled Secondary mirror y position" ) 164 MK_PFL( 544.3, M2NOMZ ,6, "[um] Modeled Secondary mirror z position" ) 165 MK_PFL( 544.4, M2NOMTIP,6, "[arcsec] Modeled Secondary mirror tip" ) 166 MK_PFL( 544.5, M2NOMTIL,6, "[arcsec] Modeled Secondary mirror tilt" ) 167 MK_STR( 550.1, TELTEMTR, "[C] MTL 11,12,2,3,5,6,8,9" ) 168 MK_STR( 550.2, TELTEMSP, "[C] IS 10,1,4,7 O 10,1,4,7" ) 169 MK_STR( 550.3, TELTEMMS, "[C] M1 Perim. 12,3,6,9,Air" ) 170 MK_STR( 550.4, TELTEMM1, "[C] M1I 12,3,6,9 O12,3,6,9" ) 171 MK_STR( 550.5, TELTEMM2, "[C] M2 I 12,O 12,3,3,6,6,9,9" ) 172 MK_STR( 550.6, TELTEMEX, "[C] M2 Can Air,Surf,CentSec 12,3,6,9" ) 129 173 130 174 /* 131 175 * Wavefront 132 176 */ 133 MK_PFL( 551.01,WVFA ,14," Wavefront A actuator force (N)" )134 MK_PFL( 551.02,WVFB ,14," Wavefront B actuator force (N)" )135 MK_PFL( 551.03,WVFC ,14," Wavefront C actuator force (N)" )136 MK_PFL( 551.04,WVFD ,14," Wavefront D actuator force (N)" )137 MK_PFL( 551.05,WVFE ,14," Wavefront E actuator force (N)" )138 MK_PFL( 551.06,WVFF ,14," Wavefront F actuator force (N)" )139 MK_PFL( 551.07,WVFG ,14," Wavefront G actuator force (N)" )140 MK_PFL( 551.08,WVFH ,14," Wavefront H actuator force (N)" )141 MK_PFL( 551.09,WVFI ,14," Wavefront I actuator force (N)" )142 MK_PFL( 551.10,WVFJ ,14," Wavefront J actuator force (N)" )143 MK_PFL( 551.11,WVFK ,14," Wavefront K actuator force (N)" )144 MK_PFL( 551.12,WVFL ,14," Wavefront L actuator force (N)" )177 MK_PFL( 551.01,WVFA ,14,"[N] Wavefront A actuator force" ) 178 MK_PFL( 551.02,WVFB ,14,"[N] Wavefront B actuator force" ) 179 MK_PFL( 551.03,WVFC ,14,"[N] Wavefront C actuator force" ) 180 MK_PFL( 551.04,WVFD ,14,"[N] Wavefront D actuator force" ) 181 MK_PFL( 551.05,WVFE ,14,"[N] Wavefront E actuator force" ) 182 MK_PFL( 551.06,WVFF ,14,"[N] Wavefront F actuator force" ) 183 MK_PFL( 551.07,WVFG ,14,"[N] Wavefront G actuator force" ) 184 MK_PFL( 551.08,WVFH ,14,"[N] Wavefront H actuator force" ) 185 MK_PFL( 551.09,WVFI ,14,"[N] Wavefront I actuator force" ) 186 MK_PFL( 551.10,WVFJ ,14,"[N] Wavefront J actuator force" ) 187 MK_PFL( 551.11,WVFK ,14,"[N] Wavefront K actuator force" ) 188 MK_PFL( 551.12,WVFL ,14,"[N] Wavefront L actuator force" ) 145 189 146 190 /* … … 151 195 MK_PFL( 560.3, ENVWIN, 1, "[m/s] Weather, wind speed" ) 152 196 MK_PFL( 560.4, ENVDIR, 1, "[deg E. of N] Weather, wind direction" ) 153 MK_PFL( 561.0, SEEING, 1, "[arcsec] Weather, seeing from DIMM, FWHM" )197 MK_PFL( 561.0, SEEING, 3, "[arcsec] Weather, seeing from DIMM, FWHM" ) 154 198 155 199 /* … … 157 201 * 158 202 *TYPE --IDX-- KEYWORD- PRC -------------------COMMENT----------------------*/ 159 MK_PFL( 586.02, HA ,16,"Hour angle at start (degrees)" ) 160 MK_PFL( 586.03, ST ,16,"Sidereal time at start (hours)" ) 161 MK_PFL( 586.04, ZD ,16,"Zenith distance (degrees)" ) 162 MK_STR( 587.00, RASTRNG , "Actual Right Ascension (incl offset)" ) 163 MK_STR( 587.01, DECSTRNG, "Actual Declination (incl offset)" ) 203 MK_PFL( 586.02, HA ,16,"[deg] Hour angle at start" ) 204 MK_PFL( 586.03, ST ,16,"[hours] Sidereal time at start" ) 205 MK_PFL( 586.04, ZD ,16,"[deg] Zenith distance" ) 164 206 MK_STR( 587.02, HASTRNG , "Hour angle at start" ) 165 207 MK_STR( 587.03, STSTRNG , "Sidereal time at start" ) 166 MK_STR( 587.04, ZDSTRNG , " Zenith distance (deg:mm:ss)" )208 MK_STR( 587.04, ZDSTRNG , "[deg:mm:ss] Zenith distance" ) -
branches/eam_branches/20091201/ippconfig/gpc1/camera.config
r26696 r26764 149 149 PHOTCODE.RULE STR {DETECTOR}.{FILTER.ID}.{CHIP.NAME} # Rule for generating photcode 150 150 151 BURNTOOL.STATE.GOOD S16 1 3# Value for burntool_state with the most recent bt version.151 BURNTOOL.STATE.GOOD S16 14 # Value for burntool_state with the most recent bt version. -
branches/eam_branches/20091201/ppImage/src/ppImageBurntoolMask.c
r25299 r26764 3 3 #endif 4 4 5 /* #define PPIMAGE_BURNTOOL_DEBUG 1 */ 5 #define PPIMAGE_BURNTOOL_DEBUG 1 6 6 7 7 #include "ppImage.h" … … 47 47 48 48 if (psMetadataLookupS32(&status,rowMD,"cell") == burntool_cell) { 49 if (( (options->burntoolTrails & 0x01)&&(psMetadataLookupS32(&status,rowMD,"nfit") == 0))||50 (( options->burntoolTrails & 0x02)&&(psMetadataLookupS32(&status,rowMD,"up") == 1))||51 ((options->burntoolTrails & 0x04)&&(psMetadataLookupS32(&status,rowMD,"up") == 0))) {49 if ((psMetadataLookupS32(&status,rowMD,"nfit") != 0)&& 50 (((options->burntoolTrails & 0x02)&&(psMetadataLookupS32(&status,rowMD,"up") == 1))|| 51 ((options->burntoolTrails & 0x04)&&(psMetadataLookupS32(&status,rowMD,"up") == 0)))) { 52 52 /* If the fit fails, burntool reports zero here. This 53 53 signifies that it expected to see a trail (else why … … 70 70 if (psMetadataLookupS32(&status,rowMD,"up") == 0) { 71 71 for (int j = 0; j <= psMetadataLookupS32(&status,rowMD,"y1p"); j++) { 72 /* #ifdef PPIMAGE_BURNTOOL_DEBUG */ 73 /* psLogMsg("ppImageBurntoolMask", 4, "Noisy!: %d %d %d %d\n", */ 74 /* i,j,image->data.PS_TYPE_IMAGE_MASK_DATA[j][i],maskValue); */ 75 /* #endif */ 72 #ifdef PPIMAGE_BURNTOOL_DEBUG 73 psLogMsg("ppImageBurntoolMask", 4, "Noisy!: %d %d %d %d\n", 74 i,j,image->data.PS_TYPE_IMAGE_MASK_DATA[j][i],maskValue); 75 #endif 76 76 image->data.PS_TYPE_IMAGE_MASK_DATA[j][i] |= maskValue; 77 77 } … … 79 79 else { 80 80 for (int j = psMetadataLookupS32(&status,rowMD,"y1m"); j < image->numRows ; j++) { 81 /* #ifdef PPIMAGE_BURNTOOL_DEBUG */ 82 /* psLogMsg("ppImageBurntoolMask", 4, "Noisy!: %d %d %d %d\n", */ 83 /* i,j,image->data.PS_TYPE_IMAGE_MASK_DATA[j][i],maskValue); */ 84 /* #endif */ 81 #ifdef PPIMAGE_BURNTOOL_DEBUG 82 psLogMsg("ppImageBurntoolMask", 4, "Noisy!: %d %d %d %d\n", 83 i,j,image->data.PS_TYPE_IMAGE_MASK_DATA[j][i],maskValue); 84 #endif 85 85 image->data.PS_TYPE_IMAGE_MASK_DATA[j][i] |= maskValue; 86 86 }
Note:
See TracChangeset
for help on using the changeset viewer.
