Neurological Visualization for the Web

Tarek Sherif

What is BrainBrowser?

  • A suite of web-enabled visualization tools for neurology data
    • Volume Viewer: Slice-by-slice visualization of volumetric data
    • Surface Viewer: Real-time 3D visualization of surface data
  • At a lower level:
    • A set of JavaScript libraries to run data visualizers on a web page


  • Visualizing your data generally means:
    • Having all data on your machine
    • Installing visualization software on your machine
      • E.g. Display, Register
      • Make sure it works with your:
        • Operating System
        • Installed Libraries
    • If everything works: VISUALIZE!

BrainBrowser is a Web Application

  • Web as a platform
    • Integrate into existing web pages
    • Interact with anything else on the web
      • Data
      • APIs
      • Facebook? Twitter?
  • All users need is a modern web browser
    • No other software to install on their machines

Standards Compliant

  • BrainBrowser uses standards-compliant web technologies
    • HTML5
    • CSS
    • JavaScript
    • Canvas
    • WebGL (three.js)
  • Standard technologies for developers
  • No plugins to install for users
    • No Java, Flash, Unity, etc.

Volume Viewer

  • Navigate volumetric data in a slice-by-slice manner
    • Load one or more volumes
    • Navigate through the data

Load Volumes

  • Currently, only MINC data is supported
    • Load raw and header data
    • Plugin architecture leaves door open for other formats
  • Structural or functional data
  • Multiple volumes can be overlayed


  • Sagittal, Coronal and Transverse slices are displayed for a given point in 3D space
  • Manipulate the point being viewed by moving a cursor with the mouse
  • Step through time increments for functional data


Surface Viewer

  • Manipulate surface data in real-time 3D
    • Load one or more surfaces
    • Load intensity data
    • Manipulate the data

Load Surfaces

  • Supported formats:
    • MNI Object (polygon or line data)
    • Wavefront Object
    • Freesurfer ASCII
  • Extensible plugin architecture
    • If you write a parser for another file format, it can simply be added to BrainBrowser

Load Intensity Data

  • MNI TXT and Freesurfer ASC currently supported
  • Extensible plugin architecture
    • If you write a parser for another file format, it can simply be added to BrainBrowser
    • Essentially any per-vertex data format
  • Optionally tie other data to vertices
    • Region information
    • Text descriptions
    • Images

Manipulate the Data

  • Rotate, pan, zoom
  • Change range of intensities displayed
  • Adjust transparency on different parts of the surface
  • View mesh


Using BrainBrowser

  • Try out the demos:
    • Try out your own data!
  • Download the JavaScript library and add it to your website
    • Fine-grained control over configuration
    • Extend with plugins
    • Must be programmed
  • Use the web service
    • Loads all libraries and dependencies
    • Some aspects can be configured without programming
    • Surface Viewer only


Questions or feedback?