IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39692


Ignore:
Timestamp:
Sep 13, 2016, 12:30:56 PM (10 years ago)
Author:
eugene
Message:

add code to delete measurements matching specific imageID, photcode, time ranges

Location:
trunk/Ohana/src/delstar
Files:
1 added
6 edited

Legend:

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

    r35758 r39692  
    3131$(SRC)/delete_duplicate_images.$(ARCH).o \
    3232$(SRC)/delete_duplicate_measures.$(ARCH).o \
     33$(SRC)/delete_measures_by_match.$(ARCH).o \
    3334$(SRC)/delete_fix_LAP.$(ARCH).o \
    3435$(SRC)/delete_fix_LAP_edges.$(ARCH).o \
     
    5657$(SRC)/delete_duplicate_images.$(ARCH).o \
    5758$(SRC)/delete_duplicate_measures.$(ARCH).o \
     59$(SRC)/delete_measures_by_match.$(ARCH).o \
    5860$(SRC)/delete_fix_LAP.$(ARCH).o \
    5961$(SRC)/delete_fix_LAP_edges.$(ARCH).o \
  • trunk/Ohana/src/delstar/include/delstar.h

    r39605 r39692  
    9393
    9494int   SAVE_DUPLICATES;
     95int   SAVE_DELETES;
    9596int   SKIP_IMAGES;
    9697
     
    103104
    104105int    MODE;
    105 enum {MODE_NONE, MODE_IMAGENAME, MODE_IMAGEFILE, MODE_TIME, MODE_ORPHAN, MODE_MISSED, MODE_PHOTCODES, MODE_DUP_IMAGES, MODE_DUP_MEASURES, MODE_FIX_LAP, MODE_FIX_LAP_STATS, MODE_FIX_LAP_EDGES, MODE_FIX_LAP_EDGES_DELETE};
     106enum {MODE_NONE, MODE_IMAGENAME, MODE_IMAGEFILE, MODE_TIME, MODE_ORPHAN, MODE_MISSED, MODE_PHOTCODES, MODE_DUP_IMAGES, MODE_DUP_MEASURES, MODE_DELETE_MEASURES_BY_MATCH, MODE_FIX_LAP, MODE_FIX_LAP_STATS, MODE_FIX_LAP_EDGES, MODE_FIX_LAP_EDGES_DELETE};
    106107
    107108char DateKeyword[64], DateMode[64], UTKeyword[64], MJDKeyword[64], JDKeyword[64];
    108109
    109110SkyRegion UserPatch;
     111
     112// for DELETE_MEASURES_BY_MATCH, these are the ranges to delete:
     113int DELETE_MIN_IMAGE_ID;
     114int DELETE_MAX_IMAGE_ID;
     115int DELETE_MIN_PHOTCODE;
     116int DELETE_MAX_PHOTCODE;
     117
     118int DELETE_MIN_TIME;
     119int DELETE_MAX_TIME;
     120
    110121
    111122/*** delstar prototypes ***/
     
    170181int ImageIDSave(char *filename, IndexArray *imageID);
    171182
     183int delete_measures_by_match ();
     184int delete_measures_by_match_parallel (SkyList *sky);
     185DeleteMeasureResult delete_measures_by_match_catalog (Catalog *catalog);
     186
    172187int delete_duplicate_measures ();
    173188int delete_duplicate_measures_parallel (SkyList *sky);
  • trunk/Ohana/src/delstar/src/args.c

    r39579 r39692  
    1212  fprintf (stderr, "  delstar -dup-images : delete duplicate images (by externID)\n\n");
    1313  fprintf (stderr, "  delstar -dup-measures : delete duplicate measures (by imageID + detID)\n\n");
     14  fprintf (stderr, "  delstar -delete-measures-by-match : delete duplicate measures by imageID, photcode, time constratins\n\n");
    1415  fprintf (stderr, "  optional flags:\n");
    1516  fprintf (stderr, "  -v               : verbose mode\n");
     
    194195    SKIP_IMAGES = TRUE; // we do not need to load the images for -dup-measures
    195196  }
     197  if ((N = get_argument (argc, argv, "-delete-measures-by-match"))) {
     198    if (MODE != MODE_NONE) usage();
     199    MODE = MODE_DELETE_MEASURES_BY_MATCH;
     200    remove_argument (N, &argc, argv);
     201    SKIP_IMAGES = TRUE; // we do not need to load the images for -dup-measures
     202  }
     203
     204  DELETE_MIN_IMAGE_ID = 0;
     205  DELETE_MAX_IMAGE_ID = 0;
     206  DELETE_MIN_PHOTCODE = 0;
     207  DELETE_MAX_PHOTCODE = 0;
     208  DELETE_MIN_TIME = 0;
     209  DELETE_MAX_TIME = 0;
     210
     211  if ((N = get_argument (argc, argv, "-delete-min-imageID")))  { remove_argument (N, &argc, argv); DELETE_MIN_IMAGE_ID = atoi(argv[N]); remove_argument (N, &argc, argv); }
     212  if ((N = get_argument (argc, argv, "-delete-max-imageID")))  { remove_argument (N, &argc, argv); DELETE_MAX_IMAGE_ID = atoi(argv[N]); remove_argument (N, &argc, argv); }
     213  if ((N = get_argument (argc, argv, "-delete-min-photcode"))) { remove_argument (N, &argc, argv); DELETE_MIN_PHOTCODE = atoi(argv[N]); remove_argument (N, &argc, argv); }
     214  if ((N = get_argument (argc, argv, "-delete-max-photcode"))) { remove_argument (N, &argc, argv); DELETE_MAX_PHOTCODE = atoi(argv[N]); remove_argument (N, &argc, argv); }
     215  if ((N = get_argument (argc, argv, "-delete-min-time")))     { remove_argument (N, &argc, argv); DELETE_MIN_TIME = ohana_date_to_sec(argv[N]); remove_argument (N, &argc, argv); }
     216  if ((N = get_argument (argc, argv, "-delete-max-time")))     { remove_argument (N, &argc, argv); DELETE_MAX_TIME = ohana_date_to_sec(argv[N]); remove_argument (N, &argc, argv); }
    196217
    197218  SAVE_DUPLICATES = FALSE;
    198219  if ((N = get_argument (argc, argv, "-save-duplicates"))) {
    199220    SAVE_DUPLICATES = TRUE;
     221    remove_argument (N, &argc, argv);
     222  }
     223  SAVE_DELETES = FALSE;
     224  if ((N = get_argument (argc, argv, "-save-deletes"))) {
     225    SAVE_DELETES = TRUE;
    200226    remove_argument (N, &argc, argv);
    201227  }
     
    445471    remove_argument (N, &argc, argv);
    446472  }
     473  if ((N = get_argument (argc, argv, "-delete-measures-by-match"))) {
     474    if (MODE != MODE_NONE) usage();
     475    MODE = MODE_DELETE_MEASURES_BY_MATCH;
     476    remove_argument (N, &argc, argv);
     477    SKIP_IMAGES = TRUE; // we do not need to load the images for -dup-measures
     478  }
     479  DELETE_MIN_IMAGE_ID = 0;
     480  DELETE_MAX_IMAGE_ID = 0;
     481  DELETE_MIN_PHOTCODE = 0;
     482  DELETE_MAX_PHOTCODE = 0;
     483  DELETE_MIN_TIME = 0;
     484  DELETE_MAX_TIME = 0;
     485
     486  if ((N = get_argument (argc, argv, "-delete-min-imageID")))  { remove_argument (N, &argc, argv); DELETE_MIN_IMAGE_ID = atoi(argv[N]); remove_argument (N, &argc, argv); }
     487  if ((N = get_argument (argc, argv, "-delete-max-imageID")))  { remove_argument (N, &argc, argv); DELETE_MAX_IMAGE_ID = atoi(argv[N]); remove_argument (N, &argc, argv); }
     488  if ((N = get_argument (argc, argv, "-delete-min-photcode"))) { remove_argument (N, &argc, argv); DELETE_MIN_PHOTCODE = atoi(argv[N]); remove_argument (N, &argc, argv); }
     489  if ((N = get_argument (argc, argv, "-delete-max-photcode"))) { remove_argument (N, &argc, argv); DELETE_MAX_PHOTCODE = atoi(argv[N]); remove_argument (N, &argc, argv); }
     490  if ((N = get_argument (argc, argv, "-delete-min-time")))     { remove_argument (N, &argc, argv); DELETE_MIN_TIME = ohana_date_to_sec(argv[N]); remove_argument (N, &argc, argv); }
     491  if ((N = get_argument (argc, argv, "-delete-max-time")))     { remove_argument (N, &argc, argv); DELETE_MAX_TIME = ohana_date_to_sec(argv[N]); remove_argument (N, &argc, argv); }
     492
     493  SAVE_DELETES = FALSE;
     494  if ((N = get_argument (argc, argv, "-save-deletes"))) {
     495    SAVE_DELETES = TRUE;
     496    remove_argument (N, &argc, argv);
     497  }
     498
    447499  if ((N = get_argument (argc, argv, "-fix-LAP"))) {
    448500    if (MODE != MODE_NONE) usage();
  • trunk/Ohana/src/delstar/src/delete_duplicate_measures.c

    r39671 r39692  
    373373  }
    374374   
    375 # if (0)
     375# if (1)
    376376  FILE *fsave = NULL;
    377377  if (SAVE_DUPLICATES) {
    378378    char savename[DVO_MAX_PATH];
    379     snprintf (savename, DVO_MAX_PATH, "%s.save", catalog->filename);
     379    snprintf (savename, DVO_MAX_PATH, "%s.save.0912", catalog->filename);
    380380    struct stat filestat;
    381381    int myStatus = stat (savename, &filestat);
     
    408408    off_t N = measure[j].averef;
    409409    if (VERBOSE) fprintf (stderr, "0x%08x 0x%08x %8.4f %8.4f %5d\n", measure[j].imageID, measure[j].detID, average[N].R, average[N].D, measure[j].photcode);
    410 //  if (fsave) {
    411 //    fprintf (fsave, "0x%08x 0x%08x %8.4f %8.4f %5d\n", measure[j].imageID, measure[j].detID, average[N].R, average[N].D, measure[j].photcode);
    412 //  }
     410    if (fsave) {
     411      fprintf (fsave, "0x%08x 0x%08x %8.4f %8.4f %5d\n", measure[j].imageID, measure[j].detID, average[N].R, average[N].D, measure[j].photcode);
     412    }
    413413    if (isGPC1chip(measure[j].photcode)) {
    414414      result.NdelChip ++;
     
    426426  }
    427427 
    428   // if (fsave) fclose (fsave);
     428  if (fsave) fclose (fsave);
    429429
    430430  // set up the measure sequence lists
  • trunk/Ohana/src/delstar/src/delstar.c

    r39579 r39692  
    2727    case MODE_DUP_MEASURES:
    2828      if (!delete_duplicate_measures ()) exit (1);
     29      delstar_args_free ();
     30      ohana_memcheck (TRUE);
     31      ohana_memdump (TRUE);
     32      exit (0);
     33      break;
     34    case MODE_DELETE_MEASURES_BY_MATCH:
     35      if (!delete_measures_by_match ()) exit (1);
    2936      delstar_args_free ();
    3037      ohana_memcheck (TRUE);
  • trunk/Ohana/src/delstar/src/delstar_client.c

    r39579 r39692  
    3131      if (!delete_duplicate_measures ()) exit (1);
    3232      delstar_client_args_free ();
     33      ohana_memcheck (TRUE);
     34      ohana_memdump (TRUE);
     35      exit (0);
     36      break;
     37    case MODE_DELETE_MEASURES_BY_MATCH:
     38      if (!delete_measures_by_match ()) exit (1);
     39      delstar_args_free ();
    3340      ohana_memcheck (TRUE);
    3441      ohana_memdump (TRUE);
Note: See TracChangeset for help on using the changeset viewer.