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.0 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

1
2
3
4
5
6
7
xhost +local:docker
# Pull the image.
docker pull vglab/neurotessmesh:0.5.0-nvidia-ubuntu-16.04
# Download example data
wget http://neuromorpho.org/dableFiles/allen%20cell%20types/CNG%20version/H16-03-001-01-09-01_559391771_m.CNG.swc
# Run example
docker 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.0-nvidia-ubuntu-16.04 /usr/bin/NeuroTessMesh -swc /H16-03-001-01-09-01_559391771_m.CNG.swc