Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
bd24a66
Update Enclustra driver instructions
jsiegle Feb 6, 2026
810b712
Add OneBox firmware downgrade instructions
jsiegle Feb 11, 2026
b1cc69f
Ignore eLife during linkcheck
jsiegle Feb 11, 2026
6c78512
Fix ONIX gateware instructions link
jsiegle Feb 11, 2026
dc5165f
Fix acquisitionboard ref
jsiegle Feb 11, 2026
f6a6a9f
Update card layout to use CSS Grid for better responsiveness
anjaldoshi Jun 25, 2026
4f7f54c
Merge branch onebox-drivers into gui-v1.1.0
anjaldoshi Jun 25, 2026
2c5e36a
Make primary sidebar width responsive
anjaldoshi Jun 25, 2026
96f18a4
Update PyData theme to v0.19.0
anjaldoshi Jun 25, 2026
a90679b
Update Acquisition Board images for v2.0
anjaldoshi Jun 26, 2026
dd41717
Update LFP Viewer docs for v1.1.0
anjaldoshi Jun 26, 2026
9d0bc6a
Update installation instructions
anjaldoshi Jun 26, 2026
6668ce4
Refactor Remote Control documentation
anjaldoshi Jun 26, 2026
c17505b
Clean up unused CSS rules
anjaldoshi Jun 27, 2026
4b36d56
Fix broken link in Developer-Guide/index.rst
Copilot Jun 30, 2026
75e430f
Update Developer Guide overview
jsiegle Jun 30, 2026
610c2c3
Update Neuropixels PXI driver installation instructions
anjaldoshi Jul 1, 2026
9aa7d8d
Add quality monitor plugin docs
anjaldoshi Jul 14, 2026
6733b15
Add Drift Map plugin docs
anjaldoshi Jul 14, 2026
cb20701
Add Drift Map plugin images
anjaldoshi Jul 14, 2026
0c20036
Update drift map and quality monitor plugin images
anjaldoshi Jul 15, 2026
aaedaed
Update drift map and quality monitor docs
jsiegle Jul 15, 2026
b1469b1
Add note on gateware and plugin requirements for Acquisition Board
anjaldoshi Jul 21, 2026
d47e7a0
Update Plugin Installer screenshot and docs
anjaldoshi Jul 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@ url = "https://pypi.org/simple"
verify_ssl = true

[packages]
sphinx = "*"
pydata-sphinx-theme = "0.13.3"
sphinx = ">=9.0.0"
pydata-sphinx-theme = "0.19.0"
sphinx-tabs = "*"
make = "*"
sphinx-design = "*"
colorama = "*"

[dev-packages]
502 changes: 266 additions & 236 deletions Pipfile.lock

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions source/Developer-Guide/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ When you submit an issue, make sure to include what version of the GUI you're us
Building a new plugin
----------------------

The recommended way to add features to the GUI is by building a new plugin. Plugins allow the GUI to interface with new data sources, trigger events on specific neural states, display data within rich visualizations, or write data to a new format, among many other possibilities. Officially supported plugins are listed in the :ref:`User Manual<plugins>`, and a list of additional community-generated plugins is maintained `here <https://open-ephys.atlassian.net/wiki/spaces/OEW/pages/47841283/Third-party+plugin+repositories>`__.
The recommended way to add features to the GUI is by building a new plugin. Plugins allow the GUI to interface with new data sources, trigger events on specific neural states, display data within rich visualizations, or write data to a new format, among many other possibilities. Officially supported plugins are listed in the :ref:`User Manual<plugins>`.

Before you :ref:`create a new plugin<creatinganewplugin>`, you'll need to have some familiarity with C++, as well as makefiles (Linux), Xcode (macOS), or Visual Studio (Windows).

Updating the host application
------------------------------

If you'd like to make changes to the Open Ephys GUI main repository, first read through :ref:`this section<modifyingthehostapplication>` of the developer documentation. Then, take a look at our list of `active projects <https://github.com/open-ephys/plugin-GUI/projects?query=is%3Aopen>`__ to find out about the features we're planning to update in the near future. If you're interested in tackling one of these projects, or have other ideas for useful additions to the main application, don't hesitate to `open an issue on GitHub <https://github.com/open-ephys/plugin-GUI/issues>`__.
If you'd like to submit changes to the Open Ephys GUI main code repository, first read through :ref:`this section<modifyingthehostapplication>` of the developer documentation. Before you contribute a new feature or bug fix to the main application, please `open an issue on GitHub <https://github.com/open-ephys/plugin-GUI/issues>`__ so other developers can provide feedback and guidance.

