NeuroPype Suite User Guide

Welcome to NeuroPype! The NeuroPype Suite is a comprehensive platform for advanced neural and biosignal processing created by Intheon. If you don't already have a copy of NeuroPype, you can get one of the available editions here.

About the NeuroPype Suite

The NeuroPype Suite includes tools for building and running real-time processing pipelines of neural data (primarily focusing on wearable and non-invasive sensors) and other biosignals. The core of the suite is NeuroPype itself, a server application that manages the execution of one or more pipelines simultaneously. The server runs in the background most of the time, except when it has to open figures for real-time or offline plotting as requested by specific pipelines.

NeuroPype implements data processing as data "packets" flowing through a processing graph. It has a vast collection of over 800(!) nodes that can be combined into anything from simple Input-Filter-Output paths to arbitrarily complex processing graphs involving multiple kinds of data being processed in parallel with machine learning, deep neural networks, data transforms, and signal processing going hand in hand, and a mix of "online" (real-time data) and "offline" (recorded data) computations. It is also possible to extend the collection of nodes to include your own nodes written in Python.

In addition to the NeuroPype engine, which runs as a background service, the suite also includes an (open source) visual pipeline designer, which allows users to construct processing graphs by graphically connecting nodes together on a canvas. These graphs can then be exported in a form that can be run standalone or inside an application, or even be uploaded to the cloud to be executed there.

For developers, the NeuroPype server exposes a REST API that can be used to configure and run pipelines programmatically in real-time from another application (allowing NeuroPype to be embedded as a background service to a user-facing application), and an internal API that can be used to implement one's own processing nodes. (See the Developer docs for more information.)

The suite also contains a collection of example pipelines and sample nodes, and a copy of the Lab Streaming Layer (LSL) distribution, which can be used to connect many EEG or other devices in real time to NeuroPype.

Installation

Downloads

The NeuroPype Suite is presently available for Windows (64-bit, Windows 10 or later only) and Linux. (A Mac release is on our roadmap!)

Windows

The download link is available on your account page. Download and run the installer (.exe), and it will guide you through the rest of the setup process. (On Windows a dialog box may appear requesting you give permission to the installer.) If you plan to extend Neuropype by adding your own nodes, we recommend choosing an installation directory that is outside of C:\Program Files so that you can have easy write access to the Neuropype node folders (otherwise restricted with Windows 10 and higher).

The installer will install the Neuropype, Experiment Recorder, and Pipeline Designer applications, along with some other utilities, resources and examples. It will also create desktop icons for Neuropype, Pipeline Designer and Experiment Recorder. (See list of contents.)

Linux

As of the 2023 release, NeuroPype is available for Linux! The installer is in the form of a tarball. you can download the Academic Edition here and the Startup Edition here. (For the Enterprise Edition, please contact us.) Extract to your location of choice (i.e., tar xzvf neuropype-Academic-2023.0.0.tar.gz -C <target_folder>), and then run the install.sh file, which will print instructions on how to run NeuroPype, Pipeline Designer, and Experiment Recorder. (Quite simply, go into the folder for each of these applications in your installation, and run np.sh, pd.sh or er.sh, respectively.)

The Linux installer contains the same contents as the Windows build.

License

See the Getting Started page for information on how to activate your license.

NeuroPype Suite Contents

The following folders were created under the folder where you installed NeuroPype:

  • NeuroPype This is the NeuroPype server application that manages the ongoing computations.
  • Experiment Recorder A cognitive task presentation application that also uses Neuropype to capture LSL streams and record to disk.
  • Pipeline Designer A separate stand-alone application distributed with the NeuroPype Suite that provides a visual environment for creating pipelines. Pipeline Designer is open-source software.
  • Examples: Example pipelines, which showcase various NeuroPype features, and which contain helpful annotations, along with the data files needed to run them out of the box. Also included are the source code for a number of NeuroPype nodes so you can see how they are constructed and use those as templates or guides to create your own. Loading and running the example pipelines is the best way to get started with NeuroPype and understand how it works.
  • LSL This is a copy of the Lab Streaming Layer (LSL) distribution for data acquisition which serves as the backbone for hardware access. LSL is a library of open-source data acquisition programs for various pieces of sensor hardware, all of which are compatible with NeuroPype. You can start any of these programs to read from a device and then pick up the stream in a pipeline. For more information on LSL, including documentation, visit the LSL website at labstreaminglayer.org.

Minimum requirements for running Neuropype is a moderately powerful computer such as an Intel 4-core i5 or i7 or equivalent. (Neuropype will run on AMD though certain math functions will perform faster on Intel CPUs.) All the example pipelines shipped with Neuropype should run fine on such a computer without difficulty. How much compute power you ultimately need will depend on how CPU-intensive a pipeline you build or run. For some compute-heavy pipelines, particularly if performing multiple source localization or connectivity analyses, a 6-core or 8-core CPU is recommended.

In terms of RAM, real-time/streaming pipelines typically don't require much RAM since each packet contains a relative small number of samples and only one packet is held in memory at a time along each branch of your pipeline (unless your pipeline performs significant buffering), so 8 Gb of RAM would likely suffice, though 16 Gb is recommended. If performing "offline" analysis of recorded data, the entire imported dataset is held in one packet passed along through the pipeline, and if your pipeline has many branches, this can require significant amounts of memory. So for offline processing we recommend 32 Gb RAM or even 64 Gb if processing very large data files or importing and concatenating results from multiple datasets.

Documentation

Getting Started

How to get started with NeuroPype.

Biosignal Processing

A quick look at a few commonly used biosignal processing functions in Neuropype, to get you started.

Select Example Pipelines

A brief tour of a couple of the example pipelines that ship with NeuroPype. These only cover a small segment of common functions in NeuroPype. We highly recommend loading and the example pipelines with Pipeline Designer and looking at how they are constructed; these are found in the Examples folder of your installation. All the example pipelines will run out of the box with the example data files that ship with NeuroPype, but you can easily modify them to take live data from your own EEG headset or other sensor hardware.

Sensor Hardware and External Software Setup

How to set up the environment in which you use NeuroPype, including the hardware connectivity and the user interface.

Using the Neuropype Experiment Recorder

How to use the Neuropype Experiment Recorder to easily conduct experiments, present cognitive tasks, and record data to disk.

Neuropype Tutorials

A collection of mini tutorials on performing certain operations with Neuropype.

Node Documentation

Documentation for each NeuroPype data processing node. This same documentation is visible in Pipeline Designer when selecting a node, while documentation for node parameters (properties or settings) will appear as tooltips when hovering over the parameter with the node properties window open (this opens when double-clicking on a node in the pipeline). NeuroPype is designed to be self-documented, meaning that documentation for each node is self-contained within that node, which is always up-to-date with the version of the node you are using. Besides reading the node description itself, the description of each node parameter, contains important information on the behavior of the node and how it can be adapted for different uses.

Release Notes

The latest NeuroPype release is 2023.0.1. For older releases, see the release notes archive.