IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39580 for trunk


Ignore:
Timestamp:
May 26, 2016, 1:35:27 PM (10 years ago)
Author:
eugene
Message:

check for bad warp->imageID values based on the relative coordinates

Location:
trunk/Ohana/src/relastro
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/relastro/include/relastro.h

    r39474 r39580  
    317317int    USE_ICRF_POLE;
    318318
     319int    USE_IMAGE_COORDS_FOR_REPAIR;
    319320int    USE_ALL_IMAGES;
    320321
     
    453454void          initImageBins       PROTO((Catalog *catalog, int Ncatalog, int FULLINIT));
    454455void          initImages          PROTO((Image *input, off_t *line_number, off_t N));
    455 void          freeImages          PROTO(());
     456void          freeImages          PROTO((char *dbImagePtr));
    456457void          initMosaicBins      PROTO((Catalog *catalog, int Ncatalog));
    457458void          initMosaicGrid      PROTO((Image *image, off_t Nimage));
  • trunk/Ohana/src/relastro/src/ImageOps.c

    r39474 r39580  
    121121}
    122122
    123 void freeImages () {
     123void freeImages (char *dbImagePtr) {
    124124
    125125  FREE (LineNumber);
     
    134134# endif
    135135
    136   free (image);
     136  // we call gfits_db_free as well as this function.  sometimes those point at the same
     137  // memory location, in which case we should only do the free once.
     138  if ((void *) dbImagePtr != (void *) image) free (image);
    137139  free_astrom_table();
    138140}
  • trunk/Ohana/src/relastro/src/RepairWarpMeasures.c

    r39474 r39580  
    99  myAssert (!catalog->Nmeasure || catalog->measure, "programming error");
    1010
    11   int NfixChipID = 0, NfixStackID = 0, NfixWarpID = 0, NfixWarpImageID = 0, NmissWarp = 0, NmissStack = 0, NbadWarp = 0;
     11  int NfixChipID = 0, NfixStackID = 0, NfixWarpID = 0, NfixWarpImageID = 0, NmissWarp = 0, NmissStack = 0, NbadWarp = 0, NwarpNoImage = 0;
    1212
    1313  int onePercent = catalog->Nmeasure / 100;
     
    6363    double Rwrp = measure->R;
    6464    double Dwrp = measure->D;
     65
     66    if (USE_IMAGE_COORDS_FOR_REPAIR) {
     67      off_t idx = getImageByID (measure->imageID);
     68      if (idx == -1) {
     69        if (VERBOSE2) fprintf (stderr, "can't match detection to image?\n");
     70        NwarpNoImage ++;
     71        continue;
     72      }
     73
     74      Coords *imcoords = &image[idx].coords;
     75
     76      XY_to_RD (&Rwrp, &Dwrp, X, Y, imcoords);
     77     
     78      Rwrp = ohana_normalize_angle_to_midpoint(Rwrp, 180.0);
     79      Dwrp = ohana_normalize_angle_to_midpoint(Dwrp,   0.0);
     80    }
    6581
    6682    double Rave = average->R;
     
    127143
    128144  fprintf (stderr, "\n");
    129   fprintf (stderr, "repaired %s : warp image ID %d : ext ID chip %d stack %d warp %d : missed warp %d stack %d : bad warp: %d\n", catalog->filename, NfixWarpImageID, NfixChipID, NfixStackID, NfixWarpID, NmissWarp, NmissStack, NbadWarp);
     145  fprintf (stderr, "repaired %s : warp image ID %d : ext ID chip %d stack %d warp %d : missed warp %d stack %d : bad warp: %d : warp no image: %d\n", catalog->filename, NfixWarpImageID, NfixChipID, NfixStackID, NfixWarpID, NmissWarp, NmissStack, NbadWarp, NwarpNoImage);
    130146
    131147  return (TRUE);
  • trunk/Ohana/src/relastro/src/RepairWarps.c

    r39474 r39580  
    109109               UserPatch.Rmin, UserPatch.Rmax, UserPatch.Dmin, UserPatch.Dmax);
    110110
    111     if (VERBOSE)         strextend (&command, "-v");
    112     if (VERBOSE2)        strextend (&command, "-vv");
    113     if (UPDATE)          strextend (&command, "-update");
    114     if (USE_BASIC_CHECK) strextend (&command, "-basic-image-search");
     111    if (VERBOSE)                     strextend (&command, "-v");
     112    if (VERBOSE2)                    strextend (&command, "-vv");
     113    if (UPDATE)                      strextend (&command, "-update");
     114    if (USE_BASIC_CHECK)             strextend (&command, "-basic-image-search");
     115    if (USE_IMAGE_COORDS_FOR_REPAIR) strextend (&command, "-use-image-coords-for-repair");
     116    if (USE_ALL_IMAGES)              strextend (&command, "-use-all-images");
    115117
    116118    fprintf (stderr, "command: %s\n", command);
  • trunk/Ohana/src/relastro/src/args.c

    r39471 r39580  
    312312      exit (2);
    313313    }
     314  }
     315
     316  // when repairing warp detections, check the model coordinates for consistency
     317  USE_IMAGE_COORDS_FOR_REPAIR = FALSE;
     318  if ((N = get_argument (argc, argv, "-use-image-coords-for-repair"))) {
     319    remove_argument (N, &argc, argv);
     320    USE_IMAGE_COORDS_FOR_REPAIR = TRUE;
    314321  }
    315322
     
    817824      exit (2);
    818825    }
     826  }
     827
     828  // when repairing warp detections, check the model coordinates for consistency
     829  USE_IMAGE_COORDS_FOR_REPAIR = FALSE;
     830  if ((N = get_argument (argc, argv, "-use-image-coords-for-repair"))) {
     831    remove_argument (N, &argc, argv);
     832    USE_IMAGE_COORDS_FOR_REPAIR = TRUE;
    819833  }
    820834
  • trunk/Ohana/src/relastro/src/relastro.c

    r39471 r39580  
    5050
    5151      if (!PARALLEL) {
     52        freeImages (db.ftable.buffer);
    5253        gfits_db_free (&db);
    53         freeImages();
    5454        freeMosaics ();
    5555      }
     
    9191
    9292      if (!PARALLEL) {
     93        freeImages (db.ftable.buffer);
    9394        gfits_db_free (&db);
    94         freeImages();
    9595        freeMosaics ();
    9696      }
  • trunk/Ohana/src/relastro/src/relastro_client.c

    r39471 r39580  
    9292      UpdateObjectOffsets (skylist, HOST_ID, HOSTDIR);
    9393     
     94      freeImages (db.ftable.buffer);
    9495      gfits_db_free (&db);
    95       freeImages();
    9696      freeMosaics ();
    9797
     
    119119      RepairWarps (skylist, HOST_ID, HOSTDIR);
    120120     
     121      freeImages (db.ftable.buffer);
    121122      gfits_db_free (&db);
    122       freeImages();
    123123      freeMosaics ();
    124124
  • trunk/Ohana/src/relastro/src/relastro_images.c

    r39457 r39580  
    137137    }
    138138    dvo_image_unlock (&db);
     139    freeImages (db.ftable.buffer);
    139140    gfits_db_free (&db);
    140     freeImages();
    141141  }
    142142
     
    166166    }
    167167    dvo_image_unlock (&db);
     168    freeImages(db.ftable.buffer);
    168169    gfits_db_free (&db);
    169     freeImages();
    170170  }
    171171
  • trunk/Ohana/src/relastro/src/relastro_parallel_images.c

    r39457 r39580  
    197197  freeStarMaps();
    198198
    199   freeImages();
     199  freeImages((char *) image);
    200200  free (image);
    201201
  • trunk/Ohana/src/relastro/src/relastro_parallel_regions.c

    r39457 r39580  
    8787  MARKTIME ("finished relastro -parallel-regions: %f sec total\n", dtime);
    8888 
     89  freeImages(db.ftable.buffer);
    8990  gfits_db_free (&db);
    90   freeImages();
    9191  freeMosaics ();
    9292
Note: See TracChangeset for help on using the changeset viewer.