|
Bugs: regions
A list of
bugs fixed in CIAO 3.4
is available.
Caveats
The parameter interface does not recognize an equals sign
inside of (), [], and/or {}.
CIAO does not understand the format DS9 uses for writing
elliptical annuli or for writing grids of annuli.
Bugs
World-coordinate region filters don't work correctly if the
EQPOS transform includes a rotation.
Regions off the image: the Data Model crashes when filtering
a region that's completely off the image.
Using incorrect syntax with the rectangle shape does not
fail when filtering.
If you spatially filter a file with a complicated region and
then supply the same region later in the analysis, the
second filter may not be applied correctly.
There is a bug in region and range filters.
Shapes with different numbers of points
(16 May 2007)
Caveats
-
The parameter interface does not recognize an equals sign
inside of (), [], and/or {}.
For example, in this case:
region(srcs.reg[component=1])
the parameter interface sees parameter=value and
attempts to set the "region(srcs.reg[component"
parameter to "1])". If the value of a parameter
has an "=" in it, you have to use the name=value
syntax:
srclist="region(srcs.reg[component=1])"
CIAO does not understand the format DS9 uses for writing
elliptical annuli or for writing grids of annuli.
Bugs
-
World-coordinate region filters don't work correctly if the
EQPOS transform includes a rotation.
The rotation is not
applied when converting the region from world to physical
coordinates. In this case, region filters should be written
only in terms of physical coordinates (i.e. SKY pixels).
Regions off the image: the Data Model crashes when filtering
a region that's completely off the image.
-
Using incorrect syntax with the rectangle shape does not
fail when filtering.
For example, setting xmax >
xmin and/or ymax > ymin.
Instead it appears that the Data Model simply swaps the min
and max values.
-
If you spatially filter a file with a complicated region and
then supply the same region later in the analysis, the
second filter may not be applied correctly.
For example:
unix% dmcopy evt.fits[sky=region(complex.reg)][bin sky=1] out.fits
unix% dmstat out.fits[sky=region(complex.reg)] cen-
This is due to the fact that the regions applied in the
dmcopy are recorded in the file
subspace, and the subsequent tool - dmstat in this case - does not combine them
with the second (identical) filter correctly. Other tools
that take the subspace into account will exhibit this
problem as well.
The example does work for simple regions,
e.g. "circle(4096,4096,10)", but the workarounds
can still be applied.
Workarounds:
Use "[opt update=no]"
in the dmcopy step so that the filter does not
get recorded in the subspace. Be aware, however, that
this means you lose information on what filters have been
applied to the data.
omit the DM filter from the second infile name.
-
There is a bug in region and range filters.
This command:
unix% dmcopy "input.fits[sky=circle(4096,4096,100),y=4020:4100,4250,4350]" \
output.fits
fails to do the y filter altogether. This bug also applies
to exclude filters.
-
Shapes with different numbers of points
(16 May 2007)
This bug is triggered when the shapes that are being
printed don't all have the same number of points (e.g. one
is a circle and one is a polygon):
% dmmakereg region="circle(1,1,5)+polygon(1,1,2,2,3,3)" ker=ascii out=-
# Region file format: DS9 version 3.0
global color=blue font="helvetica 10 normal" select=1 edit=1 move=1 delete=1 include=1 fixed=0
physical;Circle(1.000000,0.000000,5.000000) #
physical;Polygon(1.000000,1.000000,2.000000,2.000000,3.000000,3.000000,1.000000,1.000000) #
The output Circle has the y- position set to 0
instead of 1 (the input value).
The following is a list of bugs that were fixed
in the CIAO 3.4
software release.
-
Regions off the image: if one region shape is partly off the
edge of the image, the DM does not exclude all the regions
in the file correctly.
For example:
unix% dmcopy "expmap.fits[exclude sky=region(holes.reg)]" expmap_holes.fits
unix% cat holes.reg
-circle(4713.138184,3794.545410,11.654875)
-circle(4382.204590,4670.012207,10.183500)
-circle(4136.358887,4525.479492,6.161741)
..etc..
Workarounds:
-
Modify the region file to make it legal by adding the line
at the beginning, so it reads
field()
-circle(4713.138184,3794.545410,11.654875)
-circle(4382.204590,4670.012207,10.183500)
-circle(4136.358887,4525.479492,6.161741)
..etc..
then invert the filter to be an include instead:
unix% dmcopy "expmap.fits[sky=region(holes.reg)]" expmap_holes.fits
Omit that shape from the region file
|