An HTTP backend for estimating linear spatial transformations from a list of point landmarks.
This backend is used by Voluba, a web-based tool for interactive registration of 3-dimensional images, dedicated to the alignment of sub-volumes into brain templates.
A production deployment (following the master
branch) is deployed on https://voluba-linear-backend.apps.hbp.eu.
The dev
branch is deployed on https://voluba-linear-backend.apps-dev.hbp.eu.
The public deployments are managed by OpenShift clusters, the relevant configuration is described in openshift-deployment/.
The API is documented using the OpenAPI standard (a.k.a. Swagger): see the ReDoc-generated documentation. A Swagger UI page is also available for trying out the API.
Useful commands for development:
git clone https://github.com/HumanBrainProject/voluba-linear-backend.git
# Install in a virtual environment
cd voluba-linear-backend
python3 -m venv venv/
. venv/bin/activate
pip install -e .[dev]
export FLASK_APP=linear_voluba
flask run # run a local development server
# Tests
pytest # run tests
pytest --cov=linear_voluba --cov-report=html # detailed test coverage report
tox # run tests under all supported Python versions
# Please install pre-commit if you intend to contribute
pip install pre-commit
pre-commit install # install the pre-commit hook
This repository uses pre-commit to ensure that all committed code follows minimal quality standards. Please install it and configure it to run as a pre-commit hook in your local repository (see above).
This project is released under the Apache Licence, version 2.0. See LICENCE.txt.
Portions of the code are based on code from the scikit-image library, Copyright (C) 2011, the scikit-image team, under the 3-clause-BSD licence.