Proximity Graphs#
This directory contains comprehensive documentation for the Proximity Graphs Python library.
Library Overview#
The Proximity Graphs library provides tools for:
Generating and manipulating point sets in n-dimensional space
Creating various types of geometric and proximity graphs
Analyzing graph properties (degrees, lengths, orientations, entropy)
Visualizing graphs and point patterns
Main Components#
Contents:
- Usage
- Quick Reference Guide
- Points
- Usage Tips
- Common Workflows
- GeometricGraphs
- ProximityGraph
- Biological Graphs
- Experiments
- Example notebooks
draw2method- Customization
- Gamma Graph
- Single Neighborhood, 512*24=12288 points
- Two Neighborhoods
- Special cases, 100 points
- Examples 100 points
- Special cases, 1000 points
- Examples 1000 points
- Test Alpha Shapes Y Alpha Hulls
- Plotting with method
draw_grid - No method
drawmethod- \(\gamma\)-graph
- Delaunay Triangulation
- Convex Hull
- \(\alpha\)-shape
- \(\alpha\)-hull
- \(\beta\)-skeleton con \(\beta \in [0, \infty)\)
- Gabriel Graph
- Relative Neighborhood Graph
- MST
- Stepping Stone
- NNG
- Sigma Graph
- Unit Disk
- SIG
- Eliptic GG
- Custom kwargs
- Test Gamma Graph
- Test Set Points
- EXAMPLE 1: Basic Experiment - Comparing Gabriel vs RNG
- EXAMPLE 2: Multiple Graph Types with Different Point Distributions
- EXAMPLE 3: Custom Metrics
- EXAMPLE 4: Biological Graphs - Physarum
- EXAMPLE 5: Parameter Sweep
- EXAMPLE 6: Different Point Distributions
- EXAMPLE 7: Storing and Retrieving Graphs
- EXAMPLE 8: Advanced - Entropy Analysis
- EXAMPLE 9: Point Transformations
- Testbio
- Times
- References
- About
SetPoints#
Represents collections of points with methods for:
Random generation (uniform, normal, Poisson processes, clusters)
Geometric transformations (rotation, scaling, translation, perturbation)
Visualization
GeometricGraph#
Base class for graphs embedded in geometric space with:
Graph construction and manipulation
Set operations (union, intersection, difference)
Property analysis (entropy, orientation, lengths)
Conversion to GeoPandas for GIS workflows
ProximityGraph#
Specialized geometric graphs based on proximity relationships:
Delaunay Triangulation - Fundamental triangulation structure
Convex Hull - Boundary of point sets
MST (Minimum Spanning Tree) - Minimum cost connected graph
Gabriel Graph - beta-skeleton with beta=1
RNG (Relative Neighborhood Graph) - beta-skeleton with beta=2
beta-Skeleton - Parameterized family of proximity graphs
Unit Disk Graph - Distance-based connectivity
Sphere of Influence Graph - Based on nearest neighbor spheres
alpha-Shape - Generalization of convex hull
alpha-Hull - Hull with circular arcs
gamma-Neighborhood Graph - Veltkamp’s generalized proximity graph
Elliptic Gabriel Graph - Gabriel graph with elliptical regions
sigma-Graph - Scaled distance-based graph
Stepping Stone Graph - Power-distance based connectivity
Getting Started#
from proximitygraphs.points import SetPoints
from proximitygraphs.proximitygraphs import DelaunayG, GG, RNG
# Generate points
points = SetPoints.uniform_square(n=100, dims=2, seed=42)
# Create graphs
delaunay = DelaunayG(points)
gabriel = GG(points)
rng = RNG(points)
# Visualize
gabriel.draw(figsize=(10, 10))
See individual documentation files for detailed information on each class and method.