- Timestamp:
- Dec 19, 2012, 6:50:16 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20121219/Ohana/src/opihi/cmd.data/vgauss.c
r29938 r34858 31 31 } 32 32 33 // Guess = FALSE; 34 // if ((N = get_argument (argc, argv, "-guess"))) { 35 // Guess = TRUE; 36 // remove_argument (N, &argc, argv); 37 // } 38 33 39 if (argc != 5) { 34 40 gprint (GP_ERR, "USAGE: vgauss <x> <y> <dy> (out)\n"); 41 gprint (GP_ERR, " <dy> may be the words 'con[stant]' or 'poi[sson]', in which case the error is constructed'\n"); 35 42 gprint (GP_ERR, " uses guesses: C0 (mean), C1 (sigma), C2 (norm), C3 (sky)\n"); 36 43 return (FALSE); … … 39 46 if ((xvec = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE); 40 47 if ((yvec = SelectVector (argv[2], OLDVECTOR, TRUE)) == NULL) return (FALSE); 41 if ((svec = SelectVector (argv[3], OLDVECTOR, TRUE)) == NULL) return (FALSE);42 48 if ((ovec = SelectVector (argv[4], ANYVECTOR, TRUE)) == NULL) return (FALSE); 49 50 int Nsvec = strlen(argv[3]); 51 52 if ((Nsvec >= 3) && (!strncasecmp ("poisson", argv[3], Nsvec) || !strncasecmp ("constant", argv[3], Nsvec))) { 53 svec = SelectVector ("vgauss_err", ANYVECTOR, TRUE); 54 if (svec == NULL) return (FALSE); 55 MatchVector (svec, xvec, OPIHI_FLT); 56 v1 = svec[0].elements.Flt; 57 v2 = yvec[0].elements.Flt; 58 if (!strncasecmp ("poisson", argv[3], Nsvec)) { 59 for (i = 0; i < svec[0].Nelements; i++) { 60 v1[i] = (isfinite(v2[i]) && (v2[i] > 0)) ? sqrt(v2[i]) : 1.0; 61 } 62 } else { 63 for (i = 0; i < svec[0].Nelements; i++) { 64 v1[i] = 1.0; 65 } 66 } 67 } else { 68 if ((svec = SelectVector (argv[3], OLDVECTOR, TRUE)) == NULL) return (FALSE); 69 } 43 70 44 71 CastVector (xvec, OPIHI_FLT); … … 46 73 CastVector (svec, OPIHI_FLT); 47 74 // XXX Cast is failing. 48 49 75 50 76 Npts = xvec[0].Nelements; … … 58 84 GET_VAR (par[3], "C3"); 59 85 Npar = 4; 86 60 87 61 88 // mrqmin takes the inverse variance (do not generate NANs)
Note:
See TracChangeset
for help on using the changeset viewer.
