IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 35755


Ignore:
Timestamp:
Jul 3, 2013, 2:07:36 PM (13 years ago)
Author:
eugene
Message:

add ID_SECF_STACK_PRIMARY; add missing return chars in warnings; use common init code for fits_db; add projID to boundary tree; check stack RPN for mismatches

Location:
trunk/Ohana/src/libdvo
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libdvo/include/dvo.h

    r35416 r35755  
    182182/* Secfilt.flags values -- these values are 32 bit (as of PS1_V1) */
    183183typedef enum {
    184   ID_SECF_STAR_FEW    = 0x00000001, // used within relphot: skip star
    185   ID_SECF_STAR_POOR   = 0x00000002, // used within relphot: skip star
    186   ID_SECF_USE_SYNTH   = 0x00000004, // synthetic photometry used in average measurement
    187   ID_SECF_USE_UBERCAL = 0x00000008, // synthetic photometry used in average measurement
    188   ID_SECF_HAS_PS1     = 0x00000010, // PS1 photometry used in average measurement
    189   ID_SECF_HAS_STACK   = 0x00000020, // PS1 stack photometry exists
    190   ID_PHOTOM_PASS_0    = 0x00000100, // average magnitude calculated in 0th pass
    191   ID_PHOTOM_PASS_1    = 0x00000200, // average magnitude calculated in 1th pass
    192   ID_PHOTOM_PASS_2    = 0x00000400, // average magnitude calculated in 2th pass
    193   ID_PHOTOM_PASS_3    = 0x00000800, // average magnitude calculated in 3th pass
    194   ID_PHOTOM_PASS_4    = 0x00001000, // average magnitude calculated in 4th pass
    195   ID_PSPS_OBJ_EXT     = 0x00002000, // In PSPS ID_SECF_OBJ_EXT is moved here so it fits within 16 bits
    196   ID_SECF_OBJ_EXT     = 0x01000000, // extended in this band
     184  ID_SECF_STAR_FEW      = 0x00000001, // used within relphot: skip star
     185  ID_SECF_STAR_POOR     = 0x00000002, // used within relphot: skip star
     186  ID_SECF_USE_SYNTH     = 0x00000004, // synthetic photometry used in average measurement
     187  ID_SECF_USE_UBERCAL   = 0x00000008, // synthetic photometry used in average measurement
     188  ID_SECF_HAS_PS1       = 0x00000010, // PS1 photometry used in average measurement
     189  ID_SECF_HAS_STACK     = 0x00000020, // PS1 stack photometry exists
     190  ID_PHOTOM_PASS_0      = 0x00000100, // average magnitude calculated in 0th pass
     191  ID_PHOTOM_PASS_1      = 0x00000200, // average magnitude calculated in 1th pass
     192  ID_PHOTOM_PASS_2      = 0x00000400, // average magnitude calculated in 2th pass
     193  ID_PHOTOM_PASS_3      = 0x00000800, // average magnitude calculated in 3th pass
     194  ID_PHOTOM_PASS_4      = 0x00001000, // average magnitude calculated in 4th pass
     195  ID_PSPS_OBJ_EXT       = 0x00002000, // In PSPS ID_SECF_OBJ_EXT is moved here so it fits within 16 bits
     196  ID_SECF_STACK_PRIMARY = 0x00004000, // PS1 stack photometry comes from primary skycell
     197  ID_SECF_OBJ_EXT       = 0x01000000, // extended in this band
    197198} DVOSecfiltFlags;
    198199
     
    250251/* definitions for parallel dvo host information
    251252   XXX : need better names (safer namespace)
    252  */
     253*/
    253254
    254255typedef enum {
     
    328329  double  **dec; // DEC of projection cell center
    329330  int    **cell; // zone,band -> proj cell sequence
     331  int    **projID; // zone,band -> proj cell ID
    330332  char  ***name; // projection cell name
    331333 
  • trunk/Ohana/src/libdvo/src/BoundaryTree.c

    r34844 r35755  
    8484    ALLOCATE (tree->dY,      int *, tree->Nzone);
    8585    ALLOCATE (tree->cell,    int *, tree->Nzone);
     86    ALLOCATE (tree->projID,  int *, tree->Nzone);
    8687    ALLOCATE (tree->name,  char **, tree->Nzone);
    8788    for (i = 0; i < tree->Nzone; i++) {
     
    9394      ALLOCATE (tree->dY[i],      int, tree->Nband[i]);
    9495      ALLOCATE (tree->cell[i],    int, tree->Nband[i]);
     96      ALLOCATE (tree->projID[i],  int, tree->Nband[i]);
    9597      ALLOCATE (tree->name[i], char *, tree->Nband[i]);
    9698      for (j = 0; j < tree->Nband[i]; j++) {
     
    135137      tree->cell[nz][nb] = i; // XXX ?
    136138      memcpy(tree->name[nz][nb], &name[i*BOUNDARY_TREE_NAME_LENGTH], BOUNDARY_TREE_NAME_LENGTH);
     139      // XXX parse out the ID from the name (skycell.NNNN)
     140      tree->projID[nz][nb] = atoi(&tree->name[nz][nb][8]);
    137141    }
    138142
  • trunk/Ohana/src/libdvo/src/LoadPhotcodesFITS.c

    r34594 r35755  
    1515
    1616  /* XXX choose more sensible lock timeouts! */
     17  db.timeout   = 60.0;
    1718  db.lockstate = LCK_SOFT;
    18   db.timeout   = 60.0;
    1919  gfits_db_init (&db);
    2020
  • trunk/Ohana/src/libdvo/src/dbCheckStack.c

    r31635 r35755  
    2323
    2424  for (i = 0; i < Nstack; i++) {
     25
     26    // BINARY operators
     27    if ((stack[i].type >= DB_STACK_LOGIC) && (stack[i].type <= DB_STACK_POWER)) {
     28      if (i < 2) {
     29        gprint (GP_ERR, "syntax error for field %s (binary operator missing operand)\n", stack[i].name);
     30        goto failure;
     31      }
     32    }
     33
     34    // UNARY operators
     35    if (stack[i].type == DB_STACK_UNARY) {
     36      if (i < 1) {
     37        gprint (GP_ERR, "syntax error for field %s (unary operator missing operand)\n", stack[i].name);
     38        goto failure;
     39      }
     40    }
     41
    2542    if (stack[i].type == DB_STACK_VALUE) {
    2643
  • trunk/Ohana/src/libdvo/src/fits_db.c

    r34749 r35755  
    66  db[0].f             = NULL;
    77  db[0].filename      = NULL;
     8 
     9# if (1)
     10  gfits_init_header (&db->header);
     11  gfits_init_matrix (&db->matrix);
     12  gfits_init_header (&db->theader);
     13  gfits_init_table (&db->ftable);
     14  db->ftable.header = &db->theader;
     15  gfits_init_vtable (&db->vtable);
     16# else 
    817  db[0].header.buffer = NULL;
    918  db[0].matrix.buffer = NULL;
     
    1120  db[0].ftable.buffer = NULL;
    1221  db[0].ftable.header = &db[0].theader;
    13 
    1422  db[0].vtable.header = NULL;
    1523  db[0].vtable.buffer = NULL;
    1624  db[0].vtable.row    = NULL;
     25# endif
    1726  return (TRUE);
    1827}
     
    7483  }
    7584  if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
    76     fprintf (stderr, "can't read primary matrix");
     85    fprintf (stderr, "can't read primary matrix\n");
    7786    gfits_db_free (db);
    7887    return (FALSE);
    7988  }
    8089  if (!gfits_fread_header (db[0].f, &db[0].theader)) {
    81     fprintf (stderr, "can't read table header");
     90    fprintf (stderr, "can't read table header\n");
    8291    gfits_db_free (db);
    8392    return (FALSE);
    8493  }
    8594  if (!gfits_fread_ftable_data (db[0].f, &db[0].ftable, FALSE)) {
    86     fprintf (stderr, "can't read table data");
     95    fprintf (stderr, "can't read table data\n");
    8796    gfits_db_free (db);
    8897    return (FALSE);
     
    126135  if (db[0].matrix.buffer == NULL) {
    127136    if (!gfits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) {
    128       fprintf (stderr, "can't read primary matrix");
     137      fprintf (stderr, "can't read primary matrix\n");
    129138      return (FALSE);
    130139    }
     
    137146  if (db[0].theader.buffer == NULL) {
    138147    if (!gfits_fread_header (db[0].f, &db[0].theader)) {
    139       fprintf (stderr, "can't read table header");
     148      fprintf (stderr, "can't read table header\n");
    140149      return (FALSE);
    141150    }
     
    147156  /* read table segment into vtable */
    148157  if (!gfits_fread_vtable_range (db[0].f, &db[0].vtable, start, Nrows)) {
    149     fprintf (stderr, "can't read table data");
     158    fprintf (stderr, "can't read table data\n");
    150159    return (FALSE);
    151160  }
     
    167176
    168177  if (!gfits_fwrite_header  (db[0].f, &db[0].header)) {
    169     fprintf (stderr, "can't write primary header");
     178    fprintf (stderr, "can't write primary header\n");
    170179    return (FALSE);
    171180  }
    172181  if (!gfits_fwrite_matrix  (db[0].f, &db[0].matrix)) {
    173     fprintf (stderr, "can't write primary matrix");
     182    fprintf (stderr, "can't write primary matrix\n");
    174183    return (FALSE);
    175184  }
    176185  if (!gfits_fwrite_Theader (db[0].f, &db[0].theader)) {
    177     fprintf (stderr, "can't write table header");
     186    fprintf (stderr, "can't write table header\n");
    178187    return (FALSE);
    179188  }
    180189  if (!gfits_fwrite_table   (db[0].f, &db[0].ftable)) {
    181     fprintf (stderr, "can't write table data");
     190    fprintf (stderr, "can't write table data\n");
    182191    return (FALSE);
    183192  }
     
    196205  /* do we revert to the old version if this fails? */
    197206  if (!gfits_fwrite_header   (db[0].f, &db[0].header))  {
    198     fprintf (stderr, "can't update primary header");
     207    fprintf (stderr, "can't update primary header\n");
    199208    return (FALSE);
    200209  }
    201210  if (!gfits_fwrite_matrix   (db[0].f, &db[0].matrix))  {
    202     fprintf (stderr, "can't update primary matrix");
     211    fprintf (stderr, "can't update primary matrix\n");
    203212    return (FALSE);
    204213  }
    205214  if (!gfits_fwrite_Theader  (db[0].f, &db[0].theader)) {
    206     fprintf (stderr, "can't update table header");
     215    fprintf (stderr, "can't update table header\n");
    207216    return (FALSE);
    208217  }
    209218  if (!gfits_fwrite_vtable   (db[0].f, &db[0].vtable))  {
    210     fprintf (stderr, "can't update table data");
     219    fprintf (stderr, "can't update table data\n");
    211220    return (FALSE);
    212221  }
Note: See TracChangeset for help on using the changeset viewer.