IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 30613


Ignore:
Timestamp:
Feb 13, 2011, 11:24:53 AM (15 years ago)
Author:
eugene
Message:

add some extra error checking in addstar -resort; use ToShortPixels, etc; remove refs to image.Mxx...Myyyy

Location:
trunk/Ohana/src/addstar
Files:
10 edited

Legend:

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

    r29938 r30613  
    265265
    266266int        InitStar               PROTO((Stars *star));
    267 short      ShortPixels            PROTO((float pixels));
    268 short      ShortDegree            PROTO((float degrees));
    269267
    270268int args_skycells (int argc, char **argv);
  • trunk/Ohana/src/addstar/src/ReadStarsFITS.c

    r29938 r30613  
    9898    stars[i].measure.photFlags = (smpdata[i].dophot << 16);
    9999
    100     stars[i].measure.FWx       = ShortPixels (smpdata[i].fx);
    101     stars[i].measure.FWy       = ShortPixels (smpdata[i].fy);
    102     stars[i].measure.theta     = ShortDegree (smpdata[i].df);
     100    stars[i].measure.FWx       = ToShortPixels (smpdata[i].fx);
     101    stars[i].measure.FWy       = ToShortPixels (smpdata[i].fy);
     102    stars[i].measure.theta     = ToShortDegrees (smpdata[i].df);
    103103  }   
    104104  *nstars = Nstars;
     
    127127    stars[i].measure.Yccd     = ps1data[i].Y;
    128128
    129     stars[i].measure.dXccd    = ShortPixels(ps1data[i].dX);
    130     stars[i].measure.dYccd    = ShortPixels(ps1data[i].dY);
     129    stars[i].measure.dXccd    = ToShortPixels(ps1data[i].dX);
     130    stars[i].measure.dYccd    = ToShortPixels(ps1data[i].dY);
    131131   
    132132    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
     
    140140    stars[i].measure.dSky     = ps1data[i].dSky;
    141141
    142     stars[i].measure.FWx      = ShortPixels(ps1data[i].fx);
    143     stars[i].measure.FWy      = ShortPixels(ps1data[i].fy);
    144     stars[i].measure.theta    = ShortDegree(ps1data[i].df);
     142    stars[i].measure.FWx      = ToShortPixels(ps1data[i].fx);
     143    stars[i].measure.FWy      = ToShortPixels(ps1data[i].fy);
     144    stars[i].measure.theta    = ToShortDegrees(ps1data[i].df);
    145145
    146146    stars[i].measure.psfChisq = ps1data[i].psfChisq;
     
    176176    stars[i].measure.Yccd       = ps1data[i].Y;
    177177
    178     stars[i].measure.dXccd      = ShortPixels(ps1data[i].dX);
    179     stars[i].measure.dYccd      = ShortPixels(ps1data[i].dY);
     178    stars[i].measure.dXccd      = ToShortPixels(ps1data[i].dX);
     179    stars[i].measure.dYccd      = ToShortPixels(ps1data[i].dY);
    180180
    181181    if ((ps1data[i].M >= 0.0) || isnan(ps1data[i].M)) {
     
    189189    stars[i].measure.dSky       = ps1data[i].dSky;
    190190
    191     stars[i].measure.FWx        = ShortPixels(ps1data[i].fx);
    192     stars[i].measure.FWy        = ShortPixels(ps1data[i].fy);
    193     stars[i].measure.theta      = ShortDegree(ps1data[i].df);
     191    stars[i].measure.FWx        = ToShortPixels(ps1data[i].fx);
     192    stars[i].measure.FWy        = ToShortPixels(ps1data[i].fy);
     193    stars[i].measure.theta      = ToShortDegrees(ps1data[i].df);
    194194
    195195    stars[i].measure.psfChisq   = ps1data[i].psfChisq;
     
    238238    stars[i].measure.Xccd       = ps1data[i].X;
    239239    stars[i].measure.Yccd       = ps1data[i].Y;
    240     stars[i].measure.dXccd      = ShortPixels(ps1data[i].dX);
    241     stars[i].measure.dYccd      = ShortPixels(ps1data[i].dY);
    242 
    243     stars[i].measure.posangle   = ShortDegree(ps1data[i].posangle);
     240    stars[i].measure.dXccd      = ToShortPixels(ps1data[i].dX);
     241    stars[i].measure.dYccd      = ToShortPixels(ps1data[i].dY);
     242
     243    stars[i].measure.posangle   = ToShortDegrees(ps1data[i].posangle);
    244244    stars[i].measure.pltscale   = ps1data[i].pltscale;
    245245
     
    263263    stars[i].measure.extNsigma  = ps1data[i].extNsigma;
    264264
    265     stars[i].measure.FWx        = ShortPixels(ps1data[i].fx);
    266     stars[i].measure.FWy        = ShortPixels(ps1data[i].fy);
    267     stars[i].measure.theta      = ShortDegree(ps1data[i].df);
    268 
    269     stars[i].measure.Mxx        = ShortPixels(ps1data[i].Mxx);
    270     stars[i].measure.Mxy        = ShortPixels(ps1data[i].Mxy);
    271     stars[i].measure.Myy        = ShortPixels(ps1data[i].Myy);
     265    stars[i].measure.FWx        = ToShortPixels(ps1data[i].fx);
     266    stars[i].measure.FWy        = ToShortPixels(ps1data[i].fy);
     267    stars[i].measure.theta      = ToShortDegrees(ps1data[i].df);
     268
     269    stars[i].measure.Mxx        = ToShortPixels(ps1data[i].Mxx);
     270    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
     271    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
    272272                       
    273273    stars[i].measure.photFlags  = ps1data[i].flags;
     
    314314    stars[i].measure.Xccd       = ps1data[i].X;
    315315    stars[i].measure.Yccd       = ps1data[i].Y;
    316     stars[i].measure.dXccd      = ShortPixels(ps1data[i].dX);
    317     stars[i].measure.dYccd      = ShortPixels(ps1data[i].dY);
    318 
    319     stars[i].measure.posangle   = ShortDegree(ps1data[i].posangle);
     316    stars[i].measure.dXccd      = ToShortPixels(ps1data[i].dX);
     317    stars[i].measure.dYccd      = ToShortPixels(ps1data[i].dY);
     318
     319    stars[i].measure.posangle   = ToShortDegrees(ps1data[i].posangle);
    320320    stars[i].measure.pltscale   = ps1data[i].pltscale;
    321321
     
    339339    stars[i].measure.extNsigma  = ps1data[i].extNsigma;
    340340
    341     stars[i].measure.FWx        = ShortPixels(ps1data[i].fx);
    342     stars[i].measure.FWy        = ShortPixels(ps1data[i].fy);
    343     stars[i].measure.theta      = ShortDegree(ps1data[i].df);
    344 
    345     stars[i].measure.Mxx        = ShortPixels(ps1data[i].Mxx);
    346     stars[i].measure.Mxy        = ShortPixels(ps1data[i].Mxy);
    347     stars[i].measure.Myy        = ShortPixels(ps1data[i].Myy);
     341    stars[i].measure.FWx        = ToShortPixels(ps1data[i].fx);
     342    stars[i].measure.FWy        = ToShortPixels(ps1data[i].fy);
     343    stars[i].measure.theta      = ToShortDegrees(ps1data[i].df);
     344
     345    stars[i].measure.Mxx        = ToShortPixels(ps1data[i].Mxx);
     346    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
     347    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
    348348                       
    349349    stars[i].measure.photFlags  = ps1data[i].flags;
     
    382382    stars[i].measure.Xccd       = ps1data[i].X;
    383383    stars[i].measure.Yccd       = ps1data[i].Y;
    384     stars[i].measure.dXccd      = ShortPixels(ps1data[i].dX);
    385     stars[i].measure.dYccd      = ShortPixels(ps1data[i].dY);
    386 
    387     stars[i].measure.posangle   = ShortDegree(ps1data[i].posangle);
     384    stars[i].measure.dXccd      = ToShortPixels(ps1data[i].dX);
     385    stars[i].measure.dYccd      = ToShortPixels(ps1data[i].dY);
     386
     387    stars[i].measure.posangle   = ToShortDegrees(ps1data[i].posangle);
    388388    stars[i].measure.pltscale   = ps1data[i].pltscale;
    389389
     
    407407    stars[i].measure.extNsigma  = ps1data[i].extNsigma;
    408408
    409     stars[i].measure.FWx        = ShortPixels(ps1data[i].fx);
    410     stars[i].measure.FWy        = ShortPixels(ps1data[i].fy);
    411     stars[i].measure.theta      = ShortDegree(ps1data[i].df);
    412 
    413     stars[i].measure.Mxx        = ShortPixels(ps1data[i].Mxx);
    414     stars[i].measure.Mxy        = ShortPixels(ps1data[i].Mxy);
    415     stars[i].measure.Myy        = ShortPixels(ps1data[i].Myy);
     409    stars[i].measure.FWx        = ToShortPixels(ps1data[i].fx);
     410    stars[i].measure.FWy        = ToShortPixels(ps1data[i].fy);
     411    stars[i].measure.theta      = ToShortDegrees(ps1data[i].df);
     412
     413    stars[i].measure.Mxx        = ToShortPixels(ps1data[i].Mxx);
     414    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
     415    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
    416416                       
    417417    stars[i].measure.photFlags  = ps1data[i].flags;
     
    450450    stars[i].measure.Xccd       = ps1data[i].X;
    451451    stars[i].measure.Yccd       = ps1data[i].Y;
    452     stars[i].measure.dXccd      = ShortPixels(ps1data[i].dX);
    453     stars[i].measure.dYccd      = ShortPixels(ps1data[i].dY);
    454 
    455     stars[i].measure.posangle   = ShortDegree(ps1data[i].posangle);
     452    stars[i].measure.dXccd      = ToShortPixels(ps1data[i].dX);
     453    stars[i].measure.dYccd      = ToShortPixels(ps1data[i].dY);
     454
     455    stars[i].measure.posangle   = ToShortDegrees(ps1data[i].posangle);
    456456    stars[i].measure.pltscale   = ps1data[i].pltscale;
    457457
     
    475475    stars[i].measure.extNsigma  = ps1data[i].extNsigma;
    476476
    477     stars[i].measure.FWx        = ShortPixels(ps1data[i].fx);
    478     stars[i].measure.FWy        = ShortPixels(ps1data[i].fy);
    479     stars[i].measure.theta      = ShortDegree(ps1data[i].df);
    480 
    481     stars[i].measure.Mxx        = ShortPixels(ps1data[i].Mxx);
    482     stars[i].measure.Mxy        = ShortPixels(ps1data[i].Mxy);
    483     stars[i].measure.Myy        = ShortPixels(ps1data[i].Myy);
     477    stars[i].measure.FWx        = ToShortPixels(ps1data[i].fx);
     478    stars[i].measure.FWy        = ToShortPixels(ps1data[i].fy);
     479    stars[i].measure.theta      = ToShortDegrees(ps1data[i].df);
     480
     481    stars[i].measure.Mxx        = ToShortPixels(ps1data[i].Mxx);
     482    stars[i].measure.Mxy        = ToShortPixels(ps1data[i].Mxy);
     483    stars[i].measure.Myy        = ToShortPixels(ps1data[i].Myy);
    484484                       
    485485    stars[i].measure.photFlags  = ps1data[i].flags;
  • trunk/Ohana/src/addstar/src/ReadStarsSDSS.c

    r29938 r30613  
    159159      stars[N].measure.Xccd      = colc[N];
    160160      stars[N].measure.Yccd      = rowc[N];
    161       stars[N].measure.dXccd     = ShortPixels(colcErr[N]);
    162       stars[N].measure.dYccd     = ShortPixels(rowcErr[N]);
     161      stars[N].measure.dXccd     = ToShortPixels(colcErr[N]);
     162      stars[N].measure.dYccd     = ToShortPixels(rowcErr[N]);
    163163      stars[N].measure.M         = psfCounts[N] + ZeroPt - zeropt[j];
    164164      stars[N].measure.dM        = psfCountsErr[N];
     
    166166      stars[N].measure.Sky       = sky[N]; // adjust this to counts?
    167167      stars[N].measure.dSky      = skyErr[N];
    168       stars[N].measure.FWx       = ShortPixels(seeing[j]); // reported in arcsec?
    169       stars[N].measure.FWy       = ShortPixels(seeing[j]);
     168      stars[N].measure.FWx       = ToShortPixels(seeing[j]); // reported in arcsec?
     169      stars[N].measure.FWy       = ToShortPixels(seeing[j]);
    170170      if (prob_psf) {
    171171          stars[N].measure.psfChisq  = prob_psf[N]; // XXX not really the correct value...
  • trunk/Ohana/src/addstar/src/ReadStarsTEXT.c

    r21508 r30613  
    9595      dparse (&df,  11, &buffer[j*BYTES_STAR]);
    9696
    97       stars[N].measure.FWx   = ShortPixels (fx);
    98       stars[N].measure.FWy   = ShortPixels (fy);
    99       stars[N].measure.theta = ShortDegree (df);
     97      stars[N].measure.FWx   = ToShortPixels (fx);
     98      stars[N].measure.FWy   = ToShortPixels (fy);
     99      stars[N].measure.theta = ToShortDegrees (df);
    100100    }
    101101  }
  • trunk/Ohana/src/addstar/src/StarOps.c

    r21508 r30613  
    99    return TRUE;
    1010}
    11 
    12 short ShortPixels (float pixels) {
    13 
    14     short value;
    15 
    16     value = 100*pixels;
    17 
    18     return value;
    19 }
    20 
    21 short ShortDegree (float degrees) {
    22 
    23     short value;
    24 
    25     value = (0xffff/360.0)*degrees;
    26 
    27     return value;
    28 }
  • trunk/Ohana/src/addstar/src/calibrate.c

    r27435 r30613  
    225225    image[0].Mcal = M1;
    226226    image[0].dMcal = M2 / sqrt (N);
    227     image[0].Mxxxx = N;
     227    image[0].nFitPhotom = N;
    228228  } else {
    229229    fprintf (stderr, "too few stars\n");
    230230    image[0].Mcal = 10.000;
    231231    image[0].dMcal = 10.000;
    232     image[0].Mxxxx = 0;
    233   }
    234 }
     232    image[0].nFitPhotom = 0;
     233  }
     234}
  • trunk/Ohana/src/addstar/src/fakeimage.c

    r27435 r30613  
    134134
    135135    image[i+1].nstar = 0;
    136     image[i+1].Myyyy = 0;
    137136
    138137    /* check if chip hits outer bounds of mosaic */
     
    191190  image[0].flags = 0;
    192191  image[0].nstar = 0;
    193   image[0].Myyyy = 0;
    194192
    195193  // XXX need to set the imageID here
  • trunk/Ohana/src/addstar/src/get2mass_full.c

    r23226 r30613  
    1717  ptr = next2MASSfield (ptr); // dec (assumed to be already set)
    1818  ptr = next2MASSfield (ptr); // err_maj
    19   star[0][0].measure.FWx = ShortPixels(strtod (ptr, NULL));
     19  star[0][0].measure.FWx = ToShortPixels(strtod (ptr, NULL));
    2020  ptr = next2MASSfield (ptr); // err_min
    21   star[0][0].measure.FWy = ShortPixels(strtod (ptr, NULL));
     21  star[0][0].measure.FWy = ToShortPixels(strtod (ptr, NULL));
    2222  ptr = next2MASSfield (ptr); // err_ang
    23   star[0][0].measure.theta = ShortPixels(strtod (ptr, NULL));
     23  star[0][0].measure.theta = ToShortPixels(strtod (ptr, NULL));
    2424
    2525  star[2][0].measure.FWx   = star[2][0].measure.FWx   = star[0][0].measure.FWx;
  • trunk/Ohana/src/addstar/src/resort_catalog.c

    r30426 r30613  
    3939    tmp_ave  = AVE[A];  AVE[A]  = AVE[B];  AVE[B]  = tmp_ave;           \
    4040  }
    41 # define COMPARE(A,B)(MEAS[A] < MEAS[B])
     41# define COMPARE(A,B)(AVE[A] < AVE[B])
    4242  OHANA_SORT (N, COMPARE, SWAPFUNC);
    4343# undef SWAPFUNC
     
    9696  }
    9797 
     98  // check that averageSeq is now in order
     99  // for (i = 1; i < Nmeasure; i++) {
     100  //   if (averageSeq[i] < averageSeq[i-1]) {
     101  //     fprintf (stderr, "%d ", (int) i);
     102  //   }
     103  // }
     104  // fprintf (stderr, "\n");
     105
    98106  SortAveMeasMatch(measureSeq, averageSeq, Nmeasure);
    99107  // MARKTIME("sort : %f sec\n", dtime);
     108
     109  // check that averageSeq is now in order
     110  // for (i = 1; i < Nmeasure; i++) {
     111  //   if (averageSeq[i] < averageSeq[i-1]) {
     112  //     fprintf (stderr, "%d ", (int) i);
     113  //   }
     114  // }
     115  // fprintf (stderr, "\n");
    100116
    101117  // copy the measurements in the sorted order
     
    116132  for (i = 0; i < Nmeasure; i++) {
    117133    if (averageSeq[i] != currentAve) {
     134      // we have hit the next entry in the list
    118135      average[currentAve].Nmeasure = N;
    119136      N = 0;
     
    127144  // MARKTIME("update Nmeasure : %f sec\n", dtime);
    128145
     146  int NmeasureTotal = 0;
     147  int measureOffsetOK = TRUE;
     148  for (i = 0; i < catalog[0].Naverage; i++) {
     149    NmeasureTotal += catalog[0].average[i].Nmeasure;
     150    if (VERBOSE && !(NmeasureTotal <= catalog[0].Nmeasure)) {
     151      fprintf (stderr, "too few measurements: %d %d %d\n", (int) i, NmeasureTotal, (int) catalog[0].Nmeasure);
     152    }
     153    measureOffsetOK &= (catalog[0].average[i].measureOffset < catalog[0].Nmeasure);
     154    if (VERBOSE && !(catalog[0].average[i].measureOffset < catalog[0].Nmeasure)) {
     155      fprintf (stderr, "offset too large: %d %d %d\n", (int) i, catalog[0].average[i].Nmeasure, (int) catalog[0].Nmeasure);
     156    }
     157    measureOffsetOK &= (catalog[0].average[i].measureOffset + catalog[0].average[i].Nmeasure <= catalog[0].Nmeasure);
     158    if (VERBOSE && !(catalog[0].average[i].measureOffset + catalog[0].average[i].Nmeasure <= catalog[0].Nmeasure)) {
     159      fprintf (stderr, "orrset + Nmeasure too large: %d + %d > %d %d\n", (int) i, catalog[0].average[i].measureOffset, catalog[0].average[i].Nmeasure, (int) catalog[0].Nmeasure);
     160    }
     161  }
     162
     163  if (!measureOffsetOK) {
     164    fprintf (stderr, "ERROR: catalog %s has an invalid measureOffset\n", catalog[0].filename);
     165  }
     166
     167  if (NmeasureTotal != catalog[0].Nmeasure) {
     168    fprintf (stderr, "ERROR: catalog %s has an invalid Nmeasure\n", catalog[0].filename);
     169  }
     170
    129171  // MARKTIME("  match time %9.4f sec for %7lld measures, %6lld average\n", dtime, (long long) Nmeasure, (long long) Naverage);
     172
     173  catalog[0].sorted = TRUE;
    130174
    131175  FREE (measureSeq);
  • trunk/Ohana/src/addstar/src/sky_tessalation.c

    r28673 r30613  
    338338  image[0].photcode = 1; // this needs to be set more sensibly
    339339
    340   image[0].Mx   = xv[0];  image[0].My   = yv[0];
    341   image[0].Mxxx = xv[1];  image[0].Mxyy = yv[1];
    342   image[0].Mxxy = xv[2];  image[0].Myyy = yv[2];
     340  // XXX these overload these value in a silly way
     341  image[0].dXpixSys = xv[0];       image[0].dYpixSys   = yv[0];
     342  image[0].dMagSys  = xv[1];       image[0].nFitAstrom = yv[1];
     343  image[0].photom_map_id = xv[2];  image[0].astrom_map_id = yv[2];
    343344
    344345  return (TRUE);
Note: See TracChangeset for help on using the changeset viewer.