Link Search Menu Expand Document

NeuroScope2 (in beta)

NeuroScope2 is a data viewer for raw and processed extracellular data acquired using multisite silicon probes, tetrodes or single wires. It is written in Matlab, maintaining many of the original functions of NeuroScope, but with many enhancements. It can be used to explore existing data and to stream data being collected and can handle multiple data streams simultaneously - e.g. digital, analog, and aux channels from Intan - together with the raw ephys data. As NeuroScope is written in MATLAB, it is hackable, adaptable and easily expandable. It is much faster than the original NeuroScope, and functions fully within the data types of CellExplorer, using the session struct for metadata.


Table of contents

  1. Features
    1. Interface elements
  2. Metadata
    1. Intan files
  3. Loading a new dataset
  4. Compiled version of NeuroScope2
    1. Compile NeuroScope2 yourself


The interface is user-friendly, with a single side panel for accessing most functions. You can zoom, navigate, measure, highlight, and select traces directly with your mouse cursor, making manual inspection very intuitive and efficient. NeuroScope2 can also perform basic data processing (that works on a data being collected as well), e.g. bandpass filter traces, perform temporal smoothing, perform spike and events detection directly on the raw or processed traces. Channel tags can be used to highlight and filter (+/-) channels.

You can view CellExplorer, Buzcode, and other .mat structures:

  • Session metadata
  • spikes: plot spike rasters on the ephys traces or separately below the traces.
  • cell metrics: use cell metrics to filter, group or sort cells (see example screenshot below).
  • events and manipulations: You can inspect detected events, flag individual events (again see the example below).
  • states: show and navigate states.
  • behavior and trials: Show 2D behavior (not standardized yet), linearized positions, and trial data.
  • timeseries: Show time series data.

You can also view KiloSort spike data from a rez.mat file.


The screenshot above shows a 128 channels recording with two ripple events highlighted, the spike raster below is color coded and sorted by putative cell types.

Interface elements

The interface consist of side panel and a main plot axis. Below the main axis are further navigational elements. The side-panel has three tabs focused on 1. the raw data, plotting styles and settings, and general metadata, 2. spikes data and 3. other data types, including events, time series, states and behavior.


NeuroScope2 uses the session struct for session level metadata. Please see this tutorial on how to generate and fill out the metadata. Metadata can be imported from an existing basename.xml file (NeuroSuite), from Intan’s info.rhd file, from KiloSort’s rez.mat file and from a basename.sessionInfo.mat (Buzcode) file.

Intan files

Intan files are treated as time series. To load the files you must specify the metadata in the session metadata struct. This can be imported from Intan’s info.rhd. In the session GUI (gui_session.m) go to the File menu and select Import time series from Intan info.rhd, this will import the metadata as shown in the screenshot below. Save the changes and close the gui.


Loading a new dataset

A new dataset can be loaded from the File menu. Select any file from the basepath of the session that contains the basename, basename.*.

Compiled version of NeuroScope2

NeuroScope2 can be compiled to a NeuroScope2.exe and for Windows and Mac respectively. These can be run without having Matlab installed, or just be used independently on a system with Matlab. If Matlab is installed on your system you only need the app (NeuroScope2.exe or, but if you are using it on a system without Matlab, you have to install the dependencies first (use the MyAppInstaller_web included with the zip files below).

In Windows you can further make the compiled NeuroScope2 the default program to open e.g. .dat files, such that you can double click any .dat file to open it directly in NeuroScope2.

You can download compiled versions of NeuroScope2 for Windows and Mac. These compiled version are not necessarily the latest version of NeuroScope2.

Compile NeuroScope2 yourself

Follow these direction for compiling NeuroScope2 yourself:

  • Run deploytool In Matlab’s Command Window.
  • Select Application Compiler in the shown dialog.
  • In the Application compiler window, Add NeuroScope2.m as a main compiler file.
  • Add the GUI Layout Toolbox 2.3.4 in the “Files required by your application” section. The toolbox is included with CellExplorer and located in the toolboxes folder. Matlab will automatically detect other dependencies and add them to the application.
  • That’s it. You can now run the compiled NeuroScope2 application on a system without a Matlab installation or license.
  • If you use these files on a new system, you need to install the distribution file (MyAppInstaller_web) that is generated when compiling NeuroScope2.