Changeset 5448 for trunk/Ohana/src/libdvo
- Timestamp:
- Oct 27, 2005, 10:38:30 AM (21 years ago)
- Location:
- trunk/Ohana/src/libdvo
- Files:
-
- 4 edited
-
include/dvo.h (modified) (1 diff)
-
src/skyregion_gsc.c (modified) (4 diffs)
-
src/skyregion_io.c (modified) (2 diffs)
-
src/skyregion_ops.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libdvo/include/dvo.h
r5441 r5448 338 338 SkyTable *SkyTableLoad (char *filename, int VERBOSE); 339 339 SkyTable *SkyTableFromGSC (char *filename, int depth, int VERBOSE); 340 SkyTable *SkyTableLoadOptimal (char *catdir, char *SKY_TABLE, char *GSCFILE, int VERBOSE); 340 341 SkyRegion *SkyRegionByPoint (SkyTable *table, int depth, double ra, double dec); 341 342 SkyList *SkyListByPoint (SkyTable *table, double ra, double dec); -
trunk/Ohana/src/libdvo/src/skyregion_gsc.c
r5441 r5448 56 56 regions[Nr].Dmin = -90; 57 57 regions[Nr].Dmax = +90; 58 regions[Nr].index = 0; 59 regions[Nr].depth = 0; 60 regions[Nr].parent = -1; 61 regions[Nr].child = TRUE; 62 regions[Nr].table = (depth == 0); 58 regions[Nr].index = 0; 59 regions[Nr].depth = 0; 60 regions[Nr].parent = -1; 61 regions[Nr].child = TRUE; 62 regions[Nr].table = (depth == 0); 63 regions[Nr].filename = NULL; 63 64 strcpy (regions[Nr].name, "fullsky"); 65 64 66 65 67 No = Nr; … … 70 72 /* first north */ 71 73 for (i = 0; i < 12; i++, Nr++) { 72 regions[Nr].Rmin = 0; 73 regions[Nr].Rmax = 360; 74 regions[Nr].Dmin = DecBands[i]; 75 regions[Nr].Dmax = DecBands[i+1]; 76 regions[Nr].index = i+1; 77 regions[Nr].depth = 1; 78 regions[Nr].parent = 0; 79 regions[Nr].child = TRUE; 80 regions[Nr].table = (depth == 1); 74 regions[Nr].Rmin = 0; 75 regions[Nr].Rmax = 360; 76 regions[Nr].Dmin = DecBands[i]; 77 regions[Nr].Dmax = DecBands[i+1]; 78 regions[Nr].index = i+1; 79 regions[Nr].depth = 1; 80 regions[Nr].parent = 0; 81 regions[Nr].child = TRUE; 82 regions[Nr].table = (depth == 1); 83 regions[Nr].filename = NULL; 81 84 strcpy (regions[Nr].name, DecNames[i]); 82 85 } 83 86 /* now south */ 84 87 for (i = 0; i < 12; i++, Nr++) { 85 regions[Nr].Rmin = 0; 86 regions[Nr].Rmax = 360; 87 regions[Nr].Dmin = DecBands[i+14]; 88 regions[Nr].Dmax = DecBands[i+13]; 89 regions[Nr].index = i+1; 90 regions[Nr].depth = 1; 91 regions[Nr].parent = 0; 92 regions[Nr].child = TRUE; 93 regions[Nr].table = (depth == 1); 88 regions[Nr].Rmin = 0; 89 regions[Nr].Rmax = 360; 90 regions[Nr].Dmin = DecBands[i+14]; 91 regions[Nr].Dmax = DecBands[i+13]; 92 regions[Nr].index = i+1; 93 regions[Nr].depth = 1; 94 regions[Nr].parent = 0; 95 regions[Nr].child = TRUE; 96 regions[Nr].table = (depth == 1); 97 regions[Nr].filename = NULL; 94 98 strcpy (regions[Nr].name, DecNames[i+13]); 95 99 } … … 134 138 regions[Nr].Rmax = RA1; 135 139 136 regions[Nr].index = Nr; 137 regions[Nr].depth = 2; 138 regions[Nr].parent = No; 139 regions[Nr].child = TRUE; 140 regions[Nr].table = (depth == 2); 141 regions[Nr].childS = 0; 142 regions[Nr].childE = 0; 140 regions[Nr].index = Nr; 141 regions[Nr].depth = 2; 142 regions[Nr].parent = No; 143 regions[Nr].child = TRUE; 144 regions[Nr].table = (depth == 2); 145 regions[Nr].filename = NULL; 146 regions[Nr].childS = 0; 147 regions[Nr].childE = 0; 143 148 144 149 temp[5] = 0; … … 166 171 for (ny = 0; ny < NDIV; ny ++) { 167 172 for (nx = 0; nx < NDIV; nx ++) { 168 regions[Nr].Rmin = RA0 + (nx + 0)*dR; 169 regions[Nr].Rmax = RA0 + (nx + 1)*dR; 170 regions[Nr].Dmin = DEC0 + (ny + 0)*dD; 171 regions[Nr].Dmax = DEC0 + (ny + 1)*dD; 172 173 regions[Nr].index = Nr; 174 regions[Nr].depth = 3; 175 regions[Nr].parent = i; 176 regions[Nr].child = FALSE; 177 regions[Nr].table = (depth == 3); 178 regions[Nr].childS = 0; 179 regions[Nr].childE = 0; 173 regions[Nr].Rmin = RA0 + (nx + 0)*dR; 174 regions[Nr].Rmax = RA0 + (nx + 1)*dR; 175 regions[Nr].Dmin = DEC0 + (ny + 0)*dD; 176 regions[Nr].Dmax = DEC0 + (ny + 1)*dD; 177 178 regions[Nr].index = Nr; 179 regions[Nr].depth = 3; 180 regions[Nr].parent = i; 181 regions[Nr].child = FALSE; 182 regions[Nr].table = (depth == 3); 183 regions[Nr].filename = NULL; 184 regions[Nr].childS = 0; 185 regions[Nr].childE = 0; 180 186 181 187 temp[5] = 0; -
trunk/Ohana/src/libdvo/src/skyregion_io.c
r5445 r5448 39 39 ALLOCATE (skytable, SkyTable, 1); 40 40 skytable[0].regions = fits_table_get_SkyRegion (&ftable, &skytable[0].Nregions, NULL); 41 for (i = 0; i < skytable[0].Nregions; i++) { 42 skytable[0].regions[i].filename = NULL; 43 } 41 44 42 45 fits_free_header (&header); … … 79 82 } 80 83 84 SkyTable *SkyTableLoadOptimal (char *catdir, char *SKY_TABLE, char *GSCFILE, int SKY_DEPTH, int VERBOSE) { 85 86 char filename[256]; 87 struct stat filestat; 88 SkyTable *sky; 89 int status; 90 91 /* first option: CATDIR/SkyTable.fits */ 92 sprintf (filename, "%s/SkyTable.fits", CATDIR); 93 check_permissions (filename); 94 95 /* check for file existence */ 96 status = stat (filename, &filestat); 97 if (status == 0) { /* file exists, are permissions OK? */ 98 sky = SkyTableLoad (filename, VERBOSE); 99 if (sky == NULL) { 100 fprintf (stderr, "error loading sky table\n"); 101 exit (1); 102 } 103 return (sky); 104 } 105 106 /* first option: SKY_TABLE */ 107 if ((SKY_TABLE != NULL) && (SKY_TABLE[0] != 0)) { 108 status = stat (SKY_TABLE, &filestat); 109 if (status == 0) { /* file exists, are permissions OK? */ 110 sky = SkyTableLoad (SKY_TABLE, VERBOSE); 111 if (sky == NULL) { 112 fprintf (stderr, "error loading sky table\n"); 113 exit (1); 114 } 115 SkyTableSetDepth (sky, SKY_DEPTH); 116 117 /* write CATDIR copy */ 118 sprintf (filename, "%s/SkyTable.fits", CATDIR); 119 check_permissions (filename); 120 SkyTableSave (sky, filename); 121 fits_convert_SkyRegion (sky[0].regions, sizeof (SkyTable), sky[0].Nregions); 122 return (sky); 123 } 124 } 125 126 sky = SkyTableFromGSC (GSCFILE, SKY_DEPTH, VERBOSE); 127 if (sky == NULL) { 128 fprintf (stderr, "error loading sky table\n"); 129 exit (1); 130 } 131 132 /* write CATDIR copy */ 133 sprintf (filename, "%s/SkyTable.fits", CATDIR); 134 check_permissions (filename); 135 SkyTableSave (sky, filename); 136 fits_convert_SkyRegion (sky[0].regions, sizeof (SkyRegion), sky[0].Nregions); 137 138 return (sky); 139 } 140 141 int SkyListSetFilenames (SkyList *list, char *path, char *ext) { 142 143 int i; 144 char line[256]; 145 146 // this generates the names, be sure to free when not needed 147 for (i = 0; i < list[0].Nregions; i++) { 148 sprintf (line, "%s/%s.%s", path, list[0].regions[i][0].name, ext); 149 list[0].regions[i][0].filename = strcreate (line); 150 } 151 152 return (TRUE); 153 } 154 -
trunk/Ohana/src/libdvo/src/skyregion_ops.c
r5441 r5448 119 119 120 120 /* user must be careful about mosaic registration */ 121 SkyList *SkyListByImage (SkyTable *table, int depth, Image *image , Coords *mosaic) {121 SkyList *SkyListByImage (SkyTable *table, int depth, Image *image) { 122 122 123 123 int i, j; … … 126 126 double Rmin, Rmax, Dmin, Dmax; 127 127 128 RegisterMosaic (mosaic);128 // XXX EAM : image/mosaic MUST be registered (if WRP) 129 129 SetImageCorners (X, Y, image); 130 130 … … 269 269 if (table == NULL) return (TRUE); 270 270 if (table[0].regions != NULL) { 271 for (i = 0; i < table[0].Nregions; i++) { 272 if (table[0].regions[i].filename != NULL) { 273 free (table[0].regions[i].filename); 274 } 275 } 271 276 free (table[0].regions); 272 277 }
Note:
See TracChangeset
for help on using the changeset viewer.
