Summary table

3D visualization

The 3D visualization in this tab is implemented with ThreeJS, a javascript library that uses webGL. If you experience any problem during the visualization update your browser and/or check that your browser supports webGL.

To visualize an uploaded soma, select it using the soma selector on the left side. If no soma has been uploaded yet, please proceed to data load tab. Once a soma has been selected, in the next box you will see the different versions available, which are: Original, Repaired, Segmented, Repaired & Segmented, Simulation.

For each version, you can set its color and opacity (from 0 to 1). Any version of a soma can be plotted at the same time. Finally, you can select the render quality. The better the quality, the slower the rendering process will be. After all parameters have been set you can click on the render button.

Soma selector


Mesh selection

Color and opacity

Renderer options

Summary table

Load PLY and/or VRML files

To load a 3D mesh in PLY or VRML format, please use the file explorer on the sidebar to select the files. The set of reconstructions can be grouped in a package by filling the "package" text field in the sidebar. To speed-up the uploading proccess, files can be also be in ZIP format.

Metadata XML files can be also uploaded at the same time. Data and metadata files will be paired by name. For example: this_soma.xml will be processed as the metadata relative to this_soma.ply or this_soma.vrml.

Any errors detected during the upload or the parsing phase will be displayed in this same page. Files with errors will not be uploaded into 3DsomaMS. After completion, please proceed to "preprocessing".

Process log

Process loaded files

Original 3D reconstructions of the soma can present holes produced in the staining proccess, also the initial part of the neurites can be part of the original mesh.

To address these issues, SomaMS provides two preprocessing algoriths:

  • Repair algorithm : Based on the ambient occlusion algorithm and then applying clustering techniques. It fills the holes in the soma surface and applies smoothing.
  • Segmentation algorithm :Based on the shape diameter function value. Distinguish between soma and neurites, removing the latest.

Finally, the characterization process mesures descriptive morphological variables from the mesh that are used in the modelling and simulation steps.

More information about the preprocessing step can be found in the article: Luengo-Sanchez et al. A univocal definition of the neuronal soma morphology using Gaussian mixture models , Frontiers in Neuroanatomy vol. 9, 2015.

Soma selector


Process log


Characterizations data table

The characterization table displays all variables measured in the characterization proccess (one row per soma). On the left side you can select which variables to show in the table in the column selector. Due to the high number of variables the table may not display propperly if too many variables are selected.

If you already have characterized a set of somas in a previous session, you can import a CSV table with the previous data and avoid to go through the repair, segment and characterize process. To do so, just select the CSV file in the file explorer under the column selector and click import.

To export the table in CSV format, click the export button under the data table. The whole table will be saved, no matter which columns are active in the column selector.

Column selector

Import data tables

Download somas

All uploaded and processed somas in the application can be downloaded in binary PLY format. Use the control on the left to select which somas you want to download, then click on the button to download a ZIP file with all selected somas.

Soma selector


Process log


Summary table

Model visualization

In this tab you can explore every model in the application. After selecting a model, the list of characterizations and the view selector are in the first section. There are three detailed views available, one for each component of the model:

  • Source data view : Displays the data used to create the model, similar to the view data table tab under data loading. Here you can explore the data and download it in CSV format.
  • Bayesian Network : Shows the Bayesian network structure as well as the marginal distribution of each node (left click on a node). You can also select which variables are represented in the variable selector on the left.
  • Cluster : Plots instances and cluster centroids in a 3D scatterplot using multidimensional scaling.

Model general info

Bayesian network view

Variable selector

Clustering visualization


Cluster distance plot (MDS)

Source data view

Column selector

Create new model

3DSomaMS builds a model based on a Gaussian Bayesian network with the variables measured in the characterization step. Then it applies clustering techniques to identify groups of somas with common characteristics.

To create a new model use the data selector on the left side to select which characterizations will be used as source data for the new model. You must also name the new model to identify it afterwards.

There are 4 parameters setteable in model building phase:

  • Number of reboots : Number of times that the bootstrap process will learn the Bayesian structure.
  • Significant threshold : Threshold over percentage of times that an arc appeared in the boostrap structures to be included in the final structure.
  • Number of clusters : Range that determines the number of clusters to consider. The final clustering will be selected based on its BIC score.
  • Initialization method : Initialization method to build the clusters, it can be K-means or at random initialization.

Data selector


Process log


Simulation summary

Run new simulation

Based on models built in the previous step, 3DSomaMS can create new characterizations and from them create a 3D mesh, a simulated soma.

To run a simulation select which model will be used as reference in the Model selector. Name the simulation to identify it afterwards. Then, in the simulation parameters box, choose one of the clusters. To sample from all of the clusters according to the priori distribution of the cluster select All. Finally select the number of somas to simulate and click Run simulation to start.. You must also name the simulation to identify it afterwards.

Simulation Parameters

Simulation log


3D Soma MS Graphical User Interface

Welcome to 3DSomaMS, an R package for soma reparation, segmentation and characterization. This web-based user interface provides access to all main algorithms implemented in 3DSomaMS. The interface is divided in four sections:

  • Dashboard : This section provides a general overview of the application as well as a 3D soma visualizator.
  • Data loading : In this tab the user can upload new files, preprocces somas and import/export its characterization.
  • Modelling : Based on the characterization of the somas, in this page the user can create soma models and visualize them.
  • Simulation : Finally, in the simulation tab the user can generate new somas from the models built in the previous section.
