Changeset 31553
- Timestamp:
- May 13, 2011, 3:20:15 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20110505/Ohana/src/relphot/src/load_images.c
r31493 r31553 25 25 SkyTableSetFilenames (sky, CATDIR, "cpt"); 26 26 27 // determine the populated SkyRegions overlapping the requested area28 if (RegionSelect) {29 skylist = SkyListByPatch (sky, -1, region);30 } else {31 Nchar = strlen(regionName);32 if (!strcmp (®ionName[Nchar-4], ".cpt")) regionName[Nchar-4] = 0;33 skylist = SkyListByName (sky, regionName);34 }35 36 27 // convert database table to internal structure (binary to Image) 37 28 // 'image' points to the same memory as db->ftable->buffer … … 43 34 MARKTIME("read image table: %f sec\n", dtime); 44 35 45 // select the images which overlap the selected sky regions 46 // 'subset' points to a new copy of the data (different from 'image') 47 subset = select_images (skylist, image, Nimage, &LineNumber, &Nsubset); 48 MARKTIME("selected %d overlapping images: %f sec\n", (int) Nsubset, dtime); 36 // determine the populated SkyRegions overlapping the requested area 37 if (RegionSelect) { 38 if (region[0].Rmin > region[0].Rmax) { 39 SkyRegion subregion; 40 subregion = *region; 41 subregion.Rmin = 0.0; subregion.Rmax = region[0].Rmax; 42 skylist = SkyListByPatch (sky, -1, &subregion); 43 44 subregion.Rmin = region[0].Rmin; subregion.Rmax = 360.0; 45 SkyList *extraList = SkyListByPatch (sky, -1, &subregion); 46 47 // select the images which overlap the selected sky regions 48 // 'subset' points to a new copy of the data (different from 'image') 49 subset = select_images (skylist, image, Nimage, &LineNumber, &Nsubset); 50 MARKTIME("selected %d overlapping images: %f sec\n", (int) Nsubset, dtime); 51 52 Image *subsetExtra; 53 off_t NsubsetExtra; 54 off_t *LineNumberExtra, i; 55 56 subsetExtra = select_images (extraList, image, Nimage, &LineNumberExtra, &NsubsetExtra); 57 MARKTIME("selected %d overlapping images: %f sec\n", (int) Nsubset, dtime); 58 59 REALLOCATE (subset, Image, MAX (Nsubset + NsubsetExtra, 1)); 60 REALLOCATE (LineNumber, off_t, MAX (Nsubset + NsubsetExtra, 1)); 61 62 for (i = 0; i < NsubsetExtra; i++) { 63 subset[i+Nsubset] = subsetExtra[i]; 64 LineNumber[i+Nsubset] = LineNumberExtra[i]; 65 } 66 Nsubset += NsubsetExtra; 67 MARKTIME("selected %d overlapping images: %f sec\n", (int) Nsubset, dtime); 68 } else { 69 skylist = SkyListByPatch (sky, -1, region); 70 71 // select the images which overlap the selected sky regions 72 // 'subset' points to a new copy of the data (different from 'image') 73 subset = select_images (skylist, image, Nimage, &LineNumber, &Nsubset); 74 MARKTIME("selected %d overlapping images: %f sec\n", (int) Nsubset, dtime); 75 } 76 } else { 77 Nchar = strlen(regionName); 78 if (!strcmp (®ionName[Nchar-4], ".cpt")) regionName[Nchar-4] = 0; 79 skylist = SkyListByName (sky, regionName); 80 81 // select the images which overlap the selected sky regions 82 // 'subset' points to a new copy of the data (different from 'image') 83 subset = select_images (skylist, image, Nimage, &LineNumber, &Nsubset); 84 MARKTIME("selected %d overlapping images: %f sec\n", (int) Nsubset, dtime); 85 } 86 49 87 50 88 // generate db->vtable from db->ftable based on the selection
Note:
See TracChangeset
for help on using the changeset viewer.
