IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 17190


Ignore:
Timestamp:
Mar 28, 2008, 3:24:23 PM (18 years ago)
Author:
eugene
Message:

adding Photom,Astrom Poor,Bad Mask fields to photcode; split measure flags into astrom and photom measure flags

Location:
trunk/Ohana/src/libdvo
Files:
3 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libdvo/Makefile

    r16810 r17190  
    6363$(SRC)/dvo_convert_PS1_DEV_1.$(ARCH).o \
    6464$(SRC)/dvo_convert_PS1_DEV_2.$(ARCH).o \
     65$(SRC)/dvo_convert_PS1_DEV_3.$(ARCH).o \
    6566$(SRC)/skyregion_io.$(ARCH).o    \
    6667$(SRC)/skyregion_gsc.$(ARCH).o    \
  • trunk/Ohana/src/libdvo/include/dvo.h

    r16981 r17190  
    9898
    9999/* Measure.flags values */
    100 # define ID_MEAS_NOCAL        0x0001
    101 # define ID_MEAS_POOR         0x0002
    102 # define ID_MEAS_SKIP         0x0004
    103 # define ID_MEAS_AREA         0x0008
    104 # define BLEND_IMAGE          0x0100
    105 # define BLEND_CATALOG        0x0200
    106 # define BLEND_IMAGE_NEIGHBOR 0x1000
    107 # define ID_MEAS_TRAIL        0x2000
    108 # define ID_MEAS_GHOST        0x4000
     100// XXX replace the # defines with typedef enum
     101# define ID_MEAS_NOCAL        0x0001  /* detection ignored for this analysis (photcode, time range) -- internal only */
     102# define ID_MEAS_POOR_PHOTOM  0x0002  /* detection is photometry outlier                                             */   
     103# define ID_MEAS_SKIP_PHOTOM  0x0004  /* detection was ignored for photometry measurement                            */   
     104# define ID_MEAS_AREA         0x0008  /* detection near image edge                                                   */
     105# define ID_MEAS_POOR_ASTROM  0x0010  /* detection is astrometry outlier                                             */   
     106# define ID_MEAS_SKIP_ASTROM  0x0020  /* detection was ignored for astrometry measurement                            */   
     107# define ID_MEAS_UNDEF_1      0x0040  /* unused                                                                      */
     108# define ID_MEAS_UNDEF_2      0x0080  /* unused                                                                      */
     109# define ID_MEAS_BLEND_MEAS   0x0100  /* detection is within radius of multiple objects                              */
     110# define ID_MEAS_BLEND_OBJ    0x0200  /* multiple detections within radius of object                                 */
     111# define ID_MEAS_UNDEF_3      0x0400  /* unused                                                                      */
     112# define ID_MEAS_UNDEF_4      0x0800  /* unused                                                                      */
     113# define ID_MEAS_BLEND_MEAS_X 0x1000  /* detection is within radius of multiple objects across catalogs              */
     114# define ID_MEAS_ARTIFACT     0x2000  /* detection is thought to be non-astronomical                                 */
     115# define ID_MEAS_UNDEF_5      0x4000  /* unused                                                                      */
     116# define ID_MEAS_UNDEF_6      0x8000  /* unused                                                                      */
     117
     118// XXX we used these names previously in markstar: replace with ID_MEAS_ARTIFACT
     119// # define ID_MEAS_TRAIL        0x2000
     120// # define ID_MEAS_GHOST        0x4000
    109121
    110122/* some subtle distinctions between the blend flags:
  • trunk/Ohana/src/libdvo/src/LoadPhotcodesFITS.c

    r16810 r17190  
    5656    photcode = PhotCode_PS1_DEV_2_To_Internal (photcode_ps1_dev_2, Ncode);
    5757    free (photcode_ps1_dev_2);
     58  }
     59
     60  if (!strcmp (extname, "DVO_PHOTCODE_PS1_DEV_3")) {
     61    PhotCode_PS1_DEV_3 *photcode_ps1_dev_3 = gfits_table_get_PhotCode_PS1_DEV_3 (&db.ftable, &Ncode, &db.swapped);
     62    photcode = PhotCode_PS1_DEV_3_To_Internal (photcode_ps1_dev_3, Ncode);
     63    free (photcode_ps1_dev_3);
    5864  }
    5965
  • trunk/Ohana/src/libdvo/src/LoadPhotcodesText.c

    r16810 r17190  
    3030  char C1[32], C2[32], Slope[32], Color[32], Primary[32];
    3131  char astromErrSys[32], astromErrScale[32], astromErrMagScale[32], photomErrSys[32];
     32  char astromPoorMask[32], astromBadMask[32], photomPoorMask[32], photomBadMask[32];
    3233
    3334  table = GetPhotcodeTable ();
     
    6162    for (c = line; isspace (*c); c++);
    6263    if (*c == '#') continue;
    63     Nfield = sscanf (c, "%d %s %s %s %s %s %s %s %s %s %s %s %s %s %s",
    64                      &code, name, type, Zero, Airmass, Offset, C1, C2, Slope, Color, Primary, astromErrSys, astromErrScale, astromErrMagScale, photomErrSys);
     64    Nfield = sscanf (c, "%d %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s",
     65                     &code, name, type, Zero, Airmass, Offset, C1, C2, Slope, Color, Primary, astromErrSys, astromErrScale, astromErrMagScale, photomErrSys, astromPoorMask, astromBadMask, photomPoorMask, photomBadMask);
    6566
    6667    switch (Nfield) {
     
    7172        strcpy (astromErrMagScale, "0.0");
    7273        strcpy (photomErrSys,      "0.0");
     74        strcpy (astromPoorMask,    "0");
     75        strcpy (astromBadMask,     "0");
     76        strcpy (photomPoorMask,    "0");
     77        strcpy (photomBadMask,     "0");
    7378        break;
    7479      case 14:
    7580        // allow only astrom elements
    7681        strcpy (photomErrSys,      "0.0");
     82        strcpy (astromPoorMask,    "0");
     83        strcpy (astromBadMask,     "0");
     84        strcpy (photomPoorMask,    "0");
     85        strcpy (photomBadMask,     "0");
    7786        break;
    7887      case 15:
     88        strcpy (astromPoorMask,    "0");
     89        strcpy (astromBadMask,     "0");
     90        strcpy (photomPoorMask,    "0");
     91        strcpy (photomBadMask,     "0");
     92        break;
     93      case 17:
     94        strcpy (photomPoorMask,    "0");
     95        strcpy (photomBadMask,     "0");
     96        break;
     97      case 19:
    7998        // all fields defined
    8099        break;
     
    116135    photcode[Ncode].astromErrMagScale = atof (astromErrMagScale);
    117136    photcode[Ncode].photomErrSys      = atof (photomErrSys);
     137
     138    photcode[Ncode].astromPoorMask    = strtol (astromPoorMask, NULL, 0);
     139    photcode[Ncode].astromBadMask     = strtol (astromBadMask, NULL, 0);
     140    photcode[Ncode].photomPoorMask    = strtol (photomPoorMask, NULL, 0);
     141    photcode[Ncode].photomBadMask     = strtol (photomBadMask, NULL, 0);
    118142
    119143    switch (photcode[Ncode].type) {
  • trunk/Ohana/src/libdvo/src/SavePhotcodesFITS.c

    r16810 r17190  
    2929  // for the moment, we simply support the latest photcode format for output
    3030  // XXX update this as needed as new formats are defined
    31   PhotCode_PS1_DEV_2 *photcode_output = PhotCode_Internal_To_PS1_DEV_2 (table[0].code, table[0].Ncode);
     31  PhotCode_PS1_DEV_3 *photcode_output = PhotCode_Internal_To_PS1_DEV_3 (table[0].code, table[0].Ncode);
    3232
    3333  /* convert FITS format data to internal format (byteswaps & EXTNAME) */
    3434  gfits_db_create (&db);
    35   gfits_table_set_PhotCode_PS1_DEV_2 (&db.ftable, photcode_output, table[0].Ncode);
     35  gfits_table_set_PhotCode_PS1_DEV_3 (&db.ftable, photcode_output, table[0].Ncode);
    3636  gfits_db_save (&db);
    3737  gfits_db_close (&db);
  • trunk/Ohana/src/libdvo/src/SavePhotcodesText.c

    r14590 r17190  
    4141  }
    4242
     43  fprintf (f, "#                                           airmass      color                         astrometry  mag    photom  astrom mask    photom mask\n");
     44  fprintf (f, "# code  name                type    zero  slope offset c1    c2   slope   zero  equiv  sys scale   scale  sys     poor   bad     poor   bad\n");
     45  //          "  1     g                    sec   0.000  0.000 0.000  1003  1004 0.0160     0  1051   0.000 0.000 0.000  0.000   0xffff 0xffff  0xffff 0xffff
     46
    4347  for (i = 0; i < table[0].Ncode; i++) {
    4448    switch (table[0].code[i].type) {
     
    7276
    7377    for (j = 0; j < table[0].code[i].Nc - 1; j++) {
    74       fprintf (f, " %f,", table[0].code[i].X[j]);
     78      fprintf (f, " %6.4f,", table[0].code[i].X[j]);
    7579    }
    76     fprintf (f, "%f %d ", table[0].code[i].X[j], table[0].code[i].dX);
     80    fprintf (f, "%6.4f %5d ", table[0].code[i].X[j], table[0].code[i].dX);
    7781    PrintPhotcodeNamebyCode (f, "%5d ", table[0].code[i].equiv);
     82
     83    fprintf (f, "  %5.3f %5.3f %5.3f  %5.3f",
     84             table[0].code[i].astromErrSys,
     85             table[0].code[i].astromErrScale,
     86             table[0].code[i].astromErrMagScale,
     87             table[0].code[i].photomErrSys);
     88
     89    fprintf (f, "   0x%04x 0x%04x  0x%04x 0x%04x",
     90             table[0].code[i].astromPoorMask,
     91             table[0].code[i].astromBadMask,
     92             table[0].code[i].photomPoorMask,
     93             table[0].code[i].photomBadMask);
     94
    7895    fprintf (f, "\n");
    7996  }
  • trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c

    r16810 r17190  
    354354    memcpy (out[i].X, in[i].X, 4*sizeof(float));           
    355355
    356   }
    357   return (out);
    358 }
     356    out[i].photomPoorMask      = 0;
     357    out[i].photomBadMask       = 0;
     358    out[i].astromPoorMask      = 0;
     359    out[i].astromBadMask       = 0;
     360  }
     361  return (out);
     362}
  • trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_2.c

    r16810 r17190  
    361361    out[i].astromErrMagScale = in[i].astromErrMagScale;
    362362    out[i].photomErrSys      = in[i].photomErrSys;
    363   }
    364   return (out);
    365 }
     363
     364    out[i].photomPoorMask      = 0;
     365    out[i].photomBadMask       = 0;
     366    out[i].astromPoorMask      = 0;
     367    out[i].astromBadMask       = 0;
     368  }
     369  return (out);
     370}
  • trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c

    r16810 r17190  
    355355    out[i].astromErrMagScale = 0.0;
    356356    out[i].photomErrSys      = 0.0;
    357   }
    358   return (out);
    359 }
     357
     358    out[i].photomPoorMask      = 0;
     359    out[i].photomBadMask       = 0;
     360    out[i].astromPoorMask      = 0;
     361    out[i].astromBadMask       = 0;
     362  }
     363  return (out);
     364}
  • trunk/Ohana/src/libdvo/src/skyregion_gsc.c

    r17001 r17190  
    5353 
    5454  // ohana_memdump (0);
     55
     56  if (filename == NULL) {
     57    if (VERBOSE) fprintf (stderr, "template GSC Region file not defined\n");
     58    return (NULL);
     59  }
    5560
    5661  f = fopen (filename, "r");
Note: See TracChangeset for help on using the changeset viewer.