IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 4303


Ignore:
Timestamp:
Jun 17, 2005, 12:18:56 PM (21 years ago)
Author:
eugene
Message:

added -quiet mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/cmd.data/vgauss.c

    r2844 r4303  
    1414int vgauss (int argc, char **argv) {
    1515
    16   int i, Npts, Npar;
     16  int i, N, Npts, Npar, Quiet;
    1717  float par[4], *v1, *v2, *dy, **covar;
    1818  float chisq, ochisq, dchisq;
     
    2020  char *c, name[16];
    2121
     22  Quiet = FALSE;
     23  if ((N = get_argument (argc, argv, "-q"))) {
     24    Quiet = TRUE;
     25    remove_argument (N, &argc, argv);
     26  }
     27  if ((N = get_argument (argc, argv, "-quiet"))) {
     28    Quiet = TRUE;
     29    remove_argument (N, &argc, argv);
     30  }
     31
    2232  if (argc != 5) {
    2333    fprintf (stderr, "USAGE: vgauss <x> <y> <dy> (out)\n");
     34    fprintf (stderr, " uses guesses: C0 (mean), C1 (sigma), C2 (norm), C3 (sky)\n");
    2435    return (FALSE);
    2536  }
     
    4657  for (i = 0; i < Npts; i++, v1++, v2++) *v2 = 1.0 / (*v1 * *v1);
    4758 
    48   ochisq = mrqinit (xvec[0].elements, yvec[0].elements, dy, Npts, par, Npar, fgaussOD, TRUE);
    49   dchisq = ochisq;
     59  ochisq = mrqinit (xvec[0].elements, yvec[0].elements, dy, Npts, par, Npar, fgaussOD, !Quiet);
     60  dchisq = ochisq + 2*Npts;
    5061
    51   for (i = 0; (i < 20) && ((dchisq > (Npts - Npar)) || (dchisq <= 0.0)); i++) {
    52     chisq = mrqmin (xvec[0].elements, yvec[0].elements, dy, Npts, par, Npar, fgaussOD, TRUE);
     62  for (i = 0; (i < 20) && ((dchisq > 0.1*(Npts - Npar)) || (dchisq <= 0.0)); i++) {
     63    chisq = mrqmin (xvec[0].elements, yvec[0].elements, dy, Npts, par, Npar, fgaussOD, !Quiet);
    5364    dchisq = ochisq - chisq;
    5465    ochisq = chisq;
    55     fprintf (stderr, "dchisq: %f, Ndof: %d\n", dchisq, Npts - Npar);
     66    if (!Quiet) fprintf (stderr, "dchisq: %f, Ndof: %d\n", dchisq, Npts - Npar);
    5667  } 
     68  if (!Quiet) fprintf (stderr, "%d iterations\n", i);
    5769
    5870  for (i = 0; i < Npts; i++) {
     
    6779    sprintf (name, "C%d", i);
    6880    set_variable (name, par[i]);
    69     fprintf (stderr, "%d  %f  %f\n", i, par[i], covar[i][i]);
     81    if (!Quiet) fprintf (stderr, "%d  %f  %f\n", i, par[i], sqrt(covar[i][i]));
     82    sprintf (name, "dC%d", i);
     83    set_variable (name, sqrt(covar[i][i]));
    7084  }
    7185
Note: See TracChangeset for help on using the changeset viewer.