Example 1: Visualize neural states


If you have not yet performed dimensionality reduction, please go here. This video shows how to use DataHigh to analyze neural states.



Download video



Detailed Step-by-step tutorial


The same tutorial can be found in the DataHigh User Guide .pdf in the main folder of the DataHigh software package. It corresponds to Section 3.1 of the DataHigh JNE Paper, as well as ex1_visualize.m in /DataHigh/examples/.

1.

If you are continuing the steps for Example 1, the DataHigh interface should fill the screen with neural states, and you can skip to the next step. If you jumped to this visualization tutorial, navigate to the examples folder in the main DataHigh directory. Enter ex1_visualize into the Matlab command line to upload the neural state data to DataHigh. We applied factor analysis to the 61-dimensional spike count vectors and determined the dimensionality to be six. The dataset includes seven experimental conditions, and each condition has 30 trials (i.e., 30 neural states).

2.

The main DataHigh interface fills the screen. The central panel shows a 2-d projection of the 6-d neural states. Each color corresponds to one of seven experimental conditions. Each point corresponds to one experimental trial. Each condition has multiple trials, and the population activity is separable based on condition (the clusters have little overlap).

3.

Save the current projection in a queue so that we can access it later. Click Saved Projections in the Toolbox, and then click Capture Projection.

4.

We can also add descriptive annotations to the data for better visualization. Click Annotations in the Toolbox, and click Cov Ellipses. This plots an ellipse that describes the covariance matrix for each condition.

5.

We are also interested in visualizing in what direction the trial-to-trial variability points. Click 1st Prin. Comp. directly below the Cov Ellipses button to plot the first principal component's direction in the 2-d projection. They appear as thick lines that intersect the clusters' means.

6.

This current projection shows separable clusters with little trial-to-trial variability. However, this a 6-d space---could a large amount of trial-to-trial variability exist in other dimensions of the space? Use the preview panels (located to the left and right of the central panel) to rotate the current 2-d projection plane in the 6-d space. The first principal component vectors increase in length. This means that most of the trial-to-trial variability exists outside of the 2-d projection we began with.

7.

Click Randomize under the central panel a few times, which randomizes the orientation of the 2-d projection plane within the 6-d space. Most of the projections will look like a "bowl of Fruitloops," without separable clusters. Use the preview panels to find a projection in which some clusters do not overlap with others.

8.

There are pre-defined cost-functions that can be used to also find projections in which the clusters are separable. Click Find Projection under the Analysis Tools tab in the Toolbox. Click the PCA button to view a projection defined by the top two directions of greatest scatter found by principal component analysis. Click LDA to see a projection found by Fisher's linear discriminant analysis, in which the cluster sizes are small, and the distances between clusters are large. Click Upload to DataHigh.

9.

Depth Perception is another tool that can be useful to find separability between clusters and identify outlying trials. First, click Conditions in the Toolbox. Then deselect all conditions except for "reach1" and "reach5." Use the preview panels to rotate the main 2-d projection until the two clusters overlap. Then, click the Annotations tab, and click DepthPercept. One condition's datapoints will become much larger than the other condition's. Depth Perception first finds a direction that is orthogonal to the 2-d projection (e.g., pointing out of the monitor screen). Then, it sizes datapoints based on how much they "come out" of the monitor screen towards the user. Datapoints that differ greatly in size also differ in distance in the high-dimensional space.



      Return to Tutorial Videos

      Return to the DataHigh main page