Skip to content

Commit

Permalink
With matplotlib dependency raised to 1.3, remove inlined clipping code
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanv committed Feb 2, 2016
1 parent be667e0 commit e67172e
Showing 1 changed file with 3 additions and 10 deletions.
13 changes: 3 additions & 10 deletions skimage/_shared/_geometry.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
__all__ = ['polygon_clip', 'polygon_area']

import numpy as np
from matplotlib import _path, path, transforms


def polygon_clip(rp, cp, r0, c0, r1, c1):
Expand All @@ -24,19 +25,11 @@ def polygon_clip(rp, cp, r0, c0, r1, c1):
AGG 2.4 and exposed in Matplotlib.
"""
from matplotlib import _path, path, transforms

# `clip_to_bbox` is included directly from Matplotlib
# since it was only included after v1.1
def clip_to_bbox(poly_path, bbox, inside=True):
verts = _path.clip_path_to_rect(poly_path, bbox, inside)
paths = [path.Path(poly) for poly in verts]
return poly_path.make_compound_path(*paths)

poly = path.Path(np.vstack((rp, cp)).T, closed=True)
clip_rect = transforms.Bbox([[r0, c0], [r1, c1]])
poly_clipped = clip_to_bbox(poly, clip_rect).to_polygons()[0]
poly_clipped = poly.clip_to_bbox(clip_rect).to_polygons()[0]

# This should be fixed in matplotlib >1.5
if np.all(poly_clipped[-1] == poly_clipped[-2]):
poly_clipped = poly_clipped[:-1]

Expand Down

0 comments on commit e67172e

Please sign in to comment.