IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 24977


Ignore:
Timestamp:
Aug 3, 2009, 2:20:23 AM (17 years ago)
Author:
eugene
Message:

update load2mass to allow only existing regions to be populated (may be a bit slower for all sky)

Location:
trunk/Ohana/src/addstar
Files:
6 edited

Legend:

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

    r24973 r24977  
    200200$(SRC)/replace_match.$(ARCH).o \
    201201$(SRC)/update_coords.$(ARCH).o \
     202$(SRC)/SkyRegionUtils.$(ARCH).o \
    202203$(SRC)/StarOps.$(ARCH).o \
    203204$(SRC)/ConfigInit.$(ARCH).o \
  • trunk/Ohana/src/addstar/include/2mass.h

    r17439 r24977  
    3333e_time    get2mass_date (char *ptr, int Nbound, int Nmax);
    3434
    35 int       load2mass_as_rawdata (SkyTable *skytable, char *filename, AddstarClientOptions options);
     35int       load2mass_as_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options);
    3636SkyTable *load2mass_acc (char *path, char *accel);
    3737int       get2mass_3star (Stars *star, char *line, int Nmax);
  • trunk/Ohana/src/addstar/src/SkyRegionUtils.c

    r14401 r24977  
    1111  ALLOCATE (subset, SkyList, 1);
    1212  ALLOCATE (subset[0].regions, SkyRegion *, NSUBSET);
     13  ALLOCATE (subset[0].filename, char *, NSUBSET);
    1314  subset[0].ownElements = FALSE; // free these elements when freeing the list
    1415
     
    2021
    2122    subset[0].regions[Nsubset] = input[0].regions[i];
     23    subset[0].filename[Nsubset] = input[0].filename[i];
    2224    Nsubset ++;
    23     CHECK_REALLOCATE (subset[0].regions, SkyRegion *, NSUBSET, Nsubset, 100);
     25    if (Nsubset >= NSUBSET) {
     26        NSUBSET += 100;
     27        REALLOCATE (subset[0].regions, SkyRegion *, NSUBSET);
     28        REALLOCATE (subset[0].filename, char *, NSUBSET);
     29    }
    2430    subset[0].Nregions = Nsubset;
    2531  }
  • trunk/Ohana/src/addstar/src/args_load2mass.c

    r18374 r24977  
    3838  }
    3939
     40  /* only add to existing regions */
     41  options.existing_regions = FALSE;
     42  if ((N = get_argument (argc, argv, "-existing-regions"))) {
     43    options.existing_regions = TRUE;
     44    remove_argument (N, &argc, argv);
     45  }
    4046  /* only add to existing objects */
    4147  options.only_match = FALSE;
     
    6268  options.timeref = 0;
    6369  options.mosaic = FALSE;
    64   options.existing_regions = FALSE;
    6570  options.skip_missed = FALSE;
    6671  options.closest = FALSE;
  • trunk/Ohana/src/addstar/src/load2mass.c

    r7780 r24977  
    77  int i;
    88  SkyTable *sky, *sky2mass;
     9  SkyList *skylist = NULL;
     10  SkyList *overlap = NULL;
    911  AddstarClientOptions options;
    1012
     
    1315  options = args_load2mass (argc, argv, options);
    1416
     17  // load the full sky description table:
    1518  sky = SkyTableLoadOptimal (CATDIR, SKY_TABLE, GSCFILE, SKY_DEPTH, VERBOSE);
    1619  SkyTableSetFilenames (sky, CATDIR, "cpt");
    1720 
     21  // generate the subset matching the user-selected region
     22  skylist = SkyListByPatch (sky, -1, &UserPatch);
     23
     24  // if we only match to existing (already populated) regions, limit the select to those regions:
     25  if (options.existing_regions) {
     26    SkyList *tmp;
     27    tmp = SkyListExistingSubset (skylist, CATDIR);
     28    SkyListFree (skylist);
     29    skylist = tmp;
     30  }
     31
    1832  path = TWO_MASS_DIR_AS;
    1933
     
    2337 
    2438  for (i = 0; i < sky2mass[0].Nregions; i++) {
     39    // check if any of the skylist entries overlap this 2mass catalog:
     40    overlap = SkyListByBounds_List (skylist, -1, sky2mass[0].regions[i].Rmin, sky2mass[0].regions[i].Rmax, sky2mass[0].regions[i].Dmin, sky2mass[0].regions[i].Dmax);
     41    if (overlap[0].Nregions == 0) {
     42      SkyListFree (overlap);
     43      continue;
     44    }
     45   
    2546    fprintf (stderr, "loading %s\n", sky2mass[0].filename[i]);
    26     load2mass_as_rawdata (sky, sky2mass[0].filename[i], options);
     47    load2mass_as_rawdata (overlap, sky2mass[0].filename[i], options);
     48    SkyListFree (overlap);
    2749  }
    2850  exit (0);
  • trunk/Ohana/src/addstar/src/load2mass_as_rawdata.c

    r21508 r24977  
    1010# define DEBUG 0
    1111
    12 int load2mass_as_rawdata (SkyTable *skytable, char *filename, AddstarClientOptions options) {
     12int load2mass_as_rawdata (SkyList *skytable, char *filename, AddstarClientOptions options) {
    1313 
    1414  int i, j, verbose;
     
    109109      if (tstars[i].D > UserPatch.Dmax) continue;
    110110
     111      // identify the relevant catalog
     112      skylist = SkyRegionByPoint_List (skytable, -1, tstars[i].R, tstars[i].D);
     113      if (skylist[0].Nregions == 0) {
     114          SkyListFree (skylist);
     115          continue;
     116      }
     117      region = skylist[0].regions[0];
     118      if (DEBUG) fprintf (stderr, "writing to %s\n", skylist[0].filename[0]);
     119
    111120      // collect array of (Stars *) stars in a new output catalog
    112121      Nstars = 0;
     
    114123      ALLOCATE (stars, Stars *, NSTARS);
    115124
    116       // identify the relevant catalog
    117       skylist = SkyRegionByPoint (skytable, -1, tstars[i].R, tstars[i].D);
    118       region = skylist[0].regions[0];
    119       if (DEBUG) fprintf (stderr, "writing to %s\n", skylist[0].filename[0]);
    120 
     125      // loop over stars in this 2mass region that are also in this output region
    121126      for (j = i; j < Ntstars; j++) {
    122127        if (tstars[j].flag) continue;
     
    166171      }
    167172
    168       if (DEBUG) fprintf (stderr, "selected %d stars (%10.6f - %10.6f, %10.6f - %10.6f\n", Nstars,
     173      if (DEBUG) fprintf (stderr, "selected %d stars (%10.6f - %10.6f, %10.6f - %10.6f)\n", Nstars,
    169174                          region[0].Rmin, region[0].Rmax, region[0].Dmin, region[0].Dmax);
    170175
Note: See TracChangeset for help on using the changeset viewer.