Skip to content

Geodan/concave-hull

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Concave Hull

A python module of the concave hull algorithm described in this Code Project article written in C++, adapted for python using pybind11. Requires FLANN.

Installation

FLANN

Windows

Download FLANN 1.8 from here and build using a C++ compiler. Set the FLANN directory in the environment variables under the variable name FLANN_DIR.

set FLANN_DIR=path/to/flann/dir

Or set the environment variables via the control panel.

Ubuntu

Install FLANN using apt:

sudo apt install libflann-dev

Or download the source and build.

mkdir build
cd build
cmake ..
make
make install

Set the environment variable.

export FLANN_DIR=/usr/include

Concave Hull

With the FLANN_DIR variable set run the setup.py file using pip, by running the following command in the concave hull directory:

pip install .

Usage

In python import the module and use the compute method to compute a concave hull.

import numpy as np
import concave_hull

points = np.random.rand(20, 2)
hull = concave_hull.compute(points, 3)

Python doc

Computes the concave hull of a set of points.

Parameters

points : (Mx2) array
The coordinates of the points.
k : int
The initial k neighbors to search for.
iterate : bool
If false the algorithm will stop after only one iteration of K, irrespective of result.

Returns

hull : (Mx2) array
The coordinates of the points of the concave hull

Releases

No releases published

Packages

No packages published