IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 7, 2007, 6:28:03 PM (19 years ago)
Author:
eugene
Message:

converted internal NO_MAG and NO_ERR to NAN, NAN_S_SHORT, etc as appropriate

Location:
trunk/Ohana/src/relphot
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/relphot/include/relphot.h

    r12332 r15509  
    142142int           gcatalog            PROTO((Catalog *catalog, int FINAL));
    143143Coords       *getCoords           PROTO((int meas, int cat));
     144int           getImageEntry       PROTO((int meas, int cat));
    144145float         getMcal             PROTO((int meas, int cat));
    145146float         getMgrid            PROTO((int meas, int cat));
  • trunk/Ohana/src/relphot/src/GridOps.c

    r15038 r15509  
    239239  if (!USE_GRID) return (0);
    240240  i = bin[cat][meas];
    241   if (i == -1) return (NO_MAG);
     241  if (i == -1) return (NAN);
    242242
    243243  value = gridM[i];
     
    272272      if (catalog[c].measure[m].dbFlags & MEAS_BAD) continue;
    273273      Mcal = getMcal  (m, c);
    274       if (Mcal == NO_MAG) continue;
    275       if (Mcal == NO_IMAGE) continue;
     274      if (isnan(Mcal)) continue;
    276275      Mmos = getMmos  (m, c);
    277       if (Mmos == NO_MAG) continue;
    278       if (Mmos == NO_IMAGE) continue;
    279       if ((Mrel  = getMrel  (catalog, m, c)) == NO_MAG) continue;
     276      if (isnan(Mmos)) continue;
     277      Mrel  = getMrel  (catalog, m, c);
     278      if (isnan(Mrel)) continue;
    280279     
    281280      n = catalog[c].measure[m].averef;
     
    326325      }
    327326      Mcal  = getMcal  (m, c);
    328       if (Mcal == NO_MAG) continue;
    329       if (Mcal == NO_IMAGE) continue;
     327      if (isnan(Mcal)) continue;
    330328      Mmos  = getMmos  (m, c);
    331       if (Mmos == NO_MAG) continue;
    332       if (Mmos == NO_IMAGE) continue;
    333       if ((Mrel  = getMrel  (catalog, m, c)) == NO_MAG) continue;
     329      if (isnan(Mmos)) continue;
     330      Mrel  = getMrel  (catalog, m, c);
     331      if (isnan(Mrel)) continue;
    334332
    335333      n = catalog[c].measure[m].averef;
  • trunk/Ohana/src/relphot/src/ImageOps.c

    r15038 r15509  
    138138}
    139139
     140int getImageEntry (int meas, int cat) {
     141
     142  int i;
     143
     144  i = bin[cat][meas];
     145  return (i);
     146}
     147
    140148float getMcal (int meas, int cat) {
    141149
     
    144152
    145153  i = bin[cat][meas];
    146   if (i == -1) return (NO_IMAGE);
    147 
    148   if (image[i].code & IMAGE_BAD)  return (NO_MAG); 
     154  if (i == -1) return (NAN);
     155
     156  if (image[i].code & IMAGE_BAD) return (NAN); 
    149157  value = image[i].Mcal;
    150158  return (value);
     
    197205      if (catalog[c].measure[m].dbFlags & MEAS_BAD) continue;
    198206      Mmos  = getMmos  (m, c);
    199       if (Mmos == NO_MAG) continue;
    200       if (Mmos == NO_IMAGE) continue;
    201       if ((Mgrid = getMgrid (m, c)) == NO_MAG) continue;
    202       if ((Mrel  = getMrel  (catalog, m, c)) == NO_MAG) continue;
     207      if (isnan(Mmos)) continue;
     208      Mgrid = getMgrid (m, c);
     209      if (isnan(Mgrid)) continue;
     210      Mrel  = getMrel  (catalog, m, c);
     211      if (isnan(Mrel)) continue;
    203212     
    204213      n = catalog[c].measure[m].averef;
     
    338347  int i, j, m, c, n, N;
    339348  double *list, *dlist;
    340   float Mcal, Mmos;
     349  float Mcal, Mmos, Mgrid;
    341350  StatType stats;
    342351
     
    357366      c = clist[i][j];
    358367
    359       Mcal = getMcal  (m, c);
    360       if (Mcal == NO_MAG) continue;
    361       if (Mcal == NO_IMAGE) continue;
    362       Mmos = getMmos  (m, c);
    363       if (Mmos == NO_MAG) continue;
    364       if (Mmos == NO_IMAGE) continue;
    365       if (getMgrid (m, c) == NO_MAG) continue;
     368      Mcal  = getMcal  (m, c);
     369      if (isnan(Mcal)) continue;
     370      Mmos  = getMmos  (m, c);
     371      if (isnan(Mmos)) continue;
     372      Mgrid = getMgrid (m, c);
     373      if (isnan(Mgrid)) continue;
    366374      N++;
    367375    }
  • trunk/Ohana/src/relphot/src/MosaicOps.c

    r15038 r15509  
    134134      Dmin = MIN (Dmin, D);
    135135      Dmax = MAX (Dmax, D);
    136       Mcal += image[m].Mcal;
     136      Mcal  += image[m].Mcal;
    137137      dMcal += image[m].dMcal;
    138       Xm += image[m].Xm;
     138      Xm    += image[m].Xm;
    139139      /* we are using mosaic.Mcal, not image.Mcal. reset image.Mcal */
    140       image[m].Mcal = 0.0;
    141       image[m].dMcal = image[m].Xm = NO_MAG;
     140      image[m].Mcal  = 0.0;
     141      image[m].dMcal = NAN;
     142      image[m].Xm    = NAN_S_SHORT;
    142143    }
    143144    dS /= Nimlist[i];
     
    299300  if (!MOSAICNAME[0]) return (0);
    300301  i = bin[cat][meas];
    301   if (i == -1) return (NO_IMAGE);
    302 
    303   if (mosaic[i].code & IMAGE_BAD) return (NO_MAG); 
     302  if (i == -1) return (NAN);
     303
     304  if (mosaic[i].code & IMAGE_BAD) return (NAN); 
    304305  value = mosaic[i].Mcal;
    305306  return (value);
     
    345346      c = clist[i][j];
    346347     
     348      if (catalog[c].measure[m].dbFlags & MEAS_BAD) continue;
    347349      Mcal  = getMcal  (m, c);
    348       if (Mcal == NO_MAG) continue;
    349       if (Mcal == NO_IMAGE) continue;
    350       if (catalog[c].measure[m].dbFlags & MEAS_BAD) continue;
    351       if ((Mgrid = getMgrid (m, c)) == NO_MAG) continue;
    352       if ((Mrel  = getMrel  (catalog, m, c)) == NO_MAG) continue;
     350      if (isnan(Mcal)) continue;
     351      Mgrid = getMgrid (m, c);
     352      if (isnan(Mgrid)) continue;
     353      Mrel  = getMrel  (catalog, m, c);
     354      if (isnan(Mrel)) continue;
    353355     
    354356      n = catalog[c].measure[m].averef;
     
    469471
    470472      Mcal = getMcal  (m, c);
    471       if (Mcal == NO_MAG) continue;
    472       if (Mcal == NO_IMAGE) continue;
    473       if (getMgrid (m, c) == NO_MAG) continue;
    474       if (getMrel  (catalog, m, c) == NO_MAG) continue;
     473      if (isnan(Mcal)) continue;
     474      Mgrid = getMgrid (m, c);
     475      if (isnan(Mgrid)) continue;
     476      Mrel = getMrel  (catalog, m, c);
     477      if (isnan(Mrel)) continue;
    475478      N++;
    476479    }
  • trunk/Ohana/src/relphot/src/StarOps.c

    r15038 r15509  
    2626
    2727  ave = catalog[cat].measure[meas].averef;
    28   if (catalog[cat].average[ave].code & STAR_BAD) return (NO_MAG); 
     28  if (catalog[cat].average[ave].code & STAR_BAD) return (NAN); 
    2929 
    3030  value = catalog[cat].secfilt[PhotNsec*ave+PhotSec].M;
     
    4545      m = catalog[i].average[j].offset;
    4646
    47       // XXX allow REF stars to be included in the calculation
    48       // this should be optionally set, and should allow for
    49       // REF stars to be downweighted by more than their reported
    50       // errors.  how such info is carried is unclear...
    5147      N = 0;
    5248      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
    5349        if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue;
    54         Mcal  = getMcal  (m, i);
    55         if (Mcal == NO_MAG) continue;
    56         if (Mcal == NO_IMAGE) {
     50        // XXX allow REF stars (no Image Entry) to be included in the calculation this
     51        // should be optionally set, and should allow for REF stars to be downweighted by
     52        // more than their reported errors.  how such info is carried is unclear...
     53        if (getImageEntry (m, i) < 0) {
    5754          Mcal = Mmos = Mgrid = 0;
    5855        } else {
     56          Mcal  = getMcal  (m, i);
     57          if (isnan(Mcal)) continue;
    5958          Mmos  = getMmos  (m, i);
    60           if (Mmos == NO_MAG) continue;
    61           if (Mmos == NO_IMAGE) continue;
    62           if ((Mgrid = getMgrid (m, i)) == NO_MAG) continue;
     59          if (isnan(Mmos)) continue;
     60          Mgrid = getMgrid (m, i);
     61          if (isnan(Mgrid)) continue;
    6362        }
    6463
     
    7877      catalog[i].secfilt[PhotNsec*j+PhotSec].M  = stats.mean;
    7978      catalog[i].secfilt[PhotNsec*j+PhotSec].dM = stats.sigma;
    80       catalog[i].secfilt[PhotNsec*j+PhotSec].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NO_MAG;
     79      catalog[i].secfilt[PhotNsec*j+PhotSec].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NAN_S_SHORT;
    8180    }
    8281  }
     
    111110      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
    112111        if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue;
    113         Mcal  = getMcal  (m, i);
    114         if (Mcal == NO_MAG) continue;
    115         if (Mcal == NO_IMAGE) {
     112        // XXX allow REF stars (no Image Entry) to be included in the calculation this
     113        // should be optionally set, and should allow for REF stars to be downweighted by
     114        // more than their reported errors.  how such info is carried is unclear...
     115        if (getImageEntry (m, i) < 0) {
    116116          Mcal = Mmos = Mgrid = 0;
    117117        } else {
     118          Mcal  = getMcal  (m, i);
     119          if (isnan(Mcal)) continue;
    118120          Mmos  = getMmos  (m, i);
    119           if (Mmos == NO_MAG) continue;
    120           if (Mmos == NO_IMAGE) continue;
    121           if ((Mgrid = getMgrid (m, i)) == NO_MAG) continue;
     121          if (isnan(Mmos)) continue;
     122          Mgrid = getMgrid (m, i);
     123          if (isnan(Mgrid)) continue;
    122124        }
    123125
     
    135137      catalog[i].secfilt[PhotNsec*j+PhotSec].M  = stats.mean;
    136138      catalog[i].secfilt[PhotNsec*j+PhotSec].dM = MAX (stats.error, stats.sigma);
    137       catalog[i].secfilt[PhotNsec*j+PhotSec].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NO_MAG;
     139      catalog[i].secfilt[PhotNsec*j+PhotSec].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NAN_S_SHORT;
    138140    }
    139141  }
     
    160162        if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue;
    161163        Mcal  = getMcal  (m, i);
    162         if (Mcal == NO_MAG) continue;
    163         if (Mcal == NO_IMAGE) continue;
     164        if (isnan(Mcal)) continue;
    164165        Mmos  = getMmos  (m, i);
    165         if (Mmos == NO_MAG) continue;
    166         if (Mmos == NO_IMAGE) continue;
    167         if ((Mgrid = getMgrid (m, i)) == NO_MAG) continue;
     166        if (isnan(Mmos)) continue;
     167        Mgrid = getMgrid (m, i);
     168        if (isnan(Mgrid)) continue;
    168169        catalog[i].measure[m].Mcal = Mcal + Mmos + Mgrid;
    169170      }
     
    216217      Xm = catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
    217218      Chisq = pow (10.0, 0.01*Xm);
    218       mark = (dM > MaxScatter) || (Xm == NO_MAG) || (Chisq > MaxChisq);
     219      mark = (dM > MaxScatter) || (Xm == NAN_S_SHORT) || (Chisq > MaxChisq);
    219220      if (mark) {
    220221        catalog[i].average[j].code |= ID_STAR_POOR;
     
    274275        /* if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue; */
    275276        Mcal  = getMcal  (m, i);
    276         if (Mcal == NO_MAG) continue;
    277         if (Mcal == NO_IMAGE) continue;
     277        if (isnan(Mcal)) continue;
    278278        Mmos  = getMmos  (m, i);
    279         if (Mmos == NO_MAG) continue;
    280         if (Mmos == NO_IMAGE) continue;
    281         if ((Mgrid = getMgrid (m, i)) == NO_MAG) continue;
     279        if (isnan(Mmos)) continue;
     280        Mgrid = getMgrid (m, i);
     281        if (isnan(Mgrid)) continue;
    282282
    283283        Msys = PhotSys (&catalog[i].measure[m], &catalog[i].average[j], &catalog[i].secfilt[j*PhotNsec]);
     
    310310        /* if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue; */
    311311        Mcal  = getMcal  (m, i);
    312         if (Mcal == NO_MAG) continue;
    313         if (Mcal == NO_IMAGE) continue;
     312        if (isnan(Mcal)) continue;
    314313        Mmos  = getMmos  (m, i);
    315         if (Mmos == NO_MAG) continue;
    316         if (Mmos == NO_IMAGE) continue;
    317         if ((Mgrid = getMgrid (m, i)) == NO_MAG) continue;
     314        if (isnan(Mmos)) continue;
     315        Mgrid = getMgrid (m, i);
     316        if (isnan(Mgrid)) continue;
    318317
    319318        Msys = PhotSys (&catalog[i].measure[m], &catalog[i].average[j], &catalog[i].secfilt[j*PhotNsec]);
     
    368367      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
    369368        Mcal = getMcal  (m, i);
    370         if (Mcal == NO_MAG) continue;
    371         if (Mcal == NO_IMAGE) continue;
     369        if (isnan(Mcal)) continue;
    372370        Mmos = getMmos  (m, i);
    373         if (Mmos == NO_MAG) continue;
    374         if (Mmos == NO_IMAGE) continue;
    375         if (getMgrid (m, i) == NO_MAG) continue;
     371        if (isnan(Mmos)) continue;
     372        Mgrid = getMgrid (m, i);
     373        if (isnan(Mgrid)) continue;
    376374        N++;
    377375      }
     
    411409
    412410      Xm = catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
    413       if (Xm == NO_MAG) continue;
     411      if (Xm == NAN_S_SHORT) continue;
    414412      list[n] = pow (10.0, 0.01*Xm);
    415413      dlist[n] = 1;
     
    508506      xlist[N] = catalog[i].secfilt[PhotNsec*j+PhotSec].M;
    509507      value    = catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
    510       if (value == NO_MAG) continue;
     508      if (value == NAN_S_SHORT) continue;
    511509      ylist[N] = 0.01*value;
    512510      N++;
  • trunk/Ohana/src/relphot/src/bcatalog.c

    r15038 r15509  
    2727
    2828    if (RESET) {
    29       subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].M  = NO_MAG;
    30       subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].dM = NO_MAG;
     29      subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].M  = NAN;
     30      subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].dM = NAN;
    3131      subcatalog[0].average[Naverage].code &= ~ID_STAR_FEW;
    3232      subcatalog[0].average[Naverage].code &= ~ID_STAR_POOR;
  • trunk/Ohana/src/relphot/src/plot_scatter.c

    r15038 r15509  
    2828      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
    2929        if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue;
    30         Mcal  = getMcal  (m, i);
    31         if (Mcal == NO_MAG) continue;
    32         if (Mcal == NO_IMAGE) continue;
    33         Mmos  = getMmos  (m, i);
    34         if (Mmos == NO_MAG) continue;
    35         if (Mmos == NO_IMAGE) continue;
    36         if ((Mgrid = getMgrid (m, i)) == NO_MAG) continue;
     30        Mcal = getMcal  (m, i);
     31        if (isnan(Mcal)) continue;
     32        Mmos = getMmos  (m, i);
     33        if (isnan(Mmos)) continue;
     34        Mgrid = getMgrid (m, i);
     35        if (isnan(Mgrid)) continue;
    3736
    3837        Mrel = catalog[i].secfilt[PhotNsec*j+PhotSec].M;
  • trunk/Ohana/src/relphot/src/select_images.c

    r12726 r15509  
    138138      if (RESET) {
    139139        assignMcal (&image[nimage], (double *) NULL, -1);
    140         image[nimage].dMcal = NO_MAG;
     140        image[nimage].dMcal = NAN;
    141141        image[nimage].code &= ~ID_IMAGE_POOR;
    142142      }
  • trunk/Ohana/src/relphot/src/setMrelFinal.c

    r15038 r15509  
    99
    1010    for (i = 0; i < catalog[0].Naverage; i++) {
    11       catalog[0].secfilt[PhotNsec*i+PhotSec].M = NO_MAG;
    12       catalog[0].secfilt[PhotNsec*i+PhotSec].dM = NO_MAG;
    13       catalog[0].secfilt[PhotNsec*i+PhotSec].Xm = NO_MAG;
     11      catalog[0].secfilt[PhotNsec*i+PhotSec].M  = NAN;
     12      catalog[0].secfilt[PhotNsec*i+PhotSec].dM = NAN;
     13      catalog[0].secfilt[PhotNsec*i+PhotSec].Xm = NAN_S_SHORT;
    1414
    1515      m = catalog[0].average[i].offset;
     
    106106      /* skip measurements from BAD images and mosaics */
    107107      /* do NOT skip measurements without a matching image */
    108       if ((getMcal  (m, 0)) == NO_MAG) goto skip;
    109       if ((getMmos  (m, 0)) == NO_MAG) goto skip;
     108      if (isnan(getMcal (m, 0))) goto skip;
     109      if (isnan(getMmos (m, 0))) goto skip;
    110110
    111111      /* skip measurements by inst mag limit */
Note: See TracChangeset for help on using the changeset viewer.