89 |
|
for (x = 2*orad*orad+1; --x > orad*orad; ) |
90 |
|
ringndx[x] = -1; |
91 |
|
do |
92 |
< |
ringndx[x] = sqrt((double)x) + 0.5; |
92 |
> |
ringndx[x] = sqrt((double)x); |
93 |
|
while (x--); |
94 |
|
ringsum = (float *)malloc((orad+1)*sizeof(float)); |
95 |
|
ringwt = (short *)malloc((orad+1)*sizeof(short)); |
185 |
|
bzero((char *)ringwt, (orad+1)*sizeof(short)); |
186 |
|
for (r = -orad; r <= orad; r++) { |
187 |
|
if (rcent+r < 0) continue; |
188 |
< |
if (rcent+r >= ncols) break; |
188 |
> |
if (rcent+r >= nrows) break; |
189 |
|
gscan = greybar[(rcent+r)%obarsize]; |
190 |
|
for (c = -orad; c <= orad; c++) { |
191 |
|
if (ccent+c < 0) continue; |
229 |
|
do { |
230 |
|
/* compute grey weighted average */ |
231 |
|
i = 1.25*CHECKRAD*rad*m + .5; |
232 |
< |
if (i > orad) i = orad+1; |
232 |
> |
if (i > orad) i = orad; |
233 |
|
avg = wsum = 0.0; |
234 |
|
while (i--) { |
235 |
< |
t = i/(m*rad); |
235 |
> |
t = (i+.5)/(m*rad); |
236 |
|
t = lookgauss(t*t); |
237 |
|
avg += t*ringsum[i]; |
238 |
|
wsum += t*ringwt[i]; |