VIOLA (VIsualization Of Layer Activity) is an interactive, web-based tool to visualize activity data in multiple 2D layers such as the simulation output of neuronal networks with 2D geometry.
A usage example demonstrates the visualization of spike data resulting from a NEST simulation of a spatially structured point-neuron network with excitatory and inhibitory neuron populations and an external stimulus.
Two steps are necessary to run the visualization: first, you need to get test data, and, second, you need to start the tool and load the data.
Spatially resolved time series data to be visualized with VIOLA can have two different formats:
- raw: spike times associated with spatial locations of spiking neurons
- preprocessed: spatially and temporally binned spike data including LFP signals
We have prepared one data set of each format that can be downloaded here:
- RawData.zip
- PreprocessedData.zip (recommended to start with for testing out VIOLA)
Extract the archived files, e.g., using unzip PreprocessedData.zip
.
Each data set contains text files with the data to be visualized and a
corresponding configuration file for VIOLA:
raw | preprocessed |
---|---|
config_raw.json | config_proc.json |
raw | preprocessed |
---|---|
spikes-0.gdf | binned_sprates_rs_EX.dat |
spikes-1.gdf | binned_sprates_rs_IN.dat |
spikes-2.gdf | binned_sprates_rs_STIM.dat |
neuron_positions-0.dat | LFPdata.lfp |
neuron_positions-1.dat | |
neuron_positions-2.dat |
Alternatively, you can generate test data yourself as described in Generating test data.
VIOLA runs in a web browser and the preferred browser is Google Chrome.
Start VIOLA from its GitHub Page.
Note that this version of the tool may differ from the current master branch of
this repository.
To get the latest version, you can clone the repository (e.g.,
git clone https://github.com/HBPVIS/VIOLA.git
),
navigate to the directory VIOLA, and open the contained file index.html in
the browser.
Upon startup, VIOLA opens the Setup Page to configure the visualization for
a specific data set.
Just upload the configuration file (config_proc.json for preprocessed data), and
then click the button Setup visualization to get to the Main Page.
Using the Upload Panel to the left, you can upload all data files (see the
Tables above) to be visualized:
either by dragging and dropping the files to the blue box or by opening a file
explorer with the corresponding button.
If the background color of the field for a data file changes from red to green,
the upload has been successful.
As soon as all files are uploaded, close the upload panel by clicking the x
at its top right corner.
Press Play in the control bar that is located at the bottom to start the visualization.
For further documentation, please refer to the VIOLA Wiki containing the User Manual and the Developer Manual.
The scripts to simulate a spatially structured network of spiking point-neurons
are in the directory test_data in this repository.
You can clone the repository, e.g., with
git clone https://github.com/HBPVIS/VIOLA.git
.
Simulations rely on the simulator NEST and are
implemented using the Python interface.
Software dependencies for the simulation scripts are summarized together with
the tested version numbers below.
For generating raw data, run
python topo_brunel_alpha_nest.py out_raw
The created directory out_raw contains configuration and data files for raw data and the Tables above indicate which files need to be uploaded to VIOLA for visualization.
Having generated raw data, you can generate preprocessed data by running
python nest_preprocessing.py out_raw out_proc
To speed up the preprocessing step, you can also use OpenMPI und run instead
mpirun -np 2 python nest_preprocessing.py out_raw out_proc
Afterwards, generate LFP data. You need to compile the NEURON model once on your system by executing
nrnivmodl alphaisyn.mod
and then you can run
python fake_LFP_signal.py out_raw out_proc
The created directory out_proc contains configuration and data files for preprocessed data and the Tables above indicate which files need to be uploaded to VIOLA for visualization.
- NEST v2.10.0
- NEURON v7.4
- Python v2.7.11
- numpy v1.10.4
- matplotlib v2.0.2
- scipy v0.17.0
- h5py v2.5.0
- mpi4py v2.0.0
- LFPy v2.0.0
- quantities v0.12
- Corto Carde, Johanna Senk, Espen Hagen, Benjamin Weyers