Changeset 34405
- Timestamp:
- Sep 5, 2012, 4:25:56 PM (14 years ago)
- Location:
- trunk/Ohana
- Files:
-
- 78 edited
- 5 copied
-
. (modified) (1 prop)
-
src/addstar/Makefile (modified) (1 diff)
-
src/addstar/include/addstar.h (modified) (3 diffs)
-
src/addstar/src/MatchHeaders.c (modified) (1 diff)
-
src/addstar/src/ReadStarsFITS.c (modified) (18 diffs)
-
src/addstar/src/SEDfit.c (modified) (2 diffs)
-
src/addstar/src/addstar.c (modified) (1 diff)
-
src/addstar/src/addstar_create_ID.c (copied) (copied from branches/eam_branches/ipp-20120805/Ohana/src/addstar/src/addstar_create_ID.c )
-
src/addstar/src/args.c (modified) (4 diffs)
-
src/addstar/src/load2mass_catalog.c (modified) (1 diff)
-
src/addstar/src/mkcmf.c (modified) (8 diffs)
-
src/addstar/src/update_coords.c (modified) (1 diff)
-
src/addstar/test/simple.dvo (modified) (10 diffs)
-
src/addstar/test/tap.dvo (modified) (3 diffs)
-
src/dvomerge/Makefile (modified) (2 diffs)
-
src/dvomerge/doc/failsafe.txt (modified) (1 diff)
-
src/dvomerge/include/dvomerge.h (modified) (2 diffs)
-
src/dvomerge/include/dvoverify.h (modified) (2 diffs)
-
src/dvomerge/src/dvomergeHistory.c (copied) (copied from branches/eam_branches/ipp-20120805/Ohana/src/dvomerge/src/dvomergeHistory.c )
-
src/dvomerge/src/dvomergeImageIDs.c (modified) (2 diffs)
-
src/dvomerge/src/dvomergeUpdate_catalogs.c (modified) (5 diffs)
-
src/dvomerge/src/dvoverify.c (modified) (1 diff)
-
src/dvomerge/src/dvoverify_args.c (modified) (1 diff)
-
src/dvomerge/src/dvoverify_catalogs.c (modified) (1 diff)
-
src/dvomerge/src/dvoverify_client.c (modified) (1 diff)
-
src/dvomerge/src/dvoverify_utils.c (modified) (5 diffs)
-
src/dvomerge/src/merge_catalogs_old.c (modified) (1 diff)
-
src/dvomerge/test/catdir.grizy/Images.dat (modified) (1 diff)
-
src/libautocode/Makefile.Targets (modified) (2 diffs)
-
src/libautocode/def/Stars.d (modified) (1 diff)
-
src/libautocode/def/average-ps1-v4.d (modified) (2 diffs)
-
src/libautocode/def/average.d (modified) (2 diffs)
-
src/libautocode/def/cmf-ps1-dev-0.d (modified) (1 diff)
-
src/libautocode/def/cmf-ps1-dev-1.d (modified) (1 diff)
-
src/libautocode/def/cmf-ps1-sv1.d (modified) (2 diffs)
-
src/libautocode/def/cmf-ps1-sv2.d (copied) (copied from branches/eam_branches/ipp-20120805/Ohana/src/libautocode/def/cmf-ps1-sv2.d )
-
src/libautocode/def/cmf-ps1-v1.d (modified) (1 diff)
-
src/libautocode/def/cmf-ps1-v2.d (modified) (1 diff)
-
src/libautocode/def/cmf-ps1-v3.d (modified) (2 diffs)
-
src/libautocode/def/cmf-ps1-v4.d (copied) (copied from branches/eam_branches/ipp-20120805/Ohana/src/libautocode/def/cmf-ps1-v4.d )
-
src/libautocode/def/measure-panstarrs-dev-0.d (modified) (1 diff)
-
src/libautocode/def/measure-panstarrs-dev-1.d (modified) (1 diff)
-
src/libautocode/def/measure-ps1-dev-1.d (modified) (1 diff)
-
src/libautocode/def/measure-ps1-dev-2.d (modified) (1 diff)
-
src/libautocode/def/measure-ps1-v1.d (modified) (1 diff)
-
src/libautocode/def/measure-ps1-v2.d (modified) (1 diff)
-
src/libautocode/def/measure-ps1-v3.d (modified) (1 diff)
-
src/libautocode/def/measure-ps1-v4.d (modified) (2 diffs)
-
src/libautocode/def/measure.d (modified) (2 diffs)
-
src/libdvo/doc/updates-psps.txt (copied) (copied from branches/eam_branches/ipp-20120805/Ohana/src/libdvo/doc/updates-psps.txt )
-
src/libdvo/include/dvo.h (modified) (1 diff)
-
src/libdvo/src/dbExtractAverages.c (modified) (1 diff)
-
src/libdvo/src/dbExtractMeasures.c (modified) (2 diffs)
-
src/libdvo/src/dbFields.c (modified) (1 diff)
-
src/libdvo/src/dvo_catalog.c (modified) (2 diffs)
-
src/libdvo/src/dvo_convert_PS1_DEV_1.c (modified) (6 diffs)
-
src/libdvo/src/dvo_convert_PS1_DEV_2.c (modified) (6 diffs)
-
src/libdvo/src/dvo_convert_PS1_REF.c (modified) (4 diffs)
-
src/libdvo/src/dvo_convert_PS1_V1.c (modified) (6 diffs)
-
src/libdvo/src/dvo_convert_PS1_V2.c (modified) (6 diffs)
-
src/libdvo/src/dvo_convert_PS1_V3.c (modified) (6 diffs)
-
src/libdvo/src/dvo_convert_PS1_V4.c (modified) (4 diffs)
-
src/libdvo/src/dvo_convert_elixir.c (modified) (5 diffs)
-
src/libdvo/src/dvo_convert_loneos.c (modified) (5 diffs)
-
src/libdvo/src/dvo_convert_panstarrs_DEV_0.c (modified) (6 diffs)
-
src/libdvo/src/dvo_convert_panstarrs_DEV_1.c (modified) (6 diffs)
-
src/libdvo/src/dvo_image.c (modified) (2 diffs)
-
src/libfits/header/F_scan.c (modified) (2 diffs)
-
src/opihi (modified) (1 prop)
-
src/opihi/cmd.astro (modified) (1 prop)
-
src/opihi/dvo/avextract.c (modified) (1 diff)
-
src/opihi/dvo/avmatch.c (modified) (1 diff)
-
src/opihi/dvo/gstar.c (modified) (3 diffs)
-
src/opihi/dvo/photometry.c (modified) (3 diffs)
-
src/relastro/src/BrightCatalog.c (modified) (7 diffs)
-
src/relastro/src/UpdateObjectOffsets.c (modified) (1 diff)
-
src/relastro/src/UpdateObjects.c (modified) (1 diff)
-
src/relastro/src/load_catalogs.c (modified) (1 diff)
-
src/relastro/src/relastro_objects.c (modified) (1 diff)
-
src/relphot/src/bcatalog.c (modified) (1 diff)
-
src/relphot/src/load_catalogs.c (modified) (1 diff)
-
src/relphot/src/relphot_objects.c (modified) (1 diff)
-
src/relphot/src/setMrelFinal.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana
- Property svn:mergeinfo set to
-
trunk/Ohana/src/addstar/Makefile
r34297 r34405 47 47 $(SRC)/SkyTableFromTychoIndex.$(ARCH).o \ 48 48 $(SRC)/addstar.$(ARCH).o \ 49 $(SRC)/addstar_create_ID.$(ARCH).o \ 49 50 $(SRC)/airmass.$(ARCH).o \ 50 51 $(SRC)/args.$(ARCH).o \ -
trunk/Ohana/src/addstar/include/addstar.h
r34260 r34405 59 59 typedef struct sockaddr_in SockAddress; 60 60 61 enum {ADDSTAR_MODE_NONE, ADDSTAR_MODE_IMAGE, ADDSTAR_MODE_REFLIST, ADDSTAR_MODE_REFCAT, ADDSTAR_MODE_FAKEIMAGE, ADDSTAR_MODE_RESORT };61 enum {ADDSTAR_MODE_NONE, ADDSTAR_MODE_IMAGE, ADDSTAR_MODE_REFLIST, ADDSTAR_MODE_REFCAT, ADDSTAR_MODE_FAKEIMAGE, ADDSTAR_MODE_RESORT, ADDSTAR_MODE_CREATE_ID}; 62 62 enum {NONE, SIMPLE_CMP, SIMPLE_CMF, SIMPLE_MEF, MOSAIC_CMP, MOSAIC_CMF, MOSAIC_MEF, MOSAIC_PHU, SDSS_OBJ}; 63 63 /* note: MEF implies CMF */ … … 269 269 int NewReflist_Thread PROTO((int BindSocket)); 270 270 271 Stars *Convert_SMPDATA PROTO((FTable *table, unsigned int *nstars));272 Stars *Convert_PS1_DEV_0 PROTO((FTable *table, unsigned int *nstars));273 Stars *Convert_PS1_DEV_1 PROTO((FTable *table, unsigned int *nstars));274 Stars *Convert_PS1_V1 PROTO((FTable *table, unsigned int *nstars));275 Stars *Convert_PS1_V1_Alt PROTO((FTable *table, unsigned int *nstars));276 Stars *Convert_PS1_V2 PROTO((FTable *table, unsigned int *nstars));277 Stars *Convert_PS1_V3 PROTO((FTable *table, unsigned int *nstars));278 Stars *Convert_PS1_SV1 PROTO((FTable *table, unsigned int *nstars));279 Stars *Convert_PS1_SV1_Alt PROTO((FTable *table, unsigned int *nstars));280 281 271 int InitStar PROTO((Stars *star)); 282 272 … … 303 293 // this is a gnu extension?? caution! 304 294 void *memrchr(const void *s, int c, size_t n); 295 int addstar_create_ID (); 305 296 306 297 /** -
trunk/Ohana/src/addstar/src/MatchHeaders.c
r31160 r34405 58 58 if (!strcmp (exttype, "PS1_V2")) goto keep; 59 59 if (!strcmp (exttype, "PS1_V3")) goto keep; 60 if (!strcmp (exttype, "PS1_V4")) goto keep; 60 61 if (!strcmp (exttype, "PS1_SV1")) goto keep; 62 if (!strcmp (exttype, "PS1_SV2")) goto keep; 61 63 continue; 62 64 -
trunk/Ohana/src/addstar/src/ReadStarsFITS.c
r34260 r34405 1 1 # include "addstar.h" 2 3 // this is the complete list of FITS format input files the addstar knows 4 // (excluding SDSS data and reference database info, such as 2MASS) 5 // NOTE: these must also be listed in MatchHeaders.c (line ~ 62) 6 Stars *Convert_SMPDATA PROTO((FTable *table, unsigned int *nstars)); 7 Stars *Convert_PS1_DEV_0 PROTO((FTable *table, unsigned int *nstars)); 8 Stars *Convert_PS1_DEV_1 PROTO((FTable *table, unsigned int *nstars)); 9 Stars *Convert_PS1_V1 PROTO((FTable *table, unsigned int *nstars)); 10 Stars *Convert_PS1_V1_Alt PROTO((FTable *table, unsigned int *nstars)); 11 Stars *Convert_PS1_V2 PROTO((FTable *table, unsigned int *nstars)); 12 Stars *Convert_PS1_V3 PROTO((FTable *table, unsigned int *nstars)); 13 Stars *Convert_PS1_V4 PROTO((FTable *table, unsigned int *nstars)); 14 Stars *Convert_PS1_SV1 PROTO((FTable *table, unsigned int *nstars)); 15 Stars *Convert_PS1_SV1_Alt PROTO((FTable *table, unsigned int *nstars)); 16 Stars *Convert_PS1_SV2 PROTO((FTable *table, unsigned int *nstars)); 2 17 3 18 // given a file with the pointer at the start of the table block and the … … 54 69 stars = Convert_PS1_V3 (&table, &Nstars); 55 70 } 71 if (!strcmp (type, "PS1_V4")) { 72 stars = Convert_PS1_V4 (&table, &Nstars); 73 } 56 74 if (!strcmp (type, "PS1_SV1")) { 57 75 stars = Convert_PS1_SV1 (&table, &Nstars); 76 } 77 if (!strcmp (type, "PS1_SV2")) { 78 stars = Convert_PS1_SV2 (&table, &Nstars); 58 79 } 59 80 if (stars == NULL) { … … 120 141 121 142 stars[i].measure.psfChisq = NAN; // not provided by SMPDATA: 122 stars[i].measure.psfQ ual= NAN; // not provided by SMPDATA:143 stars[i].measure.psfQF = NAN; // not provided by SMPDATA: 123 144 stars[i].measure.psfNdof = NAN_S_INT; // not provided by SMPDATA: 124 145 stars[i].measure.psfNpix = NAN_S_INT; // not provided by SMPDATA: … … 189 210 190 211 stars[i].measure.psfChisq = ps1data[i].psfChisq; 191 stars[i].measure.psfQ ual = ps1data[i].psfQual;212 stars[i].measure.psfQF = ps1data[i].psfQF; 192 213 stars[i].measure.psfNdof = NAN_S_INT; // not provided by PS1_DEV_0: 193 214 stars[i].measure.psfNpix = NAN_S_INT; // not provided by PS1_DEV_0: … … 261 282 262 283 stars[i].measure.psfChisq = ps1data[i].psfChisq; 263 stars[i].measure.psfQ ual = ps1data[i].psfQual;284 stars[i].measure.psfQF = ps1data[i].psfQF; 264 285 stars[i].measure.psfNdof = NAN_S_INT; // not provided by PS1_DEV_1: 265 286 stars[i].measure.psfNpix = NAN_S_INT; // not provided by PS1_DEV_1: … … 345 366 346 367 stars[i].measure.psfChisq = ps1data[i].psfChisq; 347 stars[i].measure.psfQ ual = ps1data[i].psfQual;368 stars[i].measure.psfQF = ps1data[i].psfQF; 348 369 stars[i].measure.psfNdof = ps1data[i].psfNdof; 349 370 stars[i].measure.psfNpix = ps1data[i].psfNpix; … … 430 451 431 452 stars[i].measure.psfChisq = ps1data[i].psfChisq; 432 stars[i].measure.psfQ ual = ps1data[i].psfQual;453 stars[i].measure.psfQF = ps1data[i].psfQF; 433 454 stars[i].measure.psfNdof = ps1data[i].psfNdof; 434 455 stars[i].measure.psfNpix = ps1data[i].psfNpix; … … 507 528 508 529 stars[i].measure.psfChisq = ps1data[i].psfChisq; 509 stars[i].measure.psfQ ual = ps1data[i].psfQual;530 stars[i].measure.psfQF = ps1data[i].psfQF; 510 531 stars[i].measure.psfNdof = ps1data[i].psfNdof; 511 532 stars[i].measure.psfNpix = ps1data[i].psfNpix; … … 584 605 585 606 stars[i].measure.psfChisq = ps1data[i].psfChisq; 586 stars[i].measure.psfQ ual = ps1data[i].psfQual;607 stars[i].measure.psfQF = ps1data[i].psfQF; 587 608 stars[i].measure.psfNdof = ps1data[i].psfNdof; 588 609 stars[i].measure.psfNpix = ps1data[i].psfNpix; … … 616 637 } 617 638 618 Stars *Convert_PS1_ SV1(FTable *table, unsigned int *nstars) {639 Stars *Convert_PS1_V4 (FTable *table, unsigned int *nstars) { 619 640 620 641 off_t Nstars; … … 622 643 double ZeroPt; 623 644 Stars *stars; 624 CMF_PS1_SV1 *ps1data; 625 626 if (table[0].header[0].Naxis[0] == 196) { 627 stars = Convert_PS1_SV1_Alt (table, nstars); 628 return (stars); 629 } 630 631 ps1data = gfits_table_get_CMF_PS1_SV1 (table, &Nstars, NULL); 645 CMF_PS1_V4 *ps1data; 646 647 ps1data = gfits_table_get_CMF_PS1_V4 (table, &Nstars, NULL); 632 648 if (!ps1data) { 633 649 fprintf (stderr, "skipping inconsistent entry\n"); … … 658 674 stars[i].measure.Mkron = (ps1data[i].kronFlux > 0.0) ? -2.5*log10(ps1data[i].kronFlux) + ZeroPt : NAN; 659 675 stars[i].measure.dMkron = (ps1data[i].kronFlux > 0.0) ? ps1data[i].kronFluxErr / ps1data[i].kronFlux : NAN; 660 676 661 677 // these fluxes are converted from counts to counts/sec in FilterStars.c 662 678 stars[i].measure.FluxPSF = ps1data[i].Flux; … … 669 685 670 686 stars[i].measure.psfChisq = ps1data[i].psfChisq; 671 stars[i].measure.psfQ ual = ps1data[i].psfQual;687 stars[i].measure.psfQF = ps1data[i].psfQF; 672 688 stars[i].measure.psfNdof = ps1data[i].psfNdof; 673 689 stars[i].measure.psfNpix = ps1data[i].psfNpix; … … 689 705 690 706 // the Average fields and the following Measure fields are set in FilterStars after 691 // the image metadata is in hand: dR, dD, Mcal, dt, airmass, az, t, imageID, extID, 692 // averef is set in find_matches, dbFlags is zero on ingest. 707 // the image metadata is in hand: dR, dD, Mcal, dt, airmass, az, t, imageID, extID. 708 709 // averef is set in find_matches 710 711 // dbFlags is zero on ingest. 693 712 694 713 // the following fields are currently not being set anywhere: t_msec … … 698 717 } 699 718 700 Stars *Convert_PS1_SV1 _Alt(FTable *table, unsigned int *nstars) {719 Stars *Convert_PS1_SV1 (FTable *table, unsigned int *nstars) { 701 720 702 721 off_t Nstars; … … 706 725 CMF_PS1_SV1 *ps1data; 707 726 708 // some test output files were produced called CMF_PS1_SV1 but with mismatch byte boundaries 709 710 ps1data = gfits_table_get_CMF_PS1_SV1_Alt (table, &Nstars, NULL); 727 if (table[0].header[0].Naxis[0] == 196) { 728 stars = Convert_PS1_SV1_Alt (table, nstars); 729 return (stars); 730 } 731 732 ps1data = gfits_table_get_CMF_PS1_SV1 (table, &Nstars, NULL); 711 733 if (!ps1data) { 712 734 fprintf (stderr, "skipping inconsistent entry\n"); … … 748 770 749 771 stars[i].measure.psfChisq = ps1data[i].psfChisq; 750 stars[i].measure.psfQ ual = ps1data[i].psfQual;772 stars[i].measure.psfQF = ps1data[i].psfQF; 751 773 stars[i].measure.psfNdof = ps1data[i].psfNdof; 752 774 stars[i].measure.psfNpix = ps1data[i].psfNpix; … … 777 799 } 778 800 801 Stars *Convert_PS1_SV1_Alt (FTable *table, unsigned int *nstars) { 802 803 off_t Nstars; 804 unsigned int i; 805 double ZeroPt; 806 Stars *stars; 807 CMF_PS1_SV1 *ps1data; 808 809 // some test output files were produced called CMF_PS1_SV1 but with mismatch byte boundaries 810 811 ps1data = gfits_table_get_CMF_PS1_SV1_Alt (table, &Nstars, NULL); 812 if (!ps1data) { 813 fprintf (stderr, "skipping inconsistent entry\n"); 814 return (NULL); 815 } 816 ZeroPt = GetZeroPoint(); 817 818 ALLOCATE (stars, Stars, Nstars); 819 for (i = 0; i < Nstars; i++) { 820 InitStar (&stars[i]); 821 stars[i].measure.Xccd = ps1data[i].X; 822 stars[i].measure.Yccd = ps1data[i].Y; 823 stars[i].measure.dXccd = ToShortPixels(ps1data[i].dX); 824 stars[i].measure.dYccd = ToShortPixels(ps1data[i].dY); 825 826 stars[i].measure.posangle = ToShortDegrees(ps1data[i].posangle); 827 stars[i].measure.pltscale = ps1data[i].pltscale; 828 829 if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) { 830 stars[i].measure.M = NAN; 831 } else { 832 stars[i].measure.M = ps1data[i].M + ZeroPt; 833 } 834 stars[i].measure.dM = ps1data[i].dM; 835 stars[i].measure.dMcal = ps1data[i].dMcal; 836 stars[i].measure.Map = ps1data[i].Map + ZeroPt; 837 838 stars[i].measure.Mkron = (ps1data[i].kronFlux > 0.0) ? -2.5*log10(ps1data[i].kronFlux) + ZeroPt : NAN; 839 stars[i].measure.dMkron = (ps1data[i].kronFlux > 0.0) ? ps1data[i].kronFluxErr / ps1data[i].kronFlux : NAN; 840 841 // these fluxes are converted from counts to counts/sec in FilterStars.c 842 stars[i].measure.FluxPSF = ps1data[i].Flux; 843 stars[i].measure.dFluxPSF = ps1data[i].dFlux; 844 stars[i].measure.FluxKron = ps1data[i].kronFlux; 845 stars[i].measure.dFluxKron = ps1data[i].kronFluxErr; 846 847 stars[i].measure.Sky = ps1data[i].sky; 848 stars[i].measure.dSky = ps1data[i].dSky; 849 850 stars[i].measure.psfChisq = ps1data[i].psfChisq; 851 stars[i].measure.psfQF = ps1data[i].psfQF; 852 stars[i].measure.psfNdof = ps1data[i].psfNdof; 853 stars[i].measure.psfNpix = ps1data[i].psfNpix; 854 stars[i].measure.crNsigma = ps1data[i].crNsigma; 855 stars[i].measure.extNsigma = ps1data[i].extNsigma; 856 857 stars[i].measure.FWx = ToShortPixels(ps1data[i].fx); 858 stars[i].measure.FWy = ToShortPixels(ps1data[i].fy); 859 stars[i].measure.theta = ToShortDegrees(ps1data[i].df); 860 861 stars[i].measure.Mxx = ToShortPixels(ps1data[i].Mxx); 862 stars[i].measure.Mxy = ToShortPixels(ps1data[i].Mxy); 863 stars[i].measure.Myy = ToShortPixels(ps1data[i].Myy); 864 865 stars[i].measure.photFlags = ps1data[i].flags; 866 867 // this is may optionally be replaced by the internal sequence (see FilterStars.c) 868 stars[i].measure.detID = ps1data[i].detID; 869 870 // the Average fields and the following Measure fields are set in FilterStars after 871 // the image metadata is in hand: dR, dD, Mcal, dt, airmass, az, t, imageID, extID, 872 // averef is set in find_matches, dbFlags is zero on ingest. 873 874 // the following fields are currently not being set anywhere: t_msec 875 } 876 *nstars = Nstars; 877 return (stars); 878 } 879 880 Stars *Convert_PS1_SV2 (FTable *table, unsigned int *nstars) { 881 882 off_t Nstars; 883 unsigned int i; 884 double ZeroPt; 885 Stars *stars; 886 CMF_PS1_SV2 *ps1data; 887 888 ps1data = gfits_table_get_CMF_PS1_SV2 (table, &Nstars, NULL); 889 if (!ps1data) { 890 fprintf (stderr, "skipping inconsistent entry\n"); 891 return (NULL); 892 } 893 ZeroPt = GetZeroPoint(); 894 895 ALLOCATE (stars, Stars, Nstars); 896 for (i = 0; i < Nstars; i++) { 897 InitStar (&stars[i]); 898 stars[i].measure.Xccd = ps1data[i].X; 899 stars[i].measure.Yccd = ps1data[i].Y; 900 stars[i].measure.dXccd = ToShortPixels(ps1data[i].dX); 901 stars[i].measure.dYccd = ToShortPixels(ps1data[i].dY); 902 903 stars[i].measure.posangle = ToShortDegrees(ps1data[i].posangle); 904 stars[i].measure.pltscale = ps1data[i].pltscale; 905 906 if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) { 907 stars[i].measure.M = NAN; 908 } else { 909 stars[i].measure.M = ps1data[i].M + ZeroPt; 910 } 911 stars[i].measure.dM = ps1data[i].dM; 912 stars[i].measure.dMcal = ps1data[i].dMcal; 913 stars[i].measure.Map = ps1data[i].Map + ZeroPt; 914 915 stars[i].measure.Mkron = (ps1data[i].kronFlux > 0.0) ? -2.5*log10(ps1data[i].kronFlux) + ZeroPt : NAN; 916 stars[i].measure.dMkron = (ps1data[i].kronFlux > 0.0) ? ps1data[i].kronFluxErr / ps1data[i].kronFlux : NAN; 917 918 // these fluxes are converted from counts to counts/sec in FilterStars.c 919 stars[i].measure.FluxPSF = ps1data[i].Flux; 920 stars[i].measure.dFluxPSF = ps1data[i].dFlux; 921 stars[i].measure.FluxKron = ps1data[i].kronFlux; 922 stars[i].measure.dFluxKron = ps1data[i].kronFluxErr; 923 924 stars[i].measure.Sky = ps1data[i].sky; 925 stars[i].measure.dSky = ps1data[i].dSky; 926 927 stars[i].measure.psfChisq = ps1data[i].psfChisq; 928 stars[i].measure.psfQF = ps1data[i].psfQF; 929 stars[i].measure.psfNdof = ps1data[i].psfNdof; 930 stars[i].measure.psfNpix = ps1data[i].psfNpix; 931 stars[i].measure.crNsigma = ps1data[i].crNsigma; 932 stars[i].measure.extNsigma = ps1data[i].extNsigma; 933 934 stars[i].measure.FWx = ToShortPixels(ps1data[i].fx); 935 stars[i].measure.FWy = ToShortPixels(ps1data[i].fy); 936 stars[i].measure.theta = ToShortDegrees(ps1data[i].df); 937 938 stars[i].measure.Mxx = ToShortPixels(ps1data[i].Mxx); 939 stars[i].measure.Mxy = ToShortPixels(ps1data[i].Mxy); 940 stars[i].measure.Myy = ToShortPixels(ps1data[i].Myy); 941 942 stars[i].measure.photFlags = ps1data[i].flags; 943 944 // this is may optionally be replaced by the internal sequence (see FilterStars.c) 945 stars[i].measure.detID = ps1data[i].detID; 946 947 // the Average fields and the following Measure fields are set in FilterStars after 948 // the image metadata is in hand: dR, dD, Mcal, dt, airmass, az, t, imageID, extID, 949 // averef is set in find_matches, dbFlags is zero on ingest. 950 951 // the following fields are currently not being set anywhere: t_msec 952 } 953 *nstars = Nstars; 954 return (stars); 955 } 956 957 -
trunk/Ohana/src/addstar/src/SEDfit.c
r21508 r34405 147 147 // construct an average object for this object 148 148 // XXX for now, the output objects will have limited astrometric interpretation... 149 dvo_average_init (&outcat[0].average[Nave]); 149 150 outcat[0].average[Nave].R = incat[0].average[i].R; 150 151 outcat[0].average[Nave].D = incat[0].average[i].D; 151 outcat[0].average[Nave].dR = 0;152 outcat[0].average[Nave].dD = 0;153 outcat[0].average[Nave].uR = 0;154 outcat[0].average[Nave].uD = 0;155 outcat[0].average[Nave].duR = 0;156 outcat[0].average[Nave].duD = 0;157 outcat[0].average[Nave].P = 0;158 outcat[0].average[Nave].dP = 0;159 160 // XXX for now, set the average mag data to NULL161 outcat[0].average[Nave].Nmeasure = 0;162 outcat[0].average[Nave].Nmissing = 0;163 outcat[0].average[Nave].Xp = NAN_S_SHORT;164 outcat[0].average[Nave].measureOffset = Nmeas;165 outcat[0].average[Nave].missingOffset = -1;166 outcat[0].average[Nave].flags = 0;167 152 168 153 for (j = 0; j < Nsec; j++) { 169 outcat[0].secfilt[Nave*Nsec+j].M = NAN; 170 outcat[0].secfilt[Nave*Nsec+j].dM = NAN; 171 outcat[0].secfilt[Nave*Nsec+j].Xm = NAN_S_SHORT; 154 dvo_secfilt_init (&outcat[0].secfilt[Nave*Nsec+j]); 172 155 } 173 156 … … 181 164 for (j = 0; valid && (j < Nmodel); j++) { 182 165 n = modelRow[j]; 166 dvo_measure_init (&outcat[0].measure[Nmeas]); 183 167 outcat[0].measure[Nmeas].dR = 0.0; 184 168 outcat[0].measure[Nmeas].dD = 0.0; -
trunk/Ohana/src/addstar/src/addstar.c
r33963 r34405 27 27 options = args (argc, argv, options); 28 28 29 if (options.mode == ADDSTAR_MODE_CREATE_ID) { 30 addstar_create_ID (); 31 exit (0); 32 } 33 29 34 sky = SkyTableLoadOptimal (CATDIR, SKY_TABLE, GSCFILE, TRUE, SKY_DEPTH, VERBOSE); 30 35 if (sky == NULL) { -
trunk/Ohana/src/addstar/src/args.c
r33963 r34405 32 32 if ((N = get_argument (argc, argv, "-resort"))) { 33 33 options.mode = ADDSTAR_MODE_RESORT; 34 remove_argument (N, &argc, argv); 35 } 36 if ((N = get_argument (argc, argv, "-create-id"))) { 37 options.mode = ADDSTAR_MODE_CREATE_ID; 34 38 remove_argument (N, &argc, argv); 35 39 } … … 101 105 if (options.mode == ADDSTAR_MODE_FAKEIMAGE) goto allow; 102 106 if (options.mode == ADDSTAR_MODE_REFLIST) goto allow; 107 if (options.mode == ADDSTAR_MODE_CREATE_ID) goto allow; 103 108 if (options.mode == ADDSTAR_MODE_REFCAT) { 104 109 fprintf (stderr, "you have requested uploading from a catalog to the entire sky in one pass\n"); … … 364 369 } 365 370 371 if ((options.mode == ADDSTAR_MODE_CREATE_ID) && (argc == 1)) return (options); 366 372 if ((options.mode == ADDSTAR_MODE_RESORT) && (argc == 1)) return (options); 367 373 if (argc == 2) return (options); … … 378 384 fprintf (stderr, "USAGE: addstar -fakeimage (ra) (dec) (theta) (name)\n"); 379 385 fprintf (stderr, "USAGE: addstar -resort (SkyRegion)\n"); 386 fprintf (stderr, "USAGE: addstar -add-id\n"); 380 387 fprintf (stderr, "USAGE: addstar -ppm (filename)\n"); 381 388 exit (2); -
trunk/Ohana/src/addstar/src/load2mass_catalog.c
r21508 r34405 34 34 catalog[0].average[Nave].Nmeasure = 0; 35 35 catalog[0].average[Nave].Nmissing = 0; 36 catalog[0].average[Nave]. Xp= NAN_S_SHORT;36 catalog[0].average[Nave].ChiSqAve = NAN_S_SHORT; 37 37 catalog[0].average[Nave].measureOffset = Nmeas; 38 38 catalog[0].average[Nave].missingOffset = -1; -
trunk/Ohana/src/addstar/src/mkcmf.c
r34260 r34405 14 14 void gauss_init (int Nbin); 15 15 double rnd_gauss (double mean, double sigma); 16 void writeStars_PS1_V4 (FTable *ftable, double *X, double *Y, double *M, unsigned int *Flag, int Nstars); 16 17 void writeStars_PS1_V3 (FTable *ftable, double *X, double *Y, double *M, unsigned int *Flag, int Nstars); 17 18 void writeStars_PS1_V2 (FTable *ftable, double *X, double *Y, double *M, unsigned int *Flag, int Nstars); … … 283 284 found = TRUE; 284 285 } 286 if (!strcmp(type, "PS1_V4")) { 287 writeStars_PS1_V4 (&ftable, X, Y, M, Flag, Nstars); 288 found = TRUE; 289 } 285 290 if (!found) { 286 291 fprintf (stderr, "ERROR: unknown CMF type %s\n", type); … … 419 424 stars[i].fy = FY; 420 425 stars[i].df = DF; 421 stars[i].psfQ ual= PSFQUAL;426 stars[i].psfQF = PSFQUAL; 422 427 stars[i].nFrames = 1; 423 428 } … … 466 471 stars[i].fy = FY; 467 472 stars[i].df = DF; 468 stars[i].psfQ ual= PSFQUAL;473 stars[i].psfQF = PSFQUAL; 469 474 stars[i].nFrames = 1; 470 475 stars[i].flags = FLAGS; … … 514 519 stars[i].fy = FY; 515 520 stars[i].df = DF; 516 stars[i].psfQ ual= PSFQUAL;521 stars[i].psfQF = PSFQUAL; 517 522 stars[i].nFrames = 1; 518 523 stars[i].flags = FLAGS; … … 551 556 // randomly give poor PSFQF values 552 557 if ((BAD_PSFQF_FRAC > 0.0) && (drand48() < BAD_PSFQF_FRAC)) { 553 stars[i].psfQ ual= 0.25;558 stars[i].psfQF = 0.25; 554 559 } else { 555 stars[i].psfQ ual= PSFQUAL;560 stars[i].psfQF = PSFQUAL; 556 561 } 557 562 … … 606 611 // randomly give poor PSFQF values 607 612 if ((BAD_PSFQF_FRAC > 0.0) && (drand48() < BAD_PSFQF_FRAC)) { 608 stars[i].psfQ ual= 0.25;613 stars[i].psfQF = 0.25; 609 614 } else { 610 stars[i].psfQ ual= PSFQUAL;615 stars[i].psfQF = PSFQUAL; 611 616 } 612 617 … … 635 640 } 636 641 642 void writeStars_PS1_V4 (FTable *ftable, double *X, double *Y, double *M, unsigned int *Flag, int Nstars) { 643 644 int i; 645 CMF_PS1_V4 *stars; 646 float flux, fSN; 647 648 // XXX add gaussian-distributed noise based on counts 649 // this needs to make different output 'stars' entries depending on the desired type 650 ALLOCATE (stars, CMF_PS1_V4, Nstars); 651 gauss_init (2048); 652 for (i = 0; i < Nstars; i++) { 653 stars[i].detID = i; 654 655 flux = pow (10.0, -0.4*M[i]); 656 fSN = 1.0 / sqrt(flux); 657 658 stars[i].X = X[i]; 659 stars[i].Y = Y[i]; 660 stars[i].M = M[i]; 661 stars[i].Map = M[i] - 0.05; 662 663 if (ADDNOISE) { 664 stars[i].X += FX * fSN * rnd_gauss(0.0, 1.0); 665 stars[i].Y += FY * fSN * rnd_gauss(0.0, 1.0); 666 stars[i].M += fSN*rnd_gauss(0.0, 1.0); 667 } 668 669 // randomly give poor PSFQF values 670 if ((BAD_PSFQF_FRAC > 0.0) && (drand48() < BAD_PSFQF_FRAC)) { 671 stars[i].psfQF = 0.25; 672 stars[i].psfQFperf = 0.24; 673 } else { 674 stars[i].psfQF = PSFQUAL; 675 stars[i].psfQFperf = MAX(PSFQUAL - 0.01, 0.0); 676 } 677 678 stars[i].dX = FX * fSN; 679 stars[i].dY = FY * fSN; 680 stars[i].dM = fSN; 681 682 stars[i].Mpeak = M[i] + 1.0; 683 stars[i].sky = SKY; 684 stars[i].dSky = DSKY; 685 stars[i].psfChisq = PSFCHI; 686 stars[i].crNsigma = CRN; 687 stars[i].extNsigma = EXTN; 688 stars[i].fx = FX; 689 stars[i].fy = FY; 690 stars[i].df = DF; 691 stars[i].nFrames = 1; 692 stars[i].flags = Flag[i]; 693 694 stars[i].kronFlux = flux * 1.25; 695 stars[i].kronFluxErr = fSN * flux * 1.25; 696 } 697 698 gfits_table_set_CMF_PS1_V4 (ftable, stars, Nstars); 699 gfits_modify (ftable->header, "EXTTYPE", "%s", 1, "PS1_V4"); 700 } 701 -
trunk/Ohana/src/addstar/src/update_coords.c
r27435 r34405 47 47 dR2 = r2 / Npt - r*r; 48 48 dD2 = d2 / Npt - d*d; 49 average[0]. Xp= sqrt (dD2 + dR2 / SQ(cos(d*RAD_DEG)));50 /* Xp is scatter in position in hundredths of arcsec*/49 average[0].ChiSqAve = sqrt (dD2 + dR2 / SQ(cos(d*RAD_DEG))); 50 /* ChiSqAve is supposed to be a chisq */ 51 51 52 52 return; -
trunk/Ohana/src/addstar/test/simple.dvo
r34260 r34405 4 4 5 5 macro test.all 6 # test.fields (DVO schema) (CMF format) 6 7 test.fields PS1_DEV_0 PS1_V1 7 8 test.fields PS1_DEV_1 PS1_V1 … … 9 10 test.fields PS1_V2 PS1_V1 10 11 test.fields PS1_V3 PS1_V1 12 test.fields PS1_V4 PS1_V1 11 13 12 14 test.fields PS1_DEV_0 PS1_V2 … … 15 17 test.fields PS1_V2 PS1_V2 16 18 test.fields PS1_V3 PS1_V2 19 test.fields PS1_V4 PS1_V4 17 20 18 21 test.fields PS1_DEV_0 PS1_V3 … … 21 24 test.fields PS1_V2 PS1_V3 22 25 test.fields PS1_V3 PS1_V3 26 test.fields PS1_V4 PS1_V4 23 27 24 28 test.fields PS1_DEV_0 PS1_V4 … … 27 31 test.fields PS1_V2 PS1_V4 28 32 test.fields PS1_V3 PS1_V4 33 test.fields PS1_V4 PS1_V4 29 34 end 30 35 … … 36 41 end 37 42 38 tapPLAN 51 43 echo "" 44 echo "testing --- CMF = $1, DVO = $2 ---" 39 45 40 46 exec rm -rf catdir.test … … 45 51 mkinput 46 52 exec mkcmf test.in.txt test.cmf -date 2008/1/1 -time 01:00:00 -radec $RA $DEC -type $1 47 exec addstar -D CATDIR catdir.test -D CAMERA simtest test.cmf -D CATFORMAT $2 -quick-airmass 53 if ($TAP_VERBOSE) 54 exec addstar -D CATDIR catdir.test -D CAMERA simtest test.cmf -D CATFORMAT $2 -quick-airmass 55 else 56 exec addstar -D CATDIR catdir.test -D CAMERA simtest test.cmf -D CATFORMAT $2 -quick-airmass >& tmp.log 57 end 48 58 49 59 list testfields -copy testfields_$1 60 61 # set the number of tests based on the testfields list 62 tapPLAN {3 + 3*($testfields:n - 1)} 50 63 51 64 catdir catdir.test … … 77 90 for i 1 $testfields:n 78 91 list name -split $testfields:$i 79 if ("$name:0" == "SKIP") continue 80 if ("$name:2" == "SKIP") continue 92 if ("$name:0" == "SKIP") 93 tapSKIP 3 94 continue 95 end 96 if ("$name:2" == "SKIP") 97 tapSKIP 3 98 continue 99 end 81 100 # must be the same length 82 101 set v1 = $name:0 … … 106 125 # THETA is stored to only (360/65536) deg accuracy 107 126 if ("$name:0" == "PSF_THETA") 108 echo $MEAN127 # echo $MEAN 109 128 tapOK {abs($MEAN) < 0.006} "$name:0 vs $name:2 (MEAN)" 110 129 tapOK {abs($SIGMA) < 0.001} "$name:0 vs $name:2 (SIGMA)" … … 304 323 N_FRAMES : SKIP # not ingested into DVO 305 324 end 325 326 # this list is good for PS1_V4 327 list testfields_PS1_V4 328 IPP_IDET : detid 329 X_PSF : xccd 330 Y_PSF : yccd 331 X_PSF_SIG : xccd:err # FAIL 332 Y_PSF_SIG : yccd:err # FAIL 333 POSANGLE : SKIP # astrometry is not calibrated in the cmf 334 PLTSCALE : SKIP # astrometry is not calibrated in the cmf 335 PSF_INST_MAG : mag:inst 336 PSF_INST_MAG_SIG : mag:err 337 PSF_INST_FLUX : SKIP # not ingested into DVO 338 PSF_INST_FLUX_SIG : SKIP # not ingested into DVO 339 AP_MAG_STANDARD : mag:aperinst # FAIL 340 AP_MAG_RAW : SKIP # not ingested into DVO 341 AP_MAG_RADIUS : SKIP # not ingested into DVO 342 CAL_PSF_MAG : SKIP # photometry is not calibrated in the cmf 343 CAL_PSF_MAG_SIG : SKIP # photometry is not calibrated in the cmf 344 RA_PSF : SKIP # astrometry is not calibrated in the cmf 345 DEC_PSF : SKIP # astrometry is not calibrated in the cmf 346 PEAK_FLUX_AS_MAG : SKIP # not ingested into DVO 347 SKY : sky 348 SKY_SIG : sky_err 349 PSF_CHISQ : psf_chisq 350 CR_NSIGMA : cr_nsigma 351 EXT_NSIGMA : ext_nsigma 352 PSF_MAJOR : FWHM_MAJ 353 PSF_MINOR : FWHM_MIN 354 PSF_THETA : THETA # FAIL 355 PSF_QF : PSF_QF 356 PSF_QF_PERFECT : SKIP # not ingested into DVO 357 PSF_NDOF : PSF_NDOF 358 PSF_NPIX : PSF_NPIX 359 MOMENTS_XX : MXX 360 MOMENTS_XY : MXY 361 MOMENTS_YY : MYY 362 MOMENTS_M3C : SKIP # not ingested into DVO 363 MOMENTS_M3S : SKIP # not ingested into DVO 364 MOMENTS_M4C : SKIP # not ingested into DVO 365 MOMENTS_M4S : SKIP # not ingested into DVO 366 MOMENTS_R1 : SKIP # not ingested into DVO 367 MOMENTS_RH : SKIP # not ingested into DVO 368 KRON_FLUX : mag:kroninst 369 KRON_FLUX_ERR : mag:kronerr 370 KRON_FLUX_INNER : SKIP # not ingested into DVO 371 KRON_FLUX_OUTER : SKIP # not ingested into DVO 372 FLAGS : phot_flags 373 N_FRAMES : SKIP # not ingested into DVO 374 end -
trunk/Ohana/src/addstar/test/tap.dvo
r33653 r34405 2 2 3 3 if (not($?TAP_BREAK)) set TAP_BREAK = 0 4 if (not($?TAP_VERBOSE)) set TAP_VERBOSE = 0 4 5 5 6 macro tapOK … … 10 11 11 12 if ($1) 12 echo "ok : $2" 13 if ($TAP_VERBOSE) 14 echo "ok : $2" 15 end 13 16 $TAP_LAST = 1 14 17 else … … 42 45 end 43 46 44 $TAP_NSKIP + +45 $TAP_NDONE + +47 $TAP_NSKIP += $1 48 $TAP_NDONE += $1 46 49 end 47 50 -
trunk/Ohana/src/dvomerge/Makefile
r34260 r34405 33 33 $(SRC)/dvomergeUpdate_catalogs.$(ARCH).o \ 34 34 $(SRC)/dvomergeUpdate_threaded.$(ARCH).o \ 35 $(SRC)/dvomergeHistory.$(ARCH).o \ 35 36 $(SRC)/dvomergeFromList.$(ARCH).o \ 36 37 $(SRC)/dvomergeImageIDs.$(ARCH).o \ … … 56 57 $(SRC)/dvomerge_client.$(ARCH).o \ 57 58 $(SRC)/dvomergeUpdate_catalogs.$(ARCH).o \ 59 $(SRC)/dvomergeHistory.$(ARCH).o \ 58 60 $(SRC)/dvomergeImageIDs.$(ARCH).o \ 59 61 $(SRC)/dvo_image_merge_dbs.$(ARCH).o \ -
trunk/Ohana/src/dvomerge/doc/failsafe.txt
r33963 r34405 1 2 20120809 3 4 more on failsafe 5 6 I need to improve the technique I'm using for failsafe ops / rerun. 7 8 * Image.dat PHU keywords: 9 DVO_DB_ID : %s : hex string with 32 byte "unique" string for DB 10 DM_NMERGE : %d : number of databases merged into this onea 11 DM_nnnnnn : %s : DVO_DB_ID of merge (nnnnn) 12 13 Note: nnnnnn may be greater than NMERGE if entries are skipped 14 (only a total of NMERGE nnnnnn values are allowed) 15 16 * region.cpt PHU keywords: 17 DM_NMERGE : %d : number of databases merged into this one (needed?) 18 MS_nnnnnn : %d : size of merged db entry nnnnnn 19 MT_nnnnnn : %s : date/time of merged db entry nnnnnn 20 21 Is there a reason for the image entries? (additional record keeping) 22 23 24 25 26 201206?? 1 27 2 28 we have a problem with dvomerge and flaky hosts. the problem is that -
trunk/Ohana/src/dvomerge/include/dvomerge.h
r34277 r34405 44 44 char *notFound; 45 45 } IDmapType; 46 47 // struct to describe a sequence of dvomerges (Image.dat header) 48 typedef struct { 49 int Nmerge; 50 char **IDs; 51 } dmhImage; 52 53 // struct to describe a sequence of dvomerges (Object table : cpt header) 54 typedef struct { 55 int Nmerge; 56 off_t *size; 57 time_t *time; 58 char **date; 59 } dmhObject; 60 61 // data on a single table, populated when a new file is merged 62 typedef struct { 63 off_t size; 64 time_t time; 65 char *date; 66 } dmhObjectStats; 67 68 // struct to describe the current status of a single output file: 69 // is it on this machine (valid)? have we already merged or not (missed)? 70 // what is the collection of past merges (history)? what is the real filename? 71 typedef struct { 72 int valid; // is this object table on this machine? 73 int missed; // did we fail to merge into this table yet? 74 dmhObject *history; // complete sequence of previous merges 75 char *filename; // true filename on disk 76 } OutputStatus; 46 77 47 78 int main PROTO((int argc, char **argv)); … … 130 161 IDmapType *IDmapLoad PROTO((char *filename)); 131 162 int create_IDmap_lookup PROTO((IDmapType *IDmap)); 163 164 // dvomerge history functions 165 OutputStatus *OutputStatusInit (int N); 166 int OutputStatusFree (OutputStatus *outstat, int N); 167 168 int dmhObjectAdd (dmhObject *history, Header *header, dmhObjectStats *inStats); 169 int dmhObjectCheck (dmhObject *history, dmhObjectStats *inStats); 170 dmhObject *dmhObjectRead (char *filename); 171 172 void dmhObjectStatsFree (dmhObjectStats *stats); 173 dmhObjectStats *dmhObjectStatsRead (char *filename); 174 175 int dmhImageAdd (FITS_DB *db, dmhImage *history, char *dbID); 176 dmhImage *dmhImageRead (FITS_DB *db) ; 177 int dmhImageCheck (dmhImage *history, char *dbID); 178 179 char *dmhImageReadID (FITS_DB *db); 180 int dvoCreateID (char *catdir); 181 -
trunk/Ohana/src/dvomerge/include/dvoverify.h
r34260 r34405 34 34 int NNotSorted; 35 35 int CHECK_TOPLEVEL; 36 int CHECK_IMAGE_ID; 36 37 int LIST_MISSING; 37 38 … … 52 53 void AddFailures (char *filename); 53 54 char **GetFailures (int *N); 55 56 int LoadImageIDs (char *catdir); 57 int CheckImageID (Catalog *catalog); -
trunk/Ohana/src/dvomerge/src/dvomergeImageIDs.c
r33963 r34405 21 21 return TRUE; 22 22 } 23 // this operation reads the PHU header (inDB.header) 23 24 if (!dvo_image_load (&inDB, VERBOSE, TRUE)) { 24 25 Shutdown ("can't read input image catalog %s", inDB.filename); 25 26 } 27 dvo_image_unlock (&inDB); // unlock input 28 29 // read the header for the database ID? 30 char *indbID = dmhImageReadID (&inDB); 31 if (!indbID) { 32 Shutdown ("this database is missing a DVO database ID; please generate one before merging\n"); 33 } 26 34 27 35 /*** load output/Images.dat ***/ … … 41 49 } 42 50 51 dmhImage *history = dmhImageRead (&outDB); 52 if (!history) { 53 Shutdown ("error reading history for output database\n"); 54 } 55 56 // have we already merged this database? 57 if (dmhImageCheck(history, indbID)) { 58 // if so, then just match the image IDs 59 if (VERBOSE) fprintf (stderr, "already merged image table\n"); 60 dvo_image_match_dbs(IDmap, &outDB, &inDB); 61 dvo_image_unlock (&outDB); // unlock output 62 return TRUE; 63 } 64 43 65 // convert database table to internal structure & add to output image db 44 66 dvo_image_merge_dbs(IDmap, &outDB, &inDB); 45 dvo_image_unlock (&inDB); // unlock input46 67 68 // add the new image db to merge history 69 // (updates header as well as history structure 70 if (!dmhImageAdd (&outDB, history, indbID)) { 71 Shutdown ("error reading history for output database\n"); 72 } 73 47 74 SetProtect (TRUE); 48 75 dvo_image_save (&outDB, VERBOSE); -
trunk/Ohana/src/dvomerge/src/dvomergeUpdate_catalogs.c
r34260 r34405 31 31 outlist = SkyListByBounds (outsky, -1, inlist[0].regions[i][0].Rmin + dPos, inlist[0].regions[i][0].Rmax - dPos, inlist[0].regions[i][0].Dmin + dPos, inlist[0].regions[i][0].Dmax - dPos); 32 32 33 // there may be more than one output region for a given input region. are any of these output regions relevant to this machine? 33 OutputStatus *outstat = OutputStatusInit (outlist->Nregions); 34 35 // there may be more than one output region for a given input region. 36 // are any of these output regions relevant to this machine? 34 37 int found = FALSE; 35 for (j = 0; !found && (j < outlist[0].Nregions); j++) { 36 found = (found || HostTableTestHost(outlist[0].regions[j], HOST_ID)); 38 for (j = 0; j < outlist[0].Nregions; j++) { 39 outstat[j].valid = HostTableTestHost(outlist[0].regions[j], HOST_ID); 40 found = (found || outstat[j].valid); 37 41 } 38 42 39 43 // skip this input table for if no output files are on this machine 40 44 if (!found) { 45 OutputStatusFree (outstat, outlist->Nregions); 41 46 SkyListFree (outlist); 42 47 continue; 43 48 } 44 49 45 // get the stats on this input file (for comparison with the output headers) 46 struct stat instats; 47 int stat_result = stat (inlist[0].filename[i], &instats); 48 if (stat_result) { 49 if (errno == ENOENT) continue; 50 fprintf (stderr, "cannot read stats on input file %s\n", inlist[0].filename[i]); 51 perror ("stats error message:"); 52 exit (2); 53 } 54 55 // instats.st_size & instats.st_mtime 56 57 // check if any of the output files have NOT yet received data from this input file 58 50 // get stats for history check, skip input catalog if file not found (NULL inStats) 51 dmhObjectStats *inStats = dmhObjectStatsRead (inlist[0].filename[i]); 52 if (!inStats) { 53 if (VERBOSE) fprintf (stderr, "skipping %s, empty \n", inlist[0].filename[i]); 54 OutputStatusFree (outstat, outlist->Nregions); 55 SkyListFree (outlist); 56 continue; 57 } 58 59 // Check if any of the output files have NOT yet received data from this input file 60 // If none have been missed, we can skip the input file completely 59 61 int missed = FALSE; 60 for (j = 0; !missed && (j < outlist[0].Nregions); j++) {61 if (! HostTableTestHost(outlist[0].regions[j], HOST_ID)) continue;62 for (j = 0; j < outlist[0].Nregions; j++) { 63 if (!outstat[j].valid) continue; 62 64 63 65 // set the parameters which guide catalog open/load/create … … 65 67 snprintf (hostfile, DVO_MAX_PATH, "%s/%s.cpt", HOSTDIR, outlist[0].regions[j]->name); 66 68 char *filename = HOST_ID ? hostfile : outlist[0].filename[j]; 67 68 // get the stats on this input file (for comparison with the output headers) 69 struct stat outstats; 70 stat_result = stat (filename, &outstats); 71 if (stat_result) { 72 if (errno == ENOENT) { 73 missed = TRUE; 74 break; 75 } 76 fprintf (stderr, "cannot read stats on output file %s\n", filename); 77 perror ("stats error message:"); 78 exit (2); 79 } 80 81 FILE *fout = fopen (filename, "r"); 82 if (!fout) { 83 fprintf (stderr, "problem opening output file to read header %s\n", filename); 84 perror ("stats error message:"); 85 exit (2); 86 } 87 88 Header outheader; 89 if (!gfits_fread_header (fout, &outheader)) { 90 fprintf (stderr, "problem reading header for output file %s\n", filename); 91 exit (2); 92 } 93 94 fclose (fout); 95 96 // XXX note that we are hardwired to v 2 97 // check the header of output catalog for an existing merge 98 long long last_size; 99 char last_moddate[80]; 100 gfits_scan (&outheader, "LMRG_SZ2", "%lld", 1, &last_size); 101 gfits_scan (&outheader, "LMRG_DT2", "%s", 1, last_moddate); 102 103 time_t last_mod = ohana_date_to_sec (last_moddate); 104 105 if (last_size != instats.st_size) { 106 missed = TRUE; 107 break; 108 } 109 110 if (last_mod != instats.st_mtime) { 111 missed = TRUE; 112 break; 113 } 69 outstat[j].filename = strcreate (filename); 70 71 outstat[j].history = dmhObjectRead (outstat[j].filename); 72 73 // have we already merged this database? 74 outstat[j].missed = !dmhObjectCheck (outstat[j].history, inStats); 75 missed = (missed || outstat[j].missed); 114 76 } 115 77 if (!missed) { 116 fprintf (stderr, "skipping %s, already merged\n", inlist[0].filename[i]); 78 if (VERBOSE) fprintf (stderr, "skipping %s, empty or already merged\n", inlist[0].filename[i]); 79 OutputStatusFree (outstat, outlist->Nregions); 80 dmhObjectStatsFree (inStats); 81 SkyListFree (outlist); 117 82 continue; 118 83 } … … 125 90 dvo_catalog_unlock (&incatalog); 126 91 dvo_catalog_free (&incatalog); 92 OutputStatusFree (outstat, outlist->Nregions); 93 dmhObjectStatsFree (inStats); 127 94 SkyListFree (outlist); 128 95 continue; 129 96 } 130 131 char *moddate = ohana_sec_to_date (instats.st_mtime);132 97 133 98 // merge input into the appropriate output tables 134 99 for (j = 0; j < outlist[0].Nregions; j++) { 135 100 // skip tables for which the output files are not on this machine 136 if (!HostTableTestHost(outlist[0].regions[j], HOST_ID)) continue; 101 if (!outstat[j].valid) continue; 102 103 // skip if we have already done the merge 104 if (!outstat[j].missed) continue; 137 105 138 106 if (VERBOSE) fprintf (stderr, "output : %s\n", outlist[0].regions[j][0].name); 139 107 140 // set the parameters which guide catalog open/load/create 141 char hostfile[DVO_MAX_PATH]; 142 snprintf (hostfile, DVO_MAX_PATH, "%s/%s.cpt", HOSTDIR, outlist[0].regions[j]->name); 143 outcatalog.filename = HOST_ID ? hostfile : outlist[0].filename[j]; 108 // the real filename 109 outcatalog.filename = outstat[j].filename; 144 110 145 111 // load input catalog … … 151 117 outcatalog.catflags = LOAD_AVES | LOAD_MEAS | LOAD_MISS | LOAD_SECF; 152 118 153 # if (0) 154 // get the LMRG data from the previous pass 155 long long last_size; 156 char last_moddate[80]; 157 int status_size = gfits_scan (&outcatalog.header, "LMRG_SZ", "%lld", 1, &last_size); 158 int status_date = gfits_scan (&outcatalog.header, "LMRG_DT", "%s", 1, last_moddate); 159 160 // save the LMRG data from the previous pass 161 if (status_size && status_date) { 162 gfits_modify (&outcatalog.header, "LMRG_SZ1", "%lld", 1, (long long) last_size); 163 gfits_modify (&outcatalog.header, "LMRG_DT1", "%s", 1, last_moddate); 164 } 165 166 // update header of output catalog 167 gfits_modify (&outcatalog.header, "LMRG_SZ", "%lld", 1, (long long) instats.st_size); 168 gfits_modify (&outcatalog.header, "LMRG_DT", "%s", 1, moddate); 169 # endif 170 171 // update header of output catalog 172 // XXX note that we are hardwired to v 2 173 gfits_modify (&outcatalog.header, "LMRG_SZ2", "%lld", 1, (long long) instats.st_size); 174 gfits_modify (&outcatalog.header, "LMRG_DT2", "%s", 1, moddate); 119 dmhObjectAdd (outstat[j].history, &outcatalog.header, inStats); 175 120 176 121 if (!dvo_catalog_backup (&outcatalog, TRUE)) { … … 196 141 fprintf (stderr, "merged %s into %s\n", inlist[0].regions[i][0].name, outlist[0].regions[j][0].name); 197 142 } 143 144 OutputStatusFree (outstat, outlist->Nregions); 198 145 SkyListFree (outlist); 199 free (moddate);146 dmhObjectStatsFree (inStats); 200 147 201 148 dvo_catalog_unlock (&incatalog); -
trunk/Ohana/src/dvomerge/src/dvoverify.c
r34260 r34405 42 42 } 43 43 44 if (CHECK_IMAGE_ID) { 45 LoadImageIDs (CATDIR); 46 } 47 44 48 // load the sky table for the existing database 45 49 sky = SkyTableLoadOptimal (CATDIR, NULL, NULL, FALSE, SKY_DEPTH_HST, VERBOSE); -
trunk/Ohana/src/dvomerge/src/dvoverify_args.c
r34260 r34405 53 53 if ((N = get_argument (*argc, argv, "-skip-toplevel"))) { 54 54 CHECK_TOPLEVEL = FALSE; 55 remove_argument (N, argc, argv); 56 } 57 58 CHECK_IMAGE_ID = TRUE; 59 if ((N = get_argument (*argc, argv, "-skip-image-ids"))) { 60 CHECK_IMAGE_ID = FALSE; 55 61 remove_argument (N, argc, argv); 56 62 } -
trunk/Ohana/src/dvomerge/src/dvoverify_catalogs.c
r34260 r34405 100 100 101 101 char tmpline[DVO_MAX_PATH]; 102 if (VERBOSE) { snprintf (tmpline, DVO_MAX_PATH, "%s -v", command); strcpy (command, tmpline); } 103 if (CHECKSORTED) { snprintf (tmpline, DVO_MAX_PATH, "%s -s", command); strcpy (command, tmpline); } 104 if (LIST_MISSING) { snprintf (tmpline, DVO_MAX_PATH, "%s -list-missing", command); strcpy (command, tmpline); } 102 if (VERBOSE) { snprintf (tmpline, DVO_MAX_PATH, "%s -v", command); strcpy (command, tmpline); } 103 if (CHECKSORTED) { snprintf (tmpline, DVO_MAX_PATH, "%s -s", command); strcpy (command, tmpline); } 104 if (!CHECK_IMAGE_ID) { snprintf (tmpline, DVO_MAX_PATH, "%s -skip-image-ids", command); strcpy (command, tmpline); } 105 if (LIST_MISSING) { snprintf (tmpline, DVO_MAX_PATH, "%s -list-missing", command); strcpy (command, tmpline); } 105 106 106 107 fprintf (stderr, "command: %s\n", command); -
trunk/Ohana/src/dvomerge/src/dvoverify_client.c
r34260 r34405 19 19 skylist = SkyListByPatch (sky, -1, &UserPatch); 20 20 21 if (CHECK_IMAGE_ID) { 22 // XXX in client mode, we should be reading a reduced table generated by the calling 23 // serial program 24 LoadImageIDs (CATDIR); 25 } 26 21 27 dvoverify_catalogs (skylist, &Nbad); 22 28 -
trunk/Ohana/src/dvomerge/src/dvoverify_utils.c
r34260 r34405 49 49 50 50 // is this file a consistent FITS file? 51 // note that VerifyTableFile only has to read the headers, 52 // not the data blocks (it uses stat for sizes) 51 53 int VerifyTableFile (char *filename) { 52 54 … … 194 196 // \sum average[].Nmeasure = Nmeasure 195 197 196 // if the table is NOT SORTED, we have a subset of checks we can make198 // if the table is NOT SORTED, do we have a subset of checks we can make? 197 199 if (!catalog.sorted) { 198 200 fprintf (stderr, "!"); … … 231 233 } 232 234 235 // if we have a problem with Nmeasure and/or measureOffset values, we 236 // cannot do any further check -- we risk segfaults 233 237 if (!status) { 234 238 dvo_catalog_unlock (&catalog); … … 263 267 } 264 268 265 // for (i = 0; i < catalog.Naverage; i++) { 266 // m = catalog.average[i].measureOffset; 267 // for (j = 0; i < catalog.Nmeasure; i++) { 268 // objIDsOK &= (catalog.average[i].objID == catalog.measure[m+j].objID); 269 // catIDsOK &= (catalog.average[i].catID == catalog.measure[m+j].catID);270 // averefOK &= (catalog.measure[m+j].averef = i);271 //}272 //}269 // check the image ID here? 270 if (CHECK_IMAGE_ID) { 271 int Nfail = CheckImageID (&catalog); 272 if (Nfail > 0) { 273 fprintf (stderr, "ERROR: catalog %s has invalid %d unmatched image IDs\n", catalog.filename, Nfail); 274 status = FALSE; 275 } 276 } 273 277 274 278 dvo_catalog_unlock (&catalog); … … 278 282 } 279 283 280 // gfits_scan(&cpmHeaderTBL, "NAXIS1", "%d", 1, &NbytesPerRow); 281 // gfits_scan(&cpmHeaderTBL, "NAXIS2", "%d", 1, &Nrows); 282 284 static int maxID = 0; 285 static int *IDlist = NULL; 286 287 // check that every measure->imageID (if set) matches an existing 288 // image->ID. return the number of failures. 289 int CheckImageID (Catalog *catalog) { 290 291 off_t i, j, m, id; 292 int Nfail = 0; 293 294 for (i = 0; i < catalog[0].Naverage; i++) { 295 m = catalog[0].average[i].measureOffset; 296 for (j = 0; j < catalog[0].average[i].Nmeasure; j++) { 297 id = catalog[0].measure[m+j].imageID; 298 if (id > maxID) { 299 Nfail ++; 300 continue; 301 // is this sufficient to catch IDs set without an image table? 302 } 303 if (IDlist) { 304 if (IDlist[id] < 0) { 305 Nfail ++; 306 continue; 307 } 308 } else { 309 if (id > 0) { 310 Nfail ++; 311 continue; 312 } 313 } 314 } 315 } 316 return Nfail; 317 } 318 319 int LoadImageIDs (char *catdir) { 320 321 int status; 322 off_t Nimages, i; 323 Image *images; 324 FITS_DB inDB; 325 326 char ImageCat[DVO_MAX_PATH]; 327 snprintf (ImageCat, DVO_MAX_PATH, "%s/Images.dat", catdir); 328 329 // load the iage database table 330 status = dvo_image_lock (&inDB, ImageCat, 3600.0, LCK_SOFT); // shorter timeout? 331 if (!status) { 332 fprintf (stderr, "ERROR: failure to lock image catalog %s", inDB.filename); 333 exit (3); 334 } 335 336 // load the image table 337 if (inDB.dbstate == LCK_EMPTY) { 338 dvo_image_unlock (&inDB); // unlock input 339 // this is not an error: we can have no image table for, eg, 2MASS only db 340 return TRUE; 341 } 342 if (!dvo_image_load (&inDB, VERBOSE, TRUE)) { 343 fprintf (stderr, "can't read input image catalog %s", inDB.filename); 344 exit (4); 345 } 346 347 images = gfits_table_get_Image (&inDB.ftable, &Nimages, &inDB.swapped); 348 if (!images) { 349 fprintf (stderr, "ERROR: failed to read images from src\n"); 350 exit (2); 351 } 352 353 // generate a lookup table for the images 283 354 355 // first, find the max imageID 356 for (i = 0; i < Nimages; i++) { 357 maxID = MAX(maxID, images[i].imageID); 358 } 359 360 ALLOCATE (IDlist, int, maxID + 1); 361 for (i = 0; i < maxID + 1; i++) { 362 IDlist[i] = -1; 363 } 364 365 for (i = 0; i < Nimages; i++) { 366 int id = images[i].imageID; 367 IDlist[id] = i; 368 } 369 370 // free image table here? 371 // (in the future, I'll have to do the image table read in segments 372 // it is just getting to be too large...) 373 dvo_image_unlock (&inDB); // unlock input 374 375 return TRUE; 376 } -
trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c
r33963 r34405 320 320 output[0].average[Nave].dP = 0; 321 321 322 output[0].average[Nave]. Xp= 0;322 output[0].average[Nave].stargal = 0; 323 323 output[0].average[Nave].ChiSqAve = 0.0; 324 324 output[0].average[Nave].ChiSqPM = 0.0; -
trunk/Ohana/src/dvomerge/test/catdir.grizy/Images.dat
r24745 r34405 1 SIMPLE = T / BITPIX = 8 / NAXIS = 0 / PCOUNT = 0 / GCOUNT = 1 / BSCALE = 1.0000000000 / BZERO = 0.0000000000 / EXTEND = T / NIMAGES = 0 / ZERO_PT = 25.0000000000 / FORMAT = 'ELIXIR ' / ENDXTENSION= 'BINTABLE ' / BITPIX = 8 / NAXIS = 2 / NAXIS1 = 240 / NAXIS2 = 0 / PCOUNT = 0 / GCOUNT = 1 / TFIELDS = 50 / EXTNAME = 'DVO_IMAGE_ELIXIR ' / TTYPE1 = 'CRVAL1 ' / coordinate at reference pixel TUNIT1 = ' ' / TFORM1 = 'D ' / TSCAL1 = 1.0000000000 / TZERO1 = 0.0000000000 / TTYPE2 = 'CRVAL2 ' / coordinate at reference pixel TUNIT2 = ' ' / TFORM2 = 'D ' / TSCAL2 = 1.0000000000 / TZERO2 = 0.0000000000 / TTYPE3 = 'CRPIX1 ' / coordinate of reference pixel TUNIT3 = ' ' / TFORM3 = 'E ' / TSCAL3 = 1.0000000000 / TZERO3 = 0.0000000000 / TTYPE4 = 'CRPIX2 ' / coordinate of reference pixel TUNIT4 = ' ' / TFORM4 = 'E ' / TSCAL4 = 1.0000000000 / TZERO4 = 0.0000000000 / TTYPE5 = 'CDELT1 ' / degrees per pixel TUNIT5 = ' ' / TFORM5 = 'E ' / TSCAL5 = 1.0000000000 / TZERO5 = 0.0000000000 / TTYPE6 = 'CDELT2 ' / degrees per pixel TUNIT6 = ' ' / TFORM6 = 'E ' / TSCAL6 = 1.0000000000 / TZERO6 = 0.0000000000 / TTYPE7 = 'PC1_1 ' / rotation matrix TUNIT7 = ' ' / TFORM7 = 'E ' / TSCAL7 = 1.0000000000 / TZERO7 = 0.0000000000 / TTYPE8 = 'PC1_2 ' / rotation matrix TUNIT8 = ' ' / TFORM8 = 'E ' / TSCAL8 = 1.0000000000 / TZERO8 = 0.0000000000 / TTYPE9 = 'PC2_1 ' / rotation matrix TUNIT9 = ' ' / TFORM9 = 'E ' / TSCAL9 = 1.0000000000 / TZERO9 = 0.0000000000 / TTYPE10 = 'PC2_2 ' / rotation matrix TUNIT10 = ' ' / TFORM10 = 'E ' / TSCAL10 = 1.0000000000 / TZERO10 = 0.0000000000 / TTYPE11 = 'POLYTERMS ' / higher order warping terms TUNIT11 = ' ' / TFORM11 = '14E ' / TSCAL11 = 1.0000000000 / TZERO11 = 0.0000000000 / TTYPE12 = 'CTYPE ' / coordinate type TUNIT12 = ' ' / TFORM12 = '15A ' / TSCAL12 = 1.0000000000 / TZERO12 = 0.0000000000 / TTYPE13 = 'NPOLYTERMS ' / order of polynomial TUNIT13 = ' ' / TFORM13 = 'A ' / TSCAL13 = 1.0000000000 / TZERO13 = 0.0000000000 / TTYPE14 = 'TZERO ' / readout time (row 0) TUNIT14 = ' ' / TFORM14 = 'J ' / TSCAL14 = 1.0000000000 / TZERO14 = 0.0000000000 / TTYPE15 = 'NSTAR ' / number of stars on image TUNIT15 = ' ' / TFORM15 = 'J ' / TSCAL15 = 1.0000000000 / TZERO15 = 0.0000000000 / TTYPE16 = 'SECZ ' / airmass TUNIT16 = 'milliairmass ' / TFORM16 = 'I ' / TSCAL16 = 1.0000000000 / TZERO16 = 0.0000000000 / TTYPE17 = 'NX ' / image width TUNIT17 = ' ' / TFORM17 = 'I ' / TSCAL17 = 1.0000000000 / TZERO17 = 0.0000000000 / TTYPE18 = 'NY ' / image height TUNIT18 = ' ' / TFORM18 = 'I ' / TSCAL18 = 1.0000000000 / TZERO18 = 0.0000000000 / TTYPE19 = 'APMIFIT ' / aperture correction TUNIT19 = 'millimag ' / TFORM19 = 'I ' / TSCAL19 = 1.0000000000 / TZERO19 = 0.0000000000 / TTYPE20 = 'DAPMIFIT ' / apmifit error TUNIT20 = 'millimag ' / TFORM20 = 'I ' / TSCAL20 = 1.0000000000 / TZERO20 = 0.0000000000 / TTYPE21 = 'SOURCE ' / identifier for CCD, TUNIT21 = ' ' / TFORM21 = 'I ' / TSCAL21 = 1.0000000000 / TZERO21 = 0.0000000000 / TTYPE22 = 'MCAL ' / calibration mag TUNIT22 = 'millimag ' / TFORM22 = 'I ' / TSCAL22 = 1.0000000000 / TZERO22 = 0.0000000000 / TTYPE23 = 'DMCAL ' / error on Mcal TUNIT23 = 'millimag ' / TFORM23 = 'I ' / TSCAL23 = 1.0000000000 / TZERO23 = 0.0000000000 / TTYPE24 = 'XM ' / image chisq TUNIT24 = '10*log(value) ' / TFORM24 = 'I ' / TSCAL24 = 1.0000000000 / TZERO24 = 0.0000000000 / TTYPE25 = 'NAME ' / name of original image TUNIT25 = ' ' / TFORM25 = '32A ' / TSCAL25 = 1.0000000000 / TZERO25 = 0.0000000000 / TTYPE26 = 'DETECTION_LIMIT ' / detection limit TUNIT26 = '10*mag ' / TFORM26 = 'B ' / TSCAL26 = 1.0000000000 / TZERO26 = 0.0000000000 / TTYPE27 = 'SATURATION_LIMIT ' / saturation limit TUNIT27 = '10*mag ' / TFORM27 = 'B ' / TSCAL27 = 1.0000000000 / TZERO27 = 0.0000000000 / TTYPE28 = 'CERROR ' / astrometric error TUNIT28 = '50*arcsec ' / TFORM28 = 'B ' / TSCAL28 = 1.0000000000 / TZERO28 = 0.0000000000 / TTYPE29 = 'FWHM_X ' / PSF x width TUNIT29 = '25*arcsec ' / TFORM29 = 'B ' / TSCAL29 = 1.0000000000 / TZERO29 = 0.0000000000 / TTYPE30 = 'FWHM_Y ' / PSF y width TUNIT30 = '25*arcsec ' / TFORM30 = 'B ' / TSCAL30 = 1.0000000000 / TZERO30 = 0.0000000000 / TTYPE31 = 'TRATE ' / scan rate TUNIT31 = '100 usec/pixel ' / TFORM31 = 'B ' / TSCAL31 = 1.0000000000 / TZERO31 = 0.0000000000 / TTYPE32 = 'EXPTIME ' / exposure time TUNIT32 = 'seconds ' / TFORM32 = 'E ' / TSCAL32 = 1.0000000000 / TZERO32 = 0.0000000000 / TTYPE33 = 'CODE ' / image quality flag TUNIT33 = ' ' / TFORM33 = 'A ' / TSCAL33 = 1.0000000000 / TZERO33 = 0.0000000000 / TTYPE34 = 'CCDNUM ' / CCD ID number TUNIT34 = ' ' / TFORM34 = 'B ' / TSCAL34 = 1.0000000000 / TZERO34 = 0.0000000000 / TTYPE35 = 'DUMMY ' / unused TUNIT35 = ' ' / TFORM35 = '20A ' / TSCAL35 = 1.0000000000 / TZERO35 = 0.0000000000 / TTYPE36 = 'ORDER ' / Mrel 2D polynomical order TUNIT36 = ' ' / TFORM36 = 'I ' / TSCAL36 = 1.0000000000 / TZERO36 = 0.0000000000 / TTYPE37 = 'MX ' / Mrel polyterm TUNIT37 = ' ' / TFORM37 = 'I ' / TSCAL37 = 1.0000000000 / TZERO37 = 0.0000000000 / TTYPE38 = 'MY ' / Mrel polyterm TUNIT38 = ' ' / TFORM38 = 'I ' / TSCAL38 = 1.0000000000 / TZERO38 = 0.0000000000 / TTYPE39 = 'MXX ' / Mrel polyterm TUNIT39 = ' ' / TFORM39 = 'I ' / TSCAL39 = 1.0000000000 / TZERO39 = 0.0000000000 / TTYPE40 = 'MXY ' / Mrel polyterm TUNIT40 = ' ' / TFORM40 = 'I ' / TSCAL40 = 1.0000000000 / TZERO40 = 0.0000000000 / TTYPE41 = 'MYY ' / Mrel polyterm TUNIT41 = ' ' / TFORM41 = 'I ' / TSCAL41 = 1.0000000000 / TZERO41 = 0.0000000000 / TTYPE42 = 'MXXX ' / Mrel polyterm TUNIT42 = ' ' / TFORM42 = 'I ' / TSCAL42 = 1.0000000000 / TZERO42 = 0.0000000000 / TTYPE43 = 'MXXY ' / Mrel polyterm TUNIT43 = ' ' / TFORM43 = 'I ' / TSCAL43 = 1.0000000000 / TZERO43 = 0.0000000000 / TTYPE44 = 'MXYY ' / Mrel polyterm TUNIT44 = ' ' / TFORM44 = 'I ' / TSCAL44 = 1.0000000000 / TZERO44 = 0.0000000000 / TTYPE45 = 'MYYY ' / Mrel polyterm TUNIT45 = ' ' / TFORM45 = 'I ' / TSCAL45 = 1.0000000000 / TZERO45 = 0.0000000000 / TTYPE46 = 'MXXXX ' / Mrel polyterm TUNIT46 = ' ' / TFORM46 = 'I ' / TSCAL46 = 1.0000000000 / TZERO46 = 0.0000000000 / TTYPE47 = 'MXXXY ' / Mrel polyterm TUNIT47 = ' ' / TFORM47 = 'I ' / TSCAL47 = 1.0000000000 / TZERO47 = 0.0000000000 / TTYPE48 = 'MXXYY ' / Mrel polyterm TUNIT48 = ' ' / TFORM48 = 'I ' / TSCAL48 = 1.0000000000 / TZERO48 = 0.0000000000 / TTYPE49 = 'MXYYY ' / Mrel polyterm TUNIT49 = ' ' / TFORM49 = 'I ' / TSCAL49 = 1.0000000000 / TZERO49 = 0.0000000000 / TTYPE50 = 'MYYYY ' / Mrel polyterm TUNIT50 = ' ' / TFORM50 = 'I ' / TSCAL50 = 1.0000000000 / TZERO50 = 0.0000000000 / END1 SIMPLE = T / BITPIX = 8 / NAXIS = 0 / PCOUNT = 0 / GCOUNT = 1 / BSCALE = 1.0000000000 / BZERO = 0.0000000000 / EXTEND = T / NIMAGES = 0 / ZERO_PT = 25.0000000000 / FORMAT = 'ELIXIR ' / DVO_DBID= 'c2fa2cdbac0df952ae954ed04381e219' / END XTENSION= 'BINTABLE ' / BITPIX = 8 / NAXIS = 2 / NAXIS1 = 240 / NAXIS2 = 0 / PCOUNT = 0 / GCOUNT = 1 / TFIELDS = 50 / EXTNAME = 'DVO_IMAGE_ELIXIR ' / TTYPE1 = 'CRVAL1 ' / coordinate at reference pixel TUNIT1 = ' ' / TFORM1 = 'D ' / TSCAL1 = 1.0000000000 / TZERO1 = 0.0000000000 / TTYPE2 = 'CRVAL2 ' / coordinate at reference pixel TUNIT2 = ' ' / TFORM2 = 'D ' / TSCAL2 = 1.0000000000 / TZERO2 = 0.0000000000 / TTYPE3 = 'CRPIX1 ' / coordinate of reference pixel TUNIT3 = ' ' / TFORM3 = 'E ' / TSCAL3 = 1.0000000000 / TZERO3 = 0.0000000000 / TTYPE4 = 'CRPIX2 ' / coordinate of reference pixel TUNIT4 = ' ' / TFORM4 = 'E ' / TSCAL4 = 1.0000000000 / TZERO4 = 0.0000000000 / TTYPE5 = 'CDELT1 ' / degrees per pixel TUNIT5 = ' ' / TFORM5 = 'E ' / TSCAL5 = 1.0000000000 / TZERO5 = 0.0000000000 / TTYPE6 = 'CDELT2 ' / degrees per pixel TUNIT6 = ' ' / TFORM6 = 'E ' / TSCAL6 = 1.0000000000 / TZERO6 = 0.0000000000 / TTYPE7 = 'PC1_1 ' / rotation matrix TUNIT7 = ' ' / TFORM7 = 'E ' / TSCAL7 = 1.0000000000 / TZERO7 = 0.0000000000 / TTYPE8 = 'PC1_2 ' / rotation matrix TUNIT8 = ' ' / TFORM8 = 'E ' / TSCAL8 = 1.0000000000 / TZERO8 = 0.0000000000 / TTYPE9 = 'PC2_1 ' / rotation matrix TUNIT9 = ' ' / TFORM9 = 'E ' / TSCAL9 = 1.0000000000 / TZERO9 = 0.0000000000 / TTYPE10 = 'PC2_2 ' / rotation matrix TUNIT10 = ' ' / TFORM10 = 'E ' / TSCAL10 = 1.0000000000 / TZERO10 = 0.0000000000 / TTYPE11 = 'POLYTERMS ' / higher order warping terms TUNIT11 = ' ' / TFORM11 = '14E ' / TSCAL11 = 1.0000000000 / TZERO11 = 0.0000000000 / TTYPE12 = 'CTYPE ' / coordinate type TUNIT12 = ' ' / TFORM12 = '15A ' / TSCAL12 = 1.0000000000 / TZERO12 = 0.0000000000 / TTYPE13 = 'NPOLYTERMS ' / order of polynomial TUNIT13 = ' ' / TFORM13 = 'A ' / TSCAL13 = 1.0000000000 / TZERO13 = 0.0000000000 / TTYPE14 = 'TZERO ' / readout time (row 0) TUNIT14 = ' ' / TFORM14 = 'J ' / TSCAL14 = 1.0000000000 / TZERO14 = 0.0000000000 / TTYPE15 = 'NSTAR ' / number of stars on image TUNIT15 = ' ' / TFORM15 = 'J ' / TSCAL15 = 1.0000000000 / TZERO15 = 0.0000000000 / TTYPE16 = 'SECZ ' / airmass TUNIT16 = 'milliairmass ' / TFORM16 = 'I ' / TSCAL16 = 1.0000000000 / TZERO16 = 0.0000000000 / TTYPE17 = 'NX ' / image width TUNIT17 = ' ' / TFORM17 = 'I ' / TSCAL17 = 1.0000000000 / TZERO17 = 0.0000000000 / TTYPE18 = 'NY ' / image height TUNIT18 = ' ' / TFORM18 = 'I ' / TSCAL18 = 1.0000000000 / TZERO18 = 0.0000000000 / TTYPE19 = 'APMIFIT ' / aperture correction TUNIT19 = 'millimag ' / TFORM19 = 'I ' / TSCAL19 = 1.0000000000 / TZERO19 = 0.0000000000 / TTYPE20 = 'DAPMIFIT ' / apmifit error TUNIT20 = 'millimag ' / TFORM20 = 'I ' / TSCAL20 = 1.0000000000 / TZERO20 = 0.0000000000 / TTYPE21 = 'SOURCE ' / identifier for CCD, TUNIT21 = ' ' / TFORM21 = 'I ' / TSCAL21 = 1.0000000000 / TZERO21 = 0.0000000000 / TTYPE22 = 'MCAL ' / calibration mag TUNIT22 = 'millimag ' / TFORM22 = 'I ' / TSCAL22 = 1.0000000000 / TZERO22 = 0.0000000000 / TTYPE23 = 'DMCAL ' / error on Mcal TUNIT23 = 'millimag ' / TFORM23 = 'I ' / TSCAL23 = 1.0000000000 / TZERO23 = 0.0000000000 / TTYPE24 = 'XM ' / image chisq TUNIT24 = '10*log(value) ' / TFORM24 = 'I ' / TSCAL24 = 1.0000000000 / TZERO24 = 0.0000000000 / TTYPE25 = 'NAME ' / name of original image TUNIT25 = ' ' / TFORM25 = '32A ' / TSCAL25 = 1.0000000000 / TZERO25 = 0.0000000000 / TTYPE26 = 'DETECTION_LIMIT ' / detection limit TUNIT26 = '10*mag ' / TFORM26 = 'B ' / TSCAL26 = 1.0000000000 / TZERO26 = 0.0000000000 / TTYPE27 = 'SATURATION_LIMIT ' / saturation limit TUNIT27 = '10*mag ' / TFORM27 = 'B ' / TSCAL27 = 1.0000000000 / TZERO27 = 0.0000000000 / TTYPE28 = 'CERROR ' / astrometric error TUNIT28 = '50*arcsec ' / TFORM28 = 'B ' / TSCAL28 = 1.0000000000 / TZERO28 = 0.0000000000 / TTYPE29 = 'FWHM_X ' / PSF x width TUNIT29 = '25*arcsec ' / TFORM29 = 'B ' / TSCAL29 = 1.0000000000 / TZERO29 = 0.0000000000 / TTYPE30 = 'FWHM_Y ' / PSF y width TUNIT30 = '25*arcsec ' / TFORM30 = 'B ' / TSCAL30 = 1.0000000000 / TZERO30 = 0.0000000000 / TTYPE31 = 'TRATE ' / scan rate TUNIT31 = '100 usec/pixel ' / TFORM31 = 'B ' / TSCAL31 = 1.0000000000 / TZERO31 = 0.0000000000 / TTYPE32 = 'EXPTIME ' / exposure time TUNIT32 = 'seconds ' / TFORM32 = 'E ' / TSCAL32 = 1.0000000000 / TZERO32 = 0.0000000000 / TTYPE33 = 'CODE ' / image quality flag TUNIT33 = ' ' / TFORM33 = 'A ' / TSCAL33 = 1.0000000000 / TZERO33 = 0.0000000000 / TTYPE34 = 'CCDNUM ' / CCD ID number TUNIT34 = ' ' / TFORM34 = 'B ' / TSCAL34 = 1.0000000000 / TZERO34 = 0.0000000000 / TTYPE35 = 'DUMMY ' / unused TUNIT35 = ' ' / TFORM35 = '20A ' / TSCAL35 = 1.0000000000 / TZERO35 = 0.0000000000 / TTYPE36 = 'ORDER ' / Mrel 2D polynomical order TUNIT36 = ' ' / TFORM36 = 'I ' / TSCAL36 = 1.0000000000 / TZERO36 = 0.0000000000 / TTYPE37 = 'MX ' / Mrel polyterm TUNIT37 = ' ' / TFORM37 = 'I ' / TSCAL37 = 1.0000000000 / TZERO37 = 0.0000000000 / TTYPE38 = 'MY ' / Mrel polyterm TUNIT38 = ' ' / TFORM38 = 'I ' / TSCAL38 = 1.0000000000 / TZERO38 = 0.0000000000 / TTYPE39 = 'MXX ' / Mrel polyterm TUNIT39 = ' ' / TFORM39 = 'I ' / TSCAL39 = 1.0000000000 / TZERO39 = 0.0000000000 / TTYPE40 = 'MXY ' / Mrel polyterm TUNIT40 = ' ' / TFORM40 = 'I ' / TSCAL40 = 1.0000000000 / TZERO40 = 0.0000000000 / TTYPE41 = 'MYY ' / Mrel polyterm TUNIT41 = ' ' / TFORM41 = 'I ' / TSCAL41 = 1.0000000000 / TZERO41 = 0.0000000000 / TTYPE42 = 'MXXX ' / Mrel polyterm TUNIT42 = ' ' / TFORM42 = 'I ' / TSCAL42 = 1.0000000000 / TZERO42 = 0.0000000000 / TTYPE43 = 'MXXY ' / Mrel polyterm TUNIT43 = ' ' / TFORM43 = 'I ' / TSCAL43 = 1.0000000000 / TZERO43 = 0.0000000000 / TTYPE44 = 'MXYY ' / Mrel polyterm TUNIT44 = ' ' / TFORM44 = 'I ' / TSCAL44 = 1.0000000000 / TZERO44 = 0.0000000000 / TTYPE45 = 'MYYY ' / Mrel polyterm TUNIT45 = ' ' / TFORM45 = 'I ' / TSCAL45 = 1.0000000000 / TZERO45 = 0.0000000000 / TTYPE46 = 'MXXXX ' / Mrel polyterm TUNIT46 = ' ' / TFORM46 = 'I ' / TSCAL46 = 1.0000000000 / TZERO46 = 0.0000000000 / TTYPE47 = 'MXXXY ' / Mrel polyterm TUNIT47 = ' ' / TFORM47 = 'I ' / TSCAL47 = 1.0000000000 / TZERO47 = 0.0000000000 / TTYPE48 = 'MXXYY ' / Mrel polyterm TUNIT48 = ' ' / TFORM48 = 'I ' / TSCAL48 = 1.0000000000 / TZERO48 = 0.0000000000 / TTYPE49 = 'MXYYY ' / Mrel polyterm TUNIT49 = ' ' / TFORM49 = 'I ' / TSCAL49 = 1.0000000000 / TZERO49 = 0.0000000000 / TTYPE50 = 'MYYYY ' / Mrel polyterm TUNIT50 = ' ' / TFORM50 = 'I ' / TSCAL50 = 1.0000000000 / TZERO50 = 0.0000000000 / END -
trunk/Ohana/src/libautocode/Makefile.Targets
r34260 r34405 70 70 $(ASRC)/cmf-ps1-v2.$(ARCH).o \ 71 71 $(ASRC)/cmf-ps1-v3.$(ARCH).o \ 72 $(ASRC)/cmf-ps1-v4.$(ARCH).o \ 72 73 $(ASRC)/cmf-ps1-sv1.$(ARCH).o \ 74 $(ASRC)/cmf-ps1-sv2.$(ARCH).o \ 73 75 $(ASRC)/cmf-smpdata.$(ARCH).o \ 74 76 $(ASRC)/getstar-ps1-dev-0.$(ARCH).o \ … … 154 156 $(AINC)/cmf-ps1-v2.h \ 155 157 $(AINC)/cmf-ps1-v3.h \ 158 $(AINC)/cmf-ps1-v4.h \ 156 159 $(AINC)/cmf-ps1-sv1.h \ 160 $(AINC)/cmf-ps1-sv2.h \ 157 161 $(AINC)/cmf-smpdata.h \ 158 162 $(AINC)/getstar-ps1-dev-0.h \ -
trunk/Ohana/src/libautocode/def/Stars.d
r21508 r34405 1 *** note that this file / structure has been deprecated 2 3 1 4 STRUCT Stars 2 5 EXTNAME STARS -
trunk/Ohana/src/libautocode/def/average-ps1-v4.d
r34260 r34405 2 2 EXTNAME DVO_AVERAGE_PS1_V4 3 3 TYPE BINTABLE 4 SIZE 12 04 SIZE 128 5 5 DESCRIPTION DVO Average Object Table 6 6 … … 25 25 FIELD Trange, TIME_RANGE, int, mean epoch (PM,PAR ref), unix time seconds 26 26 27 FIELD Xp, SIGMA_POS, float, position scatter, 1/100 arcsec 27 FIELD psfQF, PSF_QF, float, psf coverage (bad masks) 28 FIELD psfQFperf, PSF_QF_PERF, float, psf coverage (all masks) 29 30 FIELD stargal, STARGAL_SEP, float, star / galaxy separator, 1/100 arcsec 28 31 FIELD Npos, NUMBER_POS, unsigned short, number of detections used for astrometry 29 32 -
trunk/Ohana/src/libautocode/def/average.d
r33647 r34405 2 2 EXTNAME DVO_AVERAGE 3 3 TYPE BINTABLE 4 SIZE 12 04 SIZE 128 5 5 DESCRIPTION DVO Average Object Table 6 6 … … 25 25 FIELD Trange, TIME_RANGE, int, mean epoch (PM,PAR ref), unix time seconds 26 26 27 FIELD Xp, SIGMA_POS, float, position scatter, 1/100 arcsec 27 FIELD psfQF, PSF_QF, float, psf coverage (bad masks) 28 FIELD psfQFperf, PSF_QF_PERF, float, psf coverage (all masks) 29 30 FIELD stargal, STARGAL_SEP, float, star / galaxy separator, 1/100 arcsec 28 31 FIELD Npos, NUMBER_POS, unsigned short, number of detections used for astrometry 29 32 -
trunk/Ohana/src/libautocode/def/cmf-ps1-dev-0.d
r21508 r34405 20 20 FIELD fy, PSF_WIDTH_Y, float, semi-minor, pixels 21 21 FIELD df, PSF_THETA, float, ellipse angle, degrees 22 FIELD psfQ ual, PSF_QF, float, quality factor22 FIELD psfQF, PSF_QF, float, quality factor 23 23 FIELD nFrames, N_FRAMES, short, images overlapping peak 24 24 FIELD dummy, DUMMY, short, padding -
trunk/Ohana/src/libautocode/def/cmf-ps1-dev-1.d
r21508 r34405 22 22 FIELD fy, PSF_WIDTH_Y, float, semi-minor, pixels 23 23 FIELD df, PSF_THETA, float, ellipse angle, degrees 24 FIELD psfQ ual, PSF_QF, float, quality factor24 FIELD psfQF, PSF_QF, float, quality factor 25 25 FIELD nFrames, N_FRAMES, short, images overlapping peak 26 26 FIELD flags, FLAGS, short, padding -
trunk/Ohana/src/libautocode/def/cmf-ps1-sv1.d
r34260 r34405 51 51 52 52 FIELD df, PSF_THETA, float, ellipse angle, degrees 53 FIELD psfQ ual,PSF_QF, float, quality factor54 FIELD psfQ ualPerfect,PSF_QF_PERFECT, float, quality factor perfect53 FIELD psfQF, PSF_QF, float, quality factor 54 FIELD psfQFperf, PSF_QF_PERFECT, float, quality factor perfect 55 55 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom 56 56 … … 112 112 # FIELD fy, PSF_MINOR, PSF_MINOR 1E float, psf fit minor axis, pixels 113 113 # FIELD df, PSF_THETA, PSF_THETA 1E float, ellipse angle, degrees 114 # FIELD psfQ ual,PSF_QF, PSF_QF 1E float, quality factor115 # FIELD psfQ ualPerfect,PSF_QF_PERFECT, PSF_QF_PERFECT 1E float, quality factor perfect114 # FIELD psfQF, PSF_QF, PSF_QF 1E float, quality factor 115 # FIELD psfQFperf, PSF_QF_PERFECT, PSF_QF_PERFECT 1E float, quality factor perfect 116 116 # FIELD psfNdof, PSF_NDOF, PSF_NDOF 1J int, psf degrees of freedom 117 117 # FIELD psfNpix, PSF_NPIX, PSF_NPIX 1J int, psf number of pixels -
trunk/Ohana/src/libautocode/def/cmf-ps1-v1.d
r34260 r34405 30 30 FIELD fy, PSF_MINOR, float, psf fit minor axis, pixels 31 31 FIELD df, PSF_THETA, float, ellipse angle, degrees 32 FIELD psfQ ual, PSF_QF, float, quality factor32 FIELD psfQF, PSF_QF, float, quality factor 33 33 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom 34 34 FIELD psfNpix, PSF_NPIX, int, psf number of pixels -
trunk/Ohana/src/libautocode/def/cmf-ps1-v2.d
r34260 r34405 30 30 FIELD fy, PSF_MINOR, float, psf fit minor axis, pixels 31 31 FIELD df, PSF_THETA, float, ellipse angle, degrees 32 FIELD psfQ ual, PSF_QF, float, quality factor32 FIELD psfQF, PSF_QF, float, quality factor 33 33 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom 34 34 FIELD psfNpix, PSF_NPIX, int, psf number of pixels -
trunk/Ohana/src/libautocode/def/cmf-ps1-v3.d
r34260 r34405 36 36 FIELD fy, PSF_MINOR, float, psf fit minor axis, pixels 37 37 FIELD df, PSF_THETA, float, ellipse angle, degrees 38 FIELD psfQ ual,PSF_QF, float, quality factor39 FIELD psfQ ualPerfect,PSF_QF_PERFECT, float, quality factor perfect38 FIELD psfQF, PSF_QF, float, quality factor 39 FIELD psfQFperf, PSF_QF_PERFECT, float, quality factor perfect 40 40 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom 41 41 FIELD psfNpix, PSF_NPIX, int, psf number of pixels … … 68 68 # FIELD dFlux, PSF_INST_FLUX_SIG, float, psf flux error, counts 69 69 # FIELD MapRaw, AP_MAG_RAW, float, raw aperture mag, mags 70 # FIELD psfQ ualPerfect,PSF_QF_PERFECT, float, quality factor perfect70 # FIELD psfQFperf, PSF_QF_PERFECT, float, quality factor perfect 71 71 # FIELD M3c, MOMENTS_M3C, float, third moment cos(t), pixels^3 72 72 # FIELD M3s, MOMENTS_M3S, float, third moment sin(t), pixels^3 -
trunk/Ohana/src/libautocode/def/measure-panstarrs-dev-0.d
r21508 r34405 46 46 47 47 # do we need more resolution than a short? should this be a log? 48 FIELD psfQ ual,PSF_QF, short, psf coverage/quality factor48 FIELD psfQF, PSF_QF, short, psf coverage/quality factor 49 49 50 50 FIELD dophot, DOPHOT, char, dophot type -
trunk/Ohana/src/libautocode/def/measure-panstarrs-dev-1.d
r21508 r34405 46 46 47 47 # do we need more resolution than a short? should this be a log? 48 FIELD psfQ ual,PSF_QF, short, psf coverage/quality factor48 FIELD psfQF, PSF_QF, short, psf coverage/quality factor 49 49 50 50 FIELD dophot, DOPHOT, char, dophot type -
trunk/Ohana/src/libautocode/def/measure-ps1-dev-1.d
r21508 r34405 33 33 34 34 # do we need more resolution than a short? should this be a log? 35 FIELD psfQ ual,PSF_QF, float, psf coverage/quality factor35 FIELD psfQF, PSF_QF, float, psf coverage/quality factor 36 36 FIELD psfChisq, PSF_CHISQ, float, psf coverage/quality factor 37 37 FIELD crNsigma, CR_NSIGMA, float, psf coverage/quality factor -
trunk/Ohana/src/libautocode/def/measure-ps1-dev-2.d
r21508 r34405 34 34 35 35 # do we need more resolution than a short? should this be a log? 36 FIELD psfQ ual,PSF_QF, float, psf coverage/quality factor36 FIELD psfQF, PSF_QF, float, psf coverage/quality factor 37 37 FIELD psfChisq, PSF_CHISQ, float, psf fit chisq 38 38 FIELD crNsigma, CR_NSIGMA, float, Nsigma deviation towards CR -
trunk/Ohana/src/libautocode/def/measure-ps1-v1.d
r21508 r34405 39 39 40 40 # do we need more resolution than a short? should this be a log? 41 FIELD psfQ ual,PSF_QF, float, psf coverage/quality factor41 FIELD psfQF, PSF_QF, float, psf coverage/quality factor 42 42 FIELD psfChisq, PSF_CHISQ, float, psf fit chisq 43 43 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom -
trunk/Ohana/src/libautocode/def/measure-ps1-v2.d
r30604 r34405 39 39 40 40 # do we need more resolution than a short? should this be a log? 41 FIELD psfQ ual,PSF_QF, float, psf coverage/quality factor41 FIELD psfQF, PSF_QF, float, psf coverage/quality factor 42 42 FIELD psfChisq, PSF_CHISQ, float, psf fit chisq 43 43 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom -
trunk/Ohana/src/libautocode/def/measure-ps1-v3.d
r34260 r34405 39 39 40 40 # do we need more resolution than a short? should this be a log? 41 FIELD psfQ ual,PSF_QF, float, psf coverage/quality factor41 FIELD psfQF, PSF_QF, float, psf coverage/quality factor 42 42 FIELD psfChisq, PSF_CHISQ, float, psf fit chisq 43 43 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom -
trunk/Ohana/src/libautocode/def/measure-ps1-v4.d
r34260 r34405 47 47 48 48 # do we need more resolution than a short? should this be a log? 49 FIELD psfQual, PSF_QF, float, psf coverage/quality factor 50 FIELD psfChisq, PSF_CHISQ, float, psf fit chisq 51 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom 52 FIELD psfNpix, PSF_NPIX, int, psf number of pixels 53 FIELD crNsigma, CR_NSIGMA, float, Nsigma deviation towards CR 54 FIELD extNsigma, EXT_NSIGMA, float, Nsigma deviation towards EXT 49 FIELD psfQF, PSF_QF, float, psf coverage/quality factor 50 FIELD psfQFperf, PSF_QF_PEFECT, float, psf coverage / quality factor (all mask bits) 51 FIELD psfChisq, PSF_CHISQ, float, psf fit chisq 52 53 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom 54 FIELD psfNpix, PSF_NPIX, int, psf number of pixels 55 FIELD crNsigma, CR_NSIGMA, float, Nsigma deviation towards CR 56 FIELD extNsigma, EXT_NSIGMA, float, Nsigma deviation towards EXT 55 57 56 58 # model shape parameters … … 73 75 FIELD dRsys, POS_SYS_ERR, short, systematic error from astrom, 1/100 of pixels 74 76 75 FIELD pad, PAD, char[4], padding76 77 77 # local astrometry scales 78 78 FIELD posangle, POSANGLE, short, position angle sky to chip, (0xffff/360) deg -
trunk/Ohana/src/libautocode/def/measure.d
r34260 r34405 2 2 EXTNAME DVO_MEASURE 3 3 TYPE BINTABLE 4 SIZE 17 24 SIZE 176 5 5 DESCRIPTION DVO Detection Measurement Table 6 6 … … 47 47 48 48 # do we need more resolution than a short? should this be a log? 49 FIELD psfQual, PSF_QF, float, psf coverage/quality factor 50 FIELD psfChisq, PSF_CHISQ, float, psf fit chisq 51 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom 52 FIELD psfNpix, PSF_NPIX, int, psf number of pixels 53 FIELD crNsigma, CR_NSIGMA, float, Nsigma deviation towards CR 54 FIELD extNsigma, EXT_NSIGMA, float, Nsigma deviation towards EXT 49 FIELD psfQF, PSF_QF, float, psf coverage/quality factor 50 FIELD psfQFperf, PSF_QF_PEFECT, float, psf coverage / quality factor (all mask bits) 51 FIELD psfChisq, PSF_CHISQ, float, psf fit chisq 52 53 FIELD psfNdof, PSF_NDOF, int, psf degrees of freedom 54 FIELD psfNpix, PSF_NPIX, int, psf number of pixels 55 FIELD crNsigma, CR_NSIGMA, float, Nsigma deviation towards CR 56 FIELD extNsigma, EXT_NSIGMA, float, Nsigma deviation towards EXT 55 57 56 58 # model shape parameters -
trunk/Ohana/src/libdvo/include/dvo.h
r34291 r34405 623 623 int dvo_image_save_raw (FITS_DB *db, int VERBOSE); 624 624 int dvo_image_addrows (FITS_DB *db, Image *new, off_t Nnew); 625 int dvo_image_createID (Header *header); 625 626 void dvo_image_create (FITS_DB *db, double ZeroPoint); 626 627 -
trunk/Ohana/src/libdvo/src/dbExtractAverages.c
r34260 r34405 147 147 case AVE_TRANGE: 148 148 value.Flt = TimeValue (average[0].Trange, 0, TimeFormat); 149 break;150 151 case AVE_Xp:152 value.Flt = 0.01*average[0].Xp;153 149 break; 154 150 -
trunk/Ohana/src/libdvo/src/dbExtractMeasures.c
r34260 r34405 303 303 case MEAS_SECFILT_FLAGS: /* OK */ 304 304 equiv = GetPhotcodeEquivbyCode (measure[0].photcode); 305 if (!equiv) break; 305 306 Nsec = GetPhotcodeNsec (equiv->code); 306 307 if (Nsec == -1) break; … … 479 480 break; 480 481 case MEAS_PSF_QF: /* OK */ 481 value.Flt = measure[0].psfQ ual;482 value.Flt = measure[0].psfQF; 482 483 break; 483 484 case MEAS_PSF_QF_PERFECT: /* OK */ -
trunk/Ohana/src/libdvo/src/dbFields.c
r34260 r34405 335 335 if (!strcasecmp (fieldName, "EXTID_LO")) ESCAPE (AVE_EXTID_LO, MAG_NONE, OPIHI_INT); 336 336 337 // if (!strcasecmp (fieldName, "Xp")) ESCAPE (AVE_Xp, MAG_NONE, OPIHI_FLT);338 // if (!strcasecmp (fieldName, "TYPE")) ESCAPE (AVE_TYPE, MAG_NONE, OPIHI_INT);339 // for words that don't parse, try a photcode340 341 337 // check for code:mode in photcode name 342 338 code = ParsePhotcodeField (fieldName, &mode, MAG_AVE); -
trunk/Ohana/src/libdvo/src/dvo_catalog.c
r34260 r34405 89 89 average->Trange = 0; 90 90 91 average-> Xp =0;91 average->stargal = 0.0; 92 92 average->Npos = 0; 93 93 … … 174 174 measure->extID = 0; 175 175 176 measure->psfQ ual= NAN;176 measure->psfQF = NAN; 177 177 measure->psfChisq = NAN; 178 178 measure->psfNdof = 0; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c
r34260 r34405 27 27 out[i].detID = in[i].detID; 28 28 out[i].imageID = in[i].imageID; 29 out[i].psfQ ual = in[i].psfQual;29 out[i].psfQF = in[i].psfQF; 30 30 out[i].psfChisq = in[i].psfChisq; 31 31 out[i].crNsigma = in[i].crNsigma; … … 65 65 out[i].FluxKron = NAN; 66 66 out[i].dFluxKron = NAN; 67 out[i].psfQFperf = NAN; 67 68 } 68 69 return (out); … … 93 94 out[i].detID = in[i].detID; 94 95 out[i].imageID = in[i].imageID; 95 out[i].psfQ ual = in[i].psfQual;96 out[i].psfQF = in[i].psfQF; 96 97 out[i].psfChisq = in[i].psfChisq; 97 98 out[i].crNsigma = in[i].crNsigma; … … 126 127 out[i].R = in[i].R; 127 128 out[i].D = in[i].D; 128 out[i].Xp = in[i].Xp;129 129 out[i].dR = in[i].dR; 130 130 out[i].dD = in[i].dD; … … 159 159 out[i].photFlagsUpper = 0; 160 160 out[i].photFlagsLower = 0; 161 162 // added for PS1_V4 (Xp dropped in V4 onward, was not really used anyway) 163 out[i].psfQF = NAN; 164 out[i].psfQFperf = NAN; 165 out[i].stargal = NAN; 161 166 } 162 167 return (out); … … 174 179 out[i].R = in[i].R; 175 180 out[i].D = in[i].D; 176 out[i].Xp = in[i].Xp;177 181 out[i].dR = in[i].dR; 178 182 out[i].dD = in[i].dD; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_2.c
r34260 r34405 29 29 out[i].detID = in[i].detID; 30 30 out[i].imageID = in[i].imageID; 31 out[i].psfQ ual = in[i].psfQual;31 out[i].psfQF = in[i].psfQF; 32 32 out[i].psfChisq = in[i].psfChisq; 33 33 out[i].crNsigma = in[i].crNsigma; … … 62 62 out[i].FluxKron = NAN; 63 63 out[i].dFluxKron = NAN; 64 } 64 out[i].psfQFperf = NAN; 65 } 65 66 return (out); 66 67 } … … 92 93 out[i].detID = in[i].detID; 93 94 out[i].imageID = in[i].imageID; 94 out[i].psfQ ual = in[i].psfQual;95 out[i].psfQF = in[i].psfQF; 95 96 out[i].psfChisq = in[i].psfChisq; 96 97 out[i].crNsigma = in[i].crNsigma; … … 130 131 out[i].P = in[i].P; 131 132 out[i].dP = in[i].dP; 132 out[i].Xp = in[i].Xp;133 133 out[i].Nmeasure = in[i].Nmeasure; 134 134 out[i].Nmissing = in[i].Nmissing; … … 153 153 out[i].photFlagsUpper = 0; 154 154 out[i].photFlagsLower = 0; 155 156 // added for PS1_V4 (Xp dropped in V4 onward, was not really used anyway) 157 out[i].psfQF = NAN; 158 out[i].psfQFperf = NAN; 159 out[i].stargal = NAN; 155 160 } 156 161 return (out); … … 176 181 out[i].P = in[i].P; 177 182 out[i].dP = in[i].dP; 178 out[i].Xp = in[i].Xp;179 183 out[i].Nmeasure = in[i].Nmeasure; 180 184 out[i].Nmissing = in[i].Nmissing; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_REF.c
r34260 r34405 33 33 out[i].catID = in[i].catID; 34 34 out[i].extID = 0; 35 out[i].psfQ ual= 1.0; // we do not save a value, but some operations (relphot/average) filter on this value..35 out[i].psfQF = 1.0; // we do not save a value, but some operations (relphot/average) filter on this value.. 36 36 out[i].psfChisq = NAN; 37 37 out[i].psfNdof = 0; … … 60 60 out[i].FluxKron = NAN; 61 61 out[i].dFluxKron = NAN; 62 out[i].psfQFperf = NAN; 62 63 } 63 64 return (out); … … 105 106 out[i].P = NAN; 106 107 out[i].dP = NAN; 107 out[i].Xp = NAN_S_SHORT;108 108 out[i].ChiSqAve = NAN; 109 109 out[i].ChiSqPM = NAN; … … 126 126 out[i].photFlagsUpper = 0; 127 127 out[i].photFlagsLower = 0; 128 129 // added for PS1_V4 (Xp dropped in V4 onward, was not really used anyway) 130 out[i].psfQF = NAN; 131 out[i].psfQFperf = NAN; 132 out[i].stargal = NAN; 128 133 } 129 134 return (out); -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V1.c
r34260 r34405 33 33 out[i].catID = in[i].catID; 34 34 out[i].extID = in[i].extID; 35 out[i].psfQ ual = in[i].psfQual;35 out[i].psfQF = in[i].psfQF; 36 36 out[i].psfChisq = in[i].psfChisq; 37 37 out[i].psfNdof = in[i].psfNdof; … … 60 60 out[i].FluxKron = NAN; 61 61 out[i].dFluxKron = NAN; 62 out[i].psfQFperf = NAN; 62 63 } 63 64 return (out); … … 94 95 out[i].catID = in[i].catID; 95 96 out[i].extID = in[i].extID; 96 out[i].psfQ ual = in[i].psfQual;97 out[i].psfQF = in[i].psfQF; 97 98 out[i].psfChisq = in[i].psfChisq; 98 99 out[i].psfNdof = in[i].psfNdof; … … 137 138 out[i].P = in[i].P; 138 139 out[i].dP = in[i].dP; 139 out[i].Xp = in[i].Xp;140 140 out[i].ChiSqAve = in[i].ChiSq; 141 141 out[i].ChiSqPM = NAN; … … 158 158 out[i].photFlagsUpper = 0; 159 159 out[i].photFlagsLower = 0; 160 161 // added for PS1_V4 (Xp dropped in V4 onward, was not really used anyway) 162 out[i].psfQF = NAN; 163 out[i].psfQFperf = NAN; 164 out[i].stargal = NAN; 160 165 } 161 166 return (out); … … 181 186 out[i].P = in[i].P; 182 187 out[i].dP = in[i].dP; 183 out[i].Xp = in[i].Xp;184 188 out[i].ChiSq = in[i].ChiSqAve; 185 189 out[i].Npos = in[i].Npos; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V2.c
r34260 r34405 33 33 out[i].catID = in[i].catID; 34 34 out[i].extID = in[i].extID; 35 out[i].psfQ ual = in[i].psfQual;35 out[i].psfQF = in[i].psfQF; 36 36 out[i].psfChisq = in[i].psfChisq; 37 37 out[i].psfNdof = in[i].psfNdof; … … 61 61 out[i].FluxKron = NAN; 62 62 out[i].dFluxKron = NAN; 63 out[i].psfQFperf = NAN; 63 64 } 64 65 return (out); … … 95 96 out[i].catID = in[i].catID; 96 97 out[i].extID = in[i].extID; 97 out[i].psfQ ual = in[i].psfQual;98 out[i].psfQF = in[i].psfQF; 98 99 out[i].psfChisq = in[i].psfChisq; 99 100 out[i].psfNdof = in[i].psfNdof; … … 138 139 out[i].P = in[i].P; 139 140 out[i].dP = in[i].dP; 140 out[i].Xp = in[i].Xp;141 141 out[i].ChiSqAve = in[i].ChiSqAve; 142 142 out[i].ChiSqPM = in[i].ChiSqPM; … … 159 159 out[i].photFlagsUpper = 0; 160 160 out[i].photFlagsLower = 0; 161 162 // added for PS1_V4 (Xp dropped in V4 onward, was not really used anyway) 163 out[i].psfQF = NAN; 164 out[i].psfQFperf = NAN; 165 out[i].stargal = NAN; 161 166 } 162 167 return (out); … … 182 187 out[i].P = in[i].P; 183 188 out[i].dP = in[i].dP; 184 out[i].Xp = in[i].Xp;185 189 out[i].ChiSqAve = in[i].ChiSqAve; 186 190 out[i].ChiSqPM = in[i].ChiSqPM; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V3.c
r34260 r34405 33 33 out[i].catID = in[i].catID; 34 34 out[i].extID = in[i].extID; 35 out[i].psfQ ual = in[i].psfQual;35 out[i].psfQF = in[i].psfQF; 36 36 out[i].psfChisq = in[i].psfChisq; 37 37 out[i].psfNdof = in[i].psfNdof; … … 61 61 out[i].FluxKron = NAN; 62 62 out[i].dFluxKron = NAN; 63 out[i].psfQFperf = NAN; 63 64 } 64 65 return (out); … … 95 96 out[i].catID = in[i].catID; 96 97 out[i].extID = in[i].extID; 97 out[i].psfQ ual = in[i].psfQual;98 out[i].psfQF = in[i].psfQF; 98 99 out[i].psfChisq = in[i].psfChisq; 99 100 out[i].psfNdof = in[i].psfNdof; … … 138 139 out[i].P = in[i].P; 139 140 out[i].dP = in[i].dP; 140 out[i].Xp = in[i].Xp;141 141 out[i].ChiSqAve = in[i].ChiSqAve; 142 142 out[i].ChiSqPM = in[i].ChiSqPM; … … 157 157 out[i].catID = in[i].catID; 158 158 out[i].extID = in[i].extID; 159 160 // added for PS1_V4 (Xp dropped in V4 onward, was not really used anyway) 161 out[i].psfQF = NAN; 162 out[i].psfQFperf = NAN; 163 out[i].stargal = NAN; 159 164 } 160 165 return (out); … … 180 185 out[i].P = in[i].P; 181 186 out[i].dP = in[i].dP; 182 out[i].Xp = in[i].Xp;183 187 out[i].ChiSqAve = in[i].ChiSqAve; 184 188 out[i].ChiSqPM = in[i].ChiSqPM; -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V4.c
r34260 r34405 39 39 out[i].catID = in[i].catID; 40 40 out[i].extID = in[i].extID; 41 out[i].psfQual = in[i].psfQual; 41 out[i].psfQF = in[i].psfQF; 42 out[i].psfQFperf = in[i].psfQFperf; 42 43 out[i].psfChisq = in[i].psfChisq; 43 44 out[i].psfNdof = in[i].psfNdof; … … 99 100 out[i].catID = in[i].catID; 100 101 out[i].extID = in[i].extID; 101 out[i].psfQual = in[i].psfQual; 102 out[i].psfQF = in[i].psfQF; 103 out[i].psfQFperf = in[i].psfQFperf; 102 104 out[i].psfChisq = in[i].psfChisq; 103 105 out[i].psfNdof = in[i].psfNdof; … … 142 144 out[i].P = in[i].P; 143 145 out[i].dP = in[i].dP; 144 out[i].Xp = in[i].Xp; 146 out[i].psfQF = in[i].psfQF; 147 out[i].psfQFperf = in[i].psfQFperf; 148 out[i].stargal = in[i].stargal; 145 149 out[i].ChiSqAve = in[i].ChiSqAve; 146 150 out[i].ChiSqPM = in[i].ChiSqPM; … … 184 188 out[i].P = in[i].P; 185 189 out[i].dP = in[i].dP; 186 out[i].Xp = in[i].Xp; 190 out[i].psfQF = in[i].psfQF; 191 out[i].psfQFperf = in[i].psfQFperf; 192 out[i].stargal = in[i].stargal; 187 193 out[i].ChiSqAve = in[i].ChiSqAve; 188 194 out[i].ChiSqPM = in[i].ChiSqPM; -
trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c
r34260 r34405 35 35 out[i].Sky = 0; 36 36 out[i].dSky = 0; 37 out[i].psfQ ual= 0;37 out[i].psfQF = 0; 38 38 out[i].psfChisq = 0; 39 39 out[i].crNsigma = 0; … … 72 72 out[i].FluxKron = NAN; 73 73 out[i].dFluxKron = NAN; 74 out[i].psfQFperf = NAN; 74 75 } 75 76 return (out); … … 127 128 out[i].R = in[i].R; 128 129 out[i].D = in[i].D; 129 out[i].Xp = in[i].Xp;130 130 131 131 // changed for PANSTARRS_DEV_0 (moved from Average to Measure) … … 170 170 out[i].photFlagsUpper = 0; 171 171 out[i].photFlagsLower = 0; 172 173 // added for PS1_V4 (Xp dropped in V4 onward, was not really used anyway) 174 out[i].psfQF = NAN; 175 out[i].psfQFperf = NAN; 176 out[i].stargal = NAN; 172 177 } 173 178 return (out); … … 185 190 out[i].R = in[i].R; 186 191 out[i].D = in[i].D; 187 out[i].Xp = in[i].Xp;188 192 189 193 // changed for PANSTARRS_DEV_0 (moved from Average to Measure) -
trunk/Ohana/src/libdvo/src/dvo_convert_loneos.c
r34260 r34405 39 39 out[i].Sky = 0; 40 40 out[i].dSky = 0; 41 out[i].psfQ ual= 0;41 out[i].psfQF = 0; 42 42 out[i].psfChisq = 0; 43 43 out[i].crNsigma = 0; … … 74 74 out[i].FluxKron = NAN; 75 75 out[i].dFluxKron = NAN; 76 out[i].psfQFperf = NAN; 76 77 } 77 78 return (out); … … 118 119 out[i].R = in[i].R; 119 120 out[i].D = in[i].D; 120 out[i].Xp = in[i].Xp;121 121 122 122 // added for ELIXIR … … 162 162 out[i].photFlagsUpper = 0; 163 163 out[i].photFlagsLower = 0; 164 165 // added for PS1_V4 (Xp dropped in V4 onward, was not really used anyway) 166 out[i].psfQF = NAN; 167 out[i].psfQFperf = NAN; 168 out[i].stargal = NAN; 164 169 } 165 170 return (out); … … 177 182 out[i].R = in[i].R; 178 183 out[i].D = in[i].D; 179 out[i].Xp = in[i].Xp;180 184 181 185 // changed for PANSTARRS_DEV_0 (moved from Average to Measure) -
trunk/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_0.c
r34260 r34405 36 36 37 37 // changed or added for PS1_DEV_1 (2008.02.26) 38 out[i].psfQ ual = (in[i].psfQual == NAN_S_SHORT) ? NAN : in[i].psfQual;38 out[i].psfQF = (in[i].psfQF == NAN_S_SHORT) ? NAN : in[i].psfQF; 39 39 out[i].dbFlags = in[i].flags; 40 40 out[i].detID = in[i].detID_lo; … … 65 65 out[i].Mkron = NAN; 66 66 out[i].dMkron = NAN; 67 out[i].FluxPSF = NAN; 68 out[i].dFluxPSF = NAN; 69 out[i].FluxKron = NAN; 70 out[i].dFluxKron = NAN; 67 out[i].FluxPSF = NAN; 68 out[i].dFluxPSF = NAN; 69 out[i].FluxKron = NAN; 70 out[i].dFluxKron = NAN; 71 out[i].psfQFperf = NAN; 71 72 } 72 73 return (out); … … 105 106 // changed or added for PS1_DEV_1 (2008.02.26) 106 107 out[i].flags = in[i].dbFlags; 107 out[i].psfQ ual = isnan(in[i].psfQual) ? NAN_S_SHORT : in[i].psfQual;108 out[i].psfQF = isnan(in[i].psfQF) ? NAN_S_SHORT : in[i].psfQF; 108 109 out[i].detID_hi = 0; 109 110 out[i].detID_lo = in[i].detID; … … 133 134 out[i].R = in[i].R; 134 135 out[i].D = in[i].D; 135 out[i].Xp = in[i].Xp;136 136 out[i].dR = in[i].dR; 137 137 out[i].dD = in[i].dD; … … 166 166 out[i].photFlagsUpper = 0; 167 167 out[i].photFlagsLower = 0; 168 169 // added for PS1_V4 (Xp dropped in V4 onward, was not really used anyway) 170 out[i].psfQF = NAN; 171 out[i].psfQFperf = NAN; 172 out[i].stargal = NAN; 168 173 } 169 174 return (out); … … 182 187 out[i].R = in[i].R; 183 188 out[i].D = in[i].D; 184 out[i].Xp = in[i].Xp;185 189 out[i].dR = in[i].dR; 186 190 out[i].dD = in[i].dD; -
trunk/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_1.c
r34260 r34405 36 36 37 37 // changed or added for PS1_DEV_1 (2008.02.26) 38 out[i].psfQ ual = (in[i].psfQual == NAN_S_SHORT) ? NAN : in[i].psfQual;38 out[i].psfQF = (in[i].psfQF == NAN_S_SHORT) ? NAN : in[i].psfQF; 39 39 out[i].dbFlags = in[i].flags; 40 40 out[i].detID = in[i].detID_lo; … … 65 65 out[i].Mkron = NAN; 66 66 out[i].dMkron = NAN; 67 out[i].FluxPSF = NAN; 68 out[i].dFluxPSF = NAN; 69 out[i].FluxKron = NAN; 70 out[i].dFluxKron = NAN; 67 out[i].FluxPSF = NAN; 68 out[i].dFluxPSF = NAN; 69 out[i].FluxKron = NAN; 70 out[i].dFluxKron = NAN; 71 out[i].psfQFperf = NAN; 71 72 } 72 73 return (out); … … 105 106 // changed or added for PS1_DEV_1 (2008.02.26) 106 107 out[i].flags = in[i].dbFlags; 107 out[i].psfQ ual = isnan(in[i].psfQual) ? NAN_S_SHORT : in[i].psfQual;108 out[i].psfQF = isnan(in[i].psfQF) ? NAN_S_SHORT : in[i].psfQF; 108 109 out[i].detID_hi = 0; 109 110 out[i].detID_lo = in[i].detID; … … 133 134 out[i].R = in[i].R; 134 135 out[i].D = in[i].D; 135 out[i].Xp = in[i].Xp;136 136 out[i].dR = in[i].dR; 137 137 out[i].dD = in[i].dD; … … 166 166 out[i].photFlagsUpper = 0; 167 167 out[i].photFlagsLower = 0; 168 169 // added for PS1_V4 (Xp dropped in V4 onward, was not really used anyway) 170 out[i].psfQF = NAN; 171 out[i].psfQFperf = NAN; 172 out[i].stargal = NAN; 168 173 } 169 174 return (out); … … 182 187 out[i].R = in[i].R; 183 188 out[i].D = in[i].D; 184 out[i].Xp = in[i].Xp;185 189 out[i].dR = in[i].dR; 186 190 out[i].dD = in[i].dD; -
trunk/Ohana/src/libdvo/src/dvo_image.c
r34260 r34405 200 200 gfits_modify (&db[0].header, "NIMAGES", "%d", 1, 0); 201 201 gfits_modify (&db[0].header, "ZERO_PT", "%lf", 1, ZeroPoint); 202 203 dvo_image_createID (&db[0].header); 202 204 203 205 if (db[0].format == DVO_FORMAT_INTERNAL) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "INTERNAL"); … … 217 219 return; 218 220 } 221 222 // given a dvo image db, add an ID to the header 223 int dvo_image_createID (Header *header) { 224 225 char dbID[33]; 226 227 if (!header->buffer) return FALSE; 228 229 int status = gfits_scan (header, "DVO_DBID", "%s", 1, dbID); 230 if (status) { 231 // do not add a DVO_DBID to a table which already has one 232 return TRUE; 233 } 234 235 // I have a header, I want to add ONE line. double check there is enough space 236 char *p = gfits_header_field (header, "END", 1); 237 if (p == NULL) { 238 fprintf (stderr, "header is missing END\n"); 239 return FALSE; 240 } 241 if (p - header->buffer + 80 == header->datasize) { 242 fprintf (stderr, "no free space in block, can't insert keyword\n"); 243 return FALSE; 244 } 245 246 int start_size = header->datasize; 247 248 long A = time(NULL); 249 srand48(A); 250 251 int i; 252 for (i = 0; i < 32; i++) { 253 sprintf (&dbID[i], "%1x", (int)(16.0*drand48())); 254 } 255 256 gfits_modify (header, "DVO_DBID", "%s", 1, dbID); 257 if (start_size != header->datasize) { 258 fprintf (stderr, "error: header buffer grew? (%d to %d bytes)\n", (int) start_size, (int) header->datasize); 259 return FALSE; 260 } 261 return TRUE; 262 } 263 -
trunk/Ohana/src/libfits/header/F_scan.c
r28246 r34405 85 85 86 86 // XXX is this safe for 64bit off_t and 32bit off_t? 87 // XXX the problem is that we read FITS files on many machine types: I need to ensure 88 // that we are portable -- this sseems inconsistent 87 89 if (!strcmp (mode, "%jd")) { *va_arg (argp, intmax_t *) = value; return (TRUE); } 88 90 … … 220 222 if ((*q == 'd') || (*q == 'D')) value *= pow (10.0, atof (q + 1)); 221 223 222 if (!strcmp (mode, "%d")) { *va_arg (argp, int *) = value; return (TRUE); } 223 if (!strcmp (mode, "%ld")) { *va_arg (argp, long *) = value; return (TRUE); } 224 if (!strcmp (mode, OFF_T_FMT)) { *va_arg (argp, long long *) = value; return (TRUE); } 225 if (!strcmp (mode, "%Ld")) { *va_arg (argp, long long *) = value; return (TRUE); } 226 if (!strcmp (mode, "%u")) { *va_arg (argp, unsigned *) = value; return (TRUE); } 227 if (!strcmp (mode, "%lu")) { *va_arg (argp, unsigned long *) = value; return (TRUE); } 228 if (!strcmp (mode, "%llu")) { *va_arg (argp, unsigned long long *) = value; return (TRUE); } 229 if (!strcmp (mode, "%Lu")) { *va_arg (argp, unsigned long long *) = value; return (TRUE); } 230 if (!strcmp (mode, "%hd")) { *va_arg (argp, short *) = value; return (TRUE); } 224 if (!strcmp (mode, "%d")) { *va_arg (argp, int *) = value; return (TRUE); } 225 if (!strcmp (mode, "%ld")) { *va_arg (argp, long *) = value; return (TRUE); } 226 if (!strcmp (mode, OFF_T_FMT)) { *va_arg (argp, off_t *) = value; return (TRUE); } 227 if (!strcmp (mode, "%Ld")) { *va_arg (argp, long long *) = value; return (TRUE); } 228 if (!strcmp (mode, "%u")) { *va_arg (argp, unsigned *) = value; return (TRUE); } 229 if (!strcmp (mode, "%lu")) { *va_arg (argp, unsigned long *) = value; return (TRUE); } 230 if (!strcmp (mode, "%llu")) { *va_arg (argp, unsigned long long *) = value; return (TRUE); } 231 if (!strcmp (mode, "%Lu")) { *va_arg (argp, unsigned long long *) = value; return (TRUE); } 232 if (!strcmp (mode, "%hd")) { *va_arg (argp, short *) = value; return (TRUE); } 233 if (!strcmp (mode, "%jd")) { *va_arg (argp, intmax_t *) = value; return (TRUE); } 231 234 232 235 /* no valid mode found */ -
trunk/Ohana/src/opihi
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-20120805/Ohana/src/opihi merged: 34382,34398,34401
- Property svn:mergeinfo changed
-
trunk/Ohana/src/opihi/cmd.astro
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-20120805/Ohana/src/opihi/cmd.astro merged: 34398,34401
- Property svn:mergeinfo changed
-
trunk/Ohana/src/opihi/dvo/avextract.c
r34088 r34405 325 325 gprint (GP_ERR, " <photcode>:nphot : number of measurements used for average magnitude in this photcode\n"); 326 326 327 // gprint (GP_ERR, " Xp : NOT VALID\n");328 327 // gprint (GP_ERR, " type : dophot type (unused)\n"); 329 328 // gprint (GP_ERR, " typefrac : dophot type fraction (unused)\n"); -
trunk/Ohana/src/opihi/dvo/avmatch.c
r33963 r34405 351 351 gprint (GP_ERR, " <photcode>:nphot : number of measurements used for average magnitude in this photcode\n"); 352 352 353 // gprint (GP_ERR, " Xp : NOT VALID\n");354 353 // gprint (GP_ERR, " type : dophot type (unused)\n"); 355 354 // gprint (GP_ERR, " typefrac : dophot type fraction (unused)\n"); -
trunk/Ohana/src/opihi/dvo/gstar.c
r33963 r34405 190 190 gprint (GP_LOG, "%5.2f ", 3600.0*sqrt(r)); 191 191 gprint (GP_LOG, "%3d ", catalog.average[k].Nmeasure); 192 gprint (GP_LOG, "%4.1f ", 0.01*catalog.average[k].Xp);192 gprint (GP_LOG, "%4.1f ", catalog.average[k].ChiSqAve); 193 193 gprint (GP_LOG, "%5x ", catalog.average[k].flags); 194 194 gprint (GP_LOG, "%x ", catalog.average[k].objID); … … 205 205 gprint (GP_LOG, "%f ", catalog.average[k].dP); 206 206 207 gprint (GP_LOG, "%f ", catalog.average[k].ChiSqAve);208 207 gprint (GP_LOG, "%f ", catalog.average[k].ChiSqPM); 209 208 gprint (GP_LOG, "%f ", catalog.average[k].ChiSqPar); … … 292 291 gprint (GP_LOG, "0x%08x ", catalog.measure[m].detID); 293 292 gprint (GP_LOG, "0x%08x ", catalog.measure[m].imageID); 294 gprint (GP_LOG, "%.3f ", catalog.measure[m].psfQ ual);293 gprint (GP_LOG, "%.3f ", catalog.measure[m].psfQF); 295 294 gprint (GP_LOG, "%.1f ", catalog.measure[m].psfChisq); 296 295 gprint (GP_LOG, "%.1f ", catalog.measure[m].crNsigma); -
trunk/Ohana/src/opihi/dvo/photometry.c
r31635 r34405 226 226 if (!strcasecmp (parname, "Nmeas")) param = AVE_NMEAS; 227 227 if (!strcasecmp (parname, "Nmiss")) param = AVE_NMISS; 228 if (!strcasecmp (parname, "Xp")) param = AVE_Xp;229 228 if (!strcasecmp (parname, "Xm")) param = AVE_Xm; 230 229 if (!strcasecmp (parname, "flag")) param = AVE_OBJ_FLAGS; … … 294 293 void GetAverageParamHelp () { 295 294 gprint (GP_ERR, "value may be one of the following:\n"); 296 gprint (GP_ERR, " ra dec dmag Nmeas Nmiss Xm XpNphot Ncode flag type typefrac\n\n");295 gprint (GP_ERR, " ra dec dmag Nmeas Nmiss Xm Nphot Ncode flag type typefrac\n\n"); 297 296 gprint (GP_ERR, "value may also be a valid photcode\n"); 298 297 gprint (GP_ERR, "photcodes or 'mag' may have optional magnitude mode: mag,[Mave, Mref]\n"); … … 637 636 case AVE_NMISS: 638 637 value = average[0].Nmissing; 639 break;640 case AVE_Xp:641 value = 0.01*average[0].Xp;642 638 break; 643 639 case AVE_OBJ_FLAGS: -
trunk/Ohana/src/relastro/src/BrightCatalog.c
r33652 r34405 154 154 GET_COLUMN(Tmean, "MEAN_EPOCH", int); 155 155 GET_COLUMN(Trange, "TIME_RANGE", int); 156 GET_COLUMN( Xp, "SIGMA_POS",float);156 GET_COLUMN(stargal, "STARGAL_SEP", float); 157 157 GET_COLUMN(Npos, "NUMBER_POS", short); 158 158 GET_COLUMN(Nmeasure, "NMEASURE", short); … … 189 189 average[i].Tmean = Tmean[i] ; 190 190 average[i].Trange = Trange[i] ; 191 average[i]. Xp = Xp[i];191 average[i].stargal = stargal[i] ; 192 192 average[i].Npos = Npos[i] ; 193 193 average[i].Nmeasure = Nmeasure[i] ; … … 221 221 free (Tmean); 222 222 free (Trange); 223 free ( Xp);223 free (stargal); 224 224 free (Npos); 225 225 free (Nmeasure); … … 487 487 int *Tmean ; ALLOCATE (Tmean , int , catalog->Naverage); 488 488 int *Trange ; ALLOCATE (Trange , int , catalog->Naverage); 489 float * Xp ; ALLOCATE (Xp, float , catalog->Naverage);489 float *stargal ; ALLOCATE (stargal , float , catalog->Naverage); 490 490 short *Npos ; ALLOCATE (Npos , short , catalog->Naverage); 491 491 short *Nmeasure ; ALLOCATE (Nmeasure , short , catalog->Naverage); … … 520 520 Tmean[i] = average[i].Tmean ; 521 521 Trange[i] = average[i].Trange ; 522 Xp[i] = average[i].Xp;522 stargal[i] = average[i].stargal ; 523 523 Npos[i] = average[i].Npos ; 524 524 Nmeasure[i] = average[i].Nmeasure ; … … 552 552 gfits_set_bintable_column (&theader, &ftable, "MEAN_EPOCH", Tmean, catalog->Naverage); 553 553 gfits_set_bintable_column (&theader, &ftable, "TIME_RANGE", Trange, catalog->Naverage); 554 gfits_set_bintable_column (&theader, &ftable, "S IGMA_POS", Xp,catalog->Naverage);554 gfits_set_bintable_column (&theader, &ftable, "STARGAL_SEP", stargal, catalog->Naverage); 555 555 gfits_set_bintable_column (&theader, &ftable, "NUMBER_POS", Npos, catalog->Naverage); 556 556 gfits_set_bintable_column (&theader, &ftable, "NMEASURE", Nmeasure, catalog->Naverage); … … 582 582 free (Tmean); 583 583 free (Trange); 584 free ( Xp);584 free (stargal); 585 585 free (Npos); 586 586 free (Nmeasure); -
trunk/Ohana/src/relastro/src/UpdateObjectOffsets.c
r33963 r34405 95 95 // RESET (-reset) 96 96 // TimeSelect -time 97 // (note that psfQ ualis applied rigidly at 0.85, as is the galaxy test)97 // (note that psfQF is applied rigidly at 0.85, as is the galaxy test) 98 98 // ImagSelect, ImagMin, ImagMax 99 99 // MaxDensityUse, MaxDensityValue -
trunk/Ohana/src/relastro/src/UpdateObjects.c
r33652 r34405 352 352 catalog[i].average[j].dP = fit.dp; // parallax error in arcsec 353 353 354 // Xp is supposed to be the position scatter, not the chisq : fix this:355 // catalog[i].average[j].Xp = (fit.Nfit > 1) ? 100.0*log10(fit.chisq) : NAN_S_SHORT;356 354 catalog[i].average[j].ChiSqAve = fitAve.chisq; 357 355 catalog[i].average[j].ChiSqPM = fitPM.chisq; 358 356 catalog[i].average[j].ChiSqPar = fitPAR.chisq; 359 catalog[i].average[j].Xp = 0.0;360 357 catalog[i].average[j].Tmean = (Tmean * 86400 * 365.26) + T2000; 361 358 catalog[i].average[j].Trange = (Trange * 86400 * 365.26); -
trunk/Ohana/src/relastro/src/load_catalogs.c
r33963 r34405 137 137 // RESET (-reset) 138 138 // TimeSelect -time 139 // (note that psfQ ualis applied rigidly at 0.85, as is the galaxy test)139 // (note that psfQF is applied rigidly at 0.85, as is the galaxy test) 140 140 // ImagSelect, ImagMin, ImagMax 141 141 // MaxDensityUse, MaxDensityValue -
trunk/Ohana/src/relastro/src/relastro_objects.c
r34260 r34405 123 123 // RESET (-reset) 124 124 // TimeSelect -time 125 // (note that psfQ ualis applied rigidly at 0.85, as is the galaxy test)125 // (note that psfQF is applied rigidly at 0.85, as is the galaxy test) 126 126 // ImagSelect, ImagMin, ImagMax 127 127 // MaxDensityUse, MaxDensityValue -
trunk/Ohana/src/relphot/src/bcatalog.c
r33963 r34405 117 117 118 118 // skip garbage measurements 119 if (catalog[0].measure[offset].psfQ ual< 0.85) { Npsfqf ++; continue; }119 if (catalog[0].measure[offset].psfQF < 0.85) { Npsfqf ++; continue; } 120 120 if (isnan(catalog[0].measure[offset].M)) { Nnan ++; continue; } 121 121 -
trunk/Ohana/src/relphot/src/load_catalogs.c
r33963 r34405 136 136 // TimeSelect -time 137 137 // DophotSelect 138 // (note that psfQ ualis applied rigidly at 0.85, as is the galaxy test)138 // (note that psfQF is applied rigidly at 0.85, as is the galaxy test) 139 139 // MAG_LIM 140 140 // SIGMA_LIM -
trunk/Ohana/src/relphot/src/relphot_objects.c
r33963 r34405 143 143 // TimeSelect -time 144 144 // DophotSelect 145 // (note that psfQ ualis applied rigidly at 0.85, as is the galaxy test)145 // (note that psfQF is applied rigidly at 0.85, as is the galaxy test) 146 146 // MAG_LIM 147 147 // SIGMA_LIM -
trunk/Ohana/src/relphot/src/setMrelFinal.c
r34088 r34405 237 237 if (catalog[0].measure[m].photFlags & code->photomBadMask) goto skip; 238 238 if ((catalog[0].measure[m].photcode > 10000) && (catalog[0].measure[m].photcode < 10500)) { 239 if (catalog[0].measure[m].psfQ ual< 0.85) goto skip;239 if (catalog[0].measure[m].psfQF < 0.85) goto skip; 240 240 } 241 241 }
Note:
See TracChangeset
for help on using the changeset viewer.
