$ show fitodic/centerline
Centerline is a Python library for computing the medial axis (centerline) of polygon geometries using Voronoi diagrams. It provides both a programmatic API via the Centerline class and a command-line interface (create_centerlines) for processing vector files. The library takes polygon/multipolygon inputs, generates a Voronoi diagram from densified boundaries, filters ridges contained within the input geometry, and unions them to produce a multilinestring output while preserving attribute data. The architecture separates core algorithmic logic (geometry.py) from I/O and CLI concerns (converters.py), with proper error handling via custom exceptions.
The LLM identified 1 files worth highlighting for reuse:
Implements the core Voronoi-based centerline algorithm with numerical stability optimizations. The component translates coordinates to minimize floating-point errors, densifies boundaries at a configurable interval, uses SciPy's Voronoi to generate ridges, filters finite ridges, employs STRtree for efficient spatial querying to identify ridges contained within the input polygon, and unions valid ridges to produce the final centerline. Demonstrates strong understanding of computational geometry principles, spatial indexing for performance, and numerical robustness techniques. Could be extracted as a standalone computational geometry module with minimal changes (would need to maintain Shapely/SciPy/NumPy dependencies).