Changeset 14401
- Timestamp:
- Aug 4, 2007, 10:15:51 AM (19 years ago)
- Location:
- trunk/Ohana/src
- Files:
-
- 47 edited
-
addstar/src/SkyListForStars.c (modified) (2 diffs)
-
addstar/src/SkyRegionUtils.c (modified) (1 diff)
-
addstar/src/UpdateDatabase_Image.c (modified) (2 diffs)
-
addstar/src/UpdateDatabase_Refcat.c (modified) (1 diff)
-
addstar/src/UpdateDatabase_Reflist.c (modified) (1 diff)
-
addstar/src/addstar.c (modified) (3 diffs)
-
addstar/src/gettycho.c (modified) (1 diff)
-
addstar/src/load2mass_as_rawdata.c (modified) (1 diff)
-
delstar/src/delete_times.c (modified) (2 diffs)
-
libautocode/def/average.d (modified) (2 diffs)
-
libdvo/include/dvo.h (modified) (2 diffs)
-
libdvo/src/skyregion_ops.c (modified) (10 diffs)
-
libkapa/src/KapaWindow.c (modified) (1 diff)
-
opihi/dvo/ImageOps.c (modified) (4 diffs)
-
opihi/dvo/ImageSelection.c (modified) (3 diffs)
-
opihi/dvo/Makefile (modified) (1 diff)
-
opihi/dvo/avextract.c (modified) (7 diffs)
-
opihi/dvo/calextract.c (modified) (10 diffs)
-
opihi/dvo/calmextract.c (modified) (9 diffs)
-
opihi/dvo/ccd.c (modified) (7 diffs)
-
opihi/dvo/cmd.c (modified) (7 diffs)
-
opihi/dvo/dbCmdlineFields.c (modified) (1 diff)
-
opihi/dvo/dbExtractAverages.c (modified) (4 diffs)
-
opihi/dvo/dbExtractMeasures.c (modified) (5 diffs)
-
opihi/dvo/dbFields.c (modified) (5 diffs)
-
opihi/dvo/ddmags.c (modified) (4 diffs)
-
opihi/dvo/dmagaves.c (modified) (4 diffs)
-
opihi/dvo/dmagmeas.c (modified) (4 diffs)
-
opihi/dvo/dmags.c (modified) (4 diffs)
-
opihi/dvo/dvo.c.in (modified) (1 diff)
-
opihi/dvo/fitcolors.c (modified) (7 diffs)
-
opihi/dvo/fitsed.c (modified) (7 diffs)
-
opihi/dvo/gcat.c (modified) (1 diff)
-
opihi/dvo/gimages.c (modified) (3 diffs)
-
opihi/dvo/imdata.c (modified) (4 diffs)
-
opihi/dvo/imextract.c (modified) (3 diffs)
-
opihi/dvo/imlist.c (modified) (2 diffs)
-
opihi/dvo/imphot.c (modified) (3 diffs)
-
opihi/dvo/init.c (modified) (2 diffs)
-
opihi/dvo/lcat.c (modified) (1 diff)
-
opihi/dvo/lcurve.c (modified) (1 diff)
-
opihi/dvo/lightcurve.c (modified) (1 diff)
-
opihi/dvo/mextract.c (modified) (9 diffs)
-
opihi/dvo/photometry.c (modified) (7 diffs)
-
opihi/dvo/region_list.c (modified) (2 diffs)
-
opihi/dvo/subpix.c (modified) (2 diffs)
-
opihi/include/dvoshell.h (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/addstar/src/SkyListForStars.c
r6641 r14401 13 13 ALLOCATE (list[0].filename, char *, NR); 14 14 list[0].Nregions = Nr; 15 list[0].ownElements = FALSE; // free these elements when freeing the list 15 16 16 17 sort_stars (stars, Nstars); /* sort by RA */ … … 29 30 list[0].regions[Nr] = here[0].regions[0]; 30 31 list[0].filename[Nr] = here[0].filename[0]; 31 SkyListFree (here , FALSE);32 SkyListFree (here); 32 33 Nr ++; 33 34 if (Nr >= NR) { -
trunk/Ohana/src/addstar/src/SkyRegionUtils.c
r5945 r14401 11 11 ALLOCATE (subset, SkyList, 1); 12 12 ALLOCATE (subset[0].regions, SkyRegion *, NSUBSET); 13 subset[0].ownElements = FALSE; // free these elements when freeing the list 13 14 14 15 /* match the basename against the GSCRegion file names */ -
trunk/Ohana/src/addstar/src/UpdateDatabase_Image.c
r12332 r14401 27 27 newlist = SkyListByImage (ServerSky, -1, &images[i]); 28 28 SkyListMerge (&skylist, newlist); 29 SkyListFree (newlist , FALSE);29 SkyListFree (newlist); 30 30 } 31 31 … … 36 36 SkyList *tmp; 37 37 tmp = SkyListExistingSubset (skylist, CATDIR); 38 SkyListFree (skylist , FALSE);38 SkyListFree (skylist); 39 39 skylist = tmp; 40 40 } -
trunk/Ohana/src/addstar/src/UpdateDatabase_Refcat.c
r8361 r14401 24 24 SkyList *tmp; 25 25 tmp = SkyListExistingSubset (skylist, CATDIR); 26 SkyListFree (skylist , FALSE);26 SkyListFree (skylist); 27 27 skylist = tmp; 28 28 } -
trunk/Ohana/src/addstar/src/UpdateDatabase_Reflist.c
r8361 r14401 24 24 SkyList *tmp; 25 25 tmp = SkyListExistingSubset (skylist, CATDIR); 26 SkyListFree (skylist , FALSE);26 SkyListFree (skylist); 27 27 skylist = tmp; 28 28 } -
trunk/Ohana/src/addstar/src/addstar.c
r13323 r14401 43 43 SkyListMerge (&skylist, newlist); 44 44 if (VERBOSE) fprintf (stderr, "added %d regions to yield %d total\n", newlist[0].Nregions, skylist[0].Nregions); 45 SkyListFree (newlist , FALSE);45 SkyListFree (newlist); 46 46 } 47 47 ImageOptions (&options, images, Nimages); … … 60 60 ALLOCATE (skylist, SkyList, 1); 61 61 skylist[0].Nregions = 0; 62 skylist[0].ownElements = FALSE; 62 63 break; 63 64 … … 71 72 SkyList *tmp; 72 73 tmp = SkyListExistingSubset (skylist, CATDIR); 73 SkyListFree (skylist , FALSE);74 SkyListFree (skylist); 74 75 skylist = tmp; 75 76 } -
trunk/Ohana/src/addstar/src/gettycho.c
r8458 r14401 123 123 fclose (f); 124 124 125 SkyListFree (skylist , FALSE);125 SkyListFree (skylist); 126 126 127 127 free (buffer); -
trunk/Ohana/src/addstar/src/load2mass_as_rawdata.c
r12732 r14401 181 181 } 182 182 183 SkyListFree (skylist , FALSE);183 SkyListFree (skylist); 184 184 free (stars); 185 185 VERBOSE = verbose; -
trunk/Ohana/src/delstar/src/delete_times.c
r8555 r14401 22 22 ALLOCATE (skylist, SkyList, 1); 23 23 ALLOCATE (skylist[0].regions, SkyRegion *, NREGIONS); 24 skylist[0].ownElements = FALSE; // free these elements when freeing the list 24 25 25 26 image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped); … … 48 49 CHECK_REALLOCATE (skylist[0].regions, SkyRegion *, NREGIONS, Nregions, 10); 49 50 } 50 SkyListFree (skyset , FALSE);51 SkyListFree (skyset); 51 52 } 52 53 -
trunk/Ohana/src/libautocode/def/average.d
r12332 r14401 19 19 FIELD dP, PAR_ERR, float, parallax error, arcsec 20 20 21 # XXX drop the old primary magnitude concept22 # FIELD M, MAG, float, primary mag, mag23 # FIELD dM, MAG_ERR, float, error on primary mag, mag24 # FIELD Xm, CHISQ_MAG, short, chisq for primary mag, [100*log(value)]25 # FIELD Xg, CHISQ_GAL, short, chisq for galaxy mags, [100*log(value)]26 27 21 FIELD Xp, SIGMA_POS, short, position scatter, 1/100 arcsec 28 22 FIELD Nm, NMEAS, unsigned short, number of measures … … 35 29 FIELD objID_hi, OBJ_ID_HI, unsigned int, ID upper bytes 36 30 FIELD objID_lo, OBJ_ID_LO, unsigned int, ID lower bytes 31 32 # XXX record the number of detections used for average astrometry 37 33 38 34 # this structure should only be used for internal representations -
trunk/Ohana/src/libdvo/include/dvo.h
r14263 r14401 153 153 typedef struct { 154 154 int Nregions; 155 int ownElements; /* does this list own filename, regions? */ 155 156 char **filename; 156 157 SkyRegion **regions; … … 428 429 SkyList *SkyListChildrenByBounds PROTO((SkyTable *table, int No, int depth, double Rmin, double Rmax, double Dmin, double Dmax)); 429 430 int SkyListMerge PROTO((SkyList **outlist, SkyList *newlist)); 430 int SkyListFree PROTO((SkyList *list , int ELEMENTS));431 int SkyListFree PROTO((SkyList *list)); 431 432 int SkyTableFree PROTO((SkyTable *table)); 432 433 int SkyListSetFilenames PROTO((SkyList *list, char *path, char *ext)); -
trunk/Ohana/src/libdvo/src/skyregion_ops.c
r14289 r14401 19 19 ALLOCATE (list[0].filename, char *, 1); 20 20 list[0].Nregions = 0; 21 list[0].ownElements = FALSE; // this list is only holding a view to the elements 21 22 22 23 region = table[0].regions; … … 65 66 ALLOCATE (list[0].filename, char *, NREGIONS); 66 67 list[0].Nregions = N; 68 list[0].ownElements = FALSE; // this list is only holding a view to the elements 67 69 68 70 region = table[0].regions; … … 99 101 ALLOCATE (list[0].filename, char *, NREGIONS); 100 102 list[0].Nregions = N; 103 list[0].ownElements = FALSE; // this list is only holding a view to the elements 101 104 102 105 region = table[0].regions; … … 232 235 } 233 236 list[0].Nregions = Ns; 234 SkyListFree (extra , FALSE);237 SkyListFree (extra); 235 238 } else { 236 239 list = SkyListChildrenByBounds (table, -1, depth, Rmin, Rmax, Dmin, Dmax); … … 253 256 ALLOCATE (list[0].regions, SkyRegion *, NNEW); 254 257 ALLOCATE (list[0].filename, char *, NNEW); 258 list[0].ownElements = FALSE; // this list is only holding a view to the elements 255 259 256 260 region = table[0].regions; … … 289 293 } 290 294 Nnew += children[0].Nregions; 291 SkyListFree (children , FALSE);295 SkyListFree (children); 292 296 } else { 293 297 list[0].regions[Nnew] = ®ion[i]; … … 332 336 } 333 337 334 int SkyListFree (SkyList *list , int ELEMENTS) {338 int SkyListFree (SkyList *list) { 335 339 336 340 int i; … … 339 343 if (list == NULL) return (TRUE); 340 344 if (list[0].regions != NULL) { 341 if ( ELEMENTS) {345 if (list[0].ownElements) { 342 346 for (i = 0; i < list[0].Nregions; i++) { 343 347 if (list[0].filename[i] != NULL) { … … 384 388 ALLOCATE (list[0].regions, SkyRegion *, 1); 385 389 ALLOCATE (list[0].filename, char *, 1); 390 list[0].ownElements = FALSE; // this list is only holding a view to the elements 386 391 list[0].Nregions = 0; 387 392 *outlist = list; … … 412 417 return (TRUE); 413 418 } 414 415 # if (0)416 417 /* find regions contained within rectangular region c1 - c2 */418 SkyRegion **SkyFindArea (SkyRegion *db, SkyCoord c1, SkyCoord c2, int *nlist) {419 420 int Nlist;421 SkyRegion *list, *new, *sub;422 423 while (c1.r > 360.0) c1.r -= 360.0;424 while (c1.r < 0.0) c1.r += 360.0;425 while (c2.r > 360.0) c2.r -= 360.0;426 while (c2.r < 0.0) c2.r += 360.0;427 428 /* check on c1.r > c2.r : cross boundary */429 if (c1.r > c2.r) {430 c0 = c2; c0.r = 360.0;431 list = SkyFindArea (db, c1, c0, &Nlist);432 c0 = c1; c0.r = 0.0;433 new = SkyFindArea (db, c0, c2, &Nnew);434 REALLOCATE (list, SkyRegion *, MAX (1, Nlist + Nnew));435 memcpy (&list[Nlist], new, Nnew*sizeof(SkyRegion *));436 free (new);437 Nlist += Nnew;438 *nlist = Nlist;439 return (list);440 }441 442 Ns = 0;443 Ne = 1;444 Nlist = 1;445 ALLOCATE (list, SkyRegion *, Nlist);446 list[0] = ®ion[0];447 getchild = region[0].child;448 449 while (getchild) {450 451 getchild = FALSE;452 Nnew = 0;453 NNEW = 100;454 ALLOCATE (new, SkyRegion *, NNEW);455 456 for (i = Ns; i < Ne; i++) {457 children = SkyFindChildren(db, list[i], c1, c2, &Nchildren);458 if (children == NULL) continue;459 if (Nnew + Nchildren >= NNEW) {460 NNEW += 100;461 REALLOCATE (new, SkyRegion *, NNEW);462 }463 for (i = 0; i < Nchildren; i++) {464 getchild |= children[i][0].child;465 new[Nnew] = children[i];466 Nnew++;467 }468 free (children);469 }470 471 REALLOCATE (list, SkyRegion *, Nlist + Nnew);472 memcpy (&list[Nlist], new, Nnew*sizeof(SkyRegion *));473 free (new);474 Nlist += Nnew;475 }476 return (list);477 *nlist = Nlist;478 }479 480 /* find all children of the given sky region */481 SkyRegion **SkyFindChildren (SkyRegion *db, SkyRegion *parent, SkyCoord c1, SkyCoord c2, int *Nchildren) {482 483 int i, Ns, Ne, Nregion, NREGIONS;484 SkyRegion **region;485 486 *Nchildren = 0;487 if (!parent[0].child) return (NULL);488 489 Ns = parent[0].childS;490 Ne = parent[0].childE;491 492 Nregion = 0;493 NREGIONS = 100;494 ALLOCATE (region, SkyRegion *, NREGIONS);495 496 for (i = Ns; i < Ne; i++) {497 if (region[i].Rmax < c1.r) continue;498 if (region[i].Rmin > c2.r) continue;499 if (region[i].Dmax < c1.d) continue;500 if (region[i].Dmin > c2.d) continue;501 region[Nregion] = ®ion[i];502 Nregion++;503 if (Nregion == NREGIONS) {504 NREGIONS += 100;505 REALLOCATE (region, SkyRegion *, NREGIONS);506 }507 }508 *Nchildren = Nregion;509 return (region);510 }511 512 /* region is pointer to entry in db */513 SkyRegion *SkyExtend (SkyRegion *db, SkyRegion *region) {514 515 fprintf (stderr, "not implemented\n");516 517 }518 519 /* region is pointer to entry in db */520 SkyRegion *SkyContract (SkyRegion *db, SkyRegion *region) {521 522 fprintf (stderr, "not implemented\n");523 524 }525 526 SkyRegion *SkyFindGCircle (SkyRegion *db, SkyCoord c1, SkyCoord c2) {527 528 fprintf (stderr, "not implemented\n");529 530 }531 # endif -
trunk/Ohana/src/libkapa/src/KapaWindow.c
r13479 r14401 177 177 &data[0].coords.cdelt2); 178 178 179 // XXX at some point, we need to add polynomials and 2-level mosaic 180 // astrometry here. 181 182 data[0].coords.Npolyterms = 0; 183 179 184 KiiWaitAnswer (fd, "DONE"); 180 185 return (TRUE); -
trunk/Ohana/src/opihi/dvo/ImageOps.c
r7680 r14401 2 2 3 3 void image_subset (Image *image, int Nimage, int **Subset, int *Nsubset, 4 Graphdata *graph, int RegionSelect,4 SkyRegionSelection *selection, 5 5 unsigned long int tzero, double trange, int TimeSelect) 6 6 { … … 10 10 int N, n, npts; 11 11 double r, d, X, Y, x[4], y[4], Rmin, Rmax, Rmid; 12 Graphdata graph; 13 SkyRegion patch; 12 14 13 15 Rmin = Rmax = Rmid = 0; 14 if (RegionSelect) { 15 Rmin = graph[0].coords.crval1 - 182.0; 16 Rmax = graph[0].coords.crval1 + 182.0; 16 17 if (selection->useDisplay) { 18 if (!GetGraphData (&graph, NULL, NULL)) { 19 gprint (GP_ERR, "region display not available\n"); 20 return; 21 } 22 Rmin = graph.coords.crval1 - 182.0; 23 Rmax = graph.coords.crval1 + 182.0; 17 24 Rmid = 0.5*(Rmin + Rmax); 18 25 BuildChipMatch (image, Nimage); 26 } 27 28 if (selection->useSkyregion) { 29 get_skyregion (&patch.Rmin, &patch.Rmax, &patch.Dmin, &patch.Dmax); 30 Rmin = patch.Rmin - 182.0; 31 Rmax = patch.Rmax + 182.0; 32 Rmid = 0.5*(Rmin + Rmax); 19 33 } 20 34 … … 29 43 for (i = 0; i < Nimage; i++) { 30 44 if (TimeSelect && ((image[i].tzero < tzero) || (image[i].tzero+image[i].trate*image[i].NY > tzero + trange))) continue; 31 if ( RegionSelect) {45 if (selection->useDisplay) { 32 46 if (!FindMosaicForImage (image, Nimage, i)) continue; 33 47 /* project this image to screen display coords */ … … 44 58 while (flipped && (r < Rmid)) r+= 360.0; 45 59 while (flipped && (r > Rmid)) r-= 360.0; 46 status = RD_to_XY (&X, &Y, r, d, &graph [0].coords);60 status = RD_to_XY (&X, &Y, r, d, &graph.coords); 47 61 if (!status) continue; 48 if (X < graph[0].xmin) continue; 49 if (X > graph[0].xmax) continue; 50 if (Y < graph[0].ymin) continue; 51 if (Y > graph[0].ymax) continue; 62 if (X < graph.xmin) continue; 63 if (X > graph.xmax) continue; 64 if (Y < graph.ymin) continue; 65 if (Y > graph.ymax) continue; 66 goto in_region; 67 /** we miss any images which surround the region. we are also 68 missing the DIS images for which the corners don't touch 69 the region, but which are needed for WRP images with 70 corners touching the region **/ 71 } 72 continue; 73 } 74 if (selection->useSkyregion) { 75 if (!FindMosaicForImage (image, Nimage, i)) continue; 76 /* project this image to screen display coords */ 77 x[0] = 0; y[0] = 0; 78 x[1] = image[i].NX; y[1] = 0; 79 x[2] = image[i].NX; y[2] = image[i].NY; 80 x[3] = 0; y[3] = image[i].NY; 81 InPic = flipped = FALSE; 82 for (j = 0; j < 4; j++) { 83 XY_to_RD (&r, &d, x[j], y[j], &image[i].coords); 84 /* use same side of 0,360 boundary for all corners */ 85 if ((j == 0) && (r < Rmin)) flipped = TRUE; 86 if ((j == 0) && (r > Rmax)) flipped = TRUE; 87 while (flipped && (r < Rmid)) r+= 360.0; 88 while (flipped && (r > Rmid)) r-= 360.0; 89 if (r < patch.Rmin) continue; 90 if (r > patch.Rmax) continue; 91 if (d < patch.Dmin) continue; 92 if (d > patch.Dmax) continue; 52 93 goto in_region; 53 94 /** we miss any images which surround the region. we are also -
trunk/Ohana/src/opihi/dvo/ImageSelection.c
r14286 r14401 9 9 10 10 /* load images based on parameters and region, etc */ 11 int SetImageSelection (int mosaicMode, int RegionSelect) {11 int SetImageSelection (int mosaicMode, SkyRegionSelection *selection) { 12 12 13 13 int Ngraph; 14 Graphdata graphsky;15 14 int TimeSelect; 16 15 time_t tzero, tend; … … 19 18 subset = NULL; 20 19 21 if (RegionSelect) {22 // how does this know which sky plot to use?23 if (!GetGraphData (&graphsky, NULL, NULL)) {24 gprint (GP_ERR, "region display not available\n");25 return (FALSE);26 }27 }28 29 20 TimeSelect = GetTimeSelection (&tzero, &tend); 30 21 … … 41 32 if ((image = LoadImages (&Nimage)) == NULL) return (FALSE); 42 33 BuildChipMatch (image, Nimage); 43 image_subset (image, Nimage, &subset, &Nsubset, &graphsky, RegionSelect, tzero, (double) tend - tzero, TimeSelect);34 image_subset (image, Nimage, &subset, &Nsubset, selection, tzero, (double) tend - tzero, TimeSelect); 44 35 sort_image_subset (image, subset, Nsubset); 45 36 return (TRUE); -
trunk/Ohana/src/opihi/dvo/Makefile
r13479 r14401 82 82 $(SRC)/paverage.$(ARCH).o \ 83 83 $(SRC)/procks.$(ARCH).o \ 84 $(SRC)/skycat.$(ARCH).o \ 84 85 $(SRC)/skycoverage.$(ARCH).o \ 85 $(SRC)/sky cat.$(ARCH).o \86 $(SRC)/skyregion.$(ARCH).o \ 86 87 $(SRC)/showtile.$(ARCH).o \ 87 88 $(SRC)/simage.$(ARCH).o \ -
trunk/Ohana/src/opihi/dvo/avextract.c
r14287 r14401 5 5 int i, j, n, m, N, Npts, NPTS, last, Nfields, Nreturn, Ncstack, Nstack; 6 6 int Nsecfilt, mode, VERBOSE; 7 char * RegionName, *RegionList, *p;7 char *p; 8 8 char **cstack, name[1024]; 9 9 float *values; … … 12 12 Catalog catalog; 13 13 SkyList *skylist; 14 SkyRegionSelection *selection; 14 15 PhotCode *code; 15 16 Vector **vec; … … 19 20 /* defaults */ 20 21 skylist = NULL; 21 RegionName = NULL; 22 RegionList = NULL; 22 selection = NULL; 23 23 code = NULL; 24 24 mode = MAG_AVE; 25 25 fields = NULL; 26 26 stack = NULL; 27 28 if ((N = get_argument (argc, argv, "-h"))) goto help; 29 if ((N = get_argument (argc, argv, "--help"))) goto help; 27 30 28 31 VERBOSE = FALSE; … … 38 41 Nsecfilt = GetPhotcodeNsecfilt (); 39 42 40 // remove skyregion options 41 // XXX this needs to explicitly handle -qregion and -skyregion 42 if (!SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape; 43 // parse skyregion options 44 if ((selection = SetRegionSelection (&argc, argv)) == NULL) goto escape; 43 45 44 46 // command-line is of the form: avextract field,field, field [where (field op value)...] … … 54 56 stack = dbRPN (Ncstack, cstack, &Nstack); 55 57 58 // add the skyregion limits to the where statement (or create) 59 dbAstroRegionLimits (&stack, &Nstack, selection, DVO_TABLE_AVERAGE); 60 61 // parse stack elements into fields and scalars as needed 56 62 Nreturn = Nfields; 57 63 dbCheckStack (stack, Nstack, DVO_TABLE_AVERAGE, &fields, &Nfields); … … 59 65 60 66 /* load region corresponding to selection above */ 61 if ((skylist = SelectRegions ( RegionName, RegionList)) == NULL) goto escape;67 if ((skylist = SelectRegions (selection)) == NULL) goto escape; 62 68 63 69 /* create output storage vectors */ … … 125 131 dbFreeFields (fields, Nfields); 126 132 dbFreeStack (stack, Nstack); 127 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 133 SkyListFree (skylist); 134 FreeSkyRegionSelection (selection); 128 135 return (TRUE); 129 136 130 usage:137 usage: 131 138 gprint (GP_ERR, "USAGE: avextract (value) [options]\n"); 132 139 gprint (GP_ERR, " value: average.parameter or photcode\n"); 133 140 134 escape:141 escape: 135 142 dbFreeFields (fields, Nfields); 136 143 dbFreeStack (stack, Nstack); 137 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 144 SkyListFree (skylist); 145 FreeSkyRegionSelection (selection); 138 146 dvo_catalog_free (&catalog); 139 if (RegionName != NULL) free (RegionName); 140 if (RegionList != NULL) free (RegionList); 147 return (FALSE); 148 149 help: 150 gprint (GP_ERR, "USAGE: avextract field[,field,field...] where (expression)\n"); 151 152 if ((argc > N + 1) && !strcasecmp (argv[N+1], "fields")) { 153 gprint (GP_ERR, " USAGE: avextract field[,field,field...] where (expression)\n"); 154 gprint (GP_ERR, " RA : right ascension (J2000)\n"); 155 gprint (GP_ERR, " DEC : declination \n"); 156 gprint (GP_ERR, " dRA : ra scatter \n"); 157 gprint (GP_ERR, " dDEC : dec scatter\n"); 158 gprint (GP_ERR, " uRA : proper motion in ra\n"); 159 gprint (GP_ERR, " uDEC : proper motion in dec\n"); 160 gprint (GP_ERR, " duRA : proper motion error in ra\n"); 161 gprint (GP_ERR, " duDEC : proper motion error in dec\n"); 162 gprint (GP_ERR, " PAR : parallax\n"); 163 gprint (GP_ERR, " dPAR : parallax error \n"); 164 gprint (GP_ERR, " nmeas : number of measurements\n"); 165 gprint (GP_ERR, " nmiss : number of non-detections\n"); 166 gprint (GP_ERR, " xp : positional chi-square\n"); 167 gprint (GP_ERR, " flag : object flags\n"); 168 gprint (GP_ERR, " photocode:ave : average magnitude for photcode\n"); 169 gprint (GP_ERR, " photocode:ref : reference magnitude system for photcode\n"); 170 gprint (GP_ERR, " photocode:inst : first instrumental magnitude for photcode\n"); 171 gprint (GP_ERR, " photocode:cat : first catalog magnitude for photcode\n"); 172 gprint (GP_ERR, " photocode:sys : first system magnitude for photcode\n"); 173 gprint (GP_ERR, " photocode:rel : first relative magnitude for photcode\n"); 174 gprint (GP_ERR, " photocode:cal : first calibrated magnitude for photcode \n"); 175 gprint (GP_ERR, " photcode:err : magnitude error for photcode\n"); 176 gprint (GP_ERR, " photcode:chipsq : chi-square of magnitude fit\n"); 177 gprint (GP_ERR, " type : dophot type (unused)\n"); 178 gprint (GP_ERR, " typefrac : dophot type fraction (unused)\n"); 179 gprint (GP_ERR, " photcode:ncode : number of measurements in photcode \n"); 180 gprint (GP_ERR, " photcode:nphot : number of measurements used for photcode average\n"); 181 return (FALSE); 182 } 183 gprint (GP_ERR, " avextract --help fields : for a complete listing of allowed fields\n"); 141 184 return (FALSE); 142 185 } -
trunk/Ohana/src/opihi/dvo/calextract.c
r12332 r14401 7 7 int i, j, m, N, Nr, mode[2]; 8 8 int Nsecfilt, NSTAR; 9 char *RegionName, *RegionList;10 9 double M1, M2, dM2, color; 11 10 … … 14 13 Vector **vec; 15 14 SkyList *skylist; 15 SkyRegionSelection *selection; 16 16 17 17 /* these need to be freed in the end */ … … 19 19 catalog.secfilt = NULL; 20 20 catalog.measure = NULL; 21 RegionName = NULL;22 RegionList = NULL;23 21 skylist = NULL; 22 selection = NULL; 24 23 vec = NULL; 25 24 … … 30 29 /* command line arguments */ 31 30 SetSelectionParam (0); 32 if (!SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape; 31 32 // parse skyregion options 33 if ((selection = SetRegionSelection (&argc, argv)) == NULL) goto escape; 33 34 if (!SetPhotSelections (&argc, argv, 2)) goto usage; 34 35 … … 50 51 if ((vec[Np] = SelectVector ("cal:nphot", ANYVECTOR, TRUE)) == NULL) goto escape; 51 52 if ((vec[Nc] = SelectVector ("cal:ncode", ANYVECTOR, TRUE)) == NULL) goto escape; 52 if ((vec[Nt] = SelectVector ("cal:ncrit", ANYVECTOR, TRUE)) == NULL) goto escape;53 // if ((vec[Nt] = SelectVector ("cal:ncrit", ANYVECTOR, TRUE)) == NULL) goto escape; 53 54 if ((vec[Nx] = SelectVector ("cal:chisq", ANYVECTOR, TRUE)) == NULL) goto escape; 54 55 if ((vec[Nd1] = SelectVector ("cal:dm1", ANYVECTOR, TRUE)) == NULL) goto escape; … … 56 57 57 58 /* load region corresponding to selection above */ 58 if ((skylist = SelectRegions ( RegionName, RegionList)) == NULL) goto escape;59 if ((skylist = SelectRegions (selection)) == NULL) goto escape; 59 60 60 61 for (Nr = 0; Nr < skylist[0].Nregions; Nr++) { … … 73 74 dvo_catalog_unlock (&catalog); 74 75 76 # if (0) 75 77 /* extract values, assign to vectors */ 76 78 for (i = 0; i < catalog.Naverage; i++) { … … 104 106 vec[Nc ][0].elements[N] = ExtractAverages (code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], AVE_NCODE); 105 107 vec[Np ][0].elements[N] = ExtractAverages (code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], AVE_NPHOT); 106 vec[Nt ][0].elements[N] = ExtractAverages (code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], AVE_NCRIT);108 // vec[Nt ][0].elements[N] = ExtractAverages (code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], AVE_NCRIT); 107 109 N ++; 108 110 if (N == NSTAR) { … … 113 115 } 114 116 } 117 # endif 115 118 dvo_catalog_free (&catalog); 116 119 } 117 120 118 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL)));119 121 for (i = 0; i < NVEC; i++) { 120 122 vec[i][0].Nelements = N; 121 123 } 124 125 SkyListFree (skylist); 126 FreeSkyRegionSelection (selection); 122 127 return (TRUE); 123 128 … … 127 132 128 133 escape: 129 if (RegionName != NULL) free (RegionName); 130 if (RegionList != NULL) free (RegionList); 131 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 134 SkyListFree (skylist); 135 FreeSkyRegionSelection (selection); 132 136 for (i = 0; i < NVEC; i++) { 133 137 DeleteVector (vec[i]); -
trunk/Ohana/src/opihi/dvo/calmextract.c
r14286 r14401 8 8 int i, j, k, m, N, N1, Nr, mode[2]; 9 9 int NSTAR, Nstar, Nsecfilt; 10 char *RegionName, *RegionList;11 10 double *M1, M2, dM2, color; 12 11 … … 14 13 PhotCode *code[2]; 15 14 SkyList *skylist; 15 SkyRegionSelection *selection; 16 16 Vector **vec; 17 17 … … 20 20 catalog.secfilt = NULL; 21 21 catalog.measure = NULL; 22 RegionName = NULL;23 RegionList = NULL;24 22 skylist = NULL; 23 selection = NULL; 25 24 vec = NULL; 26 25 … … 30 29 31 30 /* command line arguments */ 32 if ( !SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape;31 if ((selection = SetRegionSelection (&argc, argv)) == NULL) goto escape; 33 32 if (!SetPhotSelections (&argc, argv, 2)) goto usage; 34 33 … … 68 67 69 68 /* load region corresponding to selection above */ 70 if ((skylist = SelectRegions ( RegionName, RegionList)) == NULL) goto escape;71 if (!SetImageSelection (TRUE, ((RegionName == NULL) && (RegionList == NULL)))) goto escape;69 if ((skylist = SelectRegions (selection)) == NULL) goto escape; 70 if (!SetImageSelection (TRUE, selection)) goto escape; 72 71 73 72 for (Nr = 0; Nr < skylist[0].Nregions; Nr++) { … … 86 85 dvo_catalog_unlock (&catalog); 87 86 87 # if (0) 88 88 /* extract values, assign to vectors */ 89 89 for (i = 0; i < catalog.Naverage; i++) { … … 119 119 ConcatMeasures (vec[NT ], code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], N1, MEAS_EXPTIME); 120 120 ConcatMeasures (vec[NP ], code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], N1, MEAS_PHOTCODE); 121 ConcatMeasures (vec[Nd1], code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], N1, MEAS_dMAG);121 // ConcatMeasures (vec[Nd1], code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], N1, MEAS_dMAG); 122 122 ConcatMeasures (vec[Nxc], code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], N1, MEAS_XCCD); 123 123 ConcatMeasures (vec[Nyc], code[0], mode[0], &catalog.average[i], &catalog.secfilt[i*Nsecfilt], &catalog.measure[m], N1, MEAS_YCCD); … … 139 139 if (M1 != NULL) free (M1); 140 140 } 141 # endif 141 142 dvo_catalog_free (&catalog); 142 143 } 143 144 144 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL)));145 145 for (i = 0; i < NVEC; i++) { 146 146 vec[i][0].Nelements = N; 147 147 } 148 SkyListFree (skylist); 149 FreeSkyRegionSelection (selection); 148 150 FreeImageSelection (); 149 151 return (TRUE); … … 154 156 155 157 escape: 158 SkyListFree (skylist); 159 FreeSkyRegionSelection (selection); 156 160 FreeImageSelection (); 157 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL)));158 161 for (i = 0; i < NVEC; i++) { 159 162 DeleteVector (vec[i]); -
trunk/Ohana/src/opihi/dvo/ccd.c
r12332 r14401 3 3 int ccd (int argc, char **argv) { 4 4 5 char *RegionName, *RegionList;6 5 double *M1, *M2; 7 6 int i, m, k, Npts, NPTS, N; … … 12 11 PhotCode *code[4]; 13 12 SkyList *skylist; 13 SkyRegionSelection *selection; 14 14 Vector *xvec, *yvec; 15 15 … … 18 18 catalog.secfilt = NULL; 19 19 catalog.measure = NULL; 20 RegionName = NULL;21 RegionList = NULL;22 20 skylist = NULL; 21 selection = NULL; 23 22 24 23 /* load photcode information */ … … 27 26 28 27 /* interpret command-line options */ 29 if ( !SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape;28 if ((selection = SetRegionSelection (&argc, argv)) == NULL) goto escape; 30 29 if (!SetPhotSelections (&argc, argv, 4)) goto usage; 31 30 … … 48 47 49 48 /* load region corresponding to selection above */ 50 if ((skylist = SelectRegions ( RegionName, RegionList)) == NULL) goto escape;49 if ((skylist = SelectRegions (selection)) == NULL) goto escape; 51 50 52 51 /* init vectors to save data */ … … 109 108 dvo_catalog_free (&catalog); 110 109 } 111 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 110 112 111 xvec[0].Nelements = yvec[0].Nelements = Npts; 112 SkyListFree (skylist); 113 FreeSkyRegionSelection (selection); 113 114 return (TRUE); 114 115 … … 118 119 119 120 escape: 120 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 121 SkyListFree (skylist); 122 FreeSkyRegionSelection (selection); 121 123 dvo_catalog_free (&catalog); 122 if (RegionName != NULL) free (RegionName);123 if (RegionList != NULL) free (RegionList);124 124 return (FALSE); 125 125 } -
trunk/Ohana/src/opihi/dvo/cmd.c
r12332 r14401 3 3 int cmd (int argc, char **argv) { /* really need to think about upper limits & how to represent them */ 4 4 5 char *RegionName, *RegionList;6 5 double *M1, *M3; 7 6 int i, j, m, i1, i3, N1, N3, N; … … 12 11 Catalog catalog; 13 12 SkyList *skylist; 13 SkyRegionSelection *selection; 14 14 Vector *xvec, *yvec; 15 15 … … 18 18 catalog.secfilt = NULL; 19 19 catalog.measure = NULL; 20 RegionName = NULL;21 RegionList = NULL;22 20 skylist = NULL; 21 selection = NULL; 23 22 24 23 /* load photcode information */ … … 27 26 28 27 /* interpret command-line options */ 29 if ( !SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape;28 if ((selection = SetRegionSelection (&argc, argv)) == NULL) goto escape; 30 29 if (!SetPhotSelections (&argc, argv, 3)) goto usage; 31 30 … … 46 45 47 46 /* load region corresponding to selection above */ 48 if ((skylist = SelectRegions ( RegionName, RegionList)) == NULL) goto escape;47 if ((skylist = SelectRegions (selection)) == NULL) goto escape; 49 48 50 49 /* init vectors to save data */ … … 107 106 dvo_catalog_free (&catalog); 108 107 } 109 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 108 110 109 xvec[0].Nelements = yvec[0].Nelements = Npts; 110 SkyListFree (skylist); 111 FreeSkyRegionSelection (selection); 111 112 return (TRUE); 112 113 … … 116 117 117 118 escape: 118 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL)));119 119 dvo_catalog_free (&catalog); 120 if (RegionName != NULL) free (RegionName);121 if (RegionList != NULL) free (RegionList);120 SkyListFree (skylist); 121 FreeSkyRegionSelection (selection); 122 122 return (FALSE); 123 123 } -
trunk/Ohana/src/opihi/dvo/dbCmdlineFields.c
r14191 r14401 70 70 return (fields); 71 71 } 72 73 char *strfloat (float value) { 74 75 int Nbyte; 76 char *output; 77 char tmp; 78 79 Nbyte = snprintf (&tmp, 0, "%f", value); 80 ALLOCATE (output, char, Nbyte + 1); 81 snprintf (output, Nbyte + 1, "%f", value); 82 return output; 83 } 84 85 // identify the fields to be extracted (test for where, check syntax) 86 int dbAstroRegionLimits (dbStack **stack, int *nstack, SkyRegionSelection *selection, int table) { 87 88 int N; 89 double Rmin, Rmax, Dmin, Dmax; 90 char *Rname, *Dname; 91 92 if (!selection->useDisplay && !selection->useSkyregion) return (TRUE); 93 94 // get the ra,dec limits... 95 if (selection->useDisplay) { 96 return (TRUE); 97 // XXX fix this: be more careful with the projection & limits 98 99 Graphdata graphsky; 100 if (!GetGraphData (&graphsky, NULL, NULL)) { 101 gprint (GP_ERR, "region display not available\n"); 102 return (FALSE); 103 } 104 105 // XXX the ra and dec range depend on the projection. 106 // XXX this is wrong... 107 int status; 108 status = XY_to_RD (&Rmin, &Dmin, graphsky.xmin, graphsky.ymin, &graphsky.coords); 109 status = XY_to_RD (&Rmax, &Dmax, graphsky.xmax, graphsky.ymax, &graphsky.coords); 110 } 111 112 if (selection->useSkyregion) { 113 get_skyregion (&Rmin, &Rmax, &Dmin, &Dmax); 114 } 115 116 N = *nstack; 117 REALLOCATE (*stack, dbStack, N + 20); 118 119 if (table == DVO_TABLE_AVERAGE) { 120 Rname = strcreate ("RA"); 121 Dname = strcreate ("DEC"); 122 } else { 123 Rname = strcreate ("RA:AVE"); 124 Dname = strcreate ("DEC:AVE"); 125 } 126 127 // add: ((ra > rmin) && (ra < rmax) && (dec > dmin) && (dec < dmax)) 128 // prepend with && if *nstack > 0 129 130 stack[0][N + 0].name = strcreate (Rname); 131 stack[0][N + 0].type = 'X'; 132 stack[0][N + 1].name = strfloat (Rmin); 133 stack[0][N + 1].type = 'X'; 134 stack[0][N + 2].name = strcreate (">"); 135 stack[0][N + 2].type = 4; 136 // stack[0][N + 3].name = strcreate ("A"); 137 // stack[0][N + 3].type = 3; 138 139 stack[0][N + 3].name = strcreate (Rname); 140 stack[0][N + 3].type = 'X'; 141 stack[0][N + 4].name = strfloat (Rmax); 142 stack[0][N + 4].type = 'X'; 143 stack[0][N + 5].name = strcreate ("<"); 144 stack[0][N + 5].type = 4; 145 stack[0][N + 6].name = strcreate ("A"); 146 stack[0][N + 6].type = 3; 147 148 stack[0][N + 7].name = strcreate (Dname); 149 stack[0][N + 7].type = 'X'; 150 stack[0][N + 8].name = strfloat (Dmin); 151 stack[0][N + 8].type = 'X'; 152 stack[0][N + 9].name = strcreate (">"); 153 stack[0][N + 9].type = 4; 154 stack[0][N + 10].name = strcreate ("A"); 155 stack[0][N + 10].type = 3; 156 157 stack[0][N + 11].name = strcreate (Dname); 158 stack[0][N + 11].type = 'X'; 159 stack[0][N + 12].name = strfloat (Dmax); 160 stack[0][N + 12].type = 'X'; 161 stack[0][N + 13].name = strcreate ("<"); 162 stack[0][N + 13].type = 4; 163 stack[0][N + 14].name = strcreate ("A"); 164 stack[0][N + 14].type = 3; 165 166 if (N == 0) { 167 N += 15; 168 } else { 169 stack[0][N + 15].name = strcreate ("A"); 170 stack[0][N + 15].type = 3; 171 N += 16; 172 } 173 174 free (Rname); 175 free (Dname); 176 177 *nstack = N; 178 return (TRUE); 179 } 180 -
trunk/Ohana/src/opihi/dvo/dbExtractAverages.c
r13479 r14401 4 4 double dbExtractAverages (Average *average, SecFilt *secfilt, Measure *measure, dbField *field) { 5 5 6 int i ;6 int i, Nsec; 7 7 double value; 8 8 … … 78 78 } 79 79 break; 80 case MAG_CHISQ: 81 // GetPhotcodeEquivCodebyCode (field->photcode) 82 value = PhotXm (field->photcode, average, secfilt); 83 break; 84 case MAG_ERR: 85 // GetPhotcodeEquivCodebyCode (field->photcode) 86 value = PhotdM (field->photcode, average, secfilt); 87 break; 88 case MAG_NCODE: 89 // XXX push these into dvo_photcode_ops APIs 90 // XXX do I need to allow for conversion to equiv? 91 Nsec = GetPhotcodeNsec (field->photcode->code); 92 if (Nsec == -1) break; 93 value = secfilt[Nsec].Ncode; 94 break; 95 case MAG_NPHOT: 96 Nsec = GetPhotcodeNsec (field->photcode->code); 97 if (Nsec == -1) break; 98 value = secfilt[Nsec].Nused; 99 break; 100 80 101 } 81 102 break; … … 90 111 case AVE_TYPEFRAC: 91 112 break; 113 /* 92 114 case AVE_NCODE: 93 115 value = 0; … … 107 129 case AVE_NCRIT: 108 130 break; 131 */ 109 132 } 110 133 return (value); -
trunk/Ohana/src/opihi/dvo/dbExtractMeasures.c
r14379 r14401 12 12 double dbExtractMeasures (Average *average, SecFilt *secfilt, Measure *measure, dbField *field) { 13 13 14 int i ;14 int i, Nsec; 15 15 double value; 16 16 double ra, dec, x, y; … … 27 27 if ((field->photcode->type == PHOT_REF) && (measure[0].photcode == field->photcode->code)) goto valid_photcode; 28 28 if ((field->photcode->type == PHOT_DEP) && (measure[0].photcode == field->photcode->code)) goto valid_photcode; 29 if ((field->photcode->type == PHOT_SEC) && (GetPhotcodeEquiv byCode (measure[0].photcode) == field->photcode->code)) goto valid_photcode;29 if ((field->photcode->type == PHOT_SEC) && (GetPhotcodeEquivCodebyCode (measure[0].photcode) == field->photcode->code)) goto valid_photcode; 30 30 break; 31 31 … … 53 53 value = PhotRef (GetPhotcodeEquivbyCode (measure[0].photcode), average, secfilt, measure); 54 54 break; 55 case MAG_ERR: 56 value = PhotdM (GetPhotcodeEquivbyCode (measure[0].photcode), average, secfilt); 57 break; 58 case MAG_CHISQ: 59 value = PhotXm (GetPhotcodeEquivbyCode (measure[0].photcode), average, secfilt); 60 break; 61 case MAG_NCODE: 62 Nsec = GetPhotcodeNsec (GetPhotcodeEquivCodebyCode (measure[0].photcode)); 63 if (Nsec == -1) break; 64 value = secfilt[Nsec].Ncode; 65 break; 66 case MAG_NPHOT: 67 Nsec = GetPhotcodeNsec (GetPhotcodeEquivCodebyCode (measure[0].photcode)); 68 if (Nsec == -1) break; 69 value = secfilt[Nsec].Nused; 70 break; 55 71 } 56 72 break; … … 67 83 value = average[0].D; 68 84 break; 69 case MEAS_dMAG: /* OK */ 70 value = measure[0].dM; 85 case MEAS_RA_AVE_ERR: /* OK */ 86 value = average[0].dR; 87 break; 88 case MEAS_DEC_AVE_ERR: /* OK */ 89 value = average[0].dD; 90 break; 91 case MEAS_U_RA: /* OK */ 92 value = average[0].uR; 93 break; 94 case MEAS_U_DEC: /* OK */ 95 value = average[0].uD; 96 break; 97 case MEAS_U_RA_ERR: /* OK */ 98 value = average[0].duR; 99 break; 100 case MEAS_U_DEC_ERR: /* OK */ 101 value = average[0].duD; 102 break; 103 case MEAS_PAR: /* OK */ 104 value = average[0].R; 105 break; 106 case MEAS_PAR_ERR: /* OK */ 107 value = average[0].D; 108 break; 109 case MEAS_XP: /* OK */ 110 value = average[0].Xp; 111 break; 112 case MEAS_NMEAS: /* OK */ 113 value = average[0].Nm; 114 break; 115 case MEAS_NMISS: /* OK */ 116 value = average[0].Nn; 117 break; 118 case MEAS_NPHOT: /* OK */ 119 Nsec = f(measure[0].photcode); 120 value = secfilt[Nsec].Nused; 121 break; 122 case MEAS_NCODE: /* OK */ 123 Nsec = f(measure[0].photcode); 124 value = secfilt[Nsec].Ncode; 125 break; 126 case MEAS_OBJFLAGS: /* OK */ 127 value = average[0].code; 128 break; 129 // case MEAS_dMAG: /* OK */ 130 // value = measure[0].dM; 131 // break; 132 // note that these represent the ra displacement relative to the average, not 133 // the error. 134 case MEAS_RA_OFFSET: /* OK */ 135 value = measure[0].dR; 136 break; 137 case MEAS_DEC_OFFSET: /* OK */ 138 value = measure[0].dD; 139 break; 140 case MEAS_RA_OFFSET_ERR: /* OK */ 141 value = NO_MAG; 142 break; 143 case MEAS_DEC_OFFSET_ERR: /* OK */ 144 value = NO_MAG; 71 145 break; 72 146 case MEAS_AIRMASS: /* OK */ … … 82 156 value = TimeValue (measure[0].t, TimeReference, TimeFormat); 83 157 break; 84 // note that these represent the ra displacement relative to the average, not85 // the error.86 case MEAS_dR: /* OK */87 value = measure[0].dR;88 break;89 case MEAS_dD: /* OK */90 value = measure[0].dD;91 break;92 158 case MEAS_FWHM: /* OK */ 159 value = 0.01*(measure[0].FWx + measure[0].FWy); 160 break; 161 case MEAS_FWHM_MAJ: /* OK */ 93 162 value = 0.01*measure[0].FWx; 94 163 break; 95 case MEAS_DOPHOT: /* OK */ 96 value = measure[0].dophot; 97 break; 164 case MEAS_FWHM_MIN: /* OK */ 165 value = 0.01*measure[0].FWy; 166 break; 167 case MEAS_THETA: /* OK */ 168 value = measure[0].theta; 169 break; 170 // case MEAS_DOPHOT: /* OK */ 171 // value = measure[0].dophot; 172 // break; 98 173 case MEAS_FLAGS: /* ? */ 99 174 value = measure[0].flags; -
trunk/Ohana/src/opihi/dvo/dbFields.c
r14379 r14401 38 38 if (!strcasecmp (string, "err")) return (MAG_ERR); 39 39 if (!strcasecmp (string, "chisq")) return (MAG_CHISQ); 40 if (!strcasecmp (string, "ncode")) return (MAG_NCODE); 41 if (!strcasecmp (string, "nphot")) return (MAG_NPHOT); 40 42 return (MAG_NONE); 41 43 } … … 101 103 field->name = strcreate (fieldName); 102 104 103 if (!strcasecmp (fieldName, "RA")) ESCAPE (MEAS_RA, MAG_NONE); 104 if (!strcasecmp (fieldName, "DEC")) ESCAPE (MEAS_DEC, MAG_NONE); 105 if (!strcasecmp (fieldName, "RA:AVE")) ESCAPE (MEAS_RA_AVE, MAG_NONE); 106 if (!strcasecmp (fieldName, "DEC:AVE")) ESCAPE (MEAS_DEC_AVE, MAG_NONE); 107 if (!strcasecmp (fieldName, "AIRMASS")) ESCAPE (MEAS_AIRMASS, MAG_NONE); 108 if (!strcasecmp (fieldName, "EXPTIME")) ESCAPE (MEAS_EXPTIME, MAG_NONE); 109 if (!strcasecmp (fieldName, "PHOTCODE")) ESCAPE (MEAS_PHOTCODE, MAG_NONE); 110 if (!strcasecmp (fieldName, "TIME")) ESCAPE (MEAS_TIME, MAG_NONE); 111 if (!strcasecmp (fieldName, "dR")) ESCAPE (MEAS_dR, MAG_NONE); 112 if (!strcasecmp (fieldName, "dD")) ESCAPE (MEAS_dD, MAG_NONE); 113 if (!strcasecmp (fieldName, "FWHM")) ESCAPE (MEAS_FWHM, MAG_NONE); 114 if (!strcasecmp (fieldName, "DOPHOT")) ESCAPE (MEAS_DOPHOT, MAG_NONE); 115 if (!strcasecmp (fieldName, "FLAGS")) ESCAPE (MEAS_FLAGS, MAG_NONE); 116 if (!strcasecmp (fieldName, "XCCD")) ESCAPE (MEAS_XCCD, MAG_NONE); 117 if (!strcasecmp (fieldName, "YCCD")) ESCAPE (MEAS_YCCD, MAG_NONE); 118 if (!strcasecmp (fieldName, "XMOSAIC")) ESCAPE (MEAS_XMOSAIC, MAG_NONE); 119 if (!strcasecmp (fieldName, "YMOSAIC")) ESCAPE (MEAS_YMOSAIC, MAG_NONE); 105 if (!strcasecmp (fieldName, "RA")) ESCAPE (MEAS_RA, MAG_NONE); 106 if (!strcasecmp (fieldName, "DEC")) ESCAPE (MEAS_DEC, MAG_NONE); 107 if (!strcasecmp (fieldName, "RA:AVE")) ESCAPE (MEAS_RA_AVE, MAG_NONE); 108 if (!strcasecmp (fieldName, "DEC:AVE")) ESCAPE (MEAS_DEC_AVE, MAG_NONE); 109 if (!strcasecmp (fieldName, "RA:ERR")) ESCAPE (MEAS_RA_AVE_ERR, MAG_NONE); 110 if (!strcasecmp (fieldName, "DEC:ERR")) ESCAPE (MEAS_DEC_AVE_ERR, MAG_NONE); 111 if (!strcasecmp (fieldName, "uRA")) ESCAPE (MEAS_U_RA, MAG_NONE); 112 if (!strcasecmp (fieldName, "uDEC")) ESCAPE (MEAS_U_DEC, MAG_NONE); 113 if (!strcasecmp (fieldName, "duRA")) ESCAPE (MEAS_U_RA_ERR, MAG_NONE); 114 if (!strcasecmp (fieldName, "duDEC")) ESCAPE (MEAS_U_DEC_ERR, MAG_NONE); 115 if (!strcasecmp (fieldName, "PAR")) ESCAPE (MEAS_PAR, MAG_NONE); 116 if (!strcasecmp (fieldName, "dPAR")) ESCAPE (MEAS_PAR_ERR, MAG_NONE); 117 if (!strcasecmp (fieldName, "dR")) ESCAPE (MEAS_RA_OFFSET, MAG_NONE); 118 if (!strcasecmp (fieldName, "dD")) ESCAPE (MEAS_DEC_OFFSET, MAG_NONE); 119 if (!strcasecmp (fieldName, "dR:ERR")) ESCAPE (MEAS_RA_OFFSET_ERR, MAG_NONE); 120 if (!strcasecmp (fieldName, "dD:ERR")) ESCAPE (MEAS_DEC_OFFSET_ERR, MAG_NONE); 121 if (!strcasecmp (fieldName, "xp")) ESCAPE (MEAS_XP, MAG_NONE); 122 if (!strcasecmp (fieldName, "nmeas")) ESCAPE (MEAS_NMEAS, MAG_NONE); 123 if (!strcasecmp (fieldName, "nmiss")) ESCAPE (MEAS_NMISS, MAG_NONE); 124 if (!strcasecmp (fieldName, "nphot")) ESCAPE (MEAS_NPHOT, MAG_NONE); 125 if (!strcasecmp (fieldName, "ncode")) ESCAPE (MEAS_NCODE, MAG_NONE); 126 if (!strcasecmp (fieldName, "objflags")) ESCAPE (MEAS_OBJFLAGS, MAG_NONE); 127 if (!strcasecmp (fieldName, "AIRMASS")) ESCAPE (MEAS_AIRMASS, MAG_NONE); 128 if (!strcasecmp (fieldName, "ALT")) ESCAPE (MEAS_ALT, MAG_NONE); 129 if (!strcasecmp (fieldName, "AZ")) ESCAPE (MEAS_AZ, MAG_NONE); 130 if (!strcasecmp (fieldName, "EXPTIME")) ESCAPE (MEAS_EXPTIME, MAG_NONE); 131 if (!strcasecmp (fieldName, "PHOTCODE")) ESCAPE (MEAS_PHOTCODE, MAG_NONE); 132 if (!strcasecmp (fieldName, "TIME")) ESCAPE (MEAS_TIME, MAG_NONE); 133 if (!strcasecmp (fieldName, "FWHM")) ESCAPE (MEAS_FWHM, MAG_NONE); 134 if (!strcasecmp (fieldName, "FWHM_MAJ")) ESCAPE (MEAS_FWHM_MAJ, MAG_NONE); 135 if (!strcasecmp (fieldName, "FWHM_MIN")) ESCAPE (MEAS_FWHM_MIN, MAG_NONE); 136 if (!strcasecmp (fieldName, "THETA")) ESCAPE (MEAS_THETA, MAG_NONE); 137 if (!strcasecmp (fieldName, "FLAGS")) ESCAPE (MEAS_FLAGS, MAG_NONE); 138 if (!strcasecmp (fieldName, "XCCD")) ESCAPE (MEAS_XCCD, MAG_NONE); 139 if (!strcasecmp (fieldName, "YCCD")) ESCAPE (MEAS_YCCD, MAG_NONE); 140 if (!strcasecmp (fieldName, "XMOSAIC")) ESCAPE (MEAS_XMOSAIC, MAG_NONE); 141 if (!strcasecmp (fieldName, "YMOSAIC")) ESCAPE (MEAS_YMOSAIC, MAG_NONE); 142 if (!strcasecmp (fieldName, "XCHIP")) ESCAPE (MEAS_XCCD, MAG_NONE); 143 if (!strcasecmp (fieldName, "YCHIP")) ESCAPE (MEAS_YCCD, MAG_NONE); 144 if (!strcasecmp (fieldName, "XFPA")) ESCAPE (MEAS_XMOSAIC, MAG_NONE); 145 if (!strcasecmp (fieldName, "YFPA")) ESCAPE (MEAS_YMOSAIC, MAG_NONE); 146 if (!strcasecmp (fieldName, "DETID")) ESCAPE (MEAS_DETID, MAG_NONE); 147 if (!strcasecmp (fieldName, "OBJID")) ESCAPE (MEAS_OBJID, MAG_NONE); 148 if (!strcasecmp (fieldName, "IMAGEID")) ESCAPE (MEAS_IMAGEID, MAG_NONE); 149 if (!strcasecmp (fieldName, "stargal")) ESCAPE (MEAS_IMAGEID, MAG_NONE); 150 if (!strcasecmp (fieldName, "psfqf")) ESCAPE (MEAS_IMAGEID, MAG_NONE); 151 if (!strcasecmp (fieldName, "sky")) ESCAPE (MEAS_IMAGEID, MAG_NONE); 152 if (!strcasecmp (fieldName, "sky_err")) ESCAPE (MEAS_IMAGEID, MAG_NONE); 120 153 121 154 // for words that don't parse, try a photcode … … 125 158 if (code == NULL) return (FALSE); 126 159 127 if (mode == MAG_ERR) { 128 field->ID = MEAS_dMAG; 129 } else { 130 field->ID = MEAS_MAG; 131 } 132 160 field->ID = MEAS_MAG; 133 161 field->magMode = mode; 134 162 field->photcode = code; … … 154 182 if (!strcasecmp (fieldName, "PAR")) ESCAPE (AVE_PAR, MAG_NONE); 155 183 if (!strcasecmp (fieldName, "dPAR")) ESCAPE (AVE_PAR_ERR, MAG_NONE); 184 if (!strcasecmp (fieldName, "Xp")) ESCAPE (AVE_Xp, MAG_NONE); 156 185 if (!strcasecmp (fieldName, "NMEAS")) ESCAPE (AVE_NMEAS, MAG_NONE); 157 186 if (!strcasecmp (fieldName, "NMISS")) ESCAPE (AVE_NMISS, MAG_NONE); 158 if (!strcasecmp (fieldName, "Xp")) ESCAPE (AVE_Xp, MAG_NONE);159 if (!strcasecmp (fieldName, "Xm")) ESCAPE (AVE_Xm, MAG_CHISQ);160 187 if (!strcasecmp (fieldName, "FLAG")) ESCAPE (AVE_FLAG, MAG_NONE); 161 188 if (!strcasecmp (fieldName, "TYPE")) ESCAPE (AVE_TYPE, MAG_NONE); 162 if (!strcasecmp (fieldName, "NPHOT")) ESCAPE (AVE_NPHOT, MAG_NONE); 163 if (!strcasecmp (fieldName, "NCODE")) ESCAPE (AVE_NCODE, MAG_NONE); 164 if (!strcasecmp (fieldName, "NCRIT")) ESCAPE (AVE_NCRIT, MAG_NONE); 189 if (!strcasecmp (fieldName, "OBJID")) ESCAPE (AVE_OBJID, MAG_NONE); 165 190 166 191 // for words that don't parse, try a photcode … … 175 200 } 176 201 177 // need to distinguish phot, sys errors and scatter 178 if (mode == MAG_ERR) { 179 field->ID = AVE_dMAG; 180 } else { 181 field->ID = AVE_MAG; 182 } 183 202 field->ID = AVE_MAG; 184 203 field->magMode = mode; 185 204 field->photcode = code; -
trunk/Ohana/src/opihi/dvo/ddmags.c
r12332 r14401 3 3 int ddmags (int argc, char **argv) { 4 4 5 gprint (GP_ERR, "this function is deprecated\n"); 6 return (FALSE); 7 8 } 9 10 # if (0) 5 11 char *RegionName, *RegionList; 6 12 double *M1, *M2; … … 113 119 dvo_catalog_free (&catalog); 114 120 } 115 SkyListFree (skylist , ((RegionName != NULL) || (RegionList != NULL)));121 SkyListFree (skylist); 116 122 xvec[0].Nelements = yvec[0].Nelements = Npts; 117 123 return (TRUE); … … 121 127 122 128 escape: 123 SkyListFree (skylist , ((RegionName != NULL) || (RegionList != NULL)));129 SkyListFree (skylist); 124 130 dvo_catalog_free (&catalog); 125 131 if (RegionName != NULL) free (RegionName); … … 128 134 } 129 135 136 # endif -
trunk/Ohana/src/opihi/dvo/dmagaves.c
r12332 r14401 3 3 int dmagaves (int argc, char **argv) { 4 4 5 gprint (GP_ERR, "this function is deprecated\n"); 6 return (FALSE); 7 8 } 9 10 # if (0) 5 11 char *RegionName, *RegionList; 6 12 double *M1, M2; … … 89 95 dvo_catalog_free (&catalog); 90 96 } 91 SkyListFree (skylist , ((RegionName != NULL) || (RegionList != NULL)));97 SkyListFree (skylist); 92 98 xvec[0].Nelements = yvec[0].Nelements = Npts; 93 99 return (TRUE); … … 98 104 99 105 escape: 100 SkyListFree (skylist , ((RegionName != NULL) || (RegionList != NULL)));106 SkyListFree (skylist); 101 107 dvo_catalog_free (&catalog); 102 108 if (RegionName != NULL) free (RegionName); … … 104 110 return (FALSE); 105 111 } 112 113 # endif -
trunk/Ohana/src/opihi/dvo/dmagmeas.c
r14286 r14401 3 3 int dmagmeas (int argc, char **argv) { 4 4 5 gprint (GP_ERR, "this function is deprecated\n"); 6 return (FALSE); 7 8 } 9 10 # if (0) 5 11 char *RegionName, *RegionList; 6 12 double *M1, *M3; … … 110 116 } 111 117 FreeImageSelection (); 112 SkyListFree (skylist , ((RegionName != NULL) || (RegionList != NULL)));118 SkyListFree (skylist); 113 119 xvec[0].Nelements = yvec[0].Nelements = Npts; 114 120 return (TRUE); … … 120 126 escape: 121 127 FreeImageSelection (); 122 SkyListFree (skylist , ((RegionName != NULL) || (RegionList != NULL)));128 SkyListFree (skylist); 123 129 dvo_catalog_free (&catalog); 124 130 if (RegionName != NULL) free (RegionName); … … 127 133 } 128 134 135 # endif -
trunk/Ohana/src/opihi/dvo/dmags.c
r12332 r14401 3 3 int dmags (int argc, char **argv) { 4 4 5 gprint (GP_ERR, "this function is deprecated\n"); 6 return (FALSE); 7 8 } 9 10 # if (0) 5 11 char *RegionName, *RegionList; 6 12 double *M1, *M3; … … 109 115 110 116 /* need to free SkyList / or free all regions as well */ 111 SkyListFree (skylist , ((RegionName != NULL) || (RegionList != NULL)));117 SkyListFree (skylist); 112 118 xvec[0].Nelements = yvec[0].Nelements = Npts; 113 119 return (TRUE); … … 122 128 123 129 escape: 124 SkyListFree (skylist , ((RegionName != NULL) || (RegionList != NULL)));130 SkyListFree (skylist); 125 131 dvo_catalog_free (&catalog); 126 132 if (RegionName != NULL) free (RegionName); … … 128 134 return (FALSE); 129 135 } 136 # endif -
trunk/Ohana/src/opihi/dvo/dvo.c.in
r13479 r14401 18 18 InitDVO (); 19 19 20 if (!SetCATDIR (NULL, FALSE)) { 21 gprint (GP_ERR, "CATDIR is not defined\n"); 22 } 20 // XXX don't open the catdir until needed 21 // if (!SetCATDIR (NULL, FALSE)) { 22 // gprint (GP_ERR, "CATDIR is not defined\n"); 23 // } 23 24 24 25 rl_readline_name = opihi_name; -
trunk/Ohana/src/opihi/dvo/fitcolors.c
r13479 r14401 14 14 int Nsecfilt, status; 15 15 void *oldsignal; 16 char *RegionName, *RegionList;17 16 char *cmd, *outcmd, *camera; 18 17 char name[64], filename[64], plotname[64], label[64]; … … 27 26 PhotCode **codelist, *tcode, *code[4]; 28 27 SkyList *skylist; 28 SkyRegionSelection *selection; 29 29 Vector *xvec, *yvec; 30 30 Buffer *buf; … … 33 33 catalog = NULL; 34 34 skylist = NULL; 35 selection = NULL; 35 36 codelist = NULL; 36 37 xvec = yvec = NULL; … … 46 47 47 48 /* interpret command-line options */ 48 if ( !SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape;49 if ((selection = SetRegionSelection (&argc, argv)) == NULL) goto escape; 49 50 if (!SetPhotSelections (&argc, argv, 4)) goto usage; 50 51 … … 152 153 153 154 /* load region corresponding to selection above */ 154 if ((skylist = SelectRegions ( RegionName, RegionList)) == NULL) goto escape;155 if ((skylist = SelectRegions (selection)) == NULL) goto escape; 155 156 156 157 /* loop over regions, extract data for each region */ … … 345 346 } 346 347 if (skylist != NULL) free_catalog (catalog, skylist[0].Nregions); 347 if (skylist != NULL) SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 348 if (RegionName != NULL) free (RegionName); 349 if (RegionList != NULL) free (RegionList); 348 SkyListFree (skylist); 349 FreeSkyRegionSelection (selection); 350 350 if (codelist != NULL) free (codelist); 351 351 if (colorFit != NULL) free (colorFit); … … 368 368 escape: 369 369 if (skylist != NULL) free_catalog (catalog, skylist[0].Nregions); 370 if (skylist != NULL) SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 371 if (RegionName != NULL) free (RegionName); 372 if (RegionList != NULL) free (RegionList); 370 SkyListFree (skylist); 371 FreeSkyRegionSelection (selection); 373 372 if (codelist != NULL) free (codelist); 374 373 if (colorFit != NULL) free (colorFit); -
trunk/Ohana/src/opihi/dvo/fitsed.c
r13479 r14401 27 27 int Nsecfilt, status; 28 28 void *oldsignal; 29 char *RegionName, *RegionList;30 29 char name[64], line[1024], key[20]; 31 30 float *fitmags, *fiterrs, *wavecode, *vegaToAB; … … 43 42 Catalog catalog, outcat; 44 43 SkyList *skylist; 44 SkyRegionSelection *selection; 45 45 46 SEDtableRow *SEDtableRaw, **SEDtable; 46 47 SEDtableRow sourceValue, sourceError; … … 49 50 /* defaults */ 50 51 skylist = NULL; 52 selection = NULL; 53 51 54 catalog.average = NULL; 52 55 catalog.measure = NULL; … … 63 66 wavecode = NULL; 64 67 hashcode = NULL; 65 RegionName = NULL;66 RegionList = NULL;67 68 magSection.name = NULL; 68 69 resSection.name = NULL; … … 81 82 82 83 /* interpret command-line options */ 83 if ( !SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape;84 if ((selection = SetRegionSelection (&argc, argv)) == NULL) goto escape; 84 85 if (!SetPhotSelections (&argc, argv, 4)) goto usage; 85 86 … … 179 180 180 181 /* load region corresponding to selection above */ 181 if ((skylist = SelectRegions ( RegionName, RegionList)) == NULL) goto escape;182 if ((skylist = SelectRegions (selection)) == NULL) goto escape; 182 183 183 184 /* loop over regions, extract data for each region */ … … 361 362 362 363 finish: 363 if (skylist != NULL) SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 364 if (RegionName != NULL) free (RegionName); 365 if (RegionList != NULL) free (RegionList); 364 SkyListFree (skylist); 365 FreeSkyRegionSelection (selection); 366 366 if (wavecode != NULL) free (wavecode); 367 367 if (hashcode != NULL) free (hashcode); -
trunk/Ohana/src/opihi/dvo/gcat.c
r7917 r14401 35 35 36 36 return (TRUE); 37 SkyListFree (skylist , FALSE);37 SkyListFree (skylist); 38 38 } -
trunk/Ohana/src/opihi/dvo/gimages.c
r12753 r14401 10 10 char name[64], *date; 11 11 int typehash; 12 SkyRegionSelection *selection; 12 13 13 14 PhotCode *code; … … 17 18 18 19 GetTimeFormat (&TimeReference, &TimeFormat); 20 21 // parse skyregion options 22 if ((selection = SetRegionSelection (&argc, argv)) == NULL) { 23 gprint (GP_ERR, "invalid sky region selection\n"); 24 return FALSE; 25 } 19 26 20 27 TimeSelect = FALSE; … … 74 81 75 82 if ((image = LoadImages (&Nimage)) == NULL) return (FALSE); 76 image_subset (image, Nimage, &subset, &Nsubset, (Graphdata *) NULL, FALSE, tzero, trange, TimeSelect);83 image_subset (image, Nimage, &subset, &Nsubset, selection, tzero, trange, TimeSelect); 77 84 BuildChipMatch (image, Nimage); 78 85 -
trunk/Ohana/src/opihi/dvo/imdata.c
r12332 r14401 14 14 SkyList *skylist, *skyset; 15 15 Vector *vec; 16 SkyRegionSelection *selection; 17 18 // parse skyregion options 19 if ((selection = SetRegionSelection (&argc, argv)) == NULL) { 20 gprint (GP_ERR, "invalid sky region selection\n"); 21 return FALSE; 22 } 16 23 17 24 start = stop = 0; … … 78 85 79 86 if ((image = LoadImages (&Nimage)) == NULL) return (FALSE); 80 image_subset (image, Nimage, &subset, &Nsubset, (Graphdata *) NULL, FALSE, tzero, trange, TimeSelect);87 image_subset (image, Nimage, &subset, &Nsubset, selection, tzero, trange, TimeSelect); 81 88 BuildChipMatch (image, Nimage); 82 89 GetTimeFormat (&TimeReference, &TimeFormat); … … 89 96 ALLOCATE (skylist, SkyList, 1); 90 97 ALLOCATE (skylist[0].regions, SkyRegion *, NREGIONS); 98 skylist[0].ownElements = FALSE; 91 99 92 100 /* for each image of interest, find the appropriate region files */ … … 107 115 CHECK_REALLOCATE (skylist[0].regions, SkyRegion *, NREGIONS, Nregions, 10); 108 116 } 109 SkyListFree (skyset , FALSE);117 SkyListFree (skyset); 110 118 } 111 119 free (subset); -
trunk/Ohana/src/opihi/dvo/imextract.c
r13479 r14401 9 9 double x, y, ra, dec, t, trange; 10 10 time_t tzero, TimeReference; 11 SkyRegionSelection *selection; 11 12 12 13 PhotCode *code; 13 Graphdata graphsky;14 14 Image *image; 15 15 Vector *vec; 16 16 17 if (!GetGraphData (&graphsky, NULL, NULL)) return (FALSE);18 17 if (!InitPhotcodes ()) return (FALSE); 18 19 // parse skyregion options 20 if ((selection = SetRegionSelection (&argc, argv)) == NULL) { 21 gprint (GP_ERR, "invalid sky region selection\n"); 22 return FALSE; 23 } 19 24 20 25 /* check for time-based selection */ … … 33 38 remove_argument (N, &argc, argv); 34 39 TimeSelect = TRUE; 35 }36 37 /* check for region-based selection */38 RegionSelect = FALSE;39 if ((N = get_argument (argc, argv, "-region"))) {40 remove_argument (N, &argc, argv);41 RegionSelect = TRUE;42 40 } 43 41 … … 104 102 105 103 if ((image = LoadImages (&Nimage)) == NULL) return (FALSE); 106 image_subset (image, Nimage, &subset, &Nsubset, &graphsky, RegionSelect, tzero, trange, TimeSelect);104 image_subset (image, Nimage, &subset, &Nsubset, selection, tzero, trange, TimeSelect); 107 105 if ((mode == RA) || (mode == DEC)) BuildChipMatch (image, Nimage); 108 106 -
trunk/Ohana/src/opihi/dvo/imlist.c
r13479 r14401 9 9 char *name; 10 10 Image *image; 11 Graphdata graphmode;12 11 PhotCode *PhotcodeValue; 12 SkyRegionSelection *selection; 13 13 14 if (!GetGraphData (&graphmode, NULL, NULL)) return (FALSE); 14 // parse skyregion options 15 if ((selection = SetRegionSelection (&argc, argv)) == NULL) { 16 gprint (GP_ERR, "invalid sky region selection\n"); 17 return FALSE; 18 } 15 19 16 20 TimeSelect = FALSE; … … 65 69 66 70 if ((image = LoadImages (&Nimage)) == NULL) return (FALSE); 67 image_subset (image, Nimage, &subset, &Nsubset, &graphmode, RegionSelect, tzero, trange, TimeSelect);71 image_subset (image, Nimage, &subset, &Nsubset, selection, tzero, trange, TimeSelect); 68 72 BuildChipMatch (image, Nimage); 69 73 -
trunk/Ohana/src/opihi/dvo/imphot.c
r12332 r14401 12 12 Image *image; 13 13 Buffer *buf; 14 SkyRegionSelection *selection; 14 15 15 16 GreyScale = FALSE; … … 19 20 remove_argument (N, &argc, argv); 20 21 GreyScale = TRUE; 22 } 23 24 // parse skyregion options 25 if ((selection = SetRegionSelection (&argc, argv)) == NULL) { 26 gprint (GP_ERR, "invalid sky region selection\n"); 27 return FALSE; 21 28 } 22 29 … … 44 51 45 52 if ((image = LoadImages (&Nimage)) == NULL) return (FALSE); 46 image_subset (image, Nimage, &subset, &Nsubset, (Graphdata *) NULL, FALSE, tzero, trange, TRUE);53 image_subset (image, Nimage, &subset, &Nsubset, selection, tzero, trange, TRUE); 47 54 48 55 if ((Nsubset > 1) && GreyScale) { -
trunk/Ohana/src/opihi/dvo/init.c
r10793 r14401 48 48 int skycat PROTO((int, char **)); 49 49 int skycoverage PROTO((int, char **)); 50 int skyregion PROTO((int, char **)); 50 51 int simage PROTO((int, char **)); 51 52 int subpix PROTO((int, char **)); 52 53 int version PROTO((int, char **)); 53 54 /* temporarily exclude55 int addxtra PROTO((int, char **));56 {"addxtra", addxtra, "add extra data to object"},57 {"getxtra", getxtra, "get extra data from object"},58 {"catalog", catlog, "plot catalog stars"},59 */60 54 61 55 static Command cmds[] = { … … 104 98 {"skycat", skycat, "show sky catalog boundaries"}, 105 99 {"skycoverage", skycoverage, "measure image union on sky"}, 100 {"skyregion", skyregion, "set sky region for db queries"}, 106 101 {"simage", simage, "plot stars in an image"}, 107 102 {"subpix", subpix, "get subpixel positions"}, 108 103 {"version", version, "show version information"}, 104 //{"addxtra", addxtra, "add extra data to object"}, 105 //{"getxtra", getxtra, "get extra data from object"}, 109 106 }; 110 107 -
trunk/Ohana/src/opihi/dvo/lcat.c
r13479 r14401 41 41 } 42 42 43 SkyListFree (skylist , FALSE);43 SkyListFree (skylist); 44 44 return (TRUE); 45 45 } -
trunk/Ohana/src/opihi/dvo/lcurve.c
r13479 r14401 188 188 dvo_catalog_free (&catalog); 189 189 190 SkyListFree (skylist , FALSE);190 SkyListFree (skylist); 191 191 return (TRUE); 192 192 } -
trunk/Ohana/src/opihi/dvo/lightcurve.c
r12332 r14401 141 141 free (N1); 142 142 dvo_catalog_free (&catalog); 143 SkyListFree (skylist , FALSE);143 SkyListFree (skylist); 144 144 return (TRUE); 145 145 } -
trunk/Ohana/src/opihi/dvo/mextract.c
r14379 r14401 5 5 int i, j, k, m, n, N, N1, Npts, NPTS, last, Nfields, Nreturn, Ncstack, Nstack; 6 6 int Nsecfilt, VERBOSE, loadImages, mosaicMode; 7 char * RegionName, *RegionList, *p;7 char *p; 8 8 double *M1; 9 9 char **cstack, name[1024]; … … 17 17 dbField *fields; 18 18 dbStack *stack; 19 SkyRegionSelection *selection; 19 20 20 21 /* defaults */ 21 22 skylist = NULL; 22 RegionName = NULL;23 RegionList = NULL;24 23 code = NULL; 25 24 fields = NULL; … … 41 40 dbExtractMeasuresInit(); 42 41 43 // remove skyregion options 44 // XXX this needs to explicitly handle -qregion and -skyregion 45 if (!SetRegionSelection (&argc, argv, &RegionName, &RegionList)) goto escape; 42 // parse skyregion options 43 if ((selection = SetRegionSelection (&argc, argv)) == NULL) goto escape; 46 44 47 45 // command-line is of the form: avextract field,field, field [where (field op value)...] … … 50 48 fields = dbCmdlineFields (argc, argv, DVO_TABLE_MEASURE, &last, &Nfields); 51 49 if (fields == NULL) return (FALSE); 50 51 // XXX add the skyregion limits as if it were a where statement 52 52 53 53 // parse the remainder of the line as a boolean math expression … … 61 61 } 62 62 63 // add the skyregion limits to the where statement (or create) 64 dbAstroRegionLimits (&stack, &Nstack, selection, DVO_TABLE_MEASURE); 65 66 // parse stack elements into fields and scalars as needed 63 67 Nreturn = Nfields; 64 68 dbCheckStack (stack, Nstack, DVO_TABLE_MEASURE, &fields, &Nfields); … … 66 70 67 71 /* load region corresponding to selection above */ 68 if ((skylist = SelectRegions ( RegionName, RegionList)) == NULL) goto escape;69 70 // XXX is this still needed?72 if ((skylist = SelectRegions (selection)) == NULL) goto escape; 73 74 // load image data if needed (for fields listed below) 71 75 loadImages = FALSE; 72 76 mosaicMode = FALSE; … … 77 81 if (fields[i].ID == MEAS_YMOSAIC) loadImages = mosaicMode = TRUE; 78 82 } 79 if (loadImages && !SetImageSelection (mosaicMode, ((RegionName == NULL) && (RegionList == NULL)))) goto escape;83 if (loadImages && !SetImageSelection (mosaicMode, selection)) goto escape; 80 84 81 85 /* create storage vector */ … … 148 152 REALLOCATE (vec[n][0].elements, float, MAX(1,Npts)); 149 153 } 154 150 155 dbFreeFields (fields, Nfields); 151 156 dbFreeStack (stack, Nstack); 152 153 157 FreeImageSelection (); 154 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 155 156 if (RegionName != NULL) free (RegionName); 157 if (RegionList != NULL) free (RegionList); 158 SkyListFree (skylist); 159 FreeSkyRegionSelection (selection); 158 160 return (TRUE); 159 161 … … 167 169 dbFreeStack (stack, Nstack); 168 170 FreeImageSelection (); 169 SkyListFree (skylist, ((RegionName != NULL) || (RegionList != NULL))); 171 SkyListFree (skylist); 172 FreeSkyRegionSelection (selection); 170 173 dvo_catalog_free (&catalog); 171 if (RegionName != NULL) free (RegionName); 172 if (RegionList != NULL) free (RegionList); 174 return (FALSE); 175 176 help: 177 gprint (GP_ERR, "USAGE: mextract field[,field,field...] where (expression)\n"); 178 179 if ((argc > N + 1) && !strcasecmp (argv[N+1], "fields")) { 180 gprint (GP_ERR, " USAGE: avextract field[,field,field...] where (expression)\n"); 181 gprint (GP_ERR, " RA : right ascension (J2000) for detection\n"); 182 gprint (GP_ERR, " DEC : declination for detection\n"); 183 gprint (GP_ERR, " RA:ave : average right ascension (J2000) for object\n"); 184 gprint (GP_ERR, " DEC:ave : average declination for object\n"); 185 gprint (GP_ERR, " RA:err : ra scatter \n"); 186 gprint (GP_ERR, " DEC:err : dec scatter\n"); 187 gprint (GP_ERR, " uRA : proper motion in ra\n"); 188 gprint (GP_ERR, " uDEC : proper motion in dec\n"); 189 gprint (GP_ERR, " duRA : proper motion error in ra\n"); 190 gprint (GP_ERR, " duDEC : proper motion error in dec\n"); 191 gprint (GP_ERR, " PAR : parallax\n"); 192 gprint (GP_ERR, " dPAR : parallax error \n"); 193 gprint (GP_ERR, " nmeas : number of measurements\n"); 194 gprint (GP_ERR, " nmiss : number of non-detections\n"); 195 gprint (GP_ERR, " xp : positional chi-square\n"); 196 gprint (GP_ERR, " objflag : object flags\n"); 197 gprint (GP_ERR, " photcode:ave : average magnitude for photcode (or equivalent)\n"); 198 gprint (GP_ERR, " photcode:ref : reference magnitude system for photcode (or equivalent)\n"); 199 gprint (GP_ERR, " photcode:inst : instrumental magnitude for photcode\n"); 200 gprint (GP_ERR, " photcode:cat : catalog magnitude for photcode\n"); 201 gprint (GP_ERR, " photcode:sys : system magnitude for photcode\n"); 202 gprint (GP_ERR, " photcode:rel : relative magnitude for photcode\n"); 203 gprint (GP_ERR, " photcode:cal : calibrated magnitude for photcode \n"); 204 gprint (GP_ERR, " photcode:err : magnitude error for photcode\n"); 205 gprint (GP_ERR, " photcode:chisq : chi-square of magnitude fit\n"); 206 gprint (GP_ERR, " photcode:ncode : number of measurements in photcode\n"); 207 gprint (GP_ERR, " photcode:nphot : number of measurements used for average magnitude\n"); 208 gprint (GP_ERR, " airmass : airmass of detection\n"); 209 gprint (GP_ERR, " exptime : exposure time\n"); 210 gprint (GP_ERR, " photcode : photcode \n"); 211 gprint (GP_ERR, " time : time of exposure\n"); 212 gprint (GP_ERR, " dR : ra offset\n"); 213 gprint (GP_ERR, " dD : dec offset\n"); 214 gprint (GP_ERR, " fwhm : fwhm (average)\n"); 215 gprint (GP_ERR, " fwhm_maj : fwhm (major axis)\n"); 216 gprint (GP_ERR, " fwhm_min : fwhm (minor axis)\n"); 217 gprint (GP_ERR, " theta : position angle\n"); 218 gprint (GP_ERR, " flags : detection flags\n"); 219 gprint (GP_ERR, " xccd : ccd x position\n"); 220 gprint (GP_ERR, " yccd : ccd y position\n"); 221 gprint (GP_ERR, " xmosaic : mosaic x position\n"); 222 gprint (GP_ERR, " ymosaic : mosaic y position\n"); 223 gprint (GP_ERR, " xchip : chip x position\n"); 224 gprint (GP_ERR, " ychip : chip y position\n"); 225 gprint (GP_ERR, " xfpa : fpa x position\n"); 226 gprint (GP_ERR, " yfpa : fpa y position\n"); 227 return (FALSE); 228 } 229 gprint (GP_ERR, " mextract --help fields : for a complete listing of allowed fields\n"); 173 230 return (FALSE); 174 231 } -
trunk/Ohana/src/opihi/dvo/photometry.c
r13479 r14401 174 174 } 175 175 176 // XXX moved to dbFields177 # if (0)178 int GetMagMode (char *string) {179 180 int mode;181 182 mode = MAG_NONE;183 if (!strcasecmp (string, "inst")) mode = MAG_INST;184 if (!strcasecmp (string, "cat")) mode = MAG_CAT;185 if (!strcasecmp (string, "sys")) mode = MAG_SYS;186 if (!strcasecmp (string, "rel")) mode = MAG_REL;187 if (!strcasecmp (string, "cal")) mode = MAG_CAL;188 if (!strcasecmp (string, "ave")) mode = MAG_AVE;189 if (!strcasecmp (string, "ref")) mode = MAG_REF;190 return (mode);191 }192 # endif193 194 176 int GetMeasureParam (char *parname) { 195 177 … … 200 182 if (!strcasecmp (parname, "dec")) param = MEAS_DEC; 201 183 if (!strcasecmp (parname, "mag")) param = MEAS_MAG; 202 if (!strcasecmp (parname, "dmag")) param = MEAS_dMAG;184 // if (!strcasecmp (parname, "dmag")) param = MEAS_dMAG; 203 185 if (!strcasecmp (parname, "airmass")) param = MEAS_AIRMASS; 204 186 if (!strcasecmp (parname, "exptime")) param = MEAS_EXPTIME; 205 187 if (!strcasecmp (parname, "photcode")) param = MEAS_PHOTCODE; 206 188 if (!strcasecmp (parname, "time")) param = MEAS_TIME; 207 if (!strcasecmp (parname, "dR")) param = MEAS_ dR;208 if (!strcasecmp (parname, "dD")) param = MEAS_ dD;189 if (!strcasecmp (parname, "dR")) param = MEAS_RA_OFFSET; 190 if (!strcasecmp (parname, "dD")) param = MEAS_DEC_OFFSET; 209 191 if (!strcasecmp (parname, "fwhm")) param = MEAS_FWHM; 210 if (!strcasecmp (parname, "dophot")) param = MEAS_DOPHOT;192 // if (!strcasecmp (parname, "dophot")) param = MEAS_DOPHOT; 211 193 if (!strcasecmp (parname, "FLAGS")) param = MEAS_FLAGS; 212 194 if (!strcasecmp (parname, "XCCD")) param = MEAS_XCCD; … … 259 241 if (!strcasecmp (parname, "Nphot")) param = AVE_NPHOT; 260 242 if (!strcasecmp (parname, "Ncode")) param = AVE_NCODE; 261 if (!strcasecmp (parname, "Ncrit")) param = AVE_NCRIT;243 // if (!strcasecmp (parname, "Ncrit")) param = AVE_NCRIT; 262 244 return (param); 263 245 } … … 710 692 } 711 693 break; 694 # if (0) 712 695 case AVE_NCRIT: 713 696 value = 0; … … 721 704 } 722 705 break; 706 # endif 723 707 } 724 708 return (value); … … 1155 1139 value = average[0].D - measure[0].dD / 3600.0; 1156 1140 break; 1141 # if (0) 1157 1142 case MEAS_dMAG: /* OK */ 1158 1143 value = measure[0].dM; 1159 1144 break; 1145 case MEAS_DOPHOT: /* OK */ 1146 value = measure[0].dophot; 1147 break; 1148 # endif 1160 1149 case MEAS_AIRMASS: /* OK */ 1161 1150 value = measure[0].airmass; … … 1170 1159 value = TimeValue (measure[0].t, TimeReference, TimeFormat); 1171 1160 break; 1172 case MEAS_ dR: /* OK */1161 case MEAS_RA_OFFSET: /* OK */ 1173 1162 value = measure[0].dR; 1174 1163 break; 1175 case MEAS_ dD: /* OK */1164 case MEAS_DEC_OFFSET: /* OK */ 1176 1165 value = measure[0].dD; 1177 1166 break; 1178 1167 case MEAS_FWHM: /* OK */ 1179 1168 value = 0.01*measure[0].FWx; 1180 break;1181 case MEAS_DOPHOT: /* OK */1182 value = measure[0].dophot;1183 1169 break; 1184 1170 case MEAS_FLAGS: /* ? */ -
trunk/Ohana/src/opihi/dvo/region_list.c
r13479 r14401 61 61 } 62 62 63 int SetRegionSelection (int *argc, char **argv, char **RegionName, char **RegionList) { 63 void FreeSkyRegionSelection (SkyRegionSelection *selection) { 64 65 if (selection == NULL) return; 66 if (selection[0].name != NULL) free (selection[0].name); 67 if (selection[0].list != NULL) free (selection[0].list); 68 free (selection); 69 } 70 71 SkyRegionSelection *SetRegionSelection (int *argc, char **argv) { 64 72 65 73 int N; 66 67 /* check for Region selection */ 68 *RegionName = NULL; 74 SkyRegionSelection *selection; 75 76 ALLOCATE (selection, SkyRegionSelection, 1); 77 selection[0].name = NULL; 78 selection[0].list = NULL; 79 selection[0].useDisplay = FALSE; 80 selection[0].useSkyregion = FALSE; 81 82 /* check for Region selection (named dvo catalog file) */ 69 83 if ((N = get_argument (*argc, argv, "-cpt"))) { 70 84 remove_argument (N, argc, argv); 71 *RegionName = strcreate (argv[N]);72 remove_argument (N, argc, argv); 73 return (TRUE);74 } 75 /* check for Region list */ 76 *RegionList = NULL;85 selection[0].name = strcreate (argv[N]); 86 remove_argument (N, argc, argv); 87 return selection; 88 } 89 90 /* check for Region list (file containing dvo catalog file list)*/ 77 91 if ((N = get_argument (*argc, argv, "-cptlist"))) { 78 92 remove_argument (N, argc, argv); 79 *RegionList = strcreate (argv[N]);80 remove_argument (N, argc, argv); 81 return (TRUE);93 selection[0].list = strcreate (argv[N]); 94 remove_argument (N, argc, argv); 95 return selection; 82 96 } 83 if ((*RegionName == NULL) && (*RegionList == NULL)) return (TRUE); 84 85 gprint (GP_ERR, "-cpt and -cptlist are incompatible\n"); 86 free (*RegionName); 87 free (*RegionList); 88 *RegionName = NULL; 89 *RegionList = NULL; 90 return (FALSE); 97 98 /* check for Region selection from display */ 99 if ((N = get_argument (*argc, argv, "-region"))) { 100 remove_argument (N, argc, argv); 101 selection[0].useDisplay = TRUE; 102 return selection; 103 } 104 105 /* check for Region selection from display */ 106 if ((N = get_argument (*argc, argv, "-skyregion"))) { 107 if (N + 5 >= *argc) { 108 gprint (GP_ERR, "USAGE: -skyregion (RA) (RA) (DEC) (DEC)\n"); 109 FreeSkyRegionSelection (selection); 110 return NULL; 111 } 112 remove_argument (N, argc, argv); 113 selection[0].useSkyregion = TRUE; 114 set_skyregion (atof(argv[N]), atof(argv[N+1]), atof(argv[N+2]), atof(argv[N+3])); 115 remove_argument (N, argc, argv); 116 remove_argument (N, argc, argv); 117 remove_argument (N, argc, argv); 118 remove_argument (N, argc, argv); 119 return selection; 120 } 121 122 /* default to pre-defined sky region */ 123 selection[0].useSkyregion = TRUE; 124 return selection; 91 125 } 92 126 93 127 /* given possible options (by name, by list, by graph region), select SkyRegions */ 94 SkyList *SelectRegions (char *RegionName, char *RegionList) { 95 96 double Radius; 97 Graphdata graphsky; 128 SkyList *SelectRegions (SkyRegionSelection *selection) { 129 98 130 SkyList *skylist; 99 char filename[256];100 131 101 132 /* determine region-file names */ 102 if (RegionName != NULL) { 133 if (selection->name != NULL) { 134 char filename[256]; 135 103 136 ALLOCATE (skylist, SkyList, 1); 104 137 ALLOCATE (skylist[0].regions, SkyRegion *, 1); 105 138 ALLOCATE (skylist[0].regions[0], SkyRegion, 1); 106 139 ALLOCATE (skylist[0].filename, char *, 1); 140 skylist[0].ownElements = TRUE; // free these elements when freeing the list 107 141 108 strcpy (skylist[0].regions[0][0].name, RegionName);109 sprintf (filename, "%s/%s.cpt", CATDIR, RegionName);142 strcpy (skylist[0].regions[0][0].name, selection->name); 143 sprintf (filename, "%s/%s.cpt", CATDIR, selection->name); 110 144 skylist[0].filename[0] = strcreate (filename); 111 free (RegionName);112 RegionName = NULL;113 145 return (skylist); 114 146 } 115 if (RegionList != NULL) { 116 skylist = SkyListLoadFile (RegionList); 117 free (RegionList); 118 RegionList = NULL; 119 return (skylist); 120 } 121 122 if (!GetGraphData (&graphsky, NULL, NULL)) { 123 gprint (GP_ERR, "region display not available\n"); 124 return (NULL); 125 } 126 127 Radius = MAX (fabs(graphsky.xmax), fabs(graphsky.ymax)); 128 skylist = SkyListByRadius (sky, -1, graphsky.coords.crval1, graphsky.coords.crval2, Radius); 129 130 return (skylist); 147 148 if (selection->list != NULL) { 149 skylist = SkyListLoadFile (selection->list); 150 return (skylist); 151 } 152 153 if (selection->useDisplay) { 154 double Radius; 155 Graphdata graphsky; 156 157 if (!GetGraphData (&graphsky, NULL, NULL)) { 158 gprint (GP_ERR, "region display not available\n"); 159 return (NULL); 160 } 161 162 Radius = MAX (fabs(graphsky.xmax), fabs(graphsky.ymax)); 163 skylist = SkyListByRadius (sky, -1, graphsky.coords.crval1, graphsky.coords.crval2, Radius); 164 return (skylist); 165 } 166 167 if (selection->useSkyregion) { 168 double Rmin, Rmax, Dmin, Dmax; 169 170 get_skyregion (&Rmin, &Rmax, &Dmin, &Dmax); 171 skylist = SkyListByBounds (sky, -1, Rmin, Rmax, Dmin, Dmax); 172 return (skylist); 173 } 174 175 return NULL; 131 176 } 132 177 … … 152 197 ALLOCATE (skylist[0].regions, SkyRegion *, NREGIONS); 153 198 ALLOCATE (skylist[0].filename, char *, NREGIONS); 199 skylist[0].ownElements = TRUE; // free these elements when freeing the list 154 200 155 201 while (fscanf (f, "%s", filename) != EOF) { -
trunk/Ohana/src/opihi/dvo/subpix.c
r12332 r14401 86 86 free (index); 87 87 dvo_catalog_free (&catalog); 88 SkyListFree (skylist , FALSE);88 SkyListFree (skylist); 89 89 return (TRUE); 90 90 } … … 151 151 free (image); 152 152 free (index); 153 SkyListFree (skylist , FALSE);153 SkyListFree (skylist); 154 154 155 155 return (TRUE); -
trunk/Ohana/src/opihi/include/dvoshell.h
r14379 r14401 7 7 8 8 /* magnitude types */ 9 enum {MAG_NONE, MAG_INST, MAG_CAT, MAG_SYS, MAG_REL, MAG_CAL, MAG_AVE, MAG_REF, MAG_ERR, MAG_CHISQ}; 9 enum {MAG_NONE, 10 MAG_INST, 11 MAG_CAT, 12 MAG_SYS, 13 MAG_REL, 14 MAG_CAL, 15 MAG_AVE, 16 MAG_REF, 17 MAG_ERR, 18 MAG_CHISQ, 19 MAG_NCODE, 20 MAG_NPHOT, 21 }; 10 22 11 23 /* measure fields */ 12 enum {MEAS_ZERO, MEAS_RA, MEAS_DEC, MEAS_MAG, MEAS_dMAG, MEAS_MINST, MEAS_MCAT, 13 MEAS_MSYS, MEAS_MREL, MEAS_MCAL, MEAS_PHOTCODE, MEAS_TIME, MEAS_dR, MEAS_dD, 14 MEAS_FWHM, MEAS_DOPHOT, MEAS_XCCD, MEAS_YCCD, MEAS_XMOSAIC, MEAS_YMOSAIC, 15 MEAS_FLAGS, MEAS_EXPTIME, MEAS_AIRMASS, MEAS_RA_AVE, MEAS_DEC_AVE}; 24 enum {MEAS_ZERO, 25 MEAS_RA, 26 MEAS_DEC, 27 MEAS_RA_AVE, 28 MEAS_DEC_AVE, 29 MEAS_RA_AVE_ERR, 30 MEAS_DEC_AVE_ERR, 31 MEAS_U_RA, 32 MEAS_U_DEC, 33 MEAS_U_RA_ERR, 34 MEAS_U_DEC_ERR, 35 MEAS_PAR, 36 MEAS_PAR_ERR, 37 MEAS_RA_OFFSET, 38 MEAS_DEC_OFFSET, 39 MEAS_RA_OFFSET_ERR, 40 MEAS_DEC_OFFSET_ERR, 41 MEAS_XP, 42 MEAS_NMEAS, 43 MEAS_NMISS, 44 MEAS_NPHOT, 45 MEAS_NCODE, 46 MEAS_OBJFLAGS, 47 MEAS_MAG, 48 MEAS_MINST, 49 MEAS_MCAT, 50 MEAS_MSYS, 51 MEAS_MREL, 52 MEAS_MCAL, 53 MEAS_EXPTIME, 54 MEAS_AIRMASS, 55 MEAS_ALT, 56 MEAS_AZ, 57 MEAS_PHOTCODE, 58 MEAS_TIME, 59 MEAS_FWHM, 60 MEAS_FWHM_MAJ, 61 MEAS_FWHM_MIN, 62 MEAS_THETA, 63 MEAS_FLAGS, 64 MEAS_XCCD, 65 MEAS_YCCD, 66 MEAS_XMOSAIC, 67 MEAS_YMOSAIC, 68 MEAS_DETID, 69 MEAS_OBJID, 70 MEAS_IMAGEID, 71 }; 16 72 17 73 /* average fields */ 18 enum {AVE_ZERO, AVE_RA, AVE_DEC, AVE_RA_ERR, AVE_DEC_ERR, AVE_U_RA, AVE_U_DEC, 19 AVE_U_RA_ERR, AVE_U_DEC_ERR, AVE_PAR, AVE_PAR_ERR, AVE_MAG, AVE_REF, AVE_dMAG, 20 AVE_Xm, AVE_Xp, AVE_NMEAS, AVE_NMISS, AVE_TYPE, AVE_NPHOT, AVE_NCODE, AVE_NCRIT, 21 AVE_FLAG, AVE_TYPEFRAC}; 74 enum {AVE_ZERO, 75 AVE_RA, 76 AVE_DEC, 77 AVE_RA_ERR, 78 AVE_DEC_ERR, 79 AVE_U_RA, 80 AVE_U_DEC, 81 AVE_U_RA_ERR, 82 AVE_U_DEC_ERR, 83 AVE_PAR, 84 AVE_PAR_ERR, 85 AVE_Xp, 86 AVE_NMEAS, 87 AVE_NMISS, 88 AVE_NPHOT, 89 AVE_NCODE, 90 AVE_MAG, 91 AVE_dMAG, 92 AVE_Xm, 93 AVE_FLAG, 94 AVE_TYPE, 95 AVE_TYPEFRAC, 96 AVE_OBJID 97 }; 22 98 23 99 enum {DVO_TABLE_AVERAGE, DVO_TABLE_MEASURE}; 100 101 // options for selecting the ra,dec limits of the db selections 102 typedef struct { 103 char *name; 104 char *list; 105 int useDisplay; 106 int useSkyregion; 107 } SkyRegionSelection; 24 108 25 109 // a single db field … … 91 175 int SelectMags PROTO((int Nphot, int Tphot, int Ns, Average *average, Measure *measure, SecFilt *secfilt, int UL)); 92 176 93 SkyList *SelectRegions PROTO(( char *RegionName, char *RegionList));177 SkyList *SelectRegions PROTO((SkyRegionSelection *selection)); 94 178 SkyList *SkyListLoadFile PROTO((char *filename)); 95 179 int SetCATDIR PROTO((char *path, int verbose)); … … 97 181 SkyTable *GetSkyTable PROTO(()); 98 182 SkyList *SkyListFromFile PROTO((char *filename)); 99 int SetRegionSelection PROTO((int *argc, char **argv, char **RegionName, char **RegionList));100 101 int SetImageSelection PROTO((int mode, int RegionSelect));183 SkyRegionSelection *SetRegionSelection PROTO((int *argc, char **argv)); 184 185 int SetImageSelection PROTO((int mode, SkyRegionSelection *selection)); 102 186 int SetPhotSelections PROTO((int *argc, char **argv, int Nparams)); 103 187 int SetSelectionParam PROTO((int param)); … … 106 190 void compare PROTO((Catalog *catlog1, Catalog *catlog2, Vector *rvec, Vector *dvec, Vector *mvec, Vector *drvec, Vector *ddvec, Vector *dmvec, double radius)); 107 191 void cprecess PROTO((Average *average, int Naverage, double in_epoch, double out_epoch)); 108 void image_subset PROTO((Image *image, int Nimage, int **Subset, int *Nsubset, Graphdata *graph, int RegionSelect, unsigned long int tzero, double trange, int TimeSelect));192 void image_subset PROTO((Image *image, int Nimage, int **Subset, int *Nsubset, SkyRegionSelection *selection, unsigned long int tzero, double trange, int TimeSelect)); 109 193 int match_image PROTO((Image *image, int Nimage, unsigned int T, short int S)); 110 194 int match_image_subset PROTO((Image *image, int *subset, int Nsubset, unsigned int T, short int S)); … … 140 224 void dbInitField PROTO((dbField *field)); 141 225 void dbFreeFields PROTO((dbField *fields, int Nfields)); 226 int dbAstroRegionLimits PROTO((dbStack **stack, int *nstack, SkyRegionSelection *selection, int table)); 227 char *strfloat PROTO((float value)); 142 228 143 229 # endif
Note:
See TracChangeset
for help on using the changeset viewer.
