diff options
Diffstat (limited to 'man/man7/reggeometry.7')
-rw-r--r-- | man/man7/reggeometry.7 | 1271 |
1 files changed, 1271 insertions, 0 deletions
diff --git a/man/man7/reggeometry.7 b/man/man7/reggeometry.7 new file mode 100644 index 0000000..8eb15e7 --- /dev/null +++ b/man/man7/reggeometry.7 @@ -0,0 +1,1271 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "reggeometry 7" +.TH reggeometry 7 "April 14, 2011" "version 1.4.5" "SAORD Documentation" +.SH "NAME" +RegGeometry \- Geometric Shapes in Spatial Region Filtering +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +This document describes the geometry of regions available for spatial +filtering in \s-1IRAF/PROS\s0 analysis. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBGeometric shapes\fR +.PP +Several geometric shapes are used to describe regions. The valid +shapes are: +.PP +.Vb 11 +\& shape: arguments: +\& ----- ---------------------------------------- +\& ANNULUS xcenter ycenter inner_radius outer_radius +\& BOX xcenter ycenter xwidth yheight (angle) +\& CIRCLE xcenter ycenter radius +\& ELLIPSE xcenter ycenter xwidth yheight (angle) +\& FIELD none +\& LINE x1 y1 x2 y2 +\& PIE xcenter ycenter angle1 angle2 +\& POINT x1 y1 +\& POLYGON x1 y1 x2 y2 ... xn yn +.Ve +.PP +All arguments are real values; integer values are automatically +converted to real where necessary. All angles are in degrees and +specify angles that run counter-clockwise from the positive y\-axis. +.PP +Shapes can be specified using \*(L"command\*(R" syntax: +.PP +.Vb 1 +\& [shape] arg1 arg2 ... +.Ve +.PP +or using \*(L"routine\*(R" syntax: +.PP +.Vb 1 +\& [shape](arg1, arg2, ...) +.Ve +.PP +or by any combination of the these. (Of course, the parentheses must +balance and there cannot be more commas than necessary.) The shape +keywords are case\-insensitive. Furthermore, any shape can be +specified by a three-character unique abbreviation. For example, one +can specify three circular regions as: +.PP +.Vb 1 +\& "foo.fits[CIRCLE 512 512 50;CIR(128 128, 10);cir(650,650,20)]" +.Ve +.PP +(Quotes generally are required to protect the region descriptor +from being processed by the Unix shell.) +.PP +The \fBannulus\fR shape specifies annuli, centered at xcenter, +ycenter, with inner and outer radii (r1, r2). For example, +.PP +.Vb 1 +\& ANNULUS 25 25 5 10 +.Ve +.PP +specifies an annulus centered at 25.0 25.0 with an inner radius of 5.0 and +an outer radius of 10. Assuming (as will be done for all examples in this +document, unless otherwise noted) this shape is used in a mask of size 40x40, +it will look like this: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:........................................ +\& 38:........................................ +\& 37:........................................ +\& 36:........................................ +\& 35:........................................ +\& 34:....................111111111........... +\& 33:...................11111111111.......... +\& 32:.................111111111111111........ +\& 31:.................111111111111111........ +\& 30:................11111111111111111....... +\& 29:...............1111111.....1111111...... +\& 28:...............111111.......111111...... +\& 27:...............11111.........11111...... +\& 26:...............11111.........11111...... +\& 25:...............11111.........11111...... +\& 24:...............11111.........11111...... +\& 23:...............11111.........11111...... +\& 22:...............111111.......111111...... +\& 21:...............1111111.....1111111...... +\& 20:................11111111111111111....... +\& 19:.................111111111111111........ +\& 18:.................111111111111111........ +\& 17:...................11111111111.......... +\& 16:....................111111111........... +\& 15:........................................ +\& 14:........................................ +\& 13:........................................ +\& 12:........................................ +\& 11:........................................ +\& 10:........................................ +\& 9:........................................ +\& 8:........................................ +\& 7:........................................ +\& 6:........................................ +\& 5:........................................ +\& 4:........................................ +\& 3:........................................ +\& 2:........................................ +\& 1:........................................ +.Ve +.PP +The \fBbox\fR shape specifies an orthogonally oriented box, +centered at xcenter, ycenter, of size xwidth, yheight. It requires four +arguments and accepts an optional fifth argument to specify a rotation angle. +When the rotation angle is specified (in degrees), the box is rotated by +an angle that runs counter-clockwise from the positive y\-axis. +.PP +The \fBbox\fR shape specifies a rotated box, centered at +xcenter, ycenter, of size xwidth, yheight. The box is rotated by an angle +specified in degrees that runs counter-clockwise from the positive y\-axis. +If the angle argument is omitted, it defaults to 0. +.PP +The \fBcircle\fR shape specifies a circle, centered at xcenter, +ycenter, of radius r. It requires three arguments. +.PP +The \fBellipse\fR shape specifies an ellipse, centered at +xcenter, ycenter, with y\-axis width a and the y\-axis length b defined such +that: +.PP +.Vb 1 +\& x**2/a**2 + y**2/b**2 = 1 +.Ve +.PP +Note that a can be less than, equal to, or greater than b. The ellipse +is rotated the specified number of degrees. The rotation is done according +to astronomical convention, counter-clockwise from the positive y\-axis. +An ellipse defined by: +.PP +.Vb 1 +\& ELLIPSE 20 20 5 10 45 +.Ve +.PP +will look like this: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:........................................ +\& 38:........................................ +\& 37:........................................ +\& 36:........................................ +\& 35:........................................ +\& 34:........................................ +\& 33:........................................ +\& 32:........................................ +\& 31:........................................ +\& 30:........................................ +\& 29:........................................ +\& 28:........................................ +\& 27:............111111...................... +\& 26:............11111111.................... +\& 25:............111111111................... +\& 24:............11111111111................. +\& 23:............111111111111................ +\& 22:............111111111111................ +\& 21:.............111111111111............... +\& 20:.............1111111111111.............. +\& 19:..............111111111111.............. +\& 18:...............111111111111............. +\& 17:...............111111111111............. +\& 16:................11111111111............. +\& 15:..................111111111............. +\& 14:...................11111111............. +\& 13:.....................111111............. +\& 12:........................................ +\& 11:........................................ +\& 10:........................................ +\& 9:........................................ +\& 8:........................................ +\& 7:........................................ +\& 6:........................................ +\& 5:........................................ +\& 4:........................................ +\& 3:........................................ +\& 2:........................................ +\& 1:........................................ +.Ve +.PP +The \fBfield\fR shape specifies the entire field as a +region. It is not usually specified explicitly, but is used implicitly in the +case where no regions are specified, that is, in cases where either a null +string or some abbreviation of the string \*(L"none\*(R" is input. +\&\fBField\fR takes no arguments. +.PP +The \fBpie\fR shape specifies an angular wedge of the entire field, +centered at xcenter, ycenter. The wedge runs between the two specified angles. +The angles are given in degrees, running counter-clockwise from the positive +x\-axis. For example, +.PP +.Vb 1 +\& PIE 20 20 90 180 +.Ve +.PP +defines a region from 90 degrees to 180 degrees, i.e., quadrant 2 of the +Cartesian plane. The display of such a region looks like this: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:11111111111111111111.................... +\& 39:11111111111111111111.................... +\& 38:11111111111111111111.................... +\& 37:11111111111111111111.................... +\& 36:11111111111111111111.................... +\& 35:11111111111111111111.................... +\& 34:11111111111111111111.................... +\& 33:11111111111111111111.................... +\& 32:11111111111111111111.................... +\& 31:11111111111111111111.................... +\& 30:11111111111111111111.................... +\& 29:11111111111111111111.................... +\& 28:11111111111111111111.................... +\& 27:11111111111111111111.................... +\& 26:11111111111111111111.................... +\& 25:11111111111111111111.................... +\& 24:11111111111111111111.................... +\& 23:11111111111111111111.................... +\& 22:11111111111111111111.................... +\& 21:11111111111111111111.................... +\& 20:........................................ +\& 19:........................................ +\& 18:........................................ +\& 17:........................................ +\& 16:........................................ +\& 15:........................................ +\& 14:........................................ +\& 13:........................................ +\& 12:........................................ +\& 11:........................................ +\& 10:........................................ +\& 9:........................................ +\& 8:........................................ +\& 7:........................................ +\& 6:........................................ +\& 5:........................................ +\& 4:........................................ +\& 3:........................................ +\& 2:........................................ +\& 1:........................................ +.Ve +.PP +The pie slice specified is always a counter-clockwise sweep between +the angles, starting at the first angle and ending at the second. Thus: +.PP +.Vb 1 +\& PIE 10 15 30 60 +.Ve +.PP +describes a 30 degree sweep from 2 o'clock to 1 o'clock, while: +.PP +.Vb 1 +\& PIE 10 15 60 30 +.Ve +.PP +describes a 330 degree counter-clockwise sweep from 1 o'clock to 2 o'clock +passing through 12 o'clock (0 degrees). Note in both of these examples that +the center of the slice can be anywhere on the plane. The second mask looks +like this: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:111111111111111111111111................ +\& 39:11111111111111111111111................. +\& 38:11111111111111111111111................. +\& 37:1111111111111111111111.................. +\& 36:1111111111111111111111.................. +\& 35:111111111111111111111................... +\& 34:11111111111111111111.................... +\& 33:11111111111111111111.................... +\& 32:1111111111111111111....................1 +\& 31:1111111111111111111..................111 +\& 30:111111111111111111.................11111 +\& 29:111111111111111111................111111 +\& 28:11111111111111111...............11111111 +\& 27:1111111111111111..............1111111111 +\& 26:1111111111111111.............11111111111 +\& 25:111111111111111............1111111111111 +\& 24:111111111111111..........111111111111111 +\& 23:11111111111111.........11111111111111111 +\& 22:11111111111111........111111111111111111 +\& 21:1111111111111.......11111111111111111111 +\& 20:111111111111......1111111111111111111111 +\& 19:111111111111....111111111111111111111111 +\& 18:11111111111....1111111111111111111111111 +\& 17:11111111111..111111111111111111111111111 +\& 16:1111111111.11111111111111111111111111111 +\& 15:1111111111111111111111111111111111111111 +\& 14:1111111111111111111111111111111111111111 +\& 13:1111111111111111111111111111111111111111 +\& 12:1111111111111111111111111111111111111111 +\& 11:1111111111111111111111111111111111111111 +\& 10:1111111111111111111111111111111111111111 +\& 9:1111111111111111111111111111111111111111 +\& 8:1111111111111111111111111111111111111111 +\& 7:1111111111111111111111111111111111111111 +\& 6:1111111111111111111111111111111111111111 +\& 5:1111111111111111111111111111111111111111 +\& 4:1111111111111111111111111111111111111111 +\& 3:1111111111111111111111111111111111111111 +\& 2:1111111111111111111111111111111111111111 +\& 1:1111111111111111111111111111111111111111 +.Ve +.PP +The pie slice goes to the edge of the field. To limit its scope, pie +usually is is combined with other shapes, such as circles and annuli, +using boolean operations. (See below and in \*(L"help regalgebra\*(R"). +.PP +Pie Performance Notes: +.PP +Pie region processing time is proportional to the size of the image, +and not the size of the region. This is because the pie shape is the +only infinite length shape, and we essentially must check all y rows +for inclusion (unlike other regions, where the y limits can be +calculated beforehand). Thus, pie can run very slowly on large images. +In particular, it will run \s-1MUCH\s0 more slowly than the panda shape in +image-based region operations (such as funcnts). We recommend use of +panda over pie where ever possible. +.PP +If you must use pie, always try to put it last in a boolean && +expression. The reason for this is that the filter code is optimized +to exit as soon as the result is know. Since pie is the slowest +region, it is better to avoid executing it if another region can decide +the result. Consider, for example, the difference in time required to +process a Chandra \s-1ACIS\s0 file when a pie and circle are combined in +two different orders: +.PP +.Vb 2 +\& time ./funcnts nacis.fits "circle 4096 4096 100 && pie 4096 4096 10 78" +\&2.87u 0.38s 0:35.08 9.2% +.Ve +.PP +.Vb 2 +\& time ./funcnts nacis.fits "pie 4096 4096 10 78 && circle 4096 4096 100 " +\&89.73u 0.36s 1:03.50 141.8% +.Ve +.PP +Black-magic performance note: +.PP +Panda region processing uses a \fBquick test\fR pie region instead of +the normal pie region when combining its annulus and pie shapes. This +\&\fBqtpie\fR shape differs from the normal pie in that it utilizes the +y limits from the previous region with which it is combined. In a +panda shape, which is a series of annuli combined with pies, the +processing time is thus reduced to that of the annuli. +.PP +You can use the qtpie shape instead of pie in cases where you are +combining pie with another shape using the && operator. This will +cause the pie limits to be set using limits from the other shape, and +will speed up the processing considerably. For example, the above +execution of funcnts can be improved considerably using this technique: +.PP +.Vb 2 +\& time ./funcnts nacis.fits "circle 4096 4096 100 && qtpie 4096 4096 10 78" +\&4.66u 0.33s 0:05.87 85.0% +.Ve +.PP +We emphasize that this is a quasi-documented feature and might change in +the future. The qtpie shape is not recognized by ds9 or other programs. +.PP +The \fBline\fR shape allows single pixels in a line between (x1,y1) and +(x2,y2) to be included or excluded. For example: +.PP +.Vb 1 +\& LINE (5,6, 24,25) +.Ve +.PP +displays as: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:........................................ +\& 38:........................................ +\& 37:........................................ +\& 36:........................................ +\& 35:........................................ +\& 34:........................................ +\& 33:........................................ +\& 32:........................................ +\& 31:........................................ +\& 30:........................................ +\& 29:........................................ +\& 28:........................................ +\& 27:........................................ +\& 26:........................................ +\& 25:.......................1................ +\& 24:......................1................. +\& 23:.....................1.................. +\& 22:....................1................... +\& 21:...................1.................... +\& 20:..................1..................... +\& 19:.................1...................... +\& 18:................1....................... +\& 17:...............1........................ +\& 16:..............1......................... +\& 15:.............1.......................... +\& 14:............1........................... +\& 13:...........1............................ +\& 12:..........1............................. +\& 11:.........1.............................. +\& 10:........1............................... +\& 9:.......1................................ +\& 8:......1................................. +\& 7:.....1.................................. +\& 6:....1................................... +\& 5:........................................ +\& 4:........................................ +\& 3:........................................ +\& 2:........................................ +\& 1:........................................ +.Ve +.PP +The \fBpoint\fR shape allows single pixels to be included or +excluded. Although the (x,y) values are real numbers, they are truncated +to integer and the corresponding pixel is included or excluded, as specified. +.PP +Several points can be put in one region declaration; unlike the +original \s-1IRAF\s0 implementation, each now is given a different region mask value. +This makes it easier, for example, for funcnts to determine the number of +photons in the individual pixels. For example, +.PP +.Vb 1 +\& POINT (5,6, 10,11, 20,20, 35,30) +.Ve +.PP +will give the different region mask values to all four points, as shown below: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:........................................ +\& 38:........................................ +\& 37:........................................ +\& 36:........................................ +\& 35:........................................ +\& 34:........................................ +\& 33:........................................ +\& 32:........................................ +\& 31:........................................ +\& 30:..................................4..... +\& 29:........................................ +\& 28:........................................ +\& 27:........................................ +\& 26:........................................ +\& 25:........................................ +\& 24:........................................ +\& 23:........................................ +\& 22:........................................ +\& 21:........................................ +\& 20:...................3.................... +\& 19:........................................ +\& 18:........................................ +\& 17:........................................ +\& 16:........................................ +\& 15:........................................ +\& 14:........................................ +\& 13:........................................ +\& 12:........................................ +\& 11:.........2.............................. +\& 10:........................................ +\& 9:........................................ +\& 8:........................................ +\& 7:........................................ +\& 6:....1................................... +\& 5:........................................ +\& 4:........................................ +\& 3:........................................ +\& 2:........................................ +\& 1:........................................ +.Ve +.PP +The \fBpolygon\fR shape specifies a polygon with vertices +(x1, y1) ... (xn, yn). The polygon is closed automatically: one should +not specify the last vertex to be the same as the first. Any number of +vertices are allowed. For example, the following polygon defines a +right triangle as shown below: +.PP +.Vb 1 +\& POLYGON (10,10, 10,30, 30,30) +.Ve +.PP +looks like this: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:........................................ +\& 38:........................................ +\& 37:........................................ +\& 36:........................................ +\& 35:........................................ +\& 34:........................................ +\& 33:........................................ +\& 32:........................................ +\& 31:........................................ +\& 30:..........11111111111111111111.......... +\& 29:..........1111111111111111111........... +\& 28:..........111111111111111111............ +\& 27:..........11111111111111111............. +\& 26:..........1111111111111111.............. +\& 25:..........111111111111111............... +\& 24:..........11111111111111................ +\& 23:..........1111111111111................. +\& 22:..........111111111111.................. +\& 21:..........11111111111................... +\& 20:..........1111111111.................... +\& 19:..........111111111..................... +\& 18:..........11111111...................... +\& 17:..........1111111....................... +\& 16:..........111111........................ +\& 15:..........11111......................... +\& 14:..........1111.......................... +\& 13:..........111........................... +\& 12:..........11............................ +\& 11:..........1............................. +\& 10:........................................ +\& 9:........................................ +\& 8:........................................ +\& 7:........................................ +\& 6:........................................ +\& 5:........................................ +\& 4:........................................ +\& 3:........................................ +\& 2:........................................ +\& 1:........................................ +.Ve +.PP +Note that polygons can get twisted upon themselves if edge lines +cross. Thus: +.PP +.Vb 1 +\& POL (10,10, 20,20, 20,10, 10,20) +.Ve +.PP +will produce an area which is two triangles, like butterfly wings, as shown +below: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:........................................ +\& 38:........................................ +\& 37:........................................ +\& 36:........................................ +\& 35:........................................ +\& 34:........................................ +\& 33:........................................ +\& 32:........................................ +\& 31:........................................ +\& 30:........................................ +\& 29:........................................ +\& 28:........................................ +\& 27:........................................ +\& 26:........................................ +\& 25:........................................ +\& 24:........................................ +\& 23:........................................ +\& 22:........................................ +\& 21:........................................ +\& 20:........................................ +\& 19:..........1........1.................... +\& 18:..........11......11.................... +\& 17:..........111....111.................... +\& 16:..........1111..1111.................... +\& 15:..........1111111111.................... +\& 14:..........1111..1111.................... +\& 13:..........111....111.................... +\& 12:..........11......11.................... +\& 11:..........1........1.................... +\& 10:........................................ +\& 9:........................................ +\& 8:........................................ +\& 7:........................................ +\& 6:........................................ +\& 5:........................................ +\& 4:........................................ +\& 3:........................................ +\& 2:........................................ +\& 1:........................................ +.Ve +.PP +The following are combinations of pie with different shapes +(called \*(L"panda\*(R" for \*(L"Pie \s-1AND\s0 Annulus\*(R") allow for easy specification of +radial sections: +.PP +.Vb 6 +\& shape: arguments: +\& ----- --------- +\& PANDA xcen ycen ang1 ang2 nang irad orad nrad # circular +\& CPANDA xcen ycen ang1 ang2 nang irad orad nrad # circular +\& BPANDA xcen ycen ang1 ang2 nang xwlo yhlo xwhi yhhi nrad (ang) # box +\& EPANDA xcen ycen ang1 ang2 nang xwlo yhlo xwhi yhhi nrad (ang) # ellipse +.Ve +.PP +The \fBpanda\fR (\fBP\fRies \fB\s-1AND\s0\fR \fBA\fRnnuli) shape can be +used to create combinations of pie and annuli markers. It is analogous +to a Cartesian product on those shapes, i.e., the result is several +shapes generated by performing a boolean \s-1AND\s0 between pies and +annuli. Thus, the panda and cpanda specify combinations of annulus and +circle with pie, respectively and give identical results. The bpanda +combines box and pie, while epanda combines ellipse and pie. +.PP +Consider the example shown below: +.PP +.Vb 1 +\& PANDA(20,20, 0,360,3, 0,15,4) +.Ve +.PP +Here, 3 pie slices centered at 20, 20 are combined with 4 annuli, also +centered at 20, 20. The result is a mask with 12 regions (displayed in +base 16 to save characters): +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:........................................ +\& 38:........................................ +\& 37:........................................ +\& 36:........................................ +\& 35:........................................ +\& 34:..............44444444444............... +\& 33:............444444444444444............. +\& 32:...........88444444444444444............ +\& 31:.........888844443333344444444.......... +\& 30:........88888833333333333444444......... +\& 29:........88888733333333333344444......... +\& 28:.......8888877733333333333344444........ +\& 27:......888887777332222233333344444....... +\& 26:......888877777622222222333334444....... +\& 25:.....88887777766622222222333334444...... +\& 24:.....88887777666622222222233334444...... +\& 23:.....88887777666651111222233334444...... +\& 22:.....88877776666551111122223333444...... +\& 21:.....88877776666555111122223333444...... +\& 20:.....888777766665559999aaaabbbbccc...... +\& 19:.....888777766665559999aaaabbbbccc...... +\& 18:.....888777766665599999aaaabbbbccc...... +\& 17:.....88887777666659999aaaabbbbcccc...... +\& 16:.....888877776666aaaaaaaaabbbbcccc...... +\& 15:.....888877777666aaaaaaaabbbbbcccc...... +\& 14:......8888777776aaaaaaaabbbbbcccc....... +\& 13:......888887777bbaaaaabbbbbbccccc....... +\& 12:.......88888777bbbbbbbbbbbbccccc........ +\& 11:........888887bbbbbbbbbbbbccccc......... +\& 10:........888888bbbbbbbbbbbcccccc......... +\& 9:.........8888ccccbbbbbcccccccc.......... +\& 8:...........88ccccccccccccccc............ +\& 7:............ccccccccccccccc............. +\& 6:..............ccccccccccc............... +\& 5:........................................ +\& 4:........................................ +\& 3:........................................ +\& 2:........................................ +\& 1:........................................ +.Ve +.PP +Several regions with different mask values can be combined in the +same mask. This supports comparing data from the different regions. +(For information on how to combine different shapes into a single +region, see \*(L"help regalgebra\*(R".) For example, consider the following +set of regions: +.PP +.Vb 3 +\& ANNULUS 25 25 5 10 +\& ELLIPSE 20 20 5 10 315 +\& BOX 15 15 5 10 +.Ve +.PP +The resulting mask will look as follows: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:........................................ +\& 38:........................................ +\& 37:........................................ +\& 36:........................................ +\& 35:........................................ +\& 34:....................111111111........... +\& 33:...................11111111111.......... +\& 32:.................111111111111111........ +\& 31:.................111111111111111........ +\& 30:................11111111111111111....... +\& 29:...............1111111.....1111111...... +\& 28:...............111111.......111111...... +\& 27:...............11111.222222..11111...... +\& 26:...............111112222222..11111...... +\& 25:...............111112222222..11111...... +\& 24:...............111112222222..11111...... +\& 23:...............111112222222..11111...... +\& 22:...............111111222222.111111...... +\& 21:..............211111112222.1111111...... +\& 20:............322211111111111111111....... +\& 19:............32222111111111111111........ +\& 18:............22222111111111111111........ +\& 17:............222222211111111111.......... +\& 16:............22222222111111111........... +\& 15:............222222222................... +\& 14:............22222222.................... +\& 13:............222222...................... +\& 12:............33333....................... +\& 11:............33333....................... +\& 10:........................................ +\& 9:........................................ +\& 8:........................................ +\& 7:........................................ +\& 6:........................................ +\& 5:........................................ +\& 4:........................................ +\& 3:........................................ +\& 2:........................................ +\& 1:........................................ +.Ve +.PP +Note that when a pixel is in 2 or more regions, it is arbitrarily +assigned to a one of the regions in question (often based on how a +give C compiler optimizes boolean expressions). +.PP +\&\fBRegion accelerators\fR +.PP +Two types of \efBaccelerators, to simplify region specification, +are provided as natural extensions to the ways shapes are described. +These are: extended lists of parameters, specifying multiple regions, +valid for annulus, box, circle, ellipse, pie, and points; and +\&\fBn=\fR, valid for annulus, box, circle, ellipse, and pie (not +point). In both cases, one specification is used to define several +different regions, that is, to define shapes with different mask +values in the region mask. +.PP +The following regions accept \fBaccelerator\fR syntax: +.PP +.Vb 13 +\& shape arguments +\& ----- ------------------------------------------ +\& ANNULUS xcenter ycenter radius1 radius2 ... radiusn +\& ANNULUS xcenter ycenter inner_radius outer_radius n=[number] +\& BOX xcenter ycenter xw1 yh1 xw2 yh2 ... xwn yhn (angle) +\& BOX xcenter ycenter xwlo yhlo xwhi yhhi n=[number] (angle) +\& CIRCLE xcenter ycenter r1 r2 ... rn # same as annulus +\& CIRCLE xcenter ycenter rinner router n=[number] # same as annulus +\& ELLIPSE xcenter ycenter xw1 yh1 xw2 yh2 ... xwn yhn (angle) +\& ELLIPSE xcenter ycenter xwlo yhlo xwhi yhhi n=[number] (angle) +\& PIE xcenter ycenter angle1 angle2 (angle3) (angle4) (angle5) ... +\& PIE xcenter ycenter angle1 angle2 (n=[number]) +\& POINT x1 y1 x2 y2 ... xn yn +.Ve +.PP +Note that the circle accelerators are simply aliases for the annulus +accelerators. +.PP +For example, several annuli at the same center can be specified in one +region expression by specifying more than two radii. If \fBN\fR +radii are specified, then \fBN\fR\-1 annuli result, with the outer +radius of each preceding annulus being the inner radius of the +succeeding annulus. Each annulus is considered a separate region, and +is given a separate mask value. For example, +.PP +.Vb 1 +\& ANNULUS 20 20 0 2 5 10 15 20 +.Ve +.PP +specifies five different annuli centered at 20 20, and is equivalent to: +.PP +.Vb 5 +\& ANNULUS 20.0 20.0 0 2 +\& ANNULUS 20.0 20.0 2 5 +\& ANNULUS 20.0 20.0 5 10 +\& ANNULUS 20.0 20.0 10 15 +\& ANNULUS 20.0 20.0 15 20 +.Ve +.PP +The mask is shown below: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:.............5555555555555.............. +\& 38:...........55555555555555555............ +\& 37:.........555555555555555555555.......... +\& 36:........55555555555555555555555......... +\& 35:......555555555555555555555555555....... +\& 34:.....55555555544444444444555555555...... +\& 33:....5555555544444444444444455555555..... +\& 32:....5555555444444444444444445555555..... +\& 31:...555555444444444444444444444555555.... +\& 30:..55555544444444444444444444444555555... +\& 29:..55555544444443333333334444444555555... +\& 28:.5555554444444333333333334444444555555.. +\& 27:.5555544444433333333333333344444455555.. +\& 26:555555444444333333333333333444444555555. +\& 25:555554444443333333333333333344444455555. +\& 24:555554444433333332222233333334444455555. +\& 23:555554444433333322222223333334444455555. +\& 22:555554444433333222222222333334444455555. +\& 21:555554444433333222111222333334444455555. +\& 20:555554444433333222111222333334444455555. +\& 19:555554444433333222111222333334444455555. +\& 18:555554444433333222222222333334444455555. +\& 17:555554444433333322222223333334444455555. +\& 16:555554444433333332222233333334444455555. +\& 15:555554444443333333333333333344444455555. +\& 14:555555444444333333333333333444444555555. +\& 13:.5555544444433333333333333344444455555.. +\& 12:.5555554444444333333333334444444555555.. +\& 11:..55555544444443333333334444444555555... +\& 10:..55555544444444444444444444444555555... +\& 9:...555555444444444444444444444555555.... +\& 8:....5555555444444444444444445555555..... +\& 7:....5555555544444444444444455555555..... +\& 6:.....55555555544444444444555555555...... +\& 5:......555555555555555555555555555....... +\& 4:........55555555555555555555555......... +\& 3:.........555555555555555555555.......... +\& 2:...........55555555555555555............ +\& 1:.............5555555555555.............. +.Ve +.PP +For boxes and ellipses, if an odd number of arguments is specified, +then the last argument is assumed to be an angle. Otherwise, the +angle is assumed to be zero. For example: +.PP +.Vb 1 +\& ellipse 20 20 3 5 6 10 9 15 12 20 45 +.Ve +.PP +specifies an 3 ellipses at a 45 degree angle: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:........................................ +\& 38:........................................ +\& 37:........................................ +\& 36:........33333333........................ +\& 35:......333333333333...................... +\& 34:.....3333333333333333................... +\& 33:....333333333333333333.................. +\& 32:....33333332222233333333................ +\& 31:...3333332222222222333333............... +\& 30:...33333222222222222233333.............. +\& 29:...333332222222222222223333............. +\& 28:...3333222222211112222223333............ +\& 27:...33332222211111111222223333........... +\& 26:...333322222111111111122223333.......... +\& 25:...3333222211111111111122223333......... +\& 24:....3332222111111..1111122223333........ +\& 23:....333322211111.....11112222333........ +\& 22:....33332222111.......11112223333....... +\& 21:.....33322221111.......11122223333...... +\& 20:.....33332221111.......11112223333...... +\& 19:.....33332222111.......11112222333...... +\& 18:......33332221111.......11122223333..... +\& 17:.......33322221111.....111112223333..... +\& 16:.......3333222211111..1111112222333..... +\& 15:........3333222211111111111122223333.... +\& 14:.........333322221111111111222223333.... +\& 13:..........33332222211111111222223333.... +\& 12:...........3333222222111122222223333.... +\& 11:............333322222222222222233333.... +\& 10:.............33333222222222222233333.... +\& 9:..............3333332222222222333333.... +\& 8:...............33333333222223333333..... +\& 7:.................333333333333333333..... +\& 6:..................3333333333333333...... +\& 5:.....................333333333333....... +\& 4:.......................33333333......... +\& 3:........................................ +\& 2:........................................ +\& 1:........................................ +.Ve +.PP +Note in the above example that the lower limit is not part of the +region for boxes, circles, and ellipses. This makes circles and annuli +equivalent, i.e.: +.PP +.Vb 2 +\& circle 20 20 5 10 15 20 +\& annulus 20 20 5 10 15 20 +.Ve +.PP +both give the following region mask: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........................................ +\& 39:.............3333333333333.............. +\& 38:...........33333333333333333............ +\& 37:.........333333333333333333333.......... +\& 36:........33333333333333333333333......... +\& 35:......333333333333333333333333333....... +\& 34:.....33333333322222222222333333333...... +\& 33:....3333333322222222222222233333333..... +\& 32:....3333333222222222222222223333333..... +\& 31:...333333222222222222222222222333333.... +\& 30:..33333322222222222222222222222333333... +\& 29:..33333322222221111111112222222333333... +\& 28:.3333332222222111111111112222222333333.. +\& 27:.3333322222211111111111111122222233333.. +\& 26:333333222222111111111111111222222333333. +\& 25:333332222221111111111111111122222233333. +\& 24:33333222221111111.....11111112222233333. +\& 23:3333322222111111.......1111112222233333. +\& 22:333332222211111.........111112222233333. +\& 21:333332222211111.........111112222233333. +\& 20:333332222211111.........111112222233333. +\& 19:333332222211111.........111112222233333. +\& 18:333332222211111.........111112222233333. +\& 17:3333322222111111.......1111112222233333. +\& 16:33333222221111111.....11111112222233333. +\& 15:333332222221111111111111111122222233333. +\& 14:333333222222111111111111111222222333333. +\& 13:.3333322222211111111111111122222233333.. +\& 12:.3333332222222111111111112222222333333.. +\& 11:..33333322222221111111112222222333333... +\& 10:..33333322222222222222222222222333333... +\& 9:...333333222222222222222222222333333.... +\& 8:....3333333222222222222222223333333..... +\& 7:....3333333322222222222222233333333..... +\& 6:.....33333333322222222222333333333...... +\& 5:......333333333333333333333333333....... +\& 4:........33333333333333333333333......... +\& 3:.........333333333333333333333.......... +\& 2:...........33333333333333333............ +\& 1:.............3333333333333.............. +.Ve +.PP +As a final example, specifying several angles in one pie slice +expression is equivalent to specifying several separate slices with +the same center. As with the annulus, if \fBN\fR angles are +specified, then \fBN\fR\-1 slices result, with the ending angle of +each preceding slice being the starting angle of the succeeding slice. +Each slice is considered a separate region, and is given a separate +mask value. For example, +.PP +.Vb 1 +\& PIE 12 12 315 45 115 270 +.Ve +.PP +specifies three regions as shown below: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:2222222222222222222222222222222222222222 +\& 39:2222222222222222222222222222222222222221 +\& 38:2222222222222222222222222222222222222211 +\& 37:2222222222222222222222222222222222222111 +\& 36:2222222222222222222222222222222222221111 +\& 35:3222222222222222222222222222222222211111 +\& 34:3222222222222222222222222222222222111111 +\& 33:3322222222222222222222222222222221111111 +\& 32:3322222222222222222222222222222211111111 +\& 31:3332222222222222222222222222222111111111 +\& 30:3332222222222222222222222222221111111111 +\& 29:3333222222222222222222222222211111111111 +\& 28:3333222222222222222222222222111111111111 +\& 27:3333322222222222222222222221111111111111 +\& 26:3333322222222222222222222211111111111111 +\& 25:3333322222222222222222222111111111111111 +\& 24:3333332222222222222222221111111111111111 +\& 23:3333332222222222222222211111111111111111 +\& 22:3333333222222222222222111111111111111111 +\& 21:3333333222222222222221111111111111111111 +\& 20:3333333322222222222211111111111111111111 +\& 19:3333333322222222222111111111111111111111 +\& 18:3333333332222222221111111111111111111111 +\& 17:3333333332222222211111111111111111111111 +\& 16:3333333333222222111111111111111111111111 +\& 15:3333333333222221111111111111111111111111 +\& 14:3333333333322211111111111111111111111111 +\& 13:3333333333322111111111111111111111111111 +\& 12:33333333333.1111111111111111111111111111 +\& 11:3333333333331111111111111111111111111111 +\& 10:333333333333.111111111111111111111111111 +\& 9:333333333333..11111111111111111111111111 +\& 8:333333333333...1111111111111111111111111 +\& 7:333333333333....111111111111111111111111 +\& 6:333333333333.....11111111111111111111111 +\& 5:333333333333......1111111111111111111111 +\& 4:333333333333.......111111111111111111111 +\& 3:333333333333........11111111111111111111 +\& 2:333333333333.........1111111111111111111 +\& 1:333333333333..........111111111111111111 +.Ve +.PP +The annulus, box, circle, ellipse, and pie shapes also accept an +\&\fBn=[int]\fR syntax for specifying multiple regions. The +\&\fBn=[int]\fRsyntax interprets the previous (shape\-dependent) +arguments as lower and upper limits for the region and creates n +shapes with evenly spaced boundaries. For example, if \fBn=[int]\fR +is specified in an annulus, the two immediately preceding radii +(\fBrn\fR and \fBrm\fR) are divided into \fBint\fR annuli, such +that the inner radius of the first is \fBrn\fR and the outer radius +of the last is \fBrm\fR. For example, +.PP +.Vb 1 +\& ANNULUS 20 20 5 20 n=3 +.Ve +.PP +is equivalent to: +.PP +.Vb 1 +\& ANNULUS 20 20 5 10 15 20 +.Ve +.PP +If this syntax is used with an ellipse or box, then the two preceding +pairs of values are taken to be lower and upper limits for a set of +ellipses or boxes. A circle uses the two preceding arguments for upper +and lower radii. For pie, the two preceding angles are divided into n +wedges such that the starting angle of the first is the lower bound +and the ending angle of the last is the upper bound. In all cases, +the \fBn=[int]\fR syntax allows any single alphabetic character +before the \*(L"=\*(R", i.e, i=3, z=3, etc. are all equivalent. +.PP +Also note that for boxes and ellipses, the optional angle argument is +always specified after the \fBn=[int]\fR syntax. For example: +.PP +.Vb 1 +\& ellipse 20 20 4 6 16 24 n=3 45 +.Ve +.PP +specifies 3 elliptical regions at an angle of 45 degrees: +.PP +.Vb 42 +\& 1234567890123456789012345678901234567890 +\& ---------------------------------------- +\& 40:........33333333........................ +\& 39:.....33333333333333..................... +\& 38:....33333333333333333................... +\& 37:...33333333333333333333................. +\& 36:..33333333333333333333333............... +\& 35:.3333333333222223333333333.............. +\& 34:3333333322222222222233333333............ +\& 33:33333332222222222222223333333........... +\& 32:333333222222222222222222333333.......... +\& 31:3333322222222222222222222333333......... +\& 30:33333222222222111122222222333333........ +\& 29:333332222222111111112222222333333....... +\& 28:3333222222211111111111222222333333...... +\& 27:3333222222111111111111112222233333...... +\& 26:33332222221111111111111112222233333..... +\& 25:33332222211111111.111111112222233333.... +\& 24:333322222111111......111111222223333.... +\& 23:333322222111111.......111112222233333... +\& 22:33333222221111.........11111222223333... +\& 21:333332222211111.........11112222233333.. +\& 20:.33332222211111.........11111222223333.. +\& 19:.33333222221111.........111112222233333. +\& 18:..33332222211111.........11112222233333. +\& 17:..333332222211111.......111111222233333. +\& 16:...333322222111111......111111222223333. +\& 15:...333332222211111111.111111112222233333 +\& 14:....333332222211111111111111122222233333 +\& 13:.....33333222221111111111111122222233333 +\& 12:.....33333322222211111111111222222233333 +\& 11:......3333332222222111111112222222333333 +\& 10:.......333333222222221111222222222333333 +\& 9:........33333322222222222222222222333333 +\& 8:.........333333222222222222222222333333. +\& 7:..........33333332222222222222223333333. +\& 6:...........3333333322222222222233333333. +\& 5:.............3333333333222223333333333.. +\& 4:..............33333333333333333333333... +\& 3:................33333333333333333333.... +\& 2:..................33333333333333333..... +\& 1:....................33333333333333...... +.Ve +.PP +Both the variable argument syntax and the \fBn=[int]\fR syntax must +occur alone in a region descriptor (aside from the optional angle for +boxes and ellipses). They cannot be combined. Thus, it is not valid +to precede or follow an \fBn=[int]\fR accelerator with more angles or +radii, as in this example: +.PP +.Vb 3 +\& # INVALID -- one too many angles before a=5 ... +\& # and no angles are allowed after a=5 +\& PIE 12 12 10 25 50 a=5 85 135 +.Ve +.PP +Instead, use three separate specifications, such as: +.PP +.Vb 3 +\& PIE 12 12 10 25 +\& PIE 12 12 25 50 a=5 +\& PIE 12 12 85 135 +.Ve +.PP +The original (\s-1IRAF\s0) implementation of region filtering permitted this +looser syntax, but we found it caused more confusion than it was worth +and therefore removed it. +.PP +\&\s-1NB:\s0 Accelerators may be combined with other shapes in a boolean +expression in any order. (This is a change starting with funtools +v1.1.1. Prior to this release, the accelerator shape had to be +specified last). The actual region mask id values returned depend on the +order in which the shapes are specified, although the total number of +pixels or rows that pass the filter will be consistent. For this +reason, use of accelerators in boolean expressions is discouraged in +programs such as funcnts, where region mask id values are used +to count events or image pixels. +.PP +[All region masks displayed in this document were generated using the +\&\fBfundisp\fR routine and the undocumented \*(L"mask=all\*(R" argument (with +spaced removed using sed ): +.PP +.Vb 2 +\& fundisp "funtools/funtest/test40.fits[ANNULUS 25 25 5 10]" mask=all |\e +\& sed 's/ //g' +.Ve +.PP +Note that you must supply an image of the appropriate size \*(-- in this case, +a \s-1FITS\s0 image of dimension 40x40 is used.] +.SH "SEE ALSO" +.IX Header "SEE ALSO" +See funtools(7) for a list of Funtools help pages |