Changeset 674
- Timestamp:
- 10/10/08 08:31:32 (1 month ago)
- Files:
-
- trunk/pywcs/src/distortion.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/pywcs/src/distortion.c
r673 r674 76 76 get_dist( 77 77 const distortion_lookup_t *lookup, 78 const unsignedint *coord /* [NAXES] */) {78 const int *coord /* [NAXES] */) { 79 79 80 80 unsigned int cropped[NAXES]; … … 82 82 83 83 for (i = 0; i < NAXES; ++i) { 84 cropped[i] = coord[i] >= lookup->naxis[i] ? lookup->naxis[i] - 1 : coord[i]; 84 if (coord[i] >= lookup->naxis[i]) { 85 cropped[i] = lookup->naxis[i] - 1; 86 } else if (coord[i] < 0) { 87 cropped[i] = 0; 88 } else { 89 cropped[i] = coord[i]; 90 } 85 91 } 86 92 … … 163 169 double dist[NAXES]; 164 170 double dist_floor[NAXES]; 165 unsigned intdist_ifloor[NAXES];166 unsigned intcoord[NAXES];171 int dist_ifloor[NAXES]; 172 int coord[NAXES]; 167 173 double dist_weight[NAXES]; 168 174 double result; … … 176 182 for (i = 0; i < NAXES; ++i) { 177 183 dist_floor[i] = floor(dist[i]); 178 dist_ifloor[i] = ( unsignedint)dist_floor[i];184 dist_ifloor[i] = (int)dist_floor[i]; 179 185 dist_weight[i] = dist[i] - dist_floor[i]; 180 186 } 181 187 182 188 result = 0.0; 183 for (k = 0; k < 2; ++k) {184 for (l = 0; l < 2; ++l) {185 coord[0] = dist_ifloor[0] + l;186 coord[1] = dist_ifloor[1] + k;189 for (k = 0; k < NAXES; ++k) { 190 for (l = 0; l < NAXES; ++l) { 191 coord[0] = dist_ifloor[0] + (int)l; 192 coord[1] = dist_ifloor[1] + (int)k; 187 193 result += (double)get_dist(lookup, coord) * \ 188 194 calculate_weight(dist_weight[0], l, dist_weight[1], k);