In the boxes below, you can find detailed information about these four sections. If you have any question about 3DSomaMS, this interface or you have found any bug, the contact information is at the end of this page.


Summary tab

Dashboard tab In the dashboard principal tab you will find a summary table that depicts the status of every soma loaded into the application. Just above this table, there are some boxes that show some key values in the application: number of somas, models and simulations

3D Visualization tab

Dashboard tab The 3D visualization tab contains an interactive 3D plot of any soma in the application. In the controls on the left side you can find a soma selector and the render options, while the 3D plot is on the right side.
The first step is to select a soma using the soma selector. Once a soma has been selected the options in the box below will be updated. On the options box you can select which versions of the soma you want to plot, and for each version you can set face color and opacity, After setting all the parameters, click on render button to create or update the 3D plot.
You can move the camera in the 3D plot using your keyboard, specific controls are detailed on the top-side of the plot.

Data loading

Summary tab

Loading tab The summary tab of the data loading section briefly shows all loaded soma meshes in the app. The upper boxes display how many somas are in each possible status ( repaired, segmented, repaired & segmented and characterized). The summary table contains one row per soma and their number of faces and vertices.

Data load tab

Data load tab In the data load tab the user can upload meshes in VRML or PLY format (or even ZIP files) as well as XML metadata files. The controls are located in the sidebar on the left side. The user can select one or more files to upload using the file explorer. A set of somas can be grouped in a package by setting a package name.

Preprocessing tab

Preprocessing tab In the preprocessing tab user can apply automatic repairing and segmentation algorithms to the previously loaded neurons and also characterize them. In the Soma selector box, user can check an individual neuron or select recursively all the files in a folder tree. Then, in the Operations box, user points out the algorithms that wants to apply. User can choose any combination of algorithms, that is, segmentation can be applied without reparation or the three algorithms can be chained if all of them are checked. The repairing step removes holes and cavities on the surface of the neuron. The segmentation step provides a way to delimit the neuronal soma discarding dendrites. User can follow the steps of the operations in Process log box. Information about the algorithms can be found in the article: Luengo-Sanchez et al. A univocal definition of the neuronal soma morphology using Gaussian mixture models , Frontiers in Neuroanatomy vol. 9, 2015.

Characterization table tab

Char table tab Per each characterized soma, a new row is added to the characterization data table, that has more than 50 variables. On the left side there are two boxes, the column selector that control which columns of the characterizations data table are displayed, and the import data table control, where previous characterizations in CSV format can be loaded into the application.


Summary tab

Model dash tab Similarly to the Data loading Summary tab, the Modelling Summary tab show general information about the modelled somas. The upper boxes show the number of models available, the average number of arcs of the Bayesian network models and the average number of clusters discovered in the clustering process. Also it displays in a table the model name, the number of instances used to train the model, if it has been repaired and processed (thumb), the name of a set of neurons, the number of arcs in each one of the Bayesian networks and the number of clusters discovered for that model.

New model tab

New model tab In this tab the user can create a new model and:
  • Select the data to build the model
  • Name the new model
  • Set the Bayesian network learning parameters
  • Define the clustering parameters

Model visualization tab

Model view tab Given a model, this tab shows detailed information about it. In the general info section some general number such as the number of instances used in the learning process or the number of arcs in the Bayesian network are shown. This section also includes a table with the somas used in the learning process. On the right side, there is a checkbox control named Additional views. Each additional view focus on one component of the model, either the Bayesian network, Clusters or the source data.

Model visualization: BN view

View bn The Bayesian network view contains the representation of the Bayesian network learnt in the first step of the modelling phase. The graph on the right side represents the sub Bayesian network that involves the variables selected on the variable selector. The user can highlight the Markov blanket of a variable by double-clicking on the node.

Model visualization: Source data view

View source The goal of this tab is to provide information about the training data. This box is divided in two parts. The first one is the column selector which presents general information about each instance, like the name cell or the package, and the morphological variables of the neuron. The second part is a table that displays the checked values in the first part. The dataset can be downloaded as a CSV file clicking the "Export as CSV" button.


Summary tab

Simulation dash tab This view present a table with general information about each simulation. Concretely, information like the name of the simulation, the model from the simulation was run, the cluster number or the number of somas simulated can be found.

New simulation tab

New simulation tab Simulation step sample new somas from the probabilistic model. To do that, users selects one of the previously computed models in Model selector. Then, in the Simulation Parameters box, user gives a name to the simulation, selects one cluster of somas or simulate from all of the clusters according to priori probabilities of each cluster and finally introduce the number of new somas to simulate. User can find information about the simulation in the Simulation log box.

Computational Intelligence Group Universidad Polit├ęcnica de Madrid
3DSomaMS library and this GUI have been developed by the Computational Intelligence Group (CIG) at the Universidad Politecnica de Madrid (Spain).
Contact info:

Human Brain Project European Commision
This work has been supported by European Union's Seventh Framework Programme (FP7/2007-2013) under grant agreement no. 604102 (Human Brain Project).