IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 30612


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

trap error in where for imextract, avextract; add new fields for calibration quality (dXpixSys, etc); use new utility functions ala ToShortPixels; fix plotting of skycat at boundary

Location:
trunk/Ohana/src/opihi/dvo
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/dvo/avextract.c

    r28241 r30612  
    4444
    4545  // parse skyregion options
    46   if ((selection = SetRegionSelection (&argc, argv)) == NULL) goto escape;
     46  if ((selection = SetRegionSelection (&argc, argv)) == NULL) {
     47    print_error();
     48    goto escape;
     49  }
    4750
    4851  // command-line is of the form: avextract field,field, field [where (field op value)...]
     
    6871  // construct the db Boolean math stack (frees cstack)
    6972  stack = dbRPN (Ncstack, cstack, &Nstack);
     73  if (Ncstack && !Nstack) {
     74    print_error();
     75    goto escape;
     76  }
    7077
    7178  // add the skyregion limits to the where statement (or create)
  • trunk/Ohana/src/opihi/dvo/dbExtractImages.c

    r27587 r30612  
    241241
    242242    case IMAGE_NCAL:
    243       value.Int = image[N].Mxxxx;
     243      value.Int = image[N].nFitPhotom;
    244244      break;
    245245    case IMAGE_SKY:
    246       value.Flt = image[N].Myyyy + 0x8000;
     246      value.Flt = NAN;
    247247      break;
    248248    case IMAGE_FLAGS:
     
    299299      value.Flt = (field->ID == IMAGE_X_UR_FP) ? x : y;
    300300      break;
     301
     302    case IMAGE_X_ERR_SYS:
     303      value.Flt = image[N].dXpixSys;
     304      break;
     305    case IMAGE_Y_ERR_SYS:
     306      value.Flt = image[N].dXpixSys;
     307      break;
     308    case IMAGE_MAG_ERR_SYS:
     309      value.Flt = image[N].dMagSys;
     310      break;
     311
     312    case IMAGE_NFIT_PHOTOM:
     313      value.Int = image[N].nFitPhotom;
     314      break;
     315    case IMAGE_NFIT_ASTROM:
     316      value.Int = image[N].nFitAstrom;
     317      break;
     318    case IMAGE_NLINK_PHOTOM:
     319      value.Int = image[N].nLinkPhotom;
     320      break;
     321    case IMAGE_NLINK_ASTROM:
     322      value.Int = image[N].nLinkAstrom;
     323      break;
    301324  }
    302325  return (value);
  • trunk/Ohana/src/opihi/dvo/dbExtractMeasures.c

    r28955 r30612  
    320320      break;
    321321    case MEAS_FWHM: /* OK */
    322       value.Flt = 0.01*(measure[0].FWx + measure[0].FWy) / 2.0;
     322      value.Flt = FromShortPixels(measure[0].FWx + measure[0].FWy) / 2.0;
    323323      break;
    324324    case MEAS_FWHM_MAJ: /* OK */
    325       value.Flt = 0.01*measure[0].FWx;
     325      value.Flt = FromShortPixels(measure[0].FWx);
    326326      break;
    327327    case MEAS_FWHM_MIN: /* OK */
    328       value.Flt = 0.01*measure[0].FWy;
     328      value.Flt = FromShortPixels(measure[0].FWy);
    329329      break;
    330330    case MEAS_THETA: /* OK */
    331       value.Flt = measure[0].theta;
     331      value.Flt = FromShortDegrees(measure[0].theta);
    332332      break;
    333333    case MEAS_MXX: /* OK */
    334       value.Flt = measure[0].Mxx;
     334      value.Flt = FromShortPixels(measure[0].Mxx);
    335335      break;
    336336    case MEAS_MXY: /* OK */
    337       value.Flt = measure[0].Mxy;
     337      value.Flt = FromShortPixels(measure[0].Mxy);
    338338      break;
    339339    case MEAS_MYY: /* OK */
    340       value.Flt = measure[0].Myy;
     340      value.Flt = FromShortPixels(measure[0].Myy);
    341341      break;
    342342    case MEAS_DOPHOT: /* OK */
     
    382382      break;
    383383    case MEAS_XCCD_ERR: /* OK */
    384       value.Flt = measure[0].dXccd / 100.0;
     384      value.Flt = FromShortPixels(measure[0].dXccd);
    385385      break;
    386386    case MEAS_YCCD_ERR: /* OK */
    387       value.Flt = measure[0].dYccd / 100.0;
     387      value.Flt = FromShortPixels(measure[0].dYccd);
     388      break;
     389    case MEAS_POS_SYS_ERR: /* OK */
     390      value.Flt = FromShortPixels(measure[0].dRsys);
    388391      break;
    389392    case MEAS_XMOSAIC: /* OK */
     
    425428      value.Flt = measure[0].psfQual;
    426429      break;
     430    case MEAS_PSF_QF_PERFECT: /* OK */
     431      value.Flt = NAN;
     432      break;
    427433    case MEAS_PSF_CHISQ: /* OK */
    428434      value.Flt = measure[0].psfChisq;
  • trunk/Ohana/src/opihi/dvo/dbFields.c

    r28955 r30612  
    194194  if (!strcasecmp (fieldName, "XCCD:ERR"))       ESCAPE (MEAS_XCCD_ERR,       MAG_NONE, OPIHI_FLT);
    195195  if (!strcasecmp (fieldName, "YCCD:ERR"))       ESCAPE (MEAS_YCCD_ERR,       MAG_NONE, OPIHI_FLT);
     196  if (!strcasecmp (fieldName, "POS_SYS_ERR"))    ESCAPE (MEAS_POS_SYS_ERR,    MAG_NONE, OPIHI_FLT);
    196197  if (!strcasecmp (fieldName, "XMOSAIC"))        ESCAPE (MEAS_XMOSAIC,        MAG_NONE, OPIHI_FLT);
    197198  if (!strcasecmp (fieldName, "YMOSAIC"))        ESCAPE (MEAS_YMOSAIC,        MAG_NONE, OPIHI_FLT);
     
    205206  if (!strcasecmp (fieldName, "IMAGEID"))        ESCAPE (MEAS_IMAGE_ID,       MAG_NONE, OPIHI_INT);
    206207  if (!strcasecmp (fieldName, "PSF_QF"))         ESCAPE (MEAS_PSF_QF,         MAG_NONE, OPIHI_FLT);
     208  if (!strcasecmp (fieldName, "PSF_QF_PERFECT")) ESCAPE (MEAS_PSF_QF_PERFECT, MAG_NONE, OPIHI_FLT);
    207209  if (!strcasecmp (fieldName, "PSF_CHISQ"))      ESCAPE (MEAS_PSF_CHISQ,      MAG_NONE, OPIHI_FLT);
    208210  if (!strcasecmp (fieldName, "PSF_NDOF"))       ESCAPE (MEAS_PSF_NDOF,       MAG_NONE, OPIHI_INT);
     
    398400  if (!strcasecmp (fieldName, "trate"    )) ESCAPE (IMAGE_TRATE,     MAG_NONE, OPIHI_FLT);
    399401
    400   // XXX : these are mapped to ridiculous things: Myyyy + 0x8000 and Mxxxx
    401402  if (!strcasecmp (fieldName, "ncal"     )) ESCAPE (IMAGE_NCAL,      MAG_NONE, OPIHI_INT);
    402   if (!strcasecmp (fieldName, "sky"      )) ESCAPE (IMAGE_SKY,       MAG_NONE, OPIHI_FLT);
     403  if (!strcasecmp (fieldName, "sky"      )) ESCAPE (IMAGE_SKY,       MAG_NONE, OPIHI_FLT); // deprecated for now
    403404
    404405  if (!strcasecmp (fieldName, "imflags"  )) ESCAPE (IMAGE_FLAGS,     MAG_NONE, OPIHI_INT);
     
    427428  if (!strcasecmp (fieldName, "Y_UR_FP"  )) ESCAPE (IMAGE_Y_UR_FP,   MAG_NONE, OPIHI_FLT);
    428429
     430  if (!strcasecmp (fieldName, "dX_SYS"  )) ESCAPE (IMAGE_X_ERR_SYS,  MAG_NONE, OPIHI_FLT);
     431  if (!strcasecmp (fieldName, "dY_SYS"  )) ESCAPE (IMAGE_Y_ERR_SYS,  MAG_NONE, OPIHI_FLT);
     432  if (!strcasecmp (fieldName, "dM_SYS"  )) ESCAPE (IMAGE_MAG_ERR_SYS,MAG_NONE, OPIHI_FLT);
     433  if (!strcasecmp (fieldName, "NFIT_PHOTOM")) ESCAPE (IMAGE_NFIT_PHOTOM,MAG_NONE, OPIHI_INT);
     434  if (!strcasecmp (fieldName, "NFIT_ASTROM")) ESCAPE (IMAGE_NFIT_ASTROM,MAG_NONE, OPIHI_INT);
     435  if (!strcasecmp (fieldName, "NLINK_PHOTOM")) ESCAPE (IMAGE_NLINK_PHOTOM,MAG_NONE, OPIHI_INT);
     436  if (!strcasecmp (fieldName, "NLINK_ASTROM")) ESCAPE (IMAGE_NLINK_ASTROM,MAG_NONE, OPIHI_INT);
     437
    429438  // for words that don't parse, try a photcode
    430439  gprint (GP_ERR, "unknown field '%s' for image table in DVO database\n", fieldName);
  • trunk/Ohana/src/opihi/dvo/gimages.c

    r28958 r30612  
    201201    }
    202202
    203     /*** XXX we need to re-introduce the use of applyMcal
    204     Mcal = applyMcal (&image[i], 2048.0, 2048.0);
    205     ***/
     203    // XXX Mcal = applyMcal (&image[i], 2048.0, 2048.0);
    206204
    207205  got_spot:
  • trunk/Ohana/src/opihi/dvo/gstar.c

    r28326 r30612  
    222222            gprint (GP_LOG, "%5d ",    catalog.measure[m].photcode);
    223223            gprint (GP_LOG, "%-20s ",  GetPhotcodeNamebyCode (catalog.measure[m].photcode));
    224             gprint (GP_LOG, "%5.2f ",  0.01*catalog.measure[m].FWx);
    225             gprint (GP_LOG, "%5.2f ",  0.01*catalog.measure[m].FWy);
     224            gprint (GP_LOG, "%5.2f ",  FromShortPixels(catalog.measure[m].FWx));
     225            gprint (GP_LOG, "%5.2f ",  FromShortPixels(catalog.measure[m].FWy));
    226226
    227227            if (FULL_OUTPUT) {
     
    233233                gprint (GP_LOG, "%f ", catalog.measure[m].Xccd);
    234234                gprint (GP_LOG, "%f ", catalog.measure[m].Yccd);
    235                 gprint (GP_LOG, "%d ", catalog.measure[m].dXccd);
    236                 gprint (GP_LOG, "%d ", catalog.measure[m].dYccd);
     235                gprint (GP_LOG, "%f ", FromShortPixels(catalog.measure[m].dXccd));
     236                gprint (GP_LOG, "%f ", FromShortPixels(catalog.measure[m].dYccd));
    237237                gprint (GP_LOG, "%f ", catalog.measure[m].Sky);
    238238                gprint (GP_LOG, "%f ", catalog.measure[m].dSky);
     
    244244                gprint (GP_LOG, "%f ", catalog.measure[m].crNsigma);
    245245                gprint (GP_LOG, "%f ", catalog.measure[m].extNsigma);
    246                 gprint (GP_LOG, "%f ", (360.0/(float)0xffff)*catalog.measure[m].theta);
     246                gprint (GP_LOG, "%f ", FromShortDegrees(catalog.measure[m].theta));
    247247            }
    248248            gprint (GP_LOG, "\n");
  • trunk/Ohana/src/opihi/dvo/images.c

    r29938 r30612  
    223223      goto got_type;
    224224    }
    225     // For 'TrianglePts' (TRI-), we are using the Mx,My, etc terms to save the coordinates
    226     // this means triangular images cannot carry photometric zero-point variations
     225    // For 'TrianglePts' (TRI-), we are absurdly overloaded values otherwise not used
    227226    if (typehash == TrianglePts) {
    228227      Npts = 3;
    229       x[0] = image[i].Mx;   y[0] = image[i].My;
    230       x[1] = image[i].Mxxx; y[1] = image[i].Mxyy;
    231       x[2] = image[i].Mxxy; y[2] = image[i].Myyy;
     228      x[0] = image[0].dXpixSys;      y[0] = image[0].dYpixSys;
     229      x[1] = image[0].dMagSys;       y[1] = image[0].nFitAstrom;
     230      x[2] = image[0].photom_map_id; y[2] = image[0].astrom_map_id;
    232231      goto got_type;
    233232    }
  • trunk/Ohana/src/opihi/dvo/imextract.c

    r28958 r30612  
    6262  // construct the db Boolean math stack (frees cstack)
    6363  stack = dbRPN (Ncstack, cstack, &Nstack);
     64  if (Ncstack && !Nstack) {
     65    print_error();
     66    goto escape;
     67  }
    6468
    6569  // add the skyregion limits to the where statement (or create)
  • trunk/Ohana/src/opihi/dvo/imphot.c

    r29540 r30612  
    99  char bufname[64];
    1010  float *p;
    11   double fx, fy, x, y, applyMcal();
     11  double fx, fy, x, y;
    1212  Image *image;
    1313  Buffer *buf;
     
    6363    for (y = 0; y < 200; y+=1.0) {
    6464      for (x = 0; x < 100; x+=1.0, p++) {
    65         *p = applyMcal (&image[subset[0]], (fx*x), (fy*y));
     65        // *p = applyMcal (&image[subset[0]], (fx*x), (fy*y));
     66        *p = image[subset[0]].Mcal;
    6667      }
    6768    }
     
    7071  for (j = 0; j < Nsubset; j++) {
    7172    i = subset[j];
     73    gprint (GP_ERR, "%s: %f\n", image[i].name, image[i].Mcal);
     74
     75// XXX old code when we had the option of a 2D zero point model
     76# if (0)     
    7277    switch (image[i].order) {
    7378    case 0:
     
    9095      break;
    9196    }
     97# endif
    9298  }
    9399
  • trunk/Ohana/src/opihi/dvo/mextract.c

    r28955 r30612  
    6868  // construct the db Boolean math stack (frees cstack)
    6969  stack = dbRPN (Ncstack, cstack, &Nstack);
    70   if ((Ncstack > 0) && (Nstack < 1)) {
     70  if (Ncstack && !Nstack) {
    7171    print_error ();
    7272    goto escape;
  • trunk/Ohana/src/opihi/dvo/mmextract.c

    r28241 r30612  
    106106  // construct the db Boolean math stack (frees cstack)
    107107  stack1 = dbRPN (Ncstack1, cstack1, &Nstack1);
    108   if ((Ncstack1 > 0) && (Nstack1 < 1)) {
     108  if (Ncstack1 && !Nstack1) {
    109109    print_error ();
    110110    goto escape;
     
    113113  // construct the db Boolean math stack (frees cstack)
    114114  stack2 = dbRPN (Ncstack2, cstack2, &Nstack2);
    115   if ((Ncstack2 > 0) && (Nstack2 < 1)) {
     115  if (Ncstack2 && !Nstack2) {
    116116    print_error ();
    117117    goto escape;
  • trunk/Ohana/src/opihi/dvo/photometry.c

    r28955 r30612  
    778778  } else {
    779779   
    780     if (0.01 * measure[0].FWx < 3.0) return (FALSE);
    781     if (0.01 * measure[0].FWx > 10.0) return (FALSE);
     780    if (FromShortPixels(measure[0].FWx < 3.0)) return (FALSE);
     781    if (FromShortPixels(measure[0].FWx > 10.0)) return (FALSE);
    782782
    783783    return (TRUE);
     
    810810    Nm = 0;
    811811    for (i = 0; i < average[0].Nmeasure; i++) {
    812       fwhm = measure[i].FWx / 100.0;
     812      fwhm = FromShortPixels(measure[i].FWx);
    813813      switch (FWHMsign) {
    814814        case 0:
     
    11661166      break;
    11671167    case MEAS_FWHM: /* OK */
    1168       value = 0.01*measure[0].FWx;
     1168      value = FromShortPixels(measure[0].FWx);
    11691169      break;
    11701170    case MEAS_DB_FLAGS: /* ? */
  • trunk/Ohana/src/opihi/dvo/skycat.c

    r20936 r30612  
    3636
    3737  if (argc != 1) {
    38     gprint (GP_ERR, "USAGE: skycat [-all]\n");
     38    gprint (GP_ERR, "USAGE: skycat [-all] [-depth depth] [-v]\n");
    3939    return (FALSE);
    4040  }
     
    116116
    117117  r = ohana_normalize_angle (r);
     118  while (r < Rmin) { r += 360.0; }
     119  while (r > Rmax) { r -= 360.0; }
    118120
    119121  if (*leftside == -1) {
Note: See TracChangeset for help on using the changeset viewer.