IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 24, 2020, 2:44:55 PM (6 years ago)
Author:
eugene
Message:

rename libfits byte-type to gfbyte to avoid collisions

Location:
trunk/Ohana/src/libdvo/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libdvo/src/skyregion_gsc.c

    r38553 r41422  
    3333void SkyTableL3fromL2 (SkyRegion *L2, SkyTable *L3, SkyTable *L4, SkyTable *band, int Ns, int Ne);
    3434void SkyTableL4fromL3 (SkyRegion *L3, SkyTable *L4);
     35void SkyTableL5fromL4 (SkyRegion *L4, SkyTable *L5);
    3536
    3637void SkyTableSort (SkyTable *table);
     
    170171  SkyTableAppend (skytable, &L2, skytable[0].Nregions - L1.Nregions);
    171172  SkyTableAppend (skytable, &L3, skytable[0].Nregions - L2.Nregions);
     173
     174  // XXX TEST : for L4 entries in a certain ra,dec range, generate L5 entries:
     175
     176  SkyTable L5;
     177  L5.Nregions = 0;
     178  L5.Nalloc   = 1000;
     179  ALLOCATE (L5.regions, SkyRegion, L5.Nalloc);
     180
     181  for (i = 0; i < L4.Nregions; i++) {
     182    // only work on a specific square region:
     183    if (L4.regions[i].Rmin <  9.5) continue;
     184    if (L4.regions[i].Rmin > 10.5) continue;
     185    if (L4.regions[i].Dmin < 40.0) continue;
     186    if (L4.regions[i].Dmin > 42.0) continue;
     187   
     188    SkyTableL5fromL4 (&L4.regions[i], &L5);
     189  }
     190
    172191  SkyTableAppend (skytable, &L4, skytable[0].Nregions - L3.Nregions);
     192
     193  SkyTableAppend (skytable, &L5, skytable[0].Nregions - L4.Nregions);
     194  free (L5.regions);
    173195
    174196  free (L0.regions);
     
    543565}
    544566
     567// append new regions on to the supplied L5 list (may be empty)
     568void SkyTableL5fromL4 (SkyRegion *L4, SkyTable *L5) {
     569
     570  int nx, ny, Nr, Nbox;
     571  double Rmin, Dmin, dR, dD;
     572  char name[80];
     573
     574  Nr = L5[0].Nregions;
     575  L5[0].Nregions += NDIV*NDIV;
     576  CHECK_REALLOCATE (L5[0].regions, SkyRegion, L5[0].Nalloc, L5[0].Nregions, 0.5*L5[0].Nalloc);
     577
     578  L4[0].child  = TRUE;
     579  L4[0].childS = Nr;
     580  L4[0].childE = L5[0].Nregions;
     581
     582  // XXX handle the pole regions just a bit differently...
     583
     584  /* subdivide L4 into NDIV boxes */
     585  Rmin = L4[0].Rmin;
     586  Dmin = L4[0].Dmin;
     587  dR = (L4[0].Rmax - L4[0].Rmin) / NDIV;
     588  dD = (L4[0].Dmax - L4[0].Dmin) / NDIV;
     589
     590  Nbox = 0;
     591  for (ny = 0; ny < NDIV; ny ++) {
     592    for (nx = 0; nx < NDIV; nx ++) {
     593      L5[0].regions[Nr].Rmin     = Rmin  + (nx + 0)*dR;
     594      L5[0].regions[Nr].Rmax     = Rmin  + (nx + 1)*dR;
     595      L5[0].regions[Nr].Dmin     = Dmin + (ny + 0)*dD;
     596      L5[0].regions[Nr].Dmax     = Dmin + (ny + 1)*dD;
     597
     598      L5[0].regions[Nr].index    =  Nr;
     599      L5[0].regions[Nr].depth    =  5;
     600      L5[0].regions[Nr].table    =  -1;
     601      L5[0].regions[Nr].parent   =  L4[0].index;
     602      L5[0].regions[Nr].child    =  FALSE;
     603      L5[0].regions[Nr].childS   =  0;
     604      L5[0].regions[Nr].childE   =  0;
     605      L5[0].regions[Nr].hostFlags = 0;
     606      L5[0].regions[Nr].hostID    = 0;
     607      L5[0].regions[Nr].backupID  = 0;
     608
     609      myAssert (snprintf (name, 80, "%s.%02d", L4[0].name, Nbox) < 80, "overflow");
     610      strcpy (L5[0].regions[Nr].name, name);
     611      if (DEBUG >= 4) SkyRegionPrint (&L5[0].regions[Nr]);
     612
     613      Nr ++;
     614      Nbox ++;
     615    }
     616  }
     617  return;
     618}
     619
    545620// memory neutral
    546621void SkyTableAppend (SkyTable *old, SkyTable *new, int Nprev) {
     
    571646  int i;
    572647
    573   fprintf (stderr, "L%d:", region[0].depth);
     648  fprintf (stderr, "L%d:", (int) region[0].depth);
    574649  for (i = 0; i < region[0].depth; i++) {
    575650    fprintf (stderr, " ");
  • trunk/Ohana/src/libdvo/src/skyregion_io.c

    r38553 r41422  
    121121}
    122122
     123// load the skytable from the best location:
     124// 1) if we already have a defined catdir with skytable.fits, use that
     125// 2) in some cases, user may supply 'SKYFILE' with explicit path (this is not really used)
     126// 3) if a file does not exist, create a new skytable from the GSC reference
     127//    the GSC reference file contains a hard-code list of region names
     128//    and boundaries.
     129
    123130SkyTable *SkyTableLoadOptimal (char *catdir, char *skyfile, char *gscfile, int readwrite, int depth, int verbose) {
    124131
Note: See TracChangeset for help on using the changeset viewer.