Other projects
---------------
Expand Down
22 changes: 13 additions & 9 deletions source/User-Manual/Installing-the-GUI.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,17 @@ Via .zip file

2. Drag and drop the downloaded and unzipped folder to the location of your choice, and rename it "Open Ephys"

3. Run :code:`FrontPanelUSB-DriverOnly-4.4.0.exe` to install the Open Ephys acquisition board driver.
3. If you're going to be using the GUI with an Open Ephys acquisition board, install the USB driver specific to your board by following the instructions `here <https://open-ephys.github.io/acq-board-docs/User-Manual/Driver-installation.html>`_.

4. Double-click the **open-ephys** executable to run the application.

.. note:: If this is your first time running the GUI on a particular machine, you will need to install the `Visual Studio 2015, 2017, 2019, and 2022 redistributable package`_ before opening the application. This only applies to the .zip download, as this package will be added automatically when using the Windows installer.
.. note:: If this is your first time running the GUI on a particular machine, you will need to install the `Visual C++ v14 Redistributable package`_ before opening the application. This only applies to the .zip download, as this package will be added automatically when using the Windows installer.

Linux
######

Via installer (Ubuntu only)
-----------------------------
Via installer (Ubuntu/Debian only)
-----------------------------------

1. Click the "Linux" link on `this page`_ to download the **.deb** file for the latest version of the GUI.

Expand All @@ -61,13 +61,17 @@ Via .zip file (all distros)

2. Drag and drop the downloaded and unzipped folder to the location of your choice, and rename it "Open Ephys GUI"

3. Open a terminal and set your working directory to the folder you just renamed.
3. If you're going to be using the GUI with an Open Ephys acquisition board, its permissions need to be configured as follows:

4. Enter :code:`sudo cp 40-open-ephys.rules /etc/udev/rules.d` followed by your password.
a. Open a terminal and set your working directory to the folder you just renamed.

5. Enter :code:`service udev restart` on Ubuntu/Debian or :code:`sudo udevadm control --reload-rules` on Fedora/CentOS/Gentoo to allow the GUI to communicate with the Open Ephys acquisition board.
b. Enter :code:`sudo cp 40-open-ephys.rules /etc/udev/rules.d` followed by your password.

6. Double-click the **open-ephys** executable (or enter :code:`./open-ephys` in the terminal) to run the application.
c. Enter :code:`sudo cp 51-ftd3xx.rules /etc/udev/rules.d` followed by your password.

d. Enter :code:`service udev restart` on Ubuntu/Debian or :code:`sudo udevadm control --reload-rules` on Fedora/CentOS/Gentoo.

4. Double-click the **open-ephys** executable (or enter :code:`./open-ephys` in the terminal) to run the application.


macOS
Expand Down Expand Up @@ -100,5 +104,5 @@ Via .zip file
|

.. _this page: https://open-ephys.org/gui
.. _Visual Studio 2015, 2017, 2019, and 2022 redistributable package: https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170
.. _Visual C++ v14 Redistributable package: https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170

1 change: 1 addition & 0 deletions source/User-Manual/Plugins/Acquisition-Board.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ The Acquisition Board plugin (version ≥1.1.3) will automatically check for a c

This only applies to Acquisition Boards with an Open Ephys FPGA (most boards purchased after December 2022). If you're unsure about which board you have, check out `this page <https://open-ephys.github.io/acq-board-docs/User-Manual/Generations-differences.html>`__.

.. note:: Gateware v2.0 and later requires Acquisition Board plugin v2.0 or newer and, on Windows, FTDI drivers v1.4.0.1. Before updating the gateware, please ensure that you have the latest version of the Acquisition Board plugin installed and that your FTDI drivers are up to date. If you have installed Open Ephys GUI v1.1.0 or later, the latest FTDI drivers should already be installed.

Plugin configuration
====================
Expand Down
102 changes: 102 additions & 0 deletions source/User-Manual/Plugins/Drift-Map.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
.. _driftmap:
.. role:: raw-html-m2r(raw)
:format: html

#########
Drift Map
#########

.. image:: ../../_static/images/plugins/driftmap/driftmap-01.png
:alt: Drift Map plugin editor interface

.. csv-table:: View a zoomed-out spike raster over long recording intervals, with time on the horizontal axis and electrode channel position on the vertical axis.
:widths: 18, 80

"*Plugin Type*", "Sink"
"*Platforms*", "Windows, Linux, macOS"
"*Built in?*", "No"
"*Key Developers*", "Josh Siegle"
"*Source Code*", "https://github.com/open-ephys-plugins/drift-map"


Installing and upgrading
########################

