Changeset 35757
- Timestamp:
- Jul 3, 2013, 2:09:57 PM (13 years ago)
- Location:
- trunk/Ohana/src/opihi
- Files:
-
- 7 edited
-
. (modified) (1 prop)
-
cmd.astro (modified) (1 prop)
-
cmd.astro/czplot.c (modified) (7 diffs)
-
cmd.astro/init.c (modified) (2 diffs)
-
cmd.data (modified) (1 prop)
-
cmd.data/tv.c (modified) (1 diff)
-
dvo/hosts.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-20130509/Ohana/src/opihi (added) merged: 35594,35601-35602,35693,35749
- Property svn:mergeinfo changed
-
trunk/Ohana/src/opihi/cmd.astro
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-20130509/Ohana/src/opihi/cmd.astro (added) merged: 35594,35602,35749
- Property svn:mergeinfo changed
-
trunk/Ohana/src/opihi/cmd.astro/czplot.c
r34584 r35757 3 3 int czplot (int argc, char **argv) { 4 4 5 int i, kapa, Npts, status; 5 char *outname = NULL; 6 int i, kapa, valid, size; 7 int Npts, status; 6 8 double min, range, Rmin, Rmax; 7 9 opihi_flt *out, *r, *d, *x, *y; … … 11 13 if (!style_args (&graphmode, &argc, argv, &kapa)) return FALSE; 12 14 13 if (argc != 6) { 15 valid = (argc == 6); 16 valid |= (argc > 7) && !strcmp (argv[6], "where"); 17 if (!valid) { 14 18 gprint (GP_ERR, "USAGE: czplot <x> <y> <z> min max\n"); 19 gprint (GP_ERR, " OR: czplot <x> <y> <z> min max where (condition)\n"); 15 20 return (FALSE); 16 21 } … … 21 26 Rmax = graphmode.coords.crval1 + 182.0; 22 27 28 // tvec is used for logical test (truth vector) 29 Vector *tvec = NULL; 30 char *mask = NULL; 31 if (argc > 7) { 32 outname = dvomath (argc - 7, &argv[7], &size, 1); 33 if (outname == NULL) { 34 print_error (); 35 return FALSE; 36 } 37 if ((tvec = SelectVector (outname, OLDVECTOR, TRUE)) == NULL) { 38 gprint (GP_ERR, " invalid logic result\n"); 39 DeleteNamedVector (outname); 40 free (outname); 41 return (FALSE); 42 } 43 } 44 23 45 /* find vectors */ 24 46 if ((xvec = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE); … … 38 60 return (FALSE); 39 61 } 62 if (tvec && (xvec[0].Nelements != tvec[0].Nelements)) { 63 gprint (GP_ERR, "logic test vector not the same length as data vectors\n"); 64 return (FALSE); 65 } 66 40 67 SetVector (&Xvec, OPIHI_FLT, xvec[0].Nelements); 41 68 SetVector (&Yvec, OPIHI_FLT, xvec[0].Nelements); 42 69 SetVector (&Zvec, OPIHI_FLT, xvec[0].Nelements); 43 70 71 if (tvec) { 72 ALLOCATE (mask, char, tvec->Nelements); 73 } 74 44 75 r = xvec[0].elements.Flt; 45 76 d = yvec[0].elements.Flt; … … 64 95 *out = MIN (1.0, MAX (0.01, (in[i] - min) / range)); 65 96 } 97 98 if (mask) { 99 // NOTE: the X,Y,Z sequence is not (necessarily) the same as the RA,DEC,zvec seq 100 // I only set the mask for points sent to kapa... 101 mask[Npts] = (tvec->type == OPIHI_FLT) ? (tvec->elements.Flt[i] == 0.0) : (tvec->elements.Int[i] == 0.0); 102 } 103 66 104 x++; 67 105 y++; … … 76 114 graphmode.size = -1; /* point size determined by Zvec */ 77 115 graphmode.etype = 0; 78 PlotVectorTriplet (kapa, &Xvec, &Yvec, &Zvec, NULL, &graphmode);116 PlotVectorTriplet (kapa, &Xvec, &Yvec, &Zvec, mask, &graphmode); 79 117 80 118 free (Xvec.elements.Flt); … … 82 120 free (Zvec.elements.Flt); 83 121 122 if (mask) free (mask); 123 84 124 return (TRUE); 85 125 86 126 } 127 128 int czcplot (int argc, char **argv) { 129 130 char *outname = NULL; 131 int i, kapa, valid, size; 132 int Npts, status; 133 double min, range, Rmin, Rmax; 134 opihi_flt *out, *r, *d, *x, *y; 135 Vector Xvec, Yvec, Zvec, *xvec, *yvec, *zvec; 136 Graphdata graphmode; 137 138 if (!style_args (&graphmode, &argc, argv, &kapa)) return FALSE; 139 140 valid = (argc == 6); 141 valid |= (argc > 7) && !strcmp (argv[6], "where"); 142 if (!valid) { 143 gprint (GP_ERR, "USAGE: czcplot <x> <y> <z> min max\n"); 144 gprint (GP_ERR, " OR: czcplot <x> <y> <z> min max where (condition)\n"); 145 return (FALSE); 146 } 147 148 min = atof(argv[4]); 149 range = atof(argv[5]) - min; 150 Rmin = graphmode.coords.crval1 - 182.0; 151 Rmax = graphmode.coords.crval1 + 182.0; 152 153 // tvec is used for logical test (truth vector) 154 Vector *tvec = NULL; 155 char *mask = NULL; 156 if (argc > 7) { 157 outname = dvomath (argc - 7, &argv[7], &size, 1); 158 if (outname == NULL) { 159 print_error (); 160 return FALSE; 161 } 162 if ((tvec = SelectVector (outname, OLDVECTOR, TRUE)) == NULL) { 163 gprint (GP_ERR, " invalid logic result\n"); 164 DeleteNamedVector (outname); 165 free (outname); 166 return (FALSE); 167 } 168 } 169 170 /* find vectors */ 171 if ((xvec = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE); 172 if ((yvec = SelectVector (argv[2], OLDVECTOR, TRUE)) == NULL) return (FALSE); 173 if ((zvec = SelectVector (argv[3], OLDVECTOR, TRUE)) == NULL) return (FALSE); 174 175 REQUIRE_VECTOR_FLT (xvec, FALSE); 176 REQUIRE_VECTOR_FLT (yvec, FALSE); 177 REQUIRE_VECTOR_FLT (zvec, FALSE); 178 179 if (xvec[0].Nelements != yvec[0].Nelements) { 180 gprint (GP_ERR, "vectors %s and %s not the same length\n", argv[1], argv[2]); 181 return (FALSE); 182 } 183 if (xvec[0].Nelements != zvec[0].Nelements) { 184 gprint (GP_ERR, "vectors %s and %s not the same length\n", argv[1], argv[3]); 185 return (FALSE); 186 } 187 if (tvec && (xvec[0].Nelements != tvec[0].Nelements)) { 188 gprint (GP_ERR, "logic test vector not the same length as data vectors\n"); 189 return (FALSE); 190 } 191 192 SetVector (&Xvec, OPIHI_FLT, xvec[0].Nelements); 193 SetVector (&Yvec, OPIHI_FLT, xvec[0].Nelements); 194 SetVector (&Zvec, OPIHI_FLT, xvec[0].Nelements); 195 196 if (tvec) { 197 ALLOCATE (mask, char, tvec->Nelements); 198 } 199 200 r = xvec[0].elements.Flt; 201 d = yvec[0].elements.Flt; 202 x = Xvec.elements.Flt; 203 y = Yvec.elements.Flt; 204 out = Zvec.elements.Flt; 205 206 Npts = 0; 207 for (i = 0; i < xvec[0].Nelements; i++, r++, d++) { 208 *r = ohana_normalize_angle (*r); 209 while (*r < Rmin) *r += 360.0; 210 while (*r > Rmax) *r -= 360.0; 211 212 status = RD_to_XY (x, y, *r, *d, &graphmode.coords); 213 if (!status) continue; 214 215 if (zvec->type == OPIHI_FLT) { 216 opihi_flt *in = zvec[0].elements.Flt; 217 *out = MIN (1.0, MAX (0.01, (in[i] - min) / range)); 218 } else { 219 opihi_int *in = zvec[0].elements.Int; 220 *out = MIN (1.0, MAX (0.01, (in[i] - min) / range)); 221 } 222 223 if (mask) { 224 // NOTE: the X,Y,Z sequence is not (necessarily) the same as the RA,DEC,zvec seq 225 // I only set the mask for points sent to kapa... 226 mask[Npts] = (tvec->type == OPIHI_FLT) ? (tvec->elements.Flt[i] == 0.0) : (tvec->elements.Int[i] == 0.0); 227 } 228 229 x++; 230 y++; 231 out++; 232 Npts++; 233 } 234 Xvec.Nelements = Npts; 235 Yvec.Nelements = Npts; 236 Zvec.Nelements = Npts; 237 238 graphmode.style = 2; 239 graphmode.color = -1; /* point color determined by Zvec */ 240 graphmode.etype = 0; 241 PlotVectorTriplet (kapa, &Xvec, &Yvec, &Zvec, mask, &graphmode); 242 243 free (Xvec.elements.Flt); 244 free (Yvec.elements.Flt); 245 free (Zvec.elements.Flt); 246 247 if (mask) free (mask); 248 249 return (TRUE); 250 251 } -
trunk/Ohana/src/opihi/cmd.astro/init.c
r35416 r35757 12 12 int cval PROTO((int, char **)); 13 13 int czplot PROTO((int, char **)); 14 int czcplot PROTO((int, char **)); 14 15 int drizzle PROTO((int, char **)); 15 16 int flux PROTO((int, char **)); … … 70 71 {1, "cval", cval, "cosmic ray flux?"}, 71 72 {1, "czplot", czplot, "plot scaled vectors in sky coordinates"}, 73 {1, "czcplot", czcplot, "plot color-scaled vectors in sky coordinates"}, 72 74 {1, "drizzle", drizzle, "transform image to image"}, 73 75 {1, "flux", flux, "flux in a convex contour"}, -
trunk/Ohana/src/opihi/cmd.data
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-20130509/Ohana/src/opihi/cmd.data (added) merged: 35594,35601,35749
- Property svn:mergeinfo changed
-
trunk/Ohana/src/opihi/cmd.data/tv.c
r13479 r35757 21 21 /* shell exits on pipe close, FIX */ 22 22 if ((N = get_argument (argc, argv, "-kill"))) { 23 K iiClose (kapa);23 KapaClose (kapa); 24 24 return (TRUE); 25 25 } -
trunk/Ohana/src/opihi/dvo/hosts.c
r34260 r35757 3 3 # define DVO_MAX_PATH 1024 4 4 5 enum {TEMP_NONE, TEMP_DVO_RESULTS, TEMP_DVO_LOG, TEMP_REL PHOT_RESULTS, TEMP_RELPHOT_LOG};5 enum {TEMP_NONE, TEMP_DVO_RESULTS, TEMP_DVO_LOG, TEMP_RELASTRO_CATALOG, TEMP_RELPHOT_CATALOG, TEMP_RELPHOT_LOG, TEMP_DVOPSPS_DET, TEMP_FIXSTKIDS_RESULTS}; 6 6 7 7 // functions to manage the remote hosts … … 58 58 TEMP_TYPE = TEMP_NONE; 59 59 remove_argument (N, &argc, argv); 60 if (!strcasecmp(argv[N], "dvo.results")) TEMP_TYPE = TEMP_DVO_RESULTS; 61 if (!strcasecmp(argv[N], "dvo.log")) TEMP_TYPE = TEMP_DVO_LOG; 62 if (!strcasecmp(argv[N], "relphot.results")) TEMP_TYPE = TEMP_RELPHOT_RESULTS; 63 if (!strcasecmp(argv[N], "relphot.log")) TEMP_TYPE = TEMP_RELPHOT_LOG; 60 if (!strcasecmp(argv[N], "dvo.results")) TEMP_TYPE = TEMP_DVO_RESULTS; 61 if (!strcasecmp(argv[N], "dvo.log")) TEMP_TYPE = TEMP_DVO_LOG; 62 if (!strcasecmp(argv[N], "relastro.catalog")) TEMP_TYPE = TEMP_RELASTRO_CATALOG; 63 if (!strcasecmp(argv[N], "relphot.catalog")) TEMP_TYPE = TEMP_RELPHOT_CATALOG; 64 if (!strcasecmp(argv[N], "relphot.log")) TEMP_TYPE = TEMP_RELPHOT_LOG; 65 if (!strcasecmp(argv[N], "dvopsps.det")) TEMP_TYPE = TEMP_DVOPSPS_DET; 66 if (!strcasecmp(argv[N], "fixstkids.results")) TEMP_TYPE = TEMP_FIXSTKIDS_RESULTS; 64 67 if (TEMP_TYPE == TEMP_NONE) { 65 68 gprint (GP_ERR, "USAGE: hosts purge-temp [-type (type)]\n"); … … 94 97 int i; 95 98 for (i = 0; i < table->Nhosts; i++) { 99 if (HOST_ID && (HOST_ID != table->hosts[i].hostID)) continue; 100 96 101 pglob.gl_offs = 0; 97 102 char name[DVO_MAX_PATH]; 98 103 if (ALL_PID) { 99 if (TEMP_TYPE == TEMP_DVO_RESULTS) snprintf (name, DVO_MAX_PATH, "%s/dvo.results.*.fits", table->hosts[i].pathname); 100 if (TEMP_TYPE == TEMP_DVO_LOG) snprintf (name, DVO_MAX_PATH, "%s/dvo.results.*.fits.log", table->hosts[i].pathname); 101 if (TEMP_TYPE == TEMP_RELPHOT_RESULTS) snprintf (name, DVO_MAX_PATH, "%s/log.rlpc.*", table->hosts[i].pathname); 102 if (TEMP_TYPE == TEMP_RELPHOT_LOG) snprintf (name, DVO_MAX_PATH, "%s/relphot.catalog.subset.dat", table->hosts[i].pathname); 104 if (TEMP_TYPE == TEMP_DVO_RESULTS) snprintf (name, DVO_MAX_PATH, "%s/dvo.results.*.fits", table->hosts[i].pathname); 105 if (TEMP_TYPE == TEMP_DVO_LOG) snprintf (name, DVO_MAX_PATH, "%s/dvo.results.*.fits.log", table->hosts[i].pathname); 106 if (TEMP_TYPE == TEMP_RELASTRO_CATALOG) snprintf (name, DVO_MAX_PATH, "%s/relastro.catalog.subset.dat", table->hosts[i].pathname); 107 if (TEMP_TYPE == TEMP_RELPHOT_CATALOG) snprintf (name, DVO_MAX_PATH, "%s/relphot.catalog.subset.dat", table->hosts[i].pathname); 108 if (TEMP_TYPE == TEMP_RELPHOT_LOG) snprintf (name, DVO_MAX_PATH, "%s/log.rlpc.*", table->hosts[i].pathname); 109 if (TEMP_TYPE == TEMP_DVOPSPS_DET) snprintf (name, DVO_MAX_PATH, "%s/dvopsps.*.det.dat", table->hosts[i].pathname); 110 if (TEMP_TYPE == TEMP_FIXSTKIDS_RESULTS) snprintf (name, DVO_MAX_PATH, "%s/fixstkids.results.*.dat", table->hosts[i].pathname); 103 111 } else { 104 if (TEMP_TYPE == TEMP_DVO_RESULTS) snprintf (name, DVO_MAX_PATH, "%s/dvo.results.%05d.*.fits", table->hosts[i].pathname, PID); 105 if (TEMP_TYPE == TEMP_DVO_LOG) snprintf (name, DVO_MAX_PATH, "%s/dvo.results.%05d.*.fits.log", table->hosts[i].pathname, PID); 106 if (TEMP_TYPE == TEMP_RELPHOT_RESULTS) snprintf (name, DVO_MAX_PATH, "%s/log.rlpc.*", table->hosts[i].pathname); 107 if (TEMP_TYPE == TEMP_RELPHOT_LOG) snprintf (name, DVO_MAX_PATH, "%s/relphot.catalog.subset.dat", table->hosts[i].pathname); 112 if (TEMP_TYPE == TEMP_DVO_RESULTS) snprintf (name, DVO_MAX_PATH, "%s/dvo.results.%05d.*.fits", table->hosts[i].pathname, PID); 113 if (TEMP_TYPE == TEMP_DVO_LOG) snprintf (name, DVO_MAX_PATH, "%s/dvo.results.%05d.*.fits.log", table->hosts[i].pathname, PID); 114 if (TEMP_TYPE == TEMP_RELASTRO_CATALOG) snprintf (name, DVO_MAX_PATH, "%s/relastro.catalog.subset.dat", table->hosts[i].pathname); 115 if (TEMP_TYPE == TEMP_RELPHOT_CATALOG) snprintf (name, DVO_MAX_PATH, "%s/relphot.catalog.subset.dat", table->hosts[i].pathname); 116 if (TEMP_TYPE == TEMP_RELPHOT_LOG) snprintf (name, DVO_MAX_PATH, "%s/log.rlpc.*", table->hosts[i].pathname); 117 if (TEMP_TYPE == TEMP_DVOPSPS_DET) snprintf (name, DVO_MAX_PATH, "%s/dvopsps.%05d.*.det.dat", table->hosts[i].pathname, PID); 118 if (TEMP_TYPE == TEMP_FIXSTKIDS_RESULTS) snprintf (name, DVO_MAX_PATH, "%s/fixstkids.results.%05d.*.dat", table->hosts[i].pathname, PID); 108 119 } 109 120 if (VERBOSE) gprint (GP_ERR, "checking %s\n", name);
Note:
See TracChangeset
for help on using the changeset viewer.
