The Wayback Machine - https://web.archive.org/web/20201203130250/https://github.com/BlueBrain/Brayns
Skip to content
master
Go to file
Code

Latest commit

* DTI Plugin support to read reports from disk

* Improvements and fixes:
- Fixed simulation rendering using SDF gemoetry
- Fixed DTI simulation console log
- Added option to prevent Circuit Explorer from loading layers, e-types and m-types

* Improvements and fixes on PBRT Engine
- Image space conversion optimized and parallelized
- Removed uneeded checks to prevent rendering when no changes were made
- Fixed model-add, which did not trigger proper bounds computation
- Fixed scene not re-rendered after removing model

* Simulation on the PBRT Engine

* Fixes and updates on the pbrt simulation:
- Fixed pbrt engine to render using double precission numbers
- Optimized simulation rendering
- Fixed GLEW libraries linkage on cmake

* Custom cone shape implementation for the PBRT engine

* Setting cell material to white when below given intensity threshold

* Fix wrong accumulation frame increase logic when exporting frames to disk

* Last lighting adjustment for pbrt simulation

* Fix wrong access to spike simulation frame data

* Fix wrong vector method call to retrieve last element

* Minor fixes and updates:
- Export frames will now write the image to disk using the actual frame number from the simulation
- Fixed documentation on set-material* entry points
- Fixed circuit explorer loaded when selecting no report to load in a BlueConfig
- Fixed documentation on set_material* python functions

* Synapse correct simulation implementation attempt

* Per section synapse simulation

* Misc fixes and improvements:
- Registered missing properties to CircuitExplorer Advanced circuit loader
- Fixed camel case to separated for strings containing numerical digits
- Support to set active model for simulation

* New entry points for CircuitInfo plugin:
- ci-info: Returns general information about a circuit
- ci-get-cell-data: Return specific information about a cell or group of cesll

* When exporting frames to disk, update the camera with the first frame information

* New entry points and fixes:
- Added new entry points (get-material-properties and update-material-properties) to CircuitExplorer to manipulate specific material properties
- Added new entry point color-cell to color specific cells given by GID by given RGB colors
- Added new entry point fs-set-content to create and fill files in the backend local filesystem
- For export-frames-to-disk, reverted update camera with first camera definition information, added flag to ensure scene rebuild before first frame is rendered

* Adding missing checks and flags to fs-set/get-content

* Update on new entry points:
- Removing redundant parameter for fs-set-content
- Handling wrong formatted data for update-material-properties

* Fix wrong json property name

* Further fixes for new entry points and addons for loaders schema (display property descriptios)

* Optimizing color-cells entry point using GID ranges

* Adding new documentation about new entry points

* Fix command parsing for property map

* Updating Brion submodule to 3.3.0

* Fix non sorted include in Scene.cpp

* Adding flag to select GLM dependency source
d61c000

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
js
Feb 26, 2019
Feb 1, 2018

README.md

Brayns

C++ Build Status Docker Build Status Python Build Status Read the Docs Docker Pulls GitHub release

Brayns

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]

Architecture

Architecture

User guide

Command line arguments are documented in the User Guide.

About

The following platforms and build environments are tested:

  • Linux: Ubuntu 16.04, Debian 9, RHEL 7 (Makefile, x64)

Using Docker images

Start Brayns as a service

docker run -ti --rm -p 8200:8200 bluebrain/brayns

More documentation is available on DockerHub: https://hub.docker.com/r/bluebrain/brayns/

Start the Brayns web UI

docker run -ti --rm -p 8080:8080 bluebrain/brayns-ui

More documentation is available on DockerHub: https://hub.docker.com/r/bluebrain/brayns-ui/

Building from Source

Ubuntu 18.04

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

Prerequisites

In order to ease the application compilation process, we recommend using the following tree structure:

- src
  +- ispc-v1.10.0-linux
  +- OSPRay
  +- Brayns

Intel ISPC compiler

Download and extract ISPC compiler 1.10.0 archive.

Embree

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=<Brayns_installation_folder>
  make install

OSPRay

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=<Brayns_installation_folder>
  cmake .. -DCMAKE_INSTALL_PREFIX=<Brayns_installation_folder>
  make install

Brayns

  git clone --recursive https://github.com/BlueBrain/Brayns.git
  mkdir Brayns/Build
  cd Brayns/Build
  cmake .. -DCLONE_SUBPROJECTS=ON -DCMAKE_INSTALL_PREFIX=<Brayns_installation_folder>
  make install

A number of dependencies are optional, and are related to some specific Brayns features:

Enable/Disable OptiX

cmake .. -DOptiX_INSTALL_DIR=<OptiX_installation_folder> -DBRAYNS_OPTIX_ENABLED=On

Enable/Disable assimp supported mesh file loader (.obj, .ply, etc.)

cmake .. -DBRAYNS_ASSIMP_ENABLED=ON:OFF

Enable/Disable Brion supported morphology file loader (.h5, .swc, BlueConfig, CircuitConfig)

cmake .. -DBRAYNS_CIRCUITVIEWER_ENABLED=ON:OFF

Enable/Disable Deflect for streaming to Tide, the Tiled Interactive DisplayWall environment.

cmake .. -DBRAYNS_DEFLECT_ENABLED=ON:OFF

Enable/Disable HTTP/REST/Websockets interface.

LibJpegTurbo and Rockets. See documentation for REST API details.

cmake .. -DBRAYNS_NETWORKING_ENABLED=ON:OFF

Enable/Disable VRPN tracking plugin.

cmake .. -DBRAYNS_VRPN_ENABLED=ON:OFF

Enable/Disable optional OSPRay modules.

cmake .. -DBRAYNS_OPTIX_ENABLED=ON:OFF
cmake .. -DBRAYNS_OPENDECK_ENABLED=ON:OFF

Running Brayns viewer

export PATH=<Brayns_installation_folder>/bin:$PATH
export LD_LIBRARY_PATH=<Brayns_installation_folder>/lib:$LD_LIBRARY_PATH
braynsViewer

Running Brayns off-screen service

export PATH=<Brayns_installation_folder>/bin:$PATH
export LD_LIBRARY_PATH=<Brayns_installation_folder>/lib:$LD_LIBRARY_PATH
braynsService

Known Bugs

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.

You can’t perform that action at this time.