BrainBox - An application from the Open Neuroimaging Laboratory
BrainBox is a web application for the collaborative curation of neuroimaging data available online. You can share, visualise and annotate MRI brain data in real-time, collaboratively. BrainBox will provide the means to create a layer of collaborative annotation over all the available MRI data without having to rely on a centralised data repository or the necessity of having to install software. This manual annotation step is time-consuming but very important: on its correctness depends that the results of any analysis downstream will be sound and accurate. Join us! Your contribution is invaluable!
You can try BrainBox at http://brainbox.pasteur.fr. Log in with your github account and enter the URL to an MRI file you want to visualise, annotate and edit. You can also click one of the examples.
We want to make it easy for anyone to participate in open science by launching or participating in collaborative projects using BrainBox. Automatic image-analysis algorithms still very often fail in tasks which are simple for humans. But the explosion in the number of data sets available prevents individual labs from engaging into time-consuming manual editing. This results in a large proportion of shared data not being analysed, wasting time and funding. BrainBox makes it possible to work collaboratively, using real-time interaction on the Web. Like Wikipedia or Google docs, it allows creating distributed research teams to collaborate real-time in the segmentation and annotation of neuroimaging data. No data needs to be downloaded, no software to be installed. All you need is a Web browser.
Our aim is to make BrainBox into a reliable tool for open, reproducible, collaborative science.
We will be happy to work with anyone who would love to join our effort. While you can see in real-time what your collaborators are writing or drawing on a given data set, you can also chat with them, and ask for help or approval of your work. We want to open this scientific process to everyone with any background including citizen scientists and researchers. Join us! Join our segmentation sprint! In our GitHub issue #42 you find detailed information on how to participate and get credit for your work. Currently, we are trying to complete the dolphin brain! Join our team of BrainMappers
And please also feel free to join our efforts on GitHub! Everybody very welcome!
More information about BrainBox can be found in our 3 min video on the OpenNeuroLab’s YouTube channel: “Open Neuroimaging Laboratory” And in several smaller specific videos: “Collaborative editing of brain masks in BrainBox” “Collaborative creation of brain masks in BrainBox”
Join our project on github any time You can also e-mail us to get in touch at openneurobrainbox at gmail dot com! Or launch your own collaborative project on BrainBox
We are looking forward to meeting you!
If you want to work on BrainBox's code, you'll need a local installation:
git clone
this repository or download itmv BrainBox brainbox
to rename the directorycd
to brainbox- create a new OAuth application for your local brainbox url (http://localhost:3000 by default)
- paste the keys into the github-keys.json.example file, change the
callbackURL
to"http://localhost:3000/auth/github/callback"
and drop the .example - drop the
.example
fromcontroller/atlasMakerServer/blacklist.json.example
- drop the
.example
fromcontroller/atlasMakerServer/whitelist.json.example
- make sure Docker is installed
docker-compose up
- Then open
http://localhost:3000
in your browser.
- install and start
mongo
database - clone the repo and
cd
to the brainbox directory - create a new OAuth application for your local brainbox url (http://localhost:3000 by default)
- paste the keys into the github-keys.json.example file, and drop the .example
- drop the
.example
fromcontroller/atlasMakerServer/blacklist.json.example
- drop the
.example
fromcontroller/atlasMakerServer/whitelist.json.example
npm install
npm start
- To check that your code style is like the one we use, enter
npm run lint
, or you can typeeslint
before committing, to do that installeslint
globally usingnpm i -g eslint
(our code style rules are in the file.eslintrc
).
For Docker users first start the containers with docker-compose up -d
, then run npm test
.
For non-Docker users you will need to ensure puppeteer can run correctly on your local system (please refer to the documentation for information). Then run the command npm mocha-test
.