Skip to content

v0.41.0

Compare
Choose a tag to compare
@zebengberg zebengberg released this 27 Apr 13:15
· 1805 commits to main since this release

Improve polygon algorithms.

Features

  • Rewrite the polygon module to run computation with opencv in place of scikit-image for finding contours. This change improves the algorithm runtime and fixes some previous unstable behavior in finding nested contours. For an introduction to the methodology, see the OpenCV contour tutorial.

Breaking changes

  • Completely rewrite the polygon module. Replace the "main" public function polygon.find_contours_to_depth with polygon.find_multipolygon. Replace the polygon.contour_to_lat_lon function with polygon.multipolygon_to_geojson. Return shapely objects when convenient to do so.
  • Convert continuous data to binary for polygon computation.
  • Remove parameters min_area_to_iterate and depth in the MetDataArray.to_polygon_feature method. The depth parameter has been replaced by the boolean interiors parameter. Add a properties parameter for adding properties to the Polygon and MultiPolygon features. The max_area and epsilon parameters are now expressed in terms of latitude-longitude degrees.

Internals

  • Add opencv-python-headless>=4.5 as an optional "vis" dependency. Some flavor of opencv is required for the updated polygon algorithms.