NeuroPype Suite User Guide

Thank you for choosing the NeuroPype Suite! In this document you will find an overview of the latest release, as well as installation instructions and known issues.

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

Instructions

The NeuroPype Suite is presently available with an installer for Windows (64-bit, Windows 7 or later only). (A Mac installer is on the roadmap and will be released soon.) 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).

Download Contents

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

  • NeuroPype Enterprise 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 additional documentation on LSL, see github.com/sccn/labstreaminglayer.
  • 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.

Select Example Pipelines

How to run and modify pipelines with NeuroPype. Remember that one of the best ways to learn about Neuropype is to run the example pipelines which ship with Neuropype and can be found in the Examples folder.

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 2020.0.4