Neural Landscapes

Visualize the state of neural populations across time

Public Chat
Similar projects worth following
Neural Landscapes is a simple and intuitive method for visualizing the state of a population of simultaneously recorded spike trains over time.

Goal: To create a simple and intuitive visualization for viewing neural states over time.

Method: We extract the first 2 principal components (PCs) from the dataset and plot them against each other in an XY scatterplot.  We then plot the density of the scatterplot as height on the z-axis.  This results in a contour plot that describes the population activity of these neurons across a given time window.  We also animate a point that demonstrates where the population is at any given point.  We further plot a continuous variable (ie: speed of a mouse) as a different hue on top of the plot, which allows for comparisons between the neural state and this variable.

Interpretation: The interpretation of these plots is currently open to... interpretation.  Some ideas that we are exploring include:

  1. The number of peaks reflects the number of "attractor points" in a given network of neurons.  These are states that the neurons will gravitate towards.
  2. The "compactness" of the peaks relates to the variance in brain state - low variance will create compact peaks, high variance will create diffuse peaks.  
  3. The frequency that the system switches states may reflect attention or focus (or lack thereof)
  4. Changes in the landscape shape may reflect learning

This is an in-progress visualization, and will be updated as we continue devleopment.  However, we encourage downloading and playing with the current code.  

Limitation: The current implementation requires a commercial piece of software, Neuroexplorer.  Future iterations will hopefully remove that dependency, but this depends on how much time I have to make this happen.  if anyone wants to help speed this development up please get in touch!

Run this script within a Python 2.7 environment in NeuroExplorer

- 25.13 kB - 01/28/2019 at 02:39



Sample .nex file

nex - 8.40 MB - 01/28/2019 at 02:29



Sample Rate template

ntp - 7.21 kB - 01/28/2019 at 02:30


  • 1
    Set up Neuroexplorer for use with Python

    Go to Python tab in the Neuroexplorer options and enable Python.  This script was tested with Anaconda 2.4.0.

  • 2
    Place "" in your Neuroexplorer "Scripts" directory

    You can download this script plus a sample file in the files area.

  • 3
    Open a .nex file in Neuroexplorer.

    The sample file "Sample_Striatum 1" in the files area is a good file to start with.  Any file with spiking will work, and larger numbers of spiking channels (>10) will likely produce better results.  The sample file has 34 units, as well as 3 continuous variables, Centroid1_X, Centroid1_Y, and Velocity:

View all 8 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates