Pywayne Cv Geometric Hull Calculator
by @wangyendt
Geometric hull calculator for 2D point sets supporting convex hull, concave hull (concave-hull, alphashape), and minimum bounding rectangle. Use when working...
clawhub install geometric-hull-calculatorπ About This Skill
name: pywayne-cv-geometric-hull-calculator description: Geometric hull calculator for 2D point sets supporting convex hull, concave hull (concave-hull, alphashape), and minimum bounding rectangle. Use when working with pywayne.cv.geometric_hull_calculator module to compute geometric hulls, visualize results with OpenCV or matplotlib, and generate random test point sets.
Pywayne Geometric Hull Calculator
This module computes geometric hulls (convex and concave) for 2D point sets.
Quick Start
from pywayne.cv.geometric_hull_calculator import GeometricHullCalculator
import numpy as npCreate calculator with random points
points = GeometricHullCalculator.generate_random_points(num_points=50)
calculator = GeometricHullCalculator(points, algorithm='concave-hull')Get results
print(f"MBR: {calculator.get_mbr()}")
print(f"Convex Hull: {calculator.get_convex_hull()}")
print(f"Concave Hull: {calculator.get_concave_hull()}")Visualize with matplotlib
calculator.visualize_matplotlib()
Initialization
# algorithm options: 'concave-hull' or 'alphashape'
use_filtered_pts: Enable point filtering based on radius
calculator = GeometricHullCalculator(
points=your_points,
algorithm='alphashape',
use_filtered_pts=True
)
Supported Algorithms
| Algorithm | Description |
|-----------|-------------|
| concave-hull | Concave hull using concave_hull library |
| alphashape | Concave hull using alphashape library |
Hull Types
| Type | Method | Description |
|------|---------|-------------|
| Convex Hull | get_convex_hull() | Outer hull containing all points |
| Concave Hull | get_concave_hull() | Inner concave boundary |
Properties
| Property | Description |
|---------|-------------|
| points | Input 2D points (NΓ2 numpy array) |
| algorithm | Algorithm used for concave hull |
| use_filtered_pts | Whether filtered points were used |
| box | Minimum Bounding Rectangle corners |
| center | Center point of input points |
| filter_radius | Radius used for point filtering |
| concave_hull_result | Concave hull points or polygons |
Visualization
OpenCV Visualization
calculator.visualize_opencv()
Displays: All input points, MBR, center, filter circle (if enabled), concave hull (green), convex hull (red).
Matplotlib Visualization
calculator.visualize_matplotlib()
Displays: All input points (red), MBR (blue), center, filter radius circle (if enabled), concave hull (orange), convex hull (purple).
Requirements
numpy - Array operationscv2 (OpenCV) - For OpenCV visualization and MBR computationmatplotlib - For matplotlib visualizationscipy - For convex hull computationconcave_hull - Concave hull algorithmalphashape - Alphashape algorithmshapely - Polygon operations for area calculationNotes
π‘ Examples
from pywayne.cv.geometric_hull_calculator import GeometricHullCalculator
import numpy as npCreate calculator with random points
points = GeometricHullCalculator.generate_random_points(num_points=50)
calculator = GeometricHullCalculator(points, algorithm='concave-hull')Get results
print(f"MBR: {calculator.get_mbr()}")
print(f"Convex Hull: {calculator.get_convex_hull()}")
print(f"Concave Hull: {calculator.get_concave_hull()}")Visualize with matplotlib
calculator.visualize_matplotlib()