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 packets flowing through an arbitrary processing graph. It has a vast collection of 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, data transforms, and signal processing going hand in hand, and a mix of online and offline computations. It is also possible to extend the collection of nodes to include your own nodes written in Python.

In addition to the server, the suite also includes a free visual pipeline designer, which allows users to sketch processing graphs by connecting nodes together on a graphical canvas. These sketches (or "patches") 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.

Lastly, the suite contains a collection of additional utilities, example scripts, pipelines, and data, 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. For programmers, the NeuroPype server exposes a REST API that can be used to configure and run pipelines programmatically, as well as an internal API that can be used to implement one's own processing nodes, and a second API that can be used to embed the NeuroPype engine directly into one's own application.

Installation

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.

Instructions

The NeuroPype Suite is presently available with an installer for Windows (64-bit, Windows 10 or later only). (Mac and Linux installers are on our roadmap!) The download link is available from your Neuropype account page. Download and run the installer and it will guide you through the rest of the setup process. If you plan to extend Neuropype by adding your own nodes, we recommend choosing an install 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).

Download 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.
  • 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 These are example data files and scripts that some of the guides refer to -- highly recommended!
  • 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.
  • Extras These are additional utilities and example scripts that can be useful in combination with NeuroPype. In particular, the extras contain some very simple Python examples for how to create external user applications that interact with NeuroPype, for instance to present specific calibration instructions to the user in order to calibrate a particular data flow, or to handle the control signals produced by NeuroPype in some arbitrary way (such as displaying a controllable object).
  • Python A Python interpreter used to run the Python applications in the NeuroPype Suite.
  • Resources Various resource files, such as graphical assets, used by some of the applications.

In addition, up-to-date version of the same documentation is available on this website.

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 tour of some of the example pipelines that ship with NeuroPype. Remember that one of the best ways to learn about Neuropype is to run the example pipelines; these are found in the Examples folder of your installation.

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.

Node Packages

Documentation for each NeuroPype data processing node.

Release Notes

The latest NeuroPype release is 2021.0.3