Skip to content
Back to skills

Geometric Hull Calculator

ASecurity

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.

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added February 10, 2026
developmentpythongo

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add wangyendt/wayne-skills --skill geometric-hull-calculator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Geometric Hull Calculator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Geometric Hull Calculator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wangyendt-geometric-hull-calculator/badge)](https://www.skillsdirectory.com/skills/wangyendt-geometric-hull-calculator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

```python
from pywayne.cv.geometric_hull_calculator import GeometricHullCalculator
import numpy as np

# Create 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

```python
# 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

```python
calculator.visualize_opencv()
```

Displays: All input points, MBR, center, filter circle (if enabled), concave hull (green), convex hull (red).

### Matplotlib Visualization

```python
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 operations
- `cv2` (OpenCV) - For OpenCV visualization and MBR computation
- `matplotlib` - For matplotlib visualization
- `scipy` - For convex hull computation
- `concave_hull` - Concave hull algorithm
- `alphashape` - Alphashape algorithm
- `shapely` - Polygon operations for area calculation

## Notes

- Point filtering uses radius = 30% of shorter MBR edge length
- MBR computed using OpenCV's minAreaRect
- Convex hull uses scipy's ConvexHull
- Supports both single Polygon and MultiPolygon from alphashape results

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.