Changeset 41422 for trunk/Ohana/src/libdvo
- Timestamp:
- Sep 24, 2020, 2:44:55 PM (6 years ago)
- Location:
- trunk/Ohana/src/libdvo/src
- Files:
-
- 2 edited
-
skyregion_gsc.c (modified) (4 diffs)
-
skyregion_io.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libdvo/src/skyregion_gsc.c
r38553 r41422 33 33 void SkyTableL3fromL2 (SkyRegion *L2, SkyTable *L3, SkyTable *L4, SkyTable *band, int Ns, int Ne); 34 34 void SkyTableL4fromL3 (SkyRegion *L3, SkyTable *L4); 35 void SkyTableL5fromL4 (SkyRegion *L4, SkyTable *L5); 35 36 36 37 void SkyTableSort (SkyTable *table); … … 170 171 SkyTableAppend (skytable, &L2, skytable[0].Nregions - L1.Nregions); 171 172 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 172 191 SkyTableAppend (skytable, &L4, skytable[0].Nregions - L3.Nregions); 192 193 SkyTableAppend (skytable, &L5, skytable[0].Nregions - L4.Nregions); 194 free (L5.regions); 173 195 174 196 free (L0.regions); … … 543 565 } 544 566 567 // append new regions on to the supplied L5 list (may be empty) 568 void 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 545 620 // memory neutral 546 621 void SkyTableAppend (SkyTable *old, SkyTable *new, int Nprev) { … … 571 646 int i; 572 647 573 fprintf (stderr, "L%d:", region[0].depth);648 fprintf (stderr, "L%d:", (int) region[0].depth); 574 649 for (i = 0; i < region[0].depth; i++) { 575 650 fprintf (stderr, " "); -
trunk/Ohana/src/libdvo/src/skyregion_io.c
r38553 r41422 121 121 } 122 122 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 123 130 SkyTable *SkyTableLoadOptimal (char *catdir, char *skyfile, char *gscfile, int readwrite, int depth, int verbose) { 124 131
Note:
See TracChangeset
for help on using the changeset viewer.