The Drift Map plugin is not included by default in the Open Ephys GUI. To install, use **ctrl-P** or **⌘P** to open the Plugin Installer, browse to the "Drift Map" plugin, and click the "Install" button.

The Plugin Installer also allows you to upgrade to the latest version of this plugin, if it's already installed.


Recommended signal chain
########################

The Drift Map plugin is intended for high-channel-count extracellular recordings, especially Neuropixels data, but it can display threshold crossings from any incoming continuous data stream. It should be placed downstream of a :ref:`bandpassfilter`, so that threshold crossings are detected accurately.

Because Drift Map is a Sink plugin, it does not modify continuous data or event data that pass to downstream processors.


Opening the visualizer
######################

Open the canvas by clicking the "tab" or "window" buttons at the top right of the plugin editor.

The visualizer creates one tab for each incoming data stream. Each tab is labelled with the stream name and source node ID. If channel group, depth, or position metadata is available from the upstream source, channels are sorted by probe geometry before being displayed. Otherwise, channels are shown in their original stream order.

The canvas shows a time-by-channel raster for the selected stream. Each dot represents a detected negative peak. Time runs from left to right, and channels are arranged vertically according to the incoming channel order or available probe geometry metadata.

.. image:: ../../_static/images/plugins/driftmap/driftmap-02.png
:alt: Drift Map visualizer interface


Detection controls
##################

The plugin editor contains editors for peak detection settings:

* **Threshold (uV)** sets the negative voltage threshold for detected peaks. The default value is -50 μV. More negative values detect fewer, larger events.

* **Refractory (ms)** sets the minimum separation between detected peaks on the same channel. The default value is 2 ms.

The visualizer contains additional controls for adjusting the display:

* **Timebase (min)** sets the visible time range of the plot. Available values are 1, 2, 5, 10, 15, 30, and 60 minutes.

* **Plot Theme** switches the raster between dark and light plot rendering.

* **CLEAR** removes the accumulated drift map history from all stream tabs.

Threshold and refractory changes affect newly detected peaks. Peaks that have already been drawn remain in the accumulated raster until **CLEAR** is clicked.


Creating a drift map
####################

Drift Map begins accumulating peaks when acquisition starts. It detects local negative minima that fall below the selected threshold and pass the per-channel refractory period. The plot updates continuously while acquisition is running.

Dot brightness reflects peak amplitude. Larger detected peaks are drawn brighter, while smaller threshold crossings are drawn more faintly. The time axis is labelled in minutes and begins at the first detected peak in the current history.

Use the stream tabs at the top of the visualizer to switch between incoming data streams. Hidden tabs continue to receive periodic updates, so their drift maps remain available when you switch back to them.


Interpreting the display
########################

Drift Map is useful for assessing whether the probe is moving relative to the recorded neurons over long time intervals. Stable recordings typically show activity bands that remain at similar depths over time. Vertical shifts, fading bands, or sudden changes in density can indicate probe drift, tissue movement, or changing noise levels.

The plugin detects threshold crossings directly from the continuous signal. It is not a spike sorter, and it does not cluster or assign units. Instead, it should be used as a visual summary of probe stability over time.


Zooming and navigation
######################

The drift map keeps following the newest data by default. You can inspect older time ranges with the mouse:

* Use the mouse wheel over the plot to zoom in or out around the cursor position.

* Click and drag inside the plot to pan through accumulated history.

* Double-click the plot to return to the latest data.

Changing **Timebase (min)** resets the view to the newest data with the selected visible time range.

|
13 changes: 13 additions & 0 deletions source/User-Manual/Plugins/LFP-Viewer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,26 @@ Channels

* **Show number**: Displays the channel indices, rather than the channel names, on the left-hand side of the LFP Viewer.

.. versionchanged:: v1.1.0

Replaced the "Show number" option with a more general "Label" option

* **Label**: Displays either the channel names (default), indices, or depth (if available) on the left-hand side of the LFP Viewer.

Signals
===========

* **Invert signal:** By default, negative voltages point downward, and positive voltages point upward. This button switches that convention for all channels (e.g., so spikes point upward). The signal for individual channels can be inverted by right-clicking on that channel in the LFP Viewer.

* **Subtract offset:** Removes the DC offset for each channel (useful for visualizing Neuropixels data).

.. versionadded:: v1.1.0

* **High-pass filter:** Enables a 300 Hz high-pass filter applied to the data before display (does not affect the data sent to downstream plugins).

* **CAR / NP CAR:** Subtracts the mean of all channels from each channel before display (does not affect the data sent to downstream plugins). For Neuropixels data, the **NP CAR** option applies common average referencing only across channels that are sampled simultaneously, using the same approach as the :ref:`neuropixelscar` plugin. This provides more effective noise removal than standard CAR.


