IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 12465


Ignore:
Timestamp:
Mar 15, 2007, 3:53:38 PM (19 years ago)
Author:
eugene
Message:

add option for number of bins

File:
1 edited

Legend:

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

    r7917 r12465  
    33int imhist (int argc, char **argv) {
    44 
    5   int i, j, N;
     5  int i, j, N, Nbins;
    66  int sx, sy, nx, ny, bin;
    7   float *V;
     7  float *V, delta;
    88  double max, min, dx;
    99  Vector *vec1, *vec2;
    1010  Buffer *buf;
     11
     12  delta = 0;
     13  if ((N = get_argument (argc, argv, "-delta"))) {
     14    remove_argument (N, &argc, argv);
     15    delta = atof (argv[N]);
     16    remove_argument (N, &argc, argv);
     17  }
    1118
    1219  min = max = 0.0;
     
    7279    }
    7380  }
    74   dx = (max - min) / 1024.0;
     81
     82  if (delta == 0) {
     83    Nbins = 1024;
     84    dx = (max - min) / Nbins;
     85  } else {
     86    dx = delta;
     87    Nbins = (max - min) / dx;
     88  }
    7589  gprint (GP_ERR, "max %f, min %f, dx %f\n", max, min, dx);
    7690 
    77   vec1[0].Nelements = 1025;
    78   vec2[0].Nelements = 1025;
     91  vec1[0].Nelements = Nbins + 1;
     92  vec2[0].Nelements = Nbins + 1;
    7993  REALLOCATE (vec1[0].elements, float, vec1[0].Nelements);
    8094  bzero (vec1[0].elements, vec1[0].Nelements*sizeof(float));
     
    8599    V = (float *)(buf[0].matrix.buffer) + j*buf[0].matrix.Naxis[0] + sx;
    86100    for (i = 0; i < nx; i++, V++) {
    87       bin = MAX (MIN (1024, (*V - min) / dx), 0);
     101      bin = MAX (MIN (Nbins, (*V - min) / dx), 0);
    88102      vec2[0].elements[bin] += 1.0;
    89103    }
    90104  }
    91   for (i = 0; i < 1025; i++, V++) {
     105  for (i = 0; i < Nbins + 1; i++, V++) {
    92106    vec1[0].elements[i] = i*dx + min;
    93107  }
Note: See TracChangeset for help on using the changeset viewer.