Skip to content

Commit f5e32f9

Browse files
authored
Merge pull request #84 from lsst/tickets/DM-50218
DM-50218: Fixed an error when computing envelope for point region
2 parents 7b71ed6 + 9328e92 commit f5e32f9

File tree

2 files changed

+26
-7
lines changed

2 files changed

+26
-7
lines changed

python/lsst/sphgeom/_healpixPixelization.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -130,13 +130,24 @@ def _interior_pixels_from_region(self, nside: int, region: Region):
130130
"""
131131
if isinstance(region, Circle):
132132
center = LonLat(region.getCenter())
133-
pixels = hpg.query_circle(
134-
nside,
135-
center.getLon().asRadians(),
136-
center.getLat().asRadians(),
137-
region.getOpeningAngle().asRadians(),
138-
degrees=False,
139-
)
133+
radius_rad = region.getOpeningAngle().asRadians()
134+
if radius_rad > 0:
135+
pixels = hpg.query_circle(
136+
nside,
137+
center.getLon().asRadians(),
138+
center.getLat().asRadians(),
139+
radius_rad,
140+
degrees=False,
141+
)
142+
elif radius_rad == 0:
143+
pixels = hpg.angle_to_pixel(
144+
nside,
145+
center.getLon().asRadians(),
146+
center.getLat().asRadians(),
147+
degrees=False,
148+
)
149+
else:
150+
raise ValueError("Invalid circle radius.")
140151
elif isinstance(region, ConvexPolygon):
141152
vertices = np.array([[v.x(), v.y(), v.z()] for v in region.getVertices()])
142153
pixels = hpg.query_polygon_vec(nside, vertices)

tests/test_HealpixPixelization.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,14 @@ def test_envelope(self):
114114
)
115115
self._check_envelope(h, circle, [98, 99, 104, 105])
116116

117+
# Try a circle region with zero-radius (representing a point)
118+
pt_circle = Circle(
119+
center=UnitVector3d(
120+
LonLat.fromDegrees((ra_range[0] + ra_range[1]) / 2.0, (dec_range[0] + dec_range[1]) / 2.0)
121+
),
122+
)
123+
self._check_envelope(h, pt_circle, [98])
124+
117125
def test_envelope_missing_neighbors(self):
118126
"""Test envelope, with a pixel with missing neighbors.
119127

0 commit comments

Comments
 (0)