NeuroTessMesh Introduction

NeuroLOTs is a set of libraries and tools that implement a method for generating neuronal meshes and for visualizing them at different levels of detail using GPU-based tessellation. As a part of NeuroLOTs, NeuroTessMesh provides a visual environment for the generation of 3D polygonal meshes that approximate the membrane of neuronal cells, from the morphological tracings that describe the morphology of the neurons. The 3D models can be tessellated at different levels of detail, providing either homogeneous or adaptive resolution along the model. The soma shape is recovered from the incomplete information of the tracings, applying a physical deformation model that can be interactively adjusted. The adaptive refinement process performed in the GPU generates meshes that allow good visual quality geometries at an affordable computational cost, both in terms of memory and rendering time. NeuroTessMesh is the front-end GUI to NeuroLOTs framework.

This documentation is for NeuroTessMesh version 0.5.5 software that can be obtained from the homepage.

Hardware requirements

The application requires a graphic card that supports OpenGL 4.0 at least. NVIDIA offers support for GPU tessellation from the GTX 400 serie on, and ATI/AMD from Radeon HD 5000 serie on. Previous series of both companies are not able to tessellate and consequently the mesh refinement will not work.

Note

The GPU Tessellation on Intel graphics cards is present only on certain models, for more information you can visit the next link: Supported APIs and Features for Intel Graphics Drivers

Installation and running

NeuroTessMesh can be downloaded from the NeuroLOTs & NeuroTessMesh Homepage for Linux and Mac operating systems and executed locally. Additionally it can be executed using a docker image.

Docker containers

The docker containers for NeuroTessMesh can be found on Docker Hub. It’s recommended to use the highest tag number as it represents the latest official release.

Executing locally

The application options and parameters are:

OPTION

PARAMETER

DESCRIPTION

--version

none

Shows the version of the application.

--help

none

Shows the options and arguments used for executing the application.

-bc

path_to_bc_file

Load BlueConfig file.

-swc

path_to_swc_file

Load SWC file.

-xml

path_to_xml_file

Load XML scene file.

-target

target_label

Specifies target label of the BlueConfig file.

-zeroeq

schema_id

Enables ZeroEQ communications with the specified id.

--json

path_to_json_file

Load JSON data file.

-ws

--window-size

width height

Specifies the size of the application window.

-fs

--fullscreen

none

Sets the application window to fullscreen mode.

-mw

--maximize-window

none

Maximizes the application window to the desktop resolution.

-s

--samples

samples_number

Sets the samples number for OpenGL.

Overwritten, if present, by the enviroment variable CONTEXT_OPENGL_SAMPLES.

-nvs

--no-vsync

none

Disables vertical sync for OpenGL.

Overwritten, if present, by the enviroment variable CONTEXT_OPENGL_VSYNC.

-cv

--context-version

major minor

Sets the OpenGL version of the application.

Overwritten, if present, by the enviroment variables CONTEXT_OPENGL_MAJOR and CONTEXT_OPENGL_MINOR.

If the options are incompatible or its parameters invalid the application will abort the execution and will show the help message in the console.

Docker example

1xhost +local:docker
2# Pull the image.
3docker pull vglab/neurotessmesh:0.5.5-nvidia-ubuntu-16.04
4# Download example data
5wget http://neuromorpho.org/dableFiles/allen%20cell%20types/CNG%20version/H16-03-001-01-09-01_559391771_m.CNG.swc
6# Run example
7docker run --gpus 1 -ti --rm -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v /etc/machine-id:/etc/machine-id -v $(pwd)/H16-03-001-01-09-01_559391771_m.CNG.swc:/H16-03-001-01-09-01_559391771_m.CNG.swc --privileged vglab/neurotessmesh:0.5.5-nvidia-ubuntu-16.04 /usr/bin/NeuroTessMesh -swc /H16-03-001-01-09-01_559391771_m.CNG.swc