Changeset 34260 for trunk/Ohana/src/libdvo
- Timestamp:
- Jul 31, 2012, 4:02:00 PM (14 years ago)
- Location:
- trunk/Ohana/src/libdvo
- Files:
-
- 25 edited
- 3 copied
-
Makefile (modified) (3 diffs)
-
doc/notes.txt (modified) (2 diffs)
-
include/dvo.h (modified) (6 diffs)
-
include/dvodb.h (modified) (3 diffs)
-
include/ps1_v4_defs.h (copied) (copied from branches/eam_branches/ipp-20120627/Ohana/src/libdvo/include/ps1_v4_defs.h )
-
src/BoundaryTree.c (copied) (copied from branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/BoundaryTree.c )
-
src/LoadPhotcodesFITS.c (modified) (1 diff)
-
src/SavePhotcodesFITS.c (modified) (2 diffs)
-
src/dbExtractAverages.c (modified) (2 diffs)
-
src/dbExtractMeasures.c (modified) (3 diffs)
-
src/dbFields.c (modified) (4 diffs)
-
src/dvo_catalog.c (modified) (3 diffs)
-
src/dvo_catalog_raw.c (modified) (8 diffs)
-
src/dvo_convert.c (modified) (10 diffs)
-
src/dvo_convert_PS1_DEV_1.c (modified) (2 diffs)
-
src/dvo_convert_PS1_DEV_2.c (modified) (2 diffs)
-
src/dvo_convert_PS1_REF.c (modified) (2 diffs)
-
src/dvo_convert_PS1_V1.c (modified) (2 diffs)
-
src/dvo_convert_PS1_V2.c (modified) (2 diffs)
-
src/dvo_convert_PS1_V3.c (modified) (2 diffs)
-
src/dvo_convert_PS1_V4.c (copied) (copied from branches/eam_branches/ipp-20120627/Ohana/src/libdvo/src/dvo_convert_PS1_V4.c )
-
src/dvo_convert_elixir.c (modified) (2 diffs)
-
src/dvo_convert_loneos.c (modified) (2 diffs)
-
src/dvo_convert_panstarrs_DEV_0.c (modified) (2 diffs)
-
src/dvo_convert_panstarrs_DEV_1.c (modified) (2 diffs)
-
src/dvo_image.c (modified) (1 diff)
-
src/dvo_image_raw.c (modified) (2 diffs)
-
src/dvo_photcode_ops.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libdvo/Makefile
r33649 r34260 35 35 $(DESTINC)/ps1_v2_defs.h \ 36 36 $(DESTINC)/ps1_v3_defs.h \ 37 $(DESTINC)/ps1_v4_defs.h \ 37 38 $(DESTINC)/ps1_ref_defs.h 38 39 … … 73 74 $(SRC)/dvo_convert_PS1_V2.$(ARCH).o \ 74 75 $(SRC)/dvo_convert_PS1_V3.$(ARCH).o \ 76 $(SRC)/dvo_convert_PS1_V4.$(ARCH).o \ 75 77 $(SRC)/dvo_convert_PS1_REF.$(ARCH).o \ 76 78 $(SRC)/flatcorr_io.$(ARCH).o \ … … 100 102 $(SRC)/db_utils.$(ARCH).o \ 101 103 $(SRC)/convert.$(ARCH).o \ 102 $(SRC)/HostTable.$(ARCH).o 104 $(SRC)/HostTable.$(ARCH).o \ 105 $(SRC)/BoundaryTree.$(ARCH).o 103 106 104 107 -
trunk/Ohana/src/libdvo/doc/notes.txt
r21508 r34260 25 25 include the new STRUCT name. 26 26 27 7) create a new conversion file dvo_convert_foo.c and define the27 7) create a new conversion file libdvo/src/dvo_convert_foo.c and define the 28 28 internal to Foo conversions. 29 29 30 8) add the new format to the list of FORMAT conversion in dvo_convert.c. 30 8a) add the new dvo_convert_foo.c to libdvo/Makefile 31 32 8b) add the new format to the list of FORMAT conversion in dvo_convert.c. 31 33 32 34 9) any changes to the internal format need to be reflected in the … … 44 46 45 47 13) Add the conversion functions to the header file libdvo/include/foo_defs.h 48 49 14) Add the above foo_defs.h to libdvo/include/dvo.h 50 51 14) Add the above foo_defs.h to libdvo/Makefile 46 52 47 53 * Note some esoteric format issues: -
trunk/Ohana/src/libdvo/include/dvo.h
r33963 r34260 27 27 DVO_FORMAT_PS1_V2, 28 28 DVO_FORMAT_PS1_V3, 29 DVO_FORMAT_PS1_V4, 29 30 } DVOTableFormat; 30 31 … … 292 293 } DVOTinyValueMode; 293 294 295 # define BOUNDARY_TREE_NAME_LENGTH 128 296 297 typedef struct { 298 int FixedGridDEC; // is the DEC sequence linear? 299 int FixedGridRA; // in the RA sequence in a zone linear? 300 301 double DEC_origin; 302 double DEC_offset; 303 304 int Nzone; 305 double *RA_origin; 306 double *RA_offset; 307 308 int *Nband; 309 int *NBAND; 310 311 double **ra; 312 double **dec; 313 int **cell; 314 char ***name; 315 } BoundaryTree; 316 294 317 // XXX DROP? // a reduced-subset structure for relastro 295 318 // XXX DROP? typedef struct { … … 448 471 float PhotCat (Measure *measure); 449 472 float PhotAper (Measure *measure); 473 float PhotKron (Measure *measure); 450 474 float PhotSys (Measure *measure, Average *average, SecFilt *secfilt); 451 475 float PhotRel (Measure *measure, Average *average, SecFilt *secfilt); … … 456 480 float PhotdM (PhotCode *code, Average *average, SecFilt *secfilt); 457 481 482 float PhotAperInst (Measure *measure); 483 float PhotKronInst (Measure *measure); 484 float PhotKronAve (PhotCode *code, Average *average, SecFilt *secfilt); 485 486 float PhotZeroPoint (Measure *measure, Average *average, SecFilt *secfilt); 487 float PhotAveFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt); 488 float PhotAvedFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt); 489 float PhotAveFluxKron (PhotCode *code, Average *average, SecFilt *secfilt); 490 float PhotAvedFluxKron (PhotCode *code, Average *average, SecFilt *secfilt); 491 458 492 float PhotMstdev (PhotCode *code, Average *average, SecFilt *secfilt); 459 493 float PhotM20 (PhotCode *code, Average *average, SecFilt *secfilt); 460 494 float PhotM80 (PhotCode *code, Average *average, SecFilt *secfilt); 461 495 float PhotUCdist (PhotCode *code, Average *average, SecFilt *secfilt); 496 unsigned int PhotStackID (PhotCode *code, Average *average, SecFilt *secfilt); 462 497 463 498 float PhotColorForCode (Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); … … 571 606 # include "ps1_v2_defs.h" 572 607 # include "ps1_v3_defs.h" 608 # include "ps1_v4_defs.h" 573 609 # include "ps1_ref_defs.h" 574 610 … … 648 684 int free_tiny_values (Catalog *catalog); 649 685 686 int BoundaryTreeCellCoords (BoundaryTree *tree, int *zone, int *band, double ra, double dec); 687 int BoundaryTreeSave(char *filename, BoundaryTree *tree); 688 BoundaryTree *BoundaryTreeLoad(char *filename); 689 690 void dvo_average_init (Average *average); 691 void dvo_secfilt_init (SecFilt *secfilt); 692 void dvo_measure_init (Measure *measure); 693 650 694 # endif // DVO_H 651 -
trunk/Ohana/src/libdvo/include/dvodb.h
r33963 r34260 26 26 MAG_CAT, 27 27 MAG_APER, 28 MAG_APER_INST, 29 MAG_KRON, 30 MAG_KRON_INST, 31 MAG_KRON_ERR, 28 32 MAG_SYS, 29 33 MAG_REL, … … 41 45 MAG_80, 42 46 MAG_UC_DIST, 47 MAG_STACK_ID, 48 MAG_FLUX_PSF, 49 MAG_FLUX_PSF_ERR, 50 MAG_FLUX_KRON, 51 MAG_FLUX_KRON_ERR, 43 52 }; 44 53 … … 132 141 MEAS_MCAL_OFFSET, 133 142 MEAS_FLAT, 143 MEAS_CENTER_OFFSET, 144 MEAS_FLUX_PSF, 145 MEAS_FLUX_PSF_ERR, 146 MEAS_FLUX_KRON, 147 MEAS_FLUX_KRON_ERR, 134 148 }; 135 149 -
trunk/Ohana/src/libdvo/src/LoadPhotcodesFITS.c
r33649 r34260 63 63 CONVERT_FORMAT("DVO_PHOTCODE_PS1_V2", PS1_V2); 64 64 CONVERT_FORMAT("DVO_PHOTCODE_PS1_V3", PS1_V3); 65 CONVERT_FORMAT("DVO_PHOTCODE_PS1_V4", PS1_V4); 65 66 66 67 table = GetPhotcodeTable (); -
trunk/Ohana/src/libdvo/src/SavePhotcodesFITS.c
r33649 r34260 4 4 /* locking is used to avoid collisions with programs trying to update the photcodes values */ 5 5 /* XXX better distinction between NOT FOUND and FAILURE */ 6 6 7 int SavePhotcodesFITS (char *filename) { 7 8 … … 29 30 // for the moment, we simply support the latest photcode format for output 30 31 // XXX update this as needed as new formats are defined 31 PhotCode_PS1_V 3 *photcode_output = PhotCode_Internal_To_PS1_V3(table[0].code, table[0].Ncode);32 PhotCode_PS1_V4 *photcode_output = PhotCode_Internal_To_PS1_V4 (table[0].code, table[0].Ncode); 32 33 33 34 /* convert FITS format data to internal format (byteswaps & EXTNAME) */ 34 35 if (!gfits_db_create (&db)) return (FALSE); 35 if (!gfits_table_set_PhotCode_PS1_V 3(&db.ftable, photcode_output, table[0].Ncode)) return (FALSE);36 if (!gfits_table_set_PhotCode_PS1_V4 (&db.ftable, photcode_output, table[0].Ncode)) return (FALSE); 36 37 if (!gfits_db_save (&db)) return (FALSE); 37 38 if (!gfits_db_close (&db)) return (FALSE); -
trunk/Ohana/src/libdvo/src/dbExtractAverages.c
r33963 r34260 233 233 break; 234 234 235 case MAG_KRON: 236 value.Flt = PhotKronAve (field->photcode, average, secfilt); 237 break; 238 235 239 case MAG_20: 236 240 value.Flt = PhotM20 (field->photcode, average, secfilt); … … 241 245 case MAG_UC_DIST: 242 246 value.Flt = PhotUCdist (field->photcode, average, secfilt); 247 break; 248 case MAG_STACK_ID: 249 value.Int = PhotStackID (field->photcode, average, secfilt); 250 break; 251 252 case MAG_FLUX_PSF: 253 value.Flt = PhotAveFluxPSF (field->photcode, average, secfilt); 254 break; 255 case MAG_FLUX_PSF_ERR: 256 value.Flt = PhotAvedFluxPSF (field->photcode, average, secfilt); 257 break; 258 case MAG_FLUX_KRON: 259 value.Flt = PhotAveFluxKron (field->photcode, average, secfilt); 260 break; 261 case MAG_FLUX_KRON_ERR: 262 value.Flt = PhotAvedFluxKron (field->photcode, average, secfilt); 243 263 break; 244 264 } -
trunk/Ohana/src/libdvo/src/dbExtractMeasures.c
r33649 r34260 117 117 break; 118 118 case MAG_APER: 119 value.Flt = PhotAper (measure); 119 value.Flt = PhotAper (measure); 120 break; 121 case MAG_APER_INST: 122 value.Flt = PhotAperInst (measure); 123 break; 124 case MAG_KRON: 125 value.Flt = PhotKron (measure); 126 break; 127 case MAG_KRON_INST: 128 value.Flt = PhotKronInst (measure); 129 break; 130 case MAG_KRON_ERR: 131 value.Flt = measure[0].dMkron; 120 132 break; 121 133 case MAG_ERR: … … 152 164 if (Nsec == -1) break; 153 165 value.Int = secfilt[Nsec].Nused; 166 break; 167 case MAG_FLUX_PSF: 168 value.Flt = PhotAveFluxPSF (field->photcode, average, secfilt); 169 break; 170 case MAG_FLUX_PSF_ERR: 171 value.Flt = PhotAvedFluxPSF (field->photcode, average, secfilt); 172 break; 173 case MAG_FLUX_KRON: 174 value.Flt = PhotAveFluxKron (field->photcode, average, secfilt); 175 break; 176 case MAG_FLUX_KRON_ERR: 177 value.Flt = PhotAvedFluxKron (field->photcode, average, secfilt); 154 178 break; 155 179 } … … 498 522 break; 499 523 500 // add the star/galaxy sep -- 524 case MEAS_CENTER_OFFSET: /* OK */ 525 { 526 Image *image; 527 image = MatchImageDVO (measure[0].t, measure[0].photcode, measure[0].imageID); 528 if (image == NULL) break; 529 530 // we have measure[0].Xccd,Yccd and image[0].NX,NY. Find the distance to the center 531 532 // XXX we may hypotetically have images with -NX to +NX here (eg, projection center), but 533 // we do not get a detection from that type of image 534 float Xcenter = 0.5*image[0].NX; 535 float Ycenter = 0.5*image[0].NY; 536 float distance = hypot (measure[0].Xccd - Xcenter, measure[0].Yccd - Ycenter); 537 value.Flt = distance; 538 } 539 break; 540 541 case MEAS_FLUX_PSF: /* OK */ 542 value.Flt = measure[0].FluxPSF; 543 break; 544 case MEAS_FLUX_PSF_ERR: /* OK */ 545 value.Flt = measure[0].dFluxPSF; 546 break; 547 case MEAS_FLUX_KRON: /* OK */ 548 value.Flt = measure[0].FluxKron; 549 break; 550 case MEAS_FLUX_KRON_ERR: /* OK */ 551 value.Flt = measure[0].dFluxKron; 552 break; 501 553 } 502 554 return (value); -
trunk/Ohana/src/libdvo/src/dbFields.c
r33963 r34260 30 30 int GetMagMode (char *string) { 31 31 32 if (!strcasecmp (string, "inst")) return (MAG_INST); 33 if (!strcasecmp (string, "cat")) return (MAG_CAT); 34 if (!strcasecmp (string, "sys")) return (MAG_SYS); 35 if (!strcasecmp (string, "rel")) return (MAG_REL); 36 if (!strcasecmp (string, "cal")) return (MAG_CAL); 37 if (!strcasecmp (string, "ave")) return (MAG_AVE); 38 if (!strcasecmp (string, "ref")) return (MAG_REF); 39 if (!strcasecmp (string, "ap")) return (MAG_APER); 40 if (!strcasecmp (string, "aper")) return (MAG_APER); 41 if (!strcasecmp (string, "err")) return (MAG_ERR); 42 if (!strcasecmp (string, "aveerr")) return (MAG_AVE_ERR); 43 if (!strcasecmp (string, "photflags")) return (MAG_PHOT_FLAGS); 44 if (!strcasecmp (string, "flags")) return (MAG_PHOT_FLAGS); 45 if (!strcasecmp (string, "chisq")) return (MAG_CHISQ); 46 if (!strcasecmp (string, "ncode")) return (MAG_NCODE); 47 if (!strcasecmp (string, "nphot")) return (MAG_NPHOT); 48 if (!strcasecmp (string, "stdev")) return (MAG_STDEV); 49 if (!strcasecmp (string, "20")) return (MAG_20); 50 if (!strcasecmp (string, "80")) return (MAG_80); 51 if (!strcasecmp (string, "ucdist")) return (MAG_UC_DIST); 32 if (!strcasecmp (string, "inst")) return (MAG_INST); 33 if (!strcasecmp (string, "cat")) return (MAG_CAT); 34 if (!strcasecmp (string, "sys")) return (MAG_SYS); 35 if (!strcasecmp (string, "rel")) return (MAG_REL); 36 if (!strcasecmp (string, "cal")) return (MAG_CAL); 37 if (!strcasecmp (string, "ave")) return (MAG_AVE); 38 if (!strcasecmp (string, "ref")) return (MAG_REF); 39 if (!strcasecmp (string, "ap")) return (MAG_APER); 40 if (!strcasecmp (string, "aper")) return (MAG_APER); 41 if (!strcasecmp (string, "aperinst")) return (MAG_APER_INST); 42 if (!strcasecmp (string, "aper_inst")) return (MAG_APER_INST); 43 if (!strcasecmp (string, "kron")) return (MAG_KRON); 44 if (!strcasecmp (string, "kroninst")) return (MAG_KRON_INST); 45 if (!strcasecmp (string, "kron_inst")) return (MAG_KRON_INST); 46 if (!strcasecmp (string, "kronerr")) return (MAG_KRON_ERR); 47 if (!strcasecmp (string, "err")) return (MAG_ERR); 48 if (!strcasecmp (string, "aveerr")) return (MAG_AVE_ERR); 49 if (!strcasecmp (string, "photflags")) return (MAG_PHOT_FLAGS); 50 if (!strcasecmp (string, "flags")) return (MAG_PHOT_FLAGS); 51 if (!strcasecmp (string, "chisq")) return (MAG_CHISQ); 52 if (!strcasecmp (string, "ncode")) return (MAG_NCODE); 53 if (!strcasecmp (string, "nphot")) return (MAG_NPHOT); 54 if (!strcasecmp (string, "stdev")) return (MAG_STDEV); 55 if (!strcasecmp (string, "20")) return (MAG_20); 56 if (!strcasecmp (string, "80")) return (MAG_80); 57 if (!strcasecmp (string, "ucdist")) return (MAG_UC_DIST); 58 if (!strcasecmp (string, "stackID")) return (MAG_STACK_ID); 59 if (!strcasecmp (string, "fluxpsf")) return (MAG_FLUX_PSF); 60 if (!strcasecmp (string, "fluxpsferr")) return (MAG_FLUX_PSF_ERR); 61 if (!strcasecmp (string, "fluxkron")) return (MAG_FLUX_KRON); 62 if (!strcasecmp (string, "fluxkronerr")) return (MAG_FLUX_KRON_ERR); 52 63 return (MAG_NONE); 53 64 } … … 229 240 if (!strcasecmp (fieldName, "MCAL_OFFSET")) ESCAPE (MEAS_MCAL_OFFSET, MAG_NONE, OPIHI_FLT); 230 241 if (!strcasecmp (fieldName, "FLAT")) ESCAPE (MEAS_FLAT, MAG_NONE, OPIHI_FLT); 242 if (!strcasecmp (fieldName, "CENTER_OFFSET")) ESCAPE (MEAS_CENTER_OFFSET, MAG_NONE, OPIHI_FLT); 243 if (!strcasecmp (fieldName, "FLUX")) ESCAPE (MEAS_FLUX_PSF, MAG_NONE, OPIHI_FLT); 244 if (!strcasecmp (fieldName, "FLUX_ERR")) ESCAPE (MEAS_FLUX_PSF_ERR, MAG_NONE, OPIHI_FLT); 245 if (!strcasecmp (fieldName, "FLUX_PSF")) ESCAPE (MEAS_FLUX_PSF, MAG_NONE, OPIHI_FLT); 246 if (!strcasecmp (fieldName, "FLUX_PSF_ERR")) ESCAPE (MEAS_FLUX_PSF_ERR, MAG_NONE, OPIHI_FLT); 247 if (!strcasecmp (fieldName, "FLUX_KRON")) ESCAPE (MEAS_FLUX_KRON, MAG_NONE, OPIHI_FLT); 248 if (!strcasecmp (fieldName, "FLUX_KRON_ERR")) ESCAPE (MEAS_FLUX_KRON_ERR, MAG_NONE, OPIHI_FLT); 231 249 232 250 // for words that don't parse, try a photcode … … 242 260 field->magMode = mode; 243 261 switch (mode) { 262 case MAG_STACK_ID: 244 263 case MAG_NCODE: 245 264 case MAG_NPHOT: … … 336 355 field->magMode = mode; 337 356 switch (mode) { 357 case MAG_STACK_ID: 338 358 case MAG_NCODE: 339 359 case MAG_NPHOT: -
trunk/Ohana/src/libdvo/src/dvo_catalog.c
r33963 r34260 55 55 if (!strcasecmp (catformat, "PS1_V2")) return (DVO_FORMAT_PS1_V2); 56 56 if (!strcasecmp (catformat, "PS1_V3")) return (DVO_FORMAT_PS1_V3); 57 if (!strcasecmp (catformat, "PS1_V4")) return (DVO_FORMAT_PS1_V4); 57 58 if (!strcasecmp (catformat, "PS1_REF")) return (DVO_FORMAT_PS1_REF); 58 59 return (DVO_FORMAT_UNDEF); … … 66 67 if (!strcasecmp (catmode, "SPLIT")) return (DVO_MODE_SPLIT); 67 68 return (DVO_MODE_UNDEF); 69 } 70 71 // init all data, or just catalog data 72 void dvo_average_init (Average *average) { 73 average->R = 0; 74 average->D = 0; 75 average->dR = 0; 76 average->dD = 0; 77 78 average->uR = 0; 79 average->uD = 0; 80 average->duR = 0; 81 average->duD = 0; 82 average->P = 0; 83 average->dP = 0; 84 85 average->ChiSqAve = 0.0; 86 average->ChiSqPM = 0.0; 87 average->ChiSqPar = 0.0; 88 average->Tmean = 0; 89 average->Trange = 0; 90 91 average->Xp = 0; 92 average->Npos = 0; 93 94 average->Nmeasure = 0; 95 average->Nmissing = 0; 96 average->Nextend = 0; 97 average->measureOffset = -1; 98 average->missingOffset = -1; 99 average->extendOffset = -1; 100 101 average->flags = 0; 102 average->photFlagsUpper = 0; 103 average->photFlagsLower = 0; 104 105 average->objID = 0; 106 average->catID = 0; 107 average->extID = 0; 108 } 109 110 // init all data, or just catalog data 111 void dvo_secfilt_init (SecFilt *secfilt) { 112 secfilt->M = NAN; 113 secfilt->Map = NAN; 114 secfilt->Mkron = NAN; 115 secfilt->dMkron = NAN; 116 secfilt->dM = NAN; 117 secfilt->Xm = NAN_S_SHORT; 118 119 secfilt->FluxPSF = NAN; 120 secfilt->dFluxPSF = NAN; 121 secfilt->FluxKron = NAN; 122 secfilt->dFluxKron = NAN; 123 124 secfilt->flags = 0; 125 secfilt->Ncode = 0; 126 secfilt->Nused = 0; 127 128 secfilt->M_20 = NAN_S_SHORT; 129 secfilt->M_80 = NAN_S_SHORT; 130 131 secfilt->ubercalDist = 1000; 132 secfilt->Mstdev = NAN_S_SHORT; 133 secfilt->stackID = 0; 134 135 secfilt->dummy = 0; 136 } 137 138 // init all data, or just catalog data 139 void dvo_measure_init (Measure *measure) { 140 measure->M = NAN; 141 measure->dR = NAN; 142 measure->dD = NAN; 143 measure->M = NAN; 144 measure->Mcal = NAN; 145 measure->Map = NAN; 146 measure->Mkron = NAN; 147 measure->dMkron = NAN; 148 measure->dM = NAN; 149 measure->dMcal = NAN; 150 measure->dt = NAN; 151 152 measure->FluxPSF = NAN; 153 measure->dFluxPSF = NAN; 154 measure->FluxKron = NAN; 155 measure->dFluxKron = NAN; 156 157 measure->airmass = NAN; 158 measure->az = NAN; 159 160 measure->Xccd = NAN; 161 measure->Yccd = NAN; 162 163 measure->Sky = NAN; 164 measure->dSky = NAN; 165 166 measure->t = 0; 167 measure->t_msec = 0; 168 measure->averef = 0; 169 170 measure->detID = 0; 171 measure->imageID = 0; 172 measure->objID = 0; 173 measure->catID = 0; 174 measure->extID = 0; 175 176 measure->psfQual = NAN; 177 measure->psfChisq = NAN; 178 measure->psfNdof = 0; 179 measure->psfNpix = 0; 180 measure->crNsigma = NAN; 181 measure->extNsigma = NAN; 182 183 measure->FWx = 0; 184 measure->FWy = 0; 185 measure->theta = 0; 186 187 measure->Mxx = 0; 188 measure->Mxy = 0; 189 measure->Myy = 0; 190 191 measure->dXccd = 0; 192 measure->dYccd = 0; 193 measure->dRsys = 0; 194 195 measure->posangle = 0; 196 measure->pltscale = NAN; 197 198 measure->photcode = 0; 199 measure->dbFlags = 0; 200 measure->photFlags = 0; 68 201 } 69 202 … … 600 733 } 601 734 735 -
trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c
r33649 r34260 89 89 FORMAT_CASE (PS1_V2, PS1_V2); 90 90 FORMAT_CASE (PS1_V3, PS1_V3); 91 FORMAT_CASE (PS1_V4, PS1_V4); 91 92 FORMAT_CASE (PS1_REF, PS1_REF); 92 93 … … 282 283 if (catalog[0].catformat == DVO_FORMAT_PS1_V2) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PS1_V2"); 283 284 if (catalog[0].catformat == DVO_FORMAT_PS1_V3) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PS1_V3"); 285 if (catalog[0].catformat == DVO_FORMAT_PS1_V4) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PS1_V4"); 284 286 if (catalog[0].catformat == DVO_FORMAT_PS1_REF) gfits_modify (&catalog[0].header, "FORMAT", "%s", 1, "PS1_REF"); 285 287 … … 384 386 FORMAT_CASE (PS1_V2, PS1_V2); 385 387 FORMAT_CASE (PS1_V3, PS1_V3); 388 FORMAT_CASE (PS1_V4, PS1_V4); 386 389 FORMAT_CASE (PS1_REF, PS1_REF); 387 390 … … 434 437 FORMAT_CASE (PS1_V2, PS1_V2); 435 438 FORMAT_CASE (PS1_V3, PS1_V3); 439 FORMAT_CASE (PS1_V4, PS1_V4); 436 440 FORMAT_CASE (PS1_REF, PS1_REF); 437 441 … … 488 492 FORMAT_CASE (PS1_V2, PS1_V2); 489 493 FORMAT_CASE (PS1_V3, PS1_V3); 494 FORMAT_CASE (PS1_V4, PS1_V4); 490 495 FORMAT_CASE (PS1_REF, PS1_REF); 491 496 … … 538 543 FORMAT_CASE (PS1_V2, PS1_V2); 539 544 FORMAT_CASE (PS1_V3, PS1_V3); 545 FORMAT_CASE (PS1_V4, PS1_V4); 540 546 FORMAT_CASE (PS1_REF, PS1_REF); 541 547 … … 592 598 FORMAT_CASE (PS1_V2, PS1_V2); 593 599 FORMAT_CASE (PS1_V3, PS1_V3); 600 FORMAT_CASE (PS1_V4, PS1_V4); 594 601 FORMAT_CASE (PS1_REF, PS1_REF); 595 602 … … 642 649 FORMAT_CASE (PS1_V2, PS1_V2); 643 650 FORMAT_CASE (PS1_V3, PS1_V3); 651 FORMAT_CASE (PS1_V4, PS1_V4); 644 652 FORMAT_CASE (PS1_REF, PS1_REF); 645 653 -
trunk/Ohana/src/libdvo/src/dvo_convert.c
r33649 r34260 40 40 CONVERT_FORMAT ("DVO_AVERAGE_PS1_V2", PS1_V2); 41 41 CONVERT_FORMAT ("DVO_AVERAGE_PS1_V3", PS1_V3); 42 CONVERT_FORMAT ("DVO_AVERAGE_PS1_V4", PS1_V4); 42 43 CONVERT_FORMAT ("DVO_AVERAGE_PS1_REF", PS1_REF); 43 44 # undef CONVERT_FORMAT … … 96 97 CONVERT_FORMAT ("DVO_AVERAGE_PS1_V2", PS1_V2, PS1_V2); 97 98 CONVERT_FORMAT ("DVO_AVERAGE_PS1_V3", PS1_V3, PS1_V3); 99 CONVERT_FORMAT ("DVO_AVERAGE_PS1_V4", PS1_V4, PS1_V4); 98 100 CONVERT_FORMAT ("DVO_AVERAGE_PS1_REF", PS1_REF, PS1_REF); 99 101 # undef CONVERT_FORMAT … … 130 132 FORMAT_CASE (PS1_V2, PS1_V2); 131 133 FORMAT_CASE (PS1_V3, PS1_V3); 134 FORMAT_CASE (PS1_V4, PS1_V4); 132 135 FORMAT_CASE (PS1_REF, PS1_REF); 133 136 # undef FORMAT_CASE … … 185 188 CONVERT_FORMAT ("DVO_MEASURE_PS1_V2", PS1_V2, PS1_V2); 186 189 CONVERT_FORMAT ("DVO_MEASURE_PS1_V3", PS1_V3, PS1_V3); 190 CONVERT_FORMAT ("DVO_MEASURE_PS1_V4", PS1_V4, PS1_V4); 187 191 CONVERT_FORMAT ("DVO_MEASURE_PS1_REF", PS1_REF, PS1_REF); 188 192 # undef CONVERT_FORMAT … … 219 223 FORMAT_CASE (PS1_V2, PS1_V2); 220 224 FORMAT_CASE (PS1_V3, PS1_V3); 225 FORMAT_CASE (PS1_V4, PS1_V4); 221 226 FORMAT_CASE (PS1_REF, PS1_REF); 222 227 # undef FORMAT_CASE … … 274 279 CONVERT_FORMAT ("DVO_SECFILT_PS1_V2", PS1_V2, PS1_V2); 275 280 CONVERT_FORMAT ("DVO_SECFILT_PS1_V3", PS1_V3, PS1_V3); 281 CONVERT_FORMAT ("DVO_SECFILT_PS1_V4", PS1_V4, PS1_V4); 276 282 CONVERT_FORMAT ("DVO_SECFILT_PS1_REF", PS1_REF, PS1_REF); 277 283 # undef CONVERT_FORMAT … … 308 314 FORMAT_CASE (PS1_V2, PS1_V2); 309 315 FORMAT_CASE (PS1_V3, PS1_V3); 316 FORMAT_CASE (PS1_V4, PS1_V4); 310 317 FORMAT_CASE (PS1_REF, PS1_REF); 311 318 # undef FORMAT_CASE … … 387 394 CONVERT_FORMAT ("DVO_IMAGE_PS1_V2", PS1_V2, PS1_V2); 388 395 CONVERT_FORMAT ("DVO_IMAGE_PS1_V3", PS1_V3, PS1_V3); 396 CONVERT_FORMAT ("DVO_IMAGE_PS1_V4", PS1_V4, PS1_V4); 389 397 CONVERT_FORMAT ("DVO_IMAGE_PS1_REF", PS1_REF, PS1_REF); 390 398 … … 425 433 FORMAT_CASE (PS1_V2, PS1_V2); 426 434 FORMAT_CASE (PS1_V3, PS1_V3); 435 FORMAT_CASE (PS1_V4, PS1_V4); 427 436 FORMAT_CASE (PS1_REF, PS1_REF); 428 437 … … 479 488 FORMAT_CASE (PS1_V2, PS1_V2); 480 489 FORMAT_CASE (PS1_V3, PS1_V3); 490 FORMAT_CASE (PS1_V4, PS1_V4); 481 491 FORMAT_CASE (PS1_REF, PS1_REF); 482 492 -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c
r33963 r34260 57 57 out[i].psfNdof = 0; 58 58 out[i].psfNpix = 0; 59 60 // added for PS1_V4 61 out[i].Mkron = NAN; 62 out[i].dMkron = NAN; 63 out[i].FluxPSF = NAN; 64 out[i].dFluxPSF = NAN; 65 out[i].FluxKron = NAN; 66 out[i].dFluxKron = NAN; 59 67 } 60 68 return (out); … … 215 223 out[i].Mstdev = 0; 216 224 out[i].ubercalDist = 0; 225 226 // added for PS1_V4 227 out[i].Mkron = NAN; 228 out[i].dMkron = NAN; 229 out[i].FluxPSF = NAN; 230 out[i].dFluxPSF = NAN; 231 out[i].FluxKron = NAN; 232 out[i].dFluxKron = NAN; 233 out[i].stackID = 0; 217 234 } 218 235 return (out); -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_2.c
r33963 r34260 54 54 out[i].psfNdof = 0; 55 55 out[i].psfNpix = 0; 56 57 // added for PS1_V4 58 out[i].Mkron = NAN; 59 out[i].dMkron = NAN; 60 out[i].FluxPSF = NAN; 61 out[i].dFluxPSF = NAN; 62 out[i].FluxKron = NAN; 63 out[i].dFluxKron = NAN; 56 64 } 57 65 return (out); … … 209 217 out[i].Mstdev = 0; 210 218 out[i].ubercalDist = 0; 219 220 // added for PS1_V4 221 out[i].Mkron = NAN; 222 out[i].dMkron = NAN; 223 out[i].FluxPSF = NAN; 224 out[i].dFluxPSF = NAN; 225 out[i].FluxKron = NAN; 226 out[i].dFluxKron = NAN; 227 out[i].stackID = 0; 211 228 } 212 229 return (out); -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_REF.c
r33963 r34260 52 52 out[i].dbFlags = 0; 53 53 out[i].photFlags = 0; 54 55 // added for PS1_V4 56 out[i].Mkron = NAN; 57 out[i].dMkron = NAN; 58 out[i].FluxPSF = NAN; 59 out[i].dFluxPSF = NAN; 60 out[i].FluxKron = NAN; 61 out[i].dFluxKron = NAN; 54 62 } 55 63 return (out); … … 169 177 out[i].Mstdev = 0; 170 178 out[i].ubercalDist = 0; 179 180 // added for PS1_V4 181 out[i].Mkron = NAN; 182 out[i].dMkron = NAN; 183 out[i].FluxPSF = NAN; 184 out[i].dFluxPSF = NAN; 185 out[i].FluxKron = NAN; 186 out[i].dFluxKron = NAN; 187 out[i].stackID = 0; 171 188 } 172 189 return (out); -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V1.c
r33963 r34260 52 52 out[i].dbFlags = in[i].dbFlags; 53 53 out[i].photFlags = in[i].photFlags; 54 55 // added for PS1_V4 56 out[i].Mkron = NAN; 57 out[i].dMkron = NAN; 58 out[i].FluxPSF = NAN; 59 out[i].dFluxPSF = NAN; 60 out[i].FluxKron = NAN; 61 out[i].dFluxKron = NAN; 54 62 } 55 63 return (out); … … 213 221 out[i].Mstdev = 0; 214 222 out[i].ubercalDist = 0; 223 224 // added for PS1_V4 225 out[i].Mkron = NAN; 226 out[i].dMkron = NAN; 227 out[i].FluxPSF = NAN; 228 out[i].dFluxPSF = NAN; 229 out[i].FluxKron = NAN; 230 out[i].dFluxKron = NAN; 231 out[i].stackID = 0; 215 232 } 216 233 return (out); -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V2.c
r33963 r34260 53 53 out[i].dbFlags = in[i].dbFlags; 54 54 out[i].photFlags = in[i].photFlags; 55 56 // added for PS1_V4 57 out[i].Mkron = NAN; 58 out[i].dMkron = NAN; 59 out[i].FluxPSF = NAN; 60 out[i].dFluxPSF = NAN; 61 out[i].FluxKron = NAN; 62 out[i].dFluxKron = NAN; 55 63 } 56 64 return (out); … … 216 224 out[i].Mstdev = 0; 217 225 out[i].ubercalDist = 0; 226 227 // added for PS1_V4 228 out[i].Mkron = NAN; 229 out[i].dMkron = NAN; 230 out[i].FluxPSF = NAN; 231 out[i].dFluxPSF = NAN; 232 out[i].FluxKron = NAN; 233 out[i].dFluxKron = NAN; 234 out[i].stackID = 0; 218 235 } 219 236 return (out); -
trunk/Ohana/src/libdvo/src/dvo_convert_PS1_V3.c
r33963 r34260 53 53 out[i].dbFlags = in[i].dbFlags; 54 54 out[i].photFlags = in[i].photFlags; 55 56 // added for PS1_V4 57 out[i].Mkron = NAN; 58 out[i].dMkron = NAN; 59 out[i].FluxPSF = NAN; 60 out[i].dFluxPSF = NAN; 61 out[i].FluxKron = NAN; 62 out[i].dFluxKron = NAN; 55 63 } 56 64 return (out); … … 214 222 out[i].Mstdev = in[i].Mstdev; 215 223 out[i].ubercalDist = in[i].ubercalDist; 224 225 // added for PS1_V4 226 out[i].Mkron = NAN; 227 out[i].dMkron = NAN; 228 out[i].FluxPSF = NAN; 229 out[i].dFluxPSF = NAN; 230 out[i].FluxKron = NAN; 231 out[i].dFluxKron = NAN; 232 out[i].stackID = 0; 216 233 } 217 234 return (out); -
trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c
r33963 r34260 64 64 out[i].psfNdof = 0; 65 65 out[i].psfNpix = 0; 66 67 // added for PS1_V4 68 out[i].Mkron = NAN; 69 out[i].dMkron = NAN; 70 out[i].FluxPSF = NAN; 71 out[i].dFluxPSF = NAN; 72 out[i].FluxKron = NAN; 73 out[i].dFluxKron = NAN; 66 74 } 67 75 return (out); … … 224 232 out[i].Mstdev = 0; 225 233 out[i].ubercalDist = 0; 234 235 // added for PS1_V4 236 out[i].Mkron = NAN; 237 out[i].dMkron = NAN; 238 out[i].FluxPSF = NAN; 239 out[i].dFluxPSF = NAN; 240 out[i].FluxKron = NAN; 241 out[i].dFluxKron = NAN; 242 out[i].stackID = 0; 226 243 } 227 244 return (out); -
trunk/Ohana/src/libdvo/src/dvo_convert_loneos.c
r33963 r34260 66 66 out[i].psfNdof = 0; 67 67 out[i].psfNpix = 0; 68 69 // added for PS1_V4 70 out[i].Mkron = NAN; 71 out[i].dMkron = NAN; 72 out[i].FluxPSF = NAN; 73 out[i].dFluxPSF = NAN; 74 out[i].FluxKron = NAN; 75 out[i].dFluxKron = NAN; 68 76 } 69 77 return (out); … … 217 225 out[i].Mstdev = 0; 218 226 out[i].ubercalDist = 0; 227 228 // added for PS1_V4 229 out[i].Mkron = NAN; 230 out[i].dMkron = NAN; 231 out[i].FluxPSF = NAN; 232 out[i].dFluxPSF = NAN; 233 out[i].FluxKron = NAN; 234 out[i].dFluxKron = NAN; 235 out[i].stackID = 0; 219 236 } 220 237 return (out); -
trunk/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_0.c
r33963 r34260 61 61 out[i].psfNdof = 0; 62 62 out[i].psfNpix = 0; 63 64 // added for PS1_V4 65 out[i].Mkron = NAN; 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; 63 71 } 64 72 return (out); … … 224 232 out[i].Mstdev = 0; 225 233 out[i].ubercalDist = 0; 234 235 // added for PS1_V4 236 out[i].Mkron = NAN; 237 out[i].dMkron = NAN; 238 out[i].FluxPSF = NAN; 239 out[i].dFluxPSF = NAN; 240 out[i].FluxKron = NAN; 241 out[i].dFluxKron = NAN; 242 out[i].stackID = 0; 226 243 } 227 244 return (out); -
trunk/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_1.c
r33963 r34260 61 61 out[i].psfNdof = 0; 62 62 out[i].psfNpix = 0; 63 64 // added for PS1_V4 65 out[i].Mkron = NAN; 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; 63 71 } 64 72 return (out); … … 224 232 out[i].Mstdev = 0; 225 233 out[i].ubercalDist = 0; 234 235 // added for PS1_V4 236 out[i].Mkron = NAN; 237 out[i].dMkron = NAN; 238 out[i].FluxPSF = NAN; 239 out[i].dFluxPSF = NAN; 240 out[i].FluxKron = NAN; 241 out[i].dFluxKron = NAN; 242 out[i].stackID = 0; 226 243 } 227 244 return (out); -
trunk/Ohana/src/libdvo/src/dvo_image.c
r34088 r34260 212 212 if (db[0].format == DVO_FORMAT_PS1_V2) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PS1_V2"); 213 213 if (db[0].format == DVO_FORMAT_PS1_V3) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PS1_V3"); 214 if (db[0].format == DVO_FORMAT_PS1_V4) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PS1_V4"); 214 215 if (db[0].format == DVO_FORMAT_PS1_REF) gfits_modify (&db[0].header, "FORMAT", "%s", 1, "PS1_REF"); 215 216 -
trunk/Ohana/src/libdvo/src/dvo_image_raw.c
r33649 r34260 58 58 if (db[0].format == DVO_FORMAT_PS1_V2) ImageSize = sizeof(Image_PS1_V2); 59 59 if (db[0].format == DVO_FORMAT_PS1_V3) ImageSize = sizeof(Image_PS1_V3); 60 if (db[0].format == DVO_FORMAT_PS1_V4) ImageSize = sizeof(Image_PS1_V4); 60 61 if (db[0].format == DVO_FORMAT_PS1_REF) ImageSize = sizeof(Image_PS1_REF); 61 62 … … 87 88 if (db[0].format == DVO_FORMAT_PS1_V2) gfits_table_mkheader_Image_PS1_V2 (&db[0].theader); 88 89 if (db[0].format == DVO_FORMAT_PS1_V3) gfits_table_mkheader_Image_PS1_V3 (&db[0].theader); 90 if (db[0].format == DVO_FORMAT_PS1_V4) gfits_table_mkheader_Image_PS1_V4 (&db[0].theader); 89 91 if (db[0].format == DVO_FORMAT_PS1_REF) gfits_table_mkheader_Image_PS1_REF (&db[0].theader); 90 92 -
trunk/Ohana/src/libdvo/src/dvo_photcode_ops.c
r33963 r34260 278 278 } 279 279 280 float PhotAperInst (Measure *measure) { 281 282 int Np; 283 float Minst; 284 285 Np = photcodes[0].hashcode[measure[0].photcode]; 286 if (Np == -1) return (NAN); 287 288 if (photcodes[0].code[Np].type == PHOT_REF) { 289 Minst = measure[0].Map; 290 return (Minst); 291 } 292 Minst = measure[0].Map - measure[0].dt - ZERO_POINT; 293 294 return (Minst); 295 } 296 297 float PhotKron (Measure *measure) { 298 299 int Np; 300 float Mcat; 301 PhotCode *code; 302 303 Np = photcodes[0].hashcode[measure[0].photcode]; 304 if (Np == -1) return (NAN); 305 306 if (photcodes[0].code[Np].type == PHOT_REF) { 307 Mcat = measure[0].Mkron; 308 return (Mcat); 309 } 310 code = &photcodes[0].code[Np]; 311 Mcat = measure[0].Mkron - ZERO_POINT + code[0].K*(measure[0].airmass - 1.000) + SCALE*code[0].C; 312 313 return (Mcat); 314 } 315 316 float PhotKronInst (Measure *measure) { 317 318 int Np; 319 float Minst; 320 321 Np = photcodes[0].hashcode[measure[0].photcode]; 322 if (Np == -1) return (NAN); 323 324 if (photcodes[0].code[Np].type == PHOT_REF) { 325 Minst = measure[0].Mkron; 326 return (Minst); 327 } 328 Minst = measure[0].Mkron - measure[0].dt - ZERO_POINT; 329 330 return (Minst); 331 } 332 280 333 float PhotSys (Measure *measure, Average *average, SecFilt *secfilt) { 281 334 … … 307 360 Msys = Mcat + Mcol; 308 361 return (Msys); 362 } 363 364 float PhotZeroPoint (Measure *measure, Average *average, SecFilt *secfilt) { 365 366 int Np; 367 float ZP; 368 PhotCode *code; 369 370 Np = photcodes[0].hashcode[measure[0].photcode]; 371 if (Np == -1) return (NAN); 372 373 if (photcodes[0].code[Np].type == PHOT_REF) { 374 ZP = 0.0; 375 return (ZP); 376 } 377 code = &photcodes[0].code[Np]; 378 ZP = code[0].K*(measure[0].airmass - 1.000) + SCALE*code[0].C; 379 380 return (ZP); 309 381 } 310 382 … … 488 560 } 489 561 562 float PhotKronAve (PhotCode *code, Average *average, SecFilt *secfilt) { 563 564 int Ns; 565 float Mkron; 566 567 if (code == NULL) return NAN; 568 569 Ns = photcodes[0].hashNsec[code[0].code]; 570 Mkron = (Ns == -1) ? NAN : secfilt[Ns].Mkron; 571 return (Mkron); 572 } 573 574 float PhotAveFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt) { 575 576 int Ns; 577 float Fpsf; 578 579 if (code == NULL) return NAN; 580 581 Ns = photcodes[0].hashNsec[code[0].code]; 582 Fpsf = (Ns == -1) ? NAN : secfilt[Ns].FluxPSF; 583 return (Fpsf); 584 } 585 586 float PhotAvedFluxPSF (PhotCode *code, Average *average, SecFilt *secfilt) { 587 588 int Ns; 589 float dFpsf; 590 591 if (code == NULL) return NAN; 592 593 Ns = photcodes[0].hashNsec[code[0].code]; 594 dFpsf = (Ns == -1) ? NAN : secfilt[Ns].dFluxPSF; 595 return (dFpsf); 596 } 597 598 float PhotAveFluxKron (PhotCode *code, Average *average, SecFilt *secfilt) { 599 600 int Ns; 601 float Fkron; 602 603 if (code == NULL) return NAN; 604 605 Ns = photcodes[0].hashNsec[code[0].code]; 606 Fkron = (Ns == -1) ? NAN : secfilt[Ns].FluxKron; 607 return (Fkron); 608 } 609 610 float PhotAvedFluxKron (PhotCode *code, Average *average, SecFilt *secfilt) { 611 612 int Ns; 613 float dFkron; 614 615 if (code == NULL) return NAN; 616 617 Ns = photcodes[0].hashNsec[code[0].code]; 618 dFkron = (Ns == -1) ? NAN : secfilt[Ns].dFluxKron; 619 return (dFkron); 620 } 621 490 622 float PhotM20 (PhotCode *code, Average *average, SecFilt *secfilt) { 491 623 … … 522 654 Muc = (Ns == -1) ? NAN : secfilt[Ns].ubercalDist; 523 655 return (Muc); 656 } 657 658 unsigned int PhotStackID (PhotCode *code, Average *average, SecFilt *secfilt) { 659 660 int Ns; 661 unsigned int ID; 662 663 if (code == NULL) return 0; 664 665 Ns = photcodes[0].hashNsec[code[0].code]; 666 ID = (Ns == -1) ? 0 : secfilt[Ns].stackID; 667 return (ID); 524 668 } 525 669
Note:
See TracChangeset
for help on using the changeset viewer.
