CGETRNG
Name
cgetrng
Purpose (one Line)
How to integrate over a circle.
Description
This procedure is called to determine how to iterate when integrating
over a circle. The circle's center is at (xc,yc), and its radius is r.
For pixels with x-coordinate x, those in the intervals [y0,y1) and [y2,y3)
are on or near the circle. Those in the interval [y1,y2) are definitely
inside; all others are definitely outside.
Of course, the routine can be called to determine an interval for fixed
y by calling it as cgetrng,yc,xc,r,y,x0,x1,x2,x3.
The appropriate way to integrate over a circle is therefore as follows:
cgetrng,xc,yc,r,Round(xc),y0,y1,y2,y3
for (y = y0; y <= y3-1; y=y+1) {
cgetrng, yc, xc, r, y, x0, x1, x2, x3;
for (x = x0; x <= x1-1; x=x+1) sum = sum + value(x,y)*pixwt(xc,yc,r,x,y);
for (x = x1; x <= x2-1; x=x+1) sum = sum + value(x,y);
for (x = x2; x <= x3-1; x=x+1) sum = sum + value(x,y)*pixwt(xc,yc,r,x,y);
}
Category
CCD data processing
Calling Sequence
cgetrng, xc, yc, r, x, y0, y1, y2, y3
Inputs
xc, yc : Center of the circle.
r : Radius of the circle.
x : X coordinate for the intervals to be determined.
Optional Input Parameters
None.
Keyword Parameters
None.
Outputs
y0, y1, y2, y3 : The endpoints of the three intervals of interest.
Common Blocks
None.
Side Effects
Restrictions
None.
Procedure
Determine three intervals along the x input coordinate: The
intervals [y0,y1), [y1,y2), and [y2,y3).
Modification History
Ported by Doug Loucks, Lowell Observatory, 1992 Sep, from the
routine cgetrng in pixwt.c, by Marc Buie.
4/1/93, DWL, Added argument validation (badpar).