IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 17, 2015, 12:36:54 PM (11 years ago)
Author:
eugene
Message:

clip nan pixels if requested

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20150405/Ohana/src/opihi/cmd.data/imhist.c

    r20936 r38142  
    33int imhist (int argc, char **argv) {
    44 
    5   int i, j, N, Nbins, Quiet;
    6   int sx, sy, nx, ny, bin;
    7   float *V, delta;
    8   double max, min, dx;
     5  int i, j, N, Nbins;
     6  int bin;
     7  float *V;
     8  double dx;
    99  Vector *vec1, *vec2;
    1010  Buffer *buf;
    1111
    12   Quiet = FALSE;
     12  int Quiet = FALSE;
    1313  if ((N = get_argument (argc, argv, "-q"))) {
    1414    Quiet = TRUE;
     
    2020  }
    2121
    22   delta = 0;
     22  float delta = 0;
    2323  if ((N = get_argument (argc, argv, "-delta"))) {
    2424    remove_argument (N, &argc, argv);
     
    2727  }
    2828
    29   min = max = 0.0;
     29  int ClipNAN = FALSE;
     30  if ((N = get_argument (argc, argv, "-clip-nan"))) {
     31    remove_argument (N, &argc, argv);
     32    ClipNAN = TRUE;
     33  } 
     34
     35  double min = 0.0, max = 0.0;
    3036  if ((N = get_argument (argc, argv, "-range"))) {
    3137    remove_argument (N, &argc, argv);
     
    3642  }
    3743
    38   sx = sy = 0.0;
    39   nx = ny = 0.0;
     44  int sx = 0, sy = 0;
     45  int nx = 0, ny = 0;
    4046  if ((N = get_argument (argc, argv, "-region"))) {
    4147    remove_argument (N, &argc, argv);
     
    8490      V = (float *)(buf[0].matrix.buffer) + j*buf[0].matrix.Naxis[0] + sx;
    8591      for (i = 0; i < nx; i++, V++) {
     92        if (ClipNAN && isnan(*V)) continue;
    8693        max = MAX (max, *V);
    8794        min = MIN (min, *V);
     
    113120    V = (float *)(buf[0].matrix.buffer) + j*buf[0].matrix.Naxis[0] + sx;
    114121    for (i = 0; i < nx; i++, V++) {
     122      if (ClipNAN && isnan(*V)) continue;
    115123      bin = MAX (MIN (Nbins, (*V - min) / dx), 0);
    116124      vec2[0].elements.Flt[bin] += 1.0;
Note: See TracChangeset for help on using the changeset viewer.