VoluBA backend for non-linear depth-informed alignment of cortical patches
A test deployment (following the dev
branch) is deployed on https://cortical-voluba.apps-dev.hbp.eu. The corresponding front-end is https://voluba-dev.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.
The backend uses highres-cortex and ANTs, both of which must be available the PATH
. You can use docker-highres-cortex/script.sh to build a Docker image containing highres-cortex (a pre-built image is available on Docker Hub: ylep/highres-cortex). You can use docker-highres-cortex-ants/Dockerfile to add the relevant ANTs tools (a pre-built image is available on Docker Hub: ylep/highres-cortex-ants).
The compute-intensive alignment runs on a task queue that uses Celery. It needs to be configured with a broker (Redis was tested successfully), see First steps with Celery. The queue runner needs to be started separately:
Useful commands for development:
git clone https://github.com/HumanBrainProject/cortical-voluba.git
# Install in a virtual environment
cd cortical-voluba
python3 -m venv venv/
. venv/bin/activate
pip install -e .[dev]
export FLASK_APP=hbp_spatial_backend
flask run # run a local development server
celery --app=cortical_voluba worker --loglevel=info # run the task queue
# Tests
pytest # run tests
pytest --cov=hbp_spatial_backend --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).