Skip to the navigation links
Last modified: 24 October 2023


Bugs: regions

Table of Contents




FITS region files with 0 rows.

FITS region files with 0 rows but all the standard/required columns will be interpreted as


There is no NULL shape currently defined.

CIAO does not understand the format ds9 uses for writing elliptical annuli or for writing grids of annuli.

See the ahelp file for dmregions for a discussion on how to translate ds9 regions to CIAO syntax.


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.


  1. 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.

  2. omit the DM filter from the second infile name.

Combining region and range filters.

This command:

unix% dmcopy "input.fits[sky=circle(4096,4096,100),y=4020:4100,4250,4350]" \

fails to do the y filter altogether. This bug also applies to exclude filters.