Triggered display
==================

Expand Down
33 changes: 30 additions & 3 deletions source/User-Manual/Plugins/Neuropixels-PXI.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,38 @@ This plugin can stream data from the following Neuropixels probe types:
Connecting to the PXI system
##############################

Before using this plugin, make sure you've followed all of the steps in the `Neuropixels User Manual <https://www.neuropixels.org/support>`__ to set up and configure your hardware. Prior to using your Neuropixels PXI basestation, you must install the Enclustra drivers (available for `Windows 7/8 <https://raw.githubusercontent.com/open-ephys-plugins/neuropixels-pxi/main/Resources/Enclustra_Win7%268.zip>`__ and `Windows 10 <https://raw.githubusercontent.com/open-ephys-plugins/neuropixels-pxi/main/Resources/Enclustra_Win10.zip>`__). See section 4.2.2 of the User Manual for installation instructions.
Installing the drivers
-----------------------

Before using this plugin, make sure you've followed all of the hardware setup steps in the `Neuropixels User Manual <https://www.neuropixels.org/support>`__. Prior to using a Neuropixels PXI basestation on Windows, download and install the :download:`Enclustra drivers </_static/downloads/plugins/Enclustra-driver-v1.17.zip>` for each PXIe acquisition module individually as described below.

#. Mount the PXIe acquisition module(s) in the chassis.
#. Log in with an account that has administrative privileges and open **Device Manager**.
#. If Enclustra drivers are already installed, uninstall them before upgrading:
a. Right-click each **Enclustra PCI Express Adapter** entry.
b. Select **Uninstall device**.
c. If Windows offers a checkbox to delete the driver software, enable it.
d. Repeat this process for every Enclustra entry in the system, one per Imec basestation card.
e. Confirm that each device now appears under **Other devices** as **PCI Memory Controller**. If it does not, select **Action > Scan for hardware changes** in Device Manager.
#. Install the driver only for entries listed as **PCI Memory Controller**:
a. Right-click **PCI Memory Controller** under **Other devices** and select **Update driver**.
b. Choose **Browse my computer for driver software**.
c. Browse to the folder containing the extracted Enclustra driver files and click **Next**.
d. Wait for Windows to report that the driver update completed successfully, then close the dialog.
e. Repeat these steps for each PXIe acquisition module in the chassis.
#. Reboot the PC and log back in.
#. Re-open **Device Manager** and verify that the hardware now appears under **Enclustra Devices** as **Enclustra PCI Express Adapter**.

If the device still appears as **PCI Memory Controller** after rebooting, repeat the installation and confirm that Windows is pointed at the extracted Enclustra driver folder rather than the zip archive itself.

.. important:: A new version of the Enclustra driver (v1.17) is now available. We strongly recommend that all existing and new users update to this version (linked above) by following the procedure described above. Doing so will help ensure compatibility and reduce the risk of potential issues, including Blue Screen of Death (BSOD) errors during normal operation.


Once your PXI system is up and running, you can drag and drop the "Neuropix-PXI" module from the Processor List onto the Editor Viewport. The GUI will automatically connect to any available basestations in your PXI chassis with probes connected. If no basestations are found, the plugin can be run in simulation mode. If no probes are found, the plugin editor will display information about each basestation, and can be used to perform a firmware update (see :ref:`updating-basestation-firmware` below).
Initializing the plugin
-------------------------
Once your PXI system is up and running, you can drag and drop the "Neuropix-PXI" plugin from the Processor List onto the Editor Viewport. The GUI will automatically connect to any available basestations in your PXI chassis with probes connected. If no basestations are found, the plugin can be run in simulation mode. If no probes are found, the plugin editor will display information about each basestation, and can be used to perform a firmware update (see :ref:`updating-basestation-firmware` below).

The editor will automatically create a probe selection interface for each basestation that's available. Each basestation can communicate with up to 4 probes (for Neuropixels 1.0, NHP, and Ultra) or 8 probes (for 2.0). When the probes are initially detected, they show up as orange circles. Once they are initialized, connected probes become green. After the probes turn green, the plugin is ready to begin data acquisition.
The editor will automatically create a probe selection interface for each basestation that's available. Each basestation can communicate with up to 4 probes (for Neuropixels 1.0, NHP, Ultra, and 2.0 quad base) or 8 probes (for 2.0 single and multi shank). When the probes are initially detected, they show up as orange circles. Once they are initialized, connected probes become green. After the probes turn green, the plugin is ready to begin data acquisition.

Troubleshooting connections
###########################
Expand Down
Loading
Loading