-
-
Notifications
You must be signed in to change notification settings - Fork 41
Open
Description
The spatial filter seems to match positions which are not part of the specified region. In the following (very slow) test script, I test points over the whole sky using a 1 degree grid. The output has, as well as the two expected circles, lines at RA = +/- 90 degrees and a few other scattered points. This was with Astropy 1.0.6 and the current master version of pyregion from this repository.
from __future__ import print_function
from astropy.units import degree
from astropy.wcs import WCS
import matplotlib.pyplot as plt
import pyregion
region = pyregion.parse('''
fk5
circle(0:00:00.000,00:00:00.00,36000")
circle(3:00:00.000,75:00:00.00,36000")
''')
ras = []
decs = []
for ra in range(-179, 180):
for dec in range (-89, 90):
wcs = WCS(naxis=2)
wcs.wcs.radesys = 'ICRS'
wcs.wcs.ctype = ['RA---TAN', 'DEC--TAN']
wcs.wcs.cunit = [degree, degree]
wcs.wcs.crpix = [1, 1]
wcs.wcs.cdelt = [-0.0003, 0.0003]
wcs.wcs.crval = [ra, dec]
if region.get_filter(header=wcs.to_header()).inside1(1, 1):
#print(ra, dec)
ras.append(ra)
decs.append(dec)
plt.scatter(ras, decs)
plt.xlim(-180, 180)
plt.ylim(-90, 90)
plt.show()