IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37525


Ignore:
Timestamp:
Oct 22, 2014, 12:39:00 PM (12 years ago)
Author:
eugene
Message:

copy DVO_DBID to new image table

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140904/Ohana/src/dvomerge/src/dvorepairDeleteImagesByExternID.c

    r37500 r37525  
    1414// * rebuild the cpt file or delete the matching entries?
    1515
    16 int SaveImageTable (Image *image, off_t Nimage, char *catdir);
     16int SaveImageTable (Image *image, off_t Nimage, char *catdir, FITS_DB *oldDB);
    1717Image *DeleteSelectedImages (Image *image, off_t Nimage, int *deleteImage, myIndexType *imageIDindex, off_t *NnewImage);
    1818
     
    103103  int *deleteIDs = ReadDeleteListExternID(delList, &NdeleteIDs);
    104104
     105  int NdeleteImages = 0;
    105106  for (i = 0; i < NdeleteIDs; i++) {
    106107    int externID = deleteIDs[i];
     
    116117    }
    117118    deleteImage[n] = TRUE;
     119    NdeleteImages ++;
    118120
    119121    if (VERBOSE) fprintf (stderr, "delete extern ID: %d = image ID %d (seq %d)\n", externID, image[n].imageID, n);
     122  }
     123
     124  if (NdeleteImages == 0) {
     125    fprintf (stderr, "no images to be deleted in this database, exiting\n");
     126    exit (0);
    120127  }
    121128
     
    195202  ALLOCATE(cptFilenameTgt, char, strlen(catdir) + 64);
    196203  ALLOCATE(cpsFilenameTgt, char, strlen(catdir) + 64);
     204
     205  int NdeleteTotal = 0;
    197206
    198207  for (raPass = 0; raPass < nPass; raPass++) {
     
    305314      }
    306315
     316      NdeleteTotal += Ndelete;
     317
    307318      // if we actually want to delete any measurements, write out a new cpm file
    308319      if (Ndelete > 0) {
     
    368379  }
    369380
     381  fprintf (stderr, "Deleted %d detections\n", NdeleteTotal);
     382
    370383  off_t NnewImage;
    371384  Image *newImage = DeleteSelectedImages (image, Nimage, deleteImage, imageIDindex, &NnewImage);
    372385
    373   SaveImageTable (newImage, NnewImage, catdir);
     386  SaveImageTable (newImage, NnewImage, catdir, &db);
    374387
    375388  myIndexFree (externIDindex);
     
    389402  SkyTableFree(insky);
    390403
    391   // XXX: NOTE: I am not deleting the images...
    392404  gfits_db_free (&db);
    393405
     
    456468}
    457469
    458 int SaveImageTable (Image *image, off_t Nimage, char *catdir) {
     470int SaveImageTable (Image *image, off_t Nimage, char *catdir, FITS_DB *oldDB) {
    459471
    460472  FITS_DB db;
     
    489501  dvo_image_create (&db, GetZeroPoint());
    490502
     503  // I want to keep the old DVO_DBID
     504  char dbID[33];
     505  if (!gfits_scan (&oldDB->header, "DVO_DBID", "%s", 1, dbID)) {
     506    fprintf (stderr, "source image table is missing DVO_DBID, exiting\n");
     507    exit (3);
     508  }
     509  gfits_modify (&db.header, "DVO_DBID", "%s", 1, dbID);     
     510
    491511  /* add the new image and save */
    492512  dvo_image_addrows (&db, image, Nimage);
Note: See TracChangeset for help on using the changeset viewer.