Metadata-Version: 2.4
Name: triplclust_py
Version: 0.2.0
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
License-File: LICENSE
License-Expression: GPL-3.0-or-later
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# triplclust_rs

Rust implementation of the [`triplclust`](https://github.com/cdalitz/triplclust) 
hierarchical clustering algorithm outlined in

> C. Dalitz, J. Wilberg, L. Aymans: "TriplClust: An Algorithm for Curve Detection in
> 3D Point Clouds." Image Processing Online 9, pp. 26-46 (2019).
> https://doi.org/10.5201/ipol.2019.234

used by AT-TPC, with Python bindings using pyo3.

## Installation

Eventually get this hosted on PyPI but until then...

### From source

Requires the [Rust](https://rust-lang.org) compiler tool chain.

Download the repository from GitHub and then create a Python virtual environment.
Activate the virtual environment and install maturin using

```bash
pip install maturin
```

Then from the top level of the repository run

```bash
maturin develop
```

This will compile `triplclust_rs` and install the Python bindings `triplclust_py`.

## Usage

Docs in progress.

## Benchmarks

To run the benchmarks run

```bash
cargo bench
```

