IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 20, 2010, 12:05:07 PM (16 years ago)
Author:
eugene
Message:

optimizations for dvomerge and relastro; complete checks of db I/O success; fix overloaded image flags

Location:
trunk/Ohana
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana

    • Property svn:mergeinfo deleted
  • trunk/Ohana/src/relphot/src/ImageOps.c

    r28241 r29001  
    323323    /* on PoorImages run, skip good images */
    324324    if (PoorImages) {
    325       bad = image[i].flags & (ID_IMAGE_FEW | ID_IMAGE_POOR | ID_IMAGE_SKIP);
     325      bad = image[i].flags & (ID_IMAGE_PHOTOM_FEW | ID_IMAGE_PHOTOM_POOR | ID_IMAGE_PHOTOM_SKIP);
    326326      if (!bad) continue;
    327327    }     
     
    369369      mark = (N < IMAGE_TOOFEW) || (N < IMAGE_GOOD_FRACTION*Nlist[i]);
    370370      if (mark) {
    371         image[i].flags |= ID_IMAGE_FEW;
     371        image[i].flags |= ID_IMAGE_PHOTOM_FEW;
    372372        Nfew ++;
    373373      } else {
    374         image[i].flags &= ~ID_IMAGE_FEW;
     374        image[i].flags &= ~ID_IMAGE_PHOTOM_FEW;
    375375      }     
    376376    }
     
    387387
    388388  if (PoorImages) {
    389     IMAGE_BAD = ID_IMAGE_POOR | ID_IMAGE_FEW | ID_IMAGE_SKIP;
     389    IMAGE_BAD = ID_IMAGE_PHOTOM_POOR | ID_IMAGE_PHOTOM_FEW | ID_IMAGE_PHOTOM_SKIP;
    390390    STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
    391391    MEAS_BAD  = ID_MEAS_NOCAL | ID_MEAS_POOR_PHOTOM | ID_MEAS_SKIP_PHOTOM | ID_MEAS_AREA;
     
    429429  for (i = 0; i < Nimage; i++) {
    430430    mark = FALSE;
    431     image[i].flags &= ~ID_IMAGE_POOR;
     431    image[i].flags &= ~ID_IMAGE_PHOTOM_POOR;
    432432    mark = (image[i].dMcal > MaxScatter) || (fabs(image[i].Mcal - MedOffset) > MaxOffset);
    433433    if (mark) {
    434434      Nmark ++;
    435       image[i].flags |= ID_IMAGE_POOR;
     435      image[i].flags |= ID_IMAGE_PHOTOM_POOR;
    436436    } else {
    437       image[i].flags &= ~ID_IMAGE_POOR;
     437      image[i].flags &= ~ID_IMAGE_PHOTOM_POOR;
    438438    }
    439439  }
  • trunk/Ohana/src/relphot/src/MosaicOps.c

    r28241 r29001  
    189189      image[im].dMcal = mosaic[i].dMcal;
    190190      image[im].Xm = mosaic[i].Xm;
    191       image[im].flags |= (mosaic[i].flags & ID_IMAGE_FEW);
    192       image[im].flags |= (mosaic[i].flags & ID_IMAGE_POOR);
     191      image[im].flags |= (mosaic[i].flags & ID_IMAGE_PHOTOM_FEW);
     192      image[im].flags |= (mosaic[i].flags & ID_IMAGE_PHOTOM_POOR);
    193193    }
    194194  }     
     
    351351    /* on PoorImages run, skip good images */
    352352    if (PoorImages) {
    353       bad = mosaic[i].flags & (ID_IMAGE_FEW | ID_IMAGE_POOR | ID_IMAGE_SKIP);
     353      bad = mosaic[i].flags & (ID_IMAGE_PHOTOM_FEW | ID_IMAGE_PHOTOM_POOR | ID_IMAGE_PHOTOM_SKIP);
    354354      if (!bad) continue;
    355355    }     
     
    401401      if (mark) {
    402402        fprintf (stderr, "marked mosaic %s ("OFF_T_FMT"), ("OFF_T_FMT" < %d) || ("OFF_T_FMT" < %f*"OFF_T_FMT")\n", image[imlist[i][0]].name,  i,  N, IMAGE_TOOFEW,  N, IMAGE_GOOD_FRACTION,  Nlist[i]);
    403         mosaic[i].flags |= ID_IMAGE_FEW;
     403        mosaic[i].flags |= ID_IMAGE_PHOTOM_FEW;
    404404        Nfew ++;
    405405      } else {
    406         mosaic[i].flags &= ~ID_IMAGE_FEW;
     406        mosaic[i].flags &= ~ID_IMAGE_PHOTOM_FEW;
    407407      }
    408408    }
     
    421421
    422422  if (PoorImages) {
    423     IMAGE_BAD = ID_IMAGE_POOR | ID_IMAGE_FEW | ID_IMAGE_SKIP;
     423    IMAGE_BAD = ID_IMAGE_PHOTOM_POOR | ID_IMAGE_PHOTOM_FEW | ID_IMAGE_PHOTOM_SKIP;
    424424    STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
    425425    MEAS_BAD  = ID_MEAS_NOCAL | ID_MEAS_POOR_PHOTOM | ID_MEAS_SKIP_PHOTOM | ID_MEAS_AREA;
     
    593593    if (mark) {
    594594      Nmark ++;
    595       mosaic[i].flags |= ID_IMAGE_POOR;
     595      mosaic[i].flags |= ID_IMAGE_PHOTOM_POOR;
    596596    } else {
    597       mosaic[i].flags &= ~ID_IMAGE_POOR;
     597      mosaic[i].flags &= ~ID_IMAGE_PHOTOM_POOR;
    598598    }
    599599  }
  • trunk/Ohana/src/relphot/src/StarOps.c

    r28241 r29001  
    188188  StatType stats;
    189189  PhotCode *code;
     190  DVOAverageFlags flagBits;
     191
     192  flagBits = ID_OBJ_EXT | ID_OBJ_EXT_ALT | ID_OBJ_GOOD | ID_OBJ_GOOD_ALT;
    190193
    191194  // pre-allocate a list for stats purposes
     
    281284        }
    282285
     286        // we attempt to set a few flags here; reset those bits before trying:
     287        catalog[i].average[j].flags &= ~flagBits;
     288
    283289        if (nEXT && (nEXT > nPSF)) {
    284           catalog[i].average[j].flags |= 0x00010000;
     290          catalog[i].average[j].flags |= ID_OBJ_EXT;
    285291        }
    286292        if (goodPS1) {
    287           catalog[i].average[j].flags |= 0x00020000;
     293          catalog[i].average[j].flags |= ID_OBJ_GOOD;
    288294        }
    289295        if (Galaxy2MASS) {
    290           catalog[i].average[j].flags |= 0x00040000;
     296          catalog[i].average[j].flags |= ID_OBJ_EXT_ALT;
    291297        }
    292298        if (good2MASS) {
    293           catalog[i].average[j].flags |= 0x00080000;
     299          catalog[i].average[j].flags |= ID_OBJ_GOOD_ALT;
    294300        }
    295301      }
     
    302308}
    303309
    304 /* set measure.Mcal for all measures except ID_MEAS_NOCAL and ID_IMAGE_NOCAL */
     310/* set measure.Mcal for all measures except ID_MEAS_NOCAL and ID_IMAGE_PHOTOM_NOCAL */
    305311int setMcalOutput (Catalog *catalog, int Ncatalog) {
    306312
     
    310316
    311317  MEAS_BAD = ID_MEAS_NOCAL;
    312   IMAGE_BAD = ID_IMAGE_NOCAL;
     318  IMAGE_BAD = ID_IMAGE_PHOTOM_NOCAL;
    313319
    314320  for (i = 0; i < Ncatalog; i++) {
     
    470476      /* apply to list of all relevant measurements, including IMAGE_POOR & IMAGE_FEW */
    471477      image_bad = IMAGE_BAD;
    472       IMAGE_BAD = ID_IMAGE_NOCAL;
     478      IMAGE_BAD = ID_IMAGE_PHOTOM_NOCAL;
    473479      m = catalog[i].average[j].measureOffset;
    474480      N = 0;
  • trunk/Ohana/src/relphot/src/initialize.c

    r17242 r29001  
    2727  initstats (STATMODE);
    2828
    29   IMAGE_BAD = ID_IMAGE_POOR | ID_IMAGE_FEW | ID_IMAGE_SKIP;
     29  IMAGE_BAD = ID_IMAGE_PHOTOM_POOR | ID_IMAGE_PHOTOM_FEW | ID_IMAGE_PHOTOM_SKIP;
    3030  STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
    3131  MEAS_BAD  = ID_MEAS_NOCAL | ID_MEAS_POOR_PHOTOM | ID_MEAS_SKIP_PHOTOM | ID_MEAS_AREA;
  • trunk/Ohana/src/relphot/src/load_images.c

    r28241 r29001  
    2525  // convert database table to internal structure
    2626  image = gfits_table_get_Image (&db[0].ftable, &Nimage, &db[0].swapped);
     27  if (!image) {
     28      fprintf (stderr, "ERROR: failed to read images\n");
     29      exit (2);
     30  }
    2731
    2832  // select the images which overlap the selected sky regions
  • trunk/Ohana/src/relphot/src/select_images.c

    r28241 r29001  
    157157      image[nimage] = timage[i];
    158158      /* always allow 'few' images to succeed, if possible */
    159       if (image[nimage].flags & ID_IMAGE_FEW) {
    160         image[nimage].flags &= ~(ID_IMAGE_FEW | ID_IMAGE_POOR);
     159      if (image[nimage].flags & ID_IMAGE_PHOTOM_FEW) {
     160        image[nimage].flags &= ~(ID_IMAGE_PHOTOM_FEW | ID_IMAGE_PHOTOM_POOR);
    161161      }
    162162      if (RESET) {
    163163        assignMcal (&image[nimage], (double *) NULL, -1);
    164164        image[nimage].dMcal = NAN;
    165         image[nimage].flags &= ~ID_IMAGE_POOR;
     165        image[nimage].flags &= ~ID_IMAGE_PHOTOM_POOR;
    166166      }
    167167      line_number[nimage] = i;
  • trunk/Ohana/src/relphot/src/setMrelFinal.c

    r28241 r29001  
    7575
    7676  /* allow measures from images marked POOR and FEW */
    77   if (pass >= 3) IMAGE_BAD = ID_IMAGE_NOCAL;
     77  if (pass >= 3) IMAGE_BAD = ID_IMAGE_PHOTOM_NOCAL;
    7878 
    7979  /* allow measures marked as outliers (POOR) and off image region (AREA) */
Note: See TracChangeset for help on using the changeset viewer.