Visualizer for large-scale and interactive ray-tracing of neurons
One of the keys towards understanding how the brain works as a whole is visualisation of how the individual cells function. In particular, the more morphologically accurate the visualisation can be, the easier it is for experts in the biological field to validate cell structures; photo-realistic rendering is therefore important.
The Blue Brain Project has made major efforts to create morphologically accurate neurons to simulate sub-cellular and electrical activities, e.g. molecular simulations of neuron biochemistry or multi-scale simulations of neuronal function. Ray-tracing can help to highlight areas of the circuits where cells touch each other and where synapses are being created. In combination with ‘global illumination’, which uses light, shadow, and depth of field effects to simulate photo-realistic images, this technique makes it easier to visualise how the neurons function.
Brayns is a minimalistic visualiser that can perform ray-traced rendering of neurons. It provides an abstraction of the underlying rendering engines, so that the best possible acceleration libraries can be used for the relevant hardware. (https://github.com/BlueBrain/Brayns.git).
To keep track of the changes between releases check the changelog.
Contact: [email protected]
Command line arguments are documented in the User Guide.
The following platforms and build environments are tested:
docker run -ti --rm -p 8200:8200 bluebrain/brayns
More documentation is available on DockerHub: https://hub.docker.com/r/bluebrain/brayns/
docker run -ti --rm -p 8080:8080 bluebrain/brayns-ui
More documentation is available on DockerHub: https://hub.docker.com/r/bluebrain/brayns-ui/
To install all dependencies needed by Brayns on Ubuntu 18.04 run:
sudo apt install git cmake g++ libtbb-dev libgl1-mesa-dev libxrandr-dev \ libxinerama-dev libxcursor-dev libboost-all-dev libfreeimage-dev libglew-dev \ libwebsockets-dev libturbojpeg libturbojpeg0-dev libassimp-dev libhdf5-dev
In order to ease the application compilation process, we recommend using the following tree structure:
- src +- ispc-v1.10.0-linux +- OSPRay +- Brayns
Download and extract ISPC compiler 1.10.0 archive.
Clone embree in the same folder level as ISPC compiler
git clone https://github.com/embree/embree.git mkdir embree/Build cd embree/Build git checkout v3.5.2 cmake .. -DCMAKE_INSTALL_PREFIX= make install
Clone OSPRay in the same folder level as ISPC compiler
git clone https://github.com/ospray/OSPRay.git mkdir OSPRay/Build cd OSPRay/Build git checkout v1.8.5 export CMAKE_PREFIX_PATH= cmake .. -DCMAKE_INSTALL_PREFIX= make install
git clone --recursive https://github.com/BlueBrain/Brayns.git mkdir Brayns/Build cd Brayns/Build cmake .. -DCLONE_SUBPROJECTS=ON -DCMAKE_INSTALL_PREFIX= make install
A number of dependencies are optional, and are related to some specific Brayns features:
cmake .. -DOptiX_INSTALL_DIR= -DBRAYNS_OPTIX_ENABLED=On
cmake .. -DBRAYNS_ASSIMP_ENABLED=ON:OFF
cmake .. -DBRAYNS_CIRCUITVIEWER_ENABLED=ON:OFF
cmake .. -DBRAYNS_DEFLECT_ENABLED=ON:OFF
cmake .. -DBRAYNS_NETWORKING_ENABLED=ON:OFF
cmake .. -DBRAYNS_VRPN_ENABLED=ON:OFF
cmake .. -DBRAYNS_OPTIX_ENABLED=ON:OFF cmake .. -DBRAYNS_OPENDECK_ENABLED=ON:OFF
export PATH=/bin:$PATH export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH braynsViewer
export PATH=/bin:$PATH export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH braynsService
Please file a Bug Report if you find new issues which have not already been reported in Bug Report page. If you find an already reported problem, please update the corresponding issue with your inputs and outputs.