Changeset 16856
- Timestamp:
- Mar 6, 2008, 1:10:39 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/dvo/pmeasure.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/dvo/pmeasure.c
r16810 r16856 1 1 # include "dvoshell.h" 2 2 # define NCHUNK 10000 3 4 enum {FLAG_IGNORE, FLAG_SKIP, FLAG_KEEP}; 3 5 4 6 int pmeasure (int argc, char **argv) { 5 7 6 8 FILE *f; 7 int i, j, k, m, kapa, Narg, Npts, NPTS, status, VERBOSE ;9 int i, j, k, m, kapa, Narg, Npts, NPTS, status, VERBOSE, TimeSelect; 8 10 double Mz, Mr, mag; 9 double Radius, Rmin, Rmax, R, D ;11 double Radius, Rmin, Rmax, R, D, trange; 10 12 unsigned IDclip, IDchoice, LimExclude; 11 unsigned FlagChoice, FlagClip, flags; 13 unsigned dbFlagChoice, dbFlagClip; 14 unsigned photFlagChoice, photFlagClip; 12 15 int PhotcodeClip; 13 16 float *Xvec, *Yvec, *Zvec; 17 time_t tzero, tend; 14 18 15 19 SkyTable *sky; … … 33 37 remove_argument (Narg, &argc, argv); 34 38 } 39 if ((Narg = get_argument (argc, argv, "-photcode"))) { 40 remove_argument (Narg, &argc, argv); 41 PhotcodeClip = GetPhotcodeCodebyName (argv[Narg]); 42 remove_argument (Narg, &argc, argv); 43 } 35 44 IDchoice = 0; 36 45 IDclip = FALSE; 37 46 if ((Narg = get_argument (argc, argv, "-ID"))) { 38 47 remove_argument (Narg, &argc, argv); 39 IDchoice = atoi(argv[Narg]);48 IDchoice = strtol(argv[Narg], NULL, 0); 40 49 remove_argument (Narg, &argc, argv); 41 50 IDclip = TRUE; 42 51 } 43 FlagChoice = 0; 44 FlagClip = FALSE; 45 if ((Narg = get_argument (argc, argv, "-flag"))) { 46 remove_argument (Narg, &argc, argv); 47 FlagChoice = atoi(argv[Narg]); 48 remove_argument (Narg, &argc, argv); 49 FlagClip = TRUE; 50 } 51 52 // XXX Add time restrictions 52 dbFlagChoice = 0; 53 dbFlagClip = FLAG_IGNORE; 54 if ((Narg = get_argument (argc, argv, "-dbflag"))) { 55 remove_argument (Narg, &argc, argv); 56 dbFlagChoice = strtol(argv[Narg], NULL, 0); 57 remove_argument (Narg, &argc, argv); 58 dbFlagClip = FLAG_SKIP; 59 } 60 if ((Narg = get_argument (argc, argv, "+dbflag"))) { 61 remove_argument (Narg, &argc, argv); 62 dbFlagChoice = strtol(argv[Narg], NULL, 0); 63 remove_argument (Narg, &argc, argv); 64 dbFlagClip = FLAG_KEEP; 65 } 66 photFlagChoice = 0; 67 photFlagClip = FLAG_IGNORE; 68 if ((Narg = get_argument (argc, argv, "-photflag"))) { 69 remove_argument (Narg, &argc, argv); 70 photFlagChoice = strtol(argv[Narg], NULL, 0); 71 remove_argument (Narg, &argc, argv); 72 photFlagClip = FLAG_SKIP; 73 } 74 if ((Narg = get_argument (argc, argv, "+photflag"))) { 75 remove_argument (Narg, &argc, argv); 76 photFlagChoice = strtol(argv[Narg], NULL, 0); 77 remove_argument (Narg, &argc, argv); 78 photFlagClip = FLAG_KEEP; 79 } 80 81 TimeSelect = FALSE; 82 if ((Narg = get_argument (argc, argv, "-time"))) { 83 remove_argument (Narg, &argc, argv); 84 if (!ohana_str_to_time (argv[Narg], &tzero)) { 85 gprint (GP_ERR, "syntax error\n"); 86 return FALSE; 87 } 88 remove_argument (Narg, &argc, argv); 89 if (!ohana_str_to_dtime (argv[Narg], &trange)) { 90 gprint (GP_ERR, "syntax error\n"); 91 return FALSE; 92 } 93 remove_argument (Narg, &argc, argv); 94 if (trange < 0) { 95 trange = fabs (trange); 96 tzero -= trange; 97 } 98 TimeSelect = TRUE; 99 } 100 if ((Narg = get_argument (argc, argv, "-trange"))) { 101 remove_argument (Narg, &argc, argv); 102 if (!ohana_str_to_time (argv[Narg], &tzero)) { 103 gprint (GP_ERR, "syntax error\n"); 104 return FALSE; 105 } 106 remove_argument (Narg, &argc, argv); 107 if (!ohana_str_to_time (argv[Narg], &tend)) { 108 gprint (GP_ERR, "syntax error\n"); 109 return FALSE; 110 } 111 remove_argument (Narg, &argc, argv); 112 trange = tend - tzero; 113 if (trange < 0) { 114 trange = fabs (trange); 115 tzero -= trange; 116 } 117 TimeSelect = TRUE; 118 } 53 119 54 120 LimExclude = FALSE; … … 74 140 75 141 if (argc != 2) { 76 gprint (GP_ERR, "USAGE: pmeasure (-all) [-m M M] [-p photcode] [-ID ID] [-flag value] [-x]\n"); 142 gprint (GP_ERR, "USAGE: pmeasure (-all) [-m M M]\n"); 143 gprint (GP_ERR, " options:\n"); 144 gprint (GP_ERR, " [-p photcode]\n"); 145 gprint (GP_ERR, " [-photcode photcode]\n"); 146 gprint (GP_ERR, " [-ID ID]\n"); 147 gprint (GP_ERR, " [-dbflag value] : skip matches to these flags\n"); 148 gprint (GP_ERR, " [+dbflag value] : keep matches to these flags\n"); 149 gprint (GP_ERR, " [-photflag value] : skip matches to these flags\n"); 150 gprint (GP_ERR, " [+photflag value] : keep matches to these flags\n"); 151 gprint (GP_ERR, " [-time (start) (duration)]\n"); 152 gprint (GP_ERR, " [-trange (start) (stop)]\n"); 153 gprint (GP_ERR, " [-x] : exclude points larger / smaller than mag limits\n"); 154 gprint (GP_ERR, " [-v] : verbose mode\n"); 77 155 return (FALSE); 78 156 } … … 113 191 m = catalog.average[i].measureOffset; 114 192 for (k = 0; k < catalog.average[i].Nmeasure; k++) { 115 if (FlagClip) { 116 flags = catalog.measure[m+k].dbFlags; 117 if (!(flags & FlagChoice)) continue; 118 } 193 if ((dbFlagClip == FLAG_SKIP) && (catalog.measure[m+k].dbFlags & dbFlagChoice)) continue; 194 if ((dbFlagClip == FLAG_KEEP) && !(catalog.measure[m+k].dbFlags & dbFlagChoice)) continue; 195 if ((photFlagClip == FLAG_SKIP) && (catalog.measure[m+k].photFlags & photFlagChoice)) continue; 196 if ((photFlagClip == FLAG_KEEP) && !(catalog.measure[m+k].photFlags & photFlagChoice)) continue; 197 if (TimeSelect && (catalog.measure[m+k].t < tzero)) continue; 198 if (TimeSelect && (catalog.measure[m+k].t > tzero + trange)) continue; 119 199 if ((PhotcodeClip != -1) && (catalog.measure[m+k].photcode != PhotcodeClip)) continue; 120 200 mag = PhotCat (&catalog.measure[m+k]);
Note:
See TracChangeset
for help on using the changeset viewer.
