Metadata-Version: 2.1
Name: gco
Version: 2.0.2
Summary: Python bindings for the GCO library by Veksler and Delong.
Home-page: https://github.com/agoose77/gco-ext
Author: Angus Hollands
Author-email: goosey15@gmail.com
Project-URL: Research, https://vision.cs.uwaterloo.ca/code
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# gco
[![Tests](https://github.com/agoose77/gco-ext/actions/workflows/tests.yml/badge.svg)](https://github.com/agoose77/gco-ext/actions/workflows/tests.yml)

A Python interface to the [gco](https://github.com/agoose77/gco-v3.0) library (modified for repackaging from [the original source](https://vision.cs.uwaterloo.ca/code/))

The exposed `GCO<XXX>Graph` classes are available under the `gco` root namespace.

See the [research homepage](https://vision.cs.uwaterloo.ca/code/) for license and usage information.

## Neighborhood
Without the ability to easily create C++ arrays-of-arrays in Python, a `GCONeighborhood` class is exposed which builds pointers into flat arrays:
```python
neighborhood = gco.GCONeighborhood(count, site, cost)
```
where `count[i]` is the number of neighbours for site `i`, `site[j]` is the site of the jth cumulative neighbour, and `cost` the corresponding cost for such a neighbour.
