Cellular-resolution connectomics is currently substantially limited by the throughput and efficiency of data analysis. Current solutions require an efficient integration of automated image analysis with massive manual data annotation. To scale such annotation efforts it is decisive to be able to crowd source data analysis online. Here we present webKnossos.
Boergens, Berning, Bocklisch, Bräunlein, Drawitsch, Frohnhofen, Herold, Otto, Rzepka, Werkmeister, Werner, Wiese, Wissler and Helmstaedter webKnossos: efficient online 3D data annotation for connectomics. Nature Methods (2017) DOI:10.1038/NMETH.4331.
- Exploration of large 3D image datasets
- Fully browser-based user experience with efficient data streaming
- Creation/editing of skeleton and volume annotations
- Innovative flight mode for fast skeleton tracing
- Optimized performance for large tracings
- User and task management for high-throughput crowdsourcing
- Sharing and collaboration features
- Standalone datastore component for flexible deployments
- Supported dataset formats: WKW (Optimized), KNOSSOS cubes, Neuroglancer Precomputed, and BossDB
- Supported image formats: Grayscale, Segmentation Maps, RGB, Multi-Channel
- Support for 3D mesh rendering and on-the-fly isosurface generation
- Documented frontend API for user scripts, REST API for backend access
- Open-source development with automated test suite
- Docker-based deployment for production and development
- Detailed Documentation
This is the fastest way to try webKnossos. Docker CE 17+ and Docker Compose 1.18+ is required. This is only recommended for testing. For production, a more elaborate setup with persistent file mounts and HTTPS reverse proxy is recommended.
docker-compose pull webknossos
./start-docker.sh
See the wiki for instructions on updating this try setup.
- Oracle JDK 8+ or Open JDK 8+ (full JDK, JRE is not enough)
- sbt
- PostgreSQL 10
- Redis 5+
- node.js 9+
- yarn package manager
- git
If you are using OS X try using this awesome installer: https://gist.github.com/normanrz/9128496
Or install Java manually and run:
# Install Homebrew package manager
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install git, node.js, postgres, sbt, gfind, gsed
brew install git node postgresql sbt findutils coreutils gnu-sed redis
npm install -g yarn
# Start postgres
brew services start postgresql
# Create PostgreSQL user
createdb
psql -c "CREATE DATABASE webknossos;"
psql -c "CREATE USER postgres WITH ENCRYPTED PASSWORD 'postgres';"
psql -c "ALTER USER postgres WITH SUPERUSER;"
psql -c "GRANT ALL PRIVILEGES ON DATABASE webknossos TO postgres;"
# Checkout the webKnossos git repository
git clone git@github.com:scalableminds/webknossos.git
# Adding repositories for sbt, nodejs and yarn
echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 642AC823
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
# Installing everything
sudo apt-get update
sudo apt-get install -y git postgresql-10 postgresql-client-10 nodejs scala sbt openjdk-8-jdk yarn redis-server
# Assign a password to PostgreSQL user
sudo -u postgres psql -c "ALTER USER postgres WITH ENCRYPTED PASSWORD 'postgres';"
On older Ubuntu distributions: Please make sure to have the correct versions of node, PostgreSQL and java installed.
- Install Java JDK 8 (from Oracle or OpenJDK)
- make sure
JAVA_HOME
andJDK_HOME
are set andPATH
contains path to JDK
See: http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html
- Install PostgreSQL from https://www.postgresql.org/download/
- PostgreSQL version 10+ is required
- Install Redis from https://redis.io/download
- Install node from http://nodejs.org/download/
- node version 9+ is required
- Install yarn package manager:
npm install -g yarn
yarn start
Will fetch all Scala, Java and node dependencies and run the application on Port 9000. Make sure that the PostgreSQL and Redis services are running before you start the application.
See wiki for recommended production setup.
For upgrades, please check the changelog & migration guide.
# Frontend linting
yarn run lint
# Format frontend code
yarn run pretty
# Frontend type checking
yarn flow
# Frontend tests
yarn test-verbose
# End-to-end tests
docker-compose run e2e-tests
Contact us at hello@scalableminds.com.
scalable minds offers commercial hosting, support and development services for webKnossos.
- scalable minds - https://scalableminds.com/
- Max Planck Institute for Brain Research – https://brain.mpg.de/
webKnossos was inspired by KNOSSOS.
- CircleCI for letting us run builds and tests on their CI
- Browser Stack for letting us test WebKnossos on a variety of different devices
AGPLv3