Skip to content

VoluBA backend for non-linear depth-informed alignment of cortical patches

Notifications You must be signed in to change notification settings

HumanBrainProject/cortical-voluba

Repository files navigation

VoluBA backend for non-linear depth-informed alignment of cortical patches

Travis Build Status Coverage Status Swagger Validator

Public deployments

A test deployment (following the dev branch) is deployed on https://cortical-voluba.apps-dev.hbp.eu. Weekly uptime ratio of the development instance 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/.

Documentation

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.

Development

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

Contributing

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).

About

VoluBA backend for non-linear depth-informed alignment of cortical patches

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published