wbia-lca

Localized Clustering and Alternatives (LCA) - An algorithm for curating a graph of animal sightings


Keywords
wildbook, wildme, ibeis, ecological, wildlife, conservation, machine, learning, ai, hotspotter, detection, classification, animal, ID, re-id, re-identification, flukebook
License
Apache-2.0
Install
pip install wbia-lca==4.0.2

Documentation

WBIA - WildBook IA LCA Plug-in

Build and upload to PyPI (main) Latest PyPI version Documentation on ReadTheDocs

Local CLusters and their Alternatives (LCA) plug-in for WBIA - Part of the WildMe / Wildbook IA Project.

Requirements

  • Python 3.5+
  • Python dependencies listed in requirements.txt

Installation Instructions

PyPI

The WBIA software is now available on pypi for Linux systems. This means if you have Python installed. You can simply run:

pip install wbia_lca

to install the software.

We highly recommend using a Python virtual environment: https://docs.python-guide.org/dev/virtualenvs/#lower-level-virtualenv

Citation

If you use this code or its models in your research, please cite:

@article{berger2017wildbook,
    title={Wildbook: Crowdsourcing, computer vision, and data science for conservation},
    author={Berger-Wolf, Tanya Y and Rubenstein, Daniel I and Stewart, Charles V and Holmberg, Jason A and Parham, Jason and Menon, Sreejith and Crall, Jonathan and Van Oast, Jon and Kiciman, Emre and Joppa, Lucas},
    journal={arXiv preprint arXiv:1710.08880},
    year={2017}
}

Documentation

The WBIA API Documentation can be found here: https://wbia-lca.readthedocs.io/en/latest/

Code Style and Development Guidelines

Contributing

It's recommended that you use pre-commit to ensure linting procedures are run on any commit you make. (See also pre-commit.com)

Reference pre-commit's installation instructions for software installation on your OS/platform. After you have the software installed, run pre-commit install on the command line. Now every time you commit to this project's code base the linter procedures will automatically run over the changed files. To run pre-commit on files preemtively from the command line use:

git add .
pre-commit run

# or

pre-commit run --all-files

Brunette

Our code base has been formatted by Brunette, which is a fork and more configurable version of Black (https://black.readthedocs.io/en/stable/).

Flake8

Try to conform to PEP8. You should set up your preferred editor to use flake8 as its Python linter, but pre-commit will ensure compliance before a git commit is completed.

To run flake8 from the command line use:

flake8

This will use the flake8 configuration within setup.cfg, which ignores several errors and stylistic considerations. See the setup.cfg file for a full and accurate listing of stylistic codes to ignore.

PyTest

Our code uses Google-style documentation tests (doctests) that uses pytest and xdoctest to enable full support. To run the tests from the command line use:

pytest