Skip to content

Commit 6c02178

Browse files
committed
Add page listing new features in version 1.0.0
1 parent 7cd6fad commit 6c02178

11 files changed

+50173
-3
lines changed

source/User-Manual/Whats-new.rst renamed to source/User-Manual/Whats-new-in-v06x.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
.. _whatsnew:
1+
.. _whatsnewinv06x:
22
.. role:: raw-html-m2r(raw)
33
:format: html
44

55
############################
66
What's new in version 0.6.x
77
############################
88

9-
Version 0.6.x (released in July 2022) is the biggest update in the GUI's history, with a number of changes designed to make the GUI more efficient and easier to use. This page explains some of the major updates in this release, to help you get up and running faster.
9+
Version 0.6.x (released in July 2022) included a number of changes designed to make the GUI more efficient and easier to use. This page explains some of the major updates in this release, to help users familiar with older versions of the GUI to get up and running faster.
1010

1111
Stream-based processing
1212
========================
+130
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
.. _whatsnewinv100:
2+
.. role:: raw-html-m2r(raw)
3+
:format: html
4+
5+
############################
6+
What's new in version 1.0
7+
############################
8+
9+
The Open Ephys GUI has been under continuous development for more than a decade, and it has been used to collect high-quality electrophysiology data for hundreds of publications (see `open-ephys.org/publications <http://open-ephys.org/publications>`_ for some examples). Nevertheless, the developers did not feel ready to call a release "version 1.0" until now. This version (which will be widely available in early 2025) is the result of many years of polishing, streamlining, and testing. It should feel familiar to any long-time users of the software, while also being more approachable for anyone trying it out for the first time.
10+
11+
This page documents the major changes that will be available in this release. Importantly, there are many things that we did not change, such as the data format, HTTP server commands, and config files (e.g. :code:`settings.xml`). So configurations from v0.6.x can be loaded in version 1.0, and any code written to interface with the GUI or its output files will continue to work as expected.
12+
13+
User interface enhancements
14+
============================
15+
16+
While the overall layout of the GUI has not changed in version 1.0, many graphical elements have been updated to improve clarity and consistency of the user interface. New fonts, icons, and labels should make it easier to navigate the software. For example, the 3-digit processor ID is now shown in every plugin editor, and all buttons for opening and closing panels have the same look and feel.
17+
18+
In addition, key UI elements have been added or significantly transformed:
19+
20+
Graph Viewer
21+
-------------
22+
23+
.. image:: ../_static/images/whatsnew/whatsnewinv100-01.png
24+
:alt: Screenshot of updated Graph Viewer
25+
26+
The Graph Viewer provides an overview of the connections between all of the plugins that are currently processing data, making it easier to navigate signal chains with multiple source nodes or branch points. In version 1.0, the Graph Viewer connections flow from left to right (rather than top to bottom), mirroring the layout of plugins in the editor viewport at the bottom of the window. In addition, plugin parameters are now accessible via the Graph Viewer, and all parameters are linked to the widgets in the plugin editor. For example, the low and high cutoffs of the Bandpass Filter can be changed *either* via the Graph Viewer or the plugin editor. This makes it easier to check the state of parameters across multiple data streams, and even makes it possible to interact with the signal chain through the Graph Viewer alone.
27+
28+
Data Viewport
29+
--------------
30+
31+
.. image:: ../_static/images/whatsnew/whatsnewinv100-02.png
32+
:alt: Screenshot of updated Data Viewport
33+
34+
The Data Viewport, which holds the Graph Viewer alongside plugin visualizers, can now be split vertically, allowing multiple visualizers to appear side by side. To add a second column of tabs, simply click the "new tab" button in the lower right of the viewport. Any new tabs that are created will appear in the right column, or tabs can be dragged between columns. In version 1.0, tabs can also be reordered and renamed. If the "Info" or "Graph" tabs are closed, they can be reopened via the "View" menu or by pressing shift-I or shift-G.
35+
36+
Built-in console
37+
----------------
38+
39+
.. image:: ../_static/images/whatsnew/whatsnewinv100-03.png
40+
:alt: Screenshot of new embedded console
41+
42+
The Open Ephys console is now embedded in the main GUI window. Previously, the console would launch automatically on Windows, but would not appear on Mac or Linux unless the GUI was launched via a terminal. The console can be activated via the "View" menu, or by pressing shift-C. The console output is automatically written to a log file wherever the GUI's configuration files are stored. Console messages can be copied by pressing the "Copy All" button or selected a subset of text in the console window.
43+
44+
Message Window
45+
----------------
46+
47+
.. image:: ../_static/images/whatsnew/whatsnewinv100-04.png
48+
:alt: Screenshot of message window
49+
50+
More extensive undo/redo support
51+
----------------------------------
52+
53+
The GUI's undo manager now keeps track of parameter changes as well as modifications to the signal chain. This includes changing input files, selecting channels, and adding/removing electrodes from the Spike Detector. Whenever an undoable action is executed, a message will appear in the bottom left of the main window, so it's obvious that something has changed. When acquisition is active, select parameter changes can be undone, but most undoable actions will be blocked until acquisition is paused.
54+
55+
Empty processors
56+
----------------------------------
57+
58+
.. image:: ../_static/images/whatsnew/whatsnewinv100-05.png
59+
:alt: Screenshot of empty processor
60+
61+
When a signal chain is missing a source node, an empty processor labeled "No source" will appear. This should make it more obvious how to fix a signal chain when acquisition is blocked due to a missing source.
62+
63+
Color themes
64+
-------------
65+
66+
.. image:: ../_static/images/whatsnew/whatsnewinv100-06.png
67+
:alt: Color theme examples
68+
69+
The GUI now includes dark, medium, and light color themes. These can be changed via the "View > Theme" menu.
70+
71+
72+
Performance improvements
73+
=========================
74+
75+
There are at least three areas where performance has improved in version 1.0:
76+
77+
- **Faster rendering, especially on Windows.** Thanks to upgrades to the JUCE library that the GUI is built upon, all visualizers now update more smoothly. This is especially noticeable when scrolling through hundreds of channels in the :ref:`lfpviewer`.
78+
79+
- **More efficient data transfer from source plugins.** The time spent copying data into the overall signal chain has been reduced, allowing source plugins such as :ref:`neuropixelspxi` and :ref:`acquisitionboard` to use less CPU cycles during acquisition.
80+
81+
- **Multithreaded filtering.** The :ref:`bandpassfilter` now uses 4 threads by default, and this number can be increased to 64. Filtering is typically the biggest contributor to processing latency; now the impact of filter nodes will be greatly reduced.
82+
83+
84+
Online synchronization
85+
=======================
86+
87+
.. image:: ../_static/images/whatsnew/whatsnewinv100-07.png
88+
:alt: Synchronization
89+
90+
The version 1.0 :ref:`recordnode` uses a new real-time synchronization algorithm that is more accurate and robust. Previously, synchronization pulses less than 50 ms in duration could confuse the algorithm, making it necessary to revert to offline synchronization. Now, pulses as short as 1 ms can be detected reliably, meaning "barcode"-like signals can now be reliably used for online synchronization. The new algorithm may take a bit longer to synchronize, but it will be far less likely to become desychronized over time.
91+
92+
In addition, the following synchronization statistics for each stream can now be viewed in the Record Node's stream selector: relative start time, elapsed time since latest sync pulse was received, and the overall "sync tolerance" (maximum difference between the estimated and measured time of each sync pulse).
93+
94+
95+
macOS application signing
96+
==========================
97+
98+
The Open Ephys GUI application on macOS is now signed with an Apple Developer ID, so it will no longer need to be explicitly enabled via your system's Privacy and Security settings. As a consequence of this change, any plugins used on macOS must be added via the GUI's built-in plugin installer. To use custom plugins on this platform, you'll need to compile the GUI from scratch using Xcode.
99+
100+
101+
New testing infrastructure
102+
============================
103+
104+
To facilitate automated testing on cloud servers, the GUI now can run in "headless mode." This also works on your local machine by launching the GUI from the command line with the "--headless" option. Interacting with the GUI in headless mode requires use of the built-in HTTP server.
105+
106+
The GUI now includes unit tests for key classes via the Google Test package, which are run before each new release. This will ensure critical functionality remains intact as new contributors are onboarded.
107+
108+
The `open-ephys-test-suite <https://github.com/medengineer/open-ephys-test-suite>`_ package makes it easy to configure and run integration tests via Python. This package is used to confirm that different combinations of plugins work together reliably.
109+
110+
111+
Plugins
112+
=========
113+
114+
All officially supported :ref:`plugins` have been updated to work with version 1.0 of the GUI. This included changes to the UI for compatibility with the GUI's new color themes. Plugins included in any loaded signal chains will be automatically installed; additional plugins can be added via the Plugin Installer.
115+
116+
.. note:: The Open Ephys plugin API has been updated for version 1.0, which means that plugins compiled for version 0.6.x won't work out of the box. Feel free to reach out to [email protected] for help migrating any custom plugins to the latest API.
117+
118+
Renamed plugins
119+
----------------
120+
121+
All versions of the Open Ephys acquisition board are now supported by one plugin, called "Acquisition Board." The "OE FPGA Acquisition Board" plugin is no longer needed. The "Intan RHD USB" plugin, which was previously included as one of the "Rhythm Plugins," due to its use of Intan's Rhythm API, is now installed separately.
122+
123+
Deprecated plugins
124+
--------------------
125+
126+
The :ref:`riveroutput` plugin has been deprecated, as this was rarely used.
127+
128+
129+
130+
|

source/User-Manual/index.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ If there's something missing from this documentation that you think should be in
3737
Building-a-signal-chain
3838
Recording-data/index
3939
Remote-control
40-
Whats-new
40+
Whats-new-in-v06x
41+
Whats-new-in-v100
4142
Plugins/index
4243

4344
.. role:: raw-html-m2r(raw)
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)