Skip to content

Commit bcfc724

Browse files
committed
Update ONIX Source page for v0.2.0
1 parent 96af32e commit bcfc724

10 files changed

+254
-105
lines changed

source/User-Manual/Plugins/Onix-Source.rst

Lines changed: 139 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ ONIX Source
1919
"*Source Code*", "https://github.com/open-ephys-plugins/onix-source"
2020

2121

22-
Installing and upgrading
22+
Installing and Upgrading
2323
===========================
2424

2525
The ONIX Source plugin is not included by default in the Open Ephys GUI. To install, use **ctrl-P**
@@ -106,7 +106,7 @@ different experimental setups. Select the desired headstage from the dropdown me
106106
The ONIX Source plugin only supports Neuropixels headstages at the moment. Other headstages will
107107
be supported in future releases.
108108

109-
Port Voltage
109+
Port voltage
110110
----------------
111111

112112
In the nominal case, port voltage is automatically discovered based on the headstage selected. Port
@@ -127,7 +127,7 @@ editor. When the port voltage is set to "Auto", the plugin will display the disc
127127
the connection is established, or if the port voltage was set manually, it will display the
128128
configured voltage.
129129

130-
Port Status Indicators
130+
Port status indicators
131131
-----------------------------
132132

133133
To the left of each Port, there is a status indicator that shows the connection status of the ONIX
@@ -259,7 +259,7 @@ Settings can be transferred between devices using the "Save Settings" and "Load
259259
Settings can only be applied to the same device that created the file. This also applies to
260260
Neuropixels probes of the same type (i.e., Neuropixels 1.0, Neuropixels 2.0, etc.). For example,
261261
if you save the settings for a Neuropixels 1.0 probe, you can only load those settings into another
262-
Neuropixels 1.0 probe. The same applies to other devices, such as the Auxiliary IO device.
262+
Neuropixels 1.0 probe. The same applies to other devices, such as the Analog IO device.
263263

264264
ProbeInterface JSON files
265265
--------------------------------
@@ -273,8 +273,28 @@ file, press the "Load from JSON" button. This will open a file dialog that allow
273273
JSON file to load. The loaded JSON file will be used to configure the probe settings, such as the
274274
selected electrodes.
275275

276-
.. note::
277-
If you have created a ProbeInterface JSON file for your probe externally, you can load it into the plugin using the "Load from JSON" button. For example, if it was created using the `OpenEphys.Onix1 Bonsai library <https://open-ephys.github.io/bonsai-onix1-docs/index.html>`__, you can export the JSON file from Bonsai and load it into the plugin.
276+
Transfer electrode configurations from external sources
277+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
278+
279+
This section will highlight how to export a ProbeInterface JSON file from another source, such as
280+
the `OpenEphys.Onix1 Bonsai library <https://open-ephys.github.io/bonsai-onix1-docs/index.html>`__,
281+
and import it to this plugin. Each short video below shows how to export from the source and import
282+
to this plugin.
283+
284+
**OpenEphys.Onix1**
285+
286+
.. image:: ../../_static/images/plugins/onixsource/probe-interface-onix1-to-onix-source.gif
287+
:alt: GIF showing how to export JSON file from Bonsai and import to ONIX Source plugin
288+
289+
**OneBox**
290+
291+
.. image:: ../../_static/images/plugins/onixsource/probe-interface-onebox-to-onix-source.gif
292+
:alt: GIF showing how to export JSON file from OneBox plugin and import to ONIX Source plugin
293+
294+
**Neuropixels PXI**
295+
296+
.. image:: ../../_static/images/plugins/onixsource/probe-interface-neuropixels-pxi-to-onix-source.gif
297+
:alt: GIF showing how to export JSON file from Neuropixels PXI plugin and import to ONIX Source plugin
278298

279299
Breakout Board Configuration
280300
###############################
@@ -287,32 +307,40 @@ breakout board. The breakout board is the main hub for the ONIX system, and it i
287307
connected. Certain devices on the breakout board can be enabled or disabled, and their settings can
288308
be saved and loaded. The following devices are available for configuration on the breakout board:
289309

290-
- *Auxiliary IO*: This tab allows you to configure the Analog and Digital IO on the breakout board.
310+
- *Digital IO*: This tab allows you to configure the Digital IO on the breakout board.
311+
- *Analog IO*: This tab allows you to configure the Analog IO on the breakout board.
291312
- *Harp Sync Input*: This tab allows you to configure the Harp Sync Input on the breakout board.
292313
- *Output Clock*: This tab allows you to configure the Output Clock on the breakout board.
293314

294315
.. image:: ../../_static/images/plugins/onixsource/breakout-board-canvas.png
295316
:alt: Breakout Board Configuration Interface
317+
:width: 400
318+
:align: center
296319

297-
Auxiliary IO
320+
Digital IO
298321
--------------
299322

300-
The Auxiliary IO tab allows you to configure the Analog and Digital IO on the breakout board. The
301-
Analog IO can be used to stream analog data from external devices, and the Digital IO can be used to
302-
stream digital data from external devices, as well as to record digital events from button presses
303-
on the breakout board.
304-
305-
Analog data is streamed as a separate data stream, and can be visualized using the "LFP Viewer"
306-
plugin. There are twelve analog channels available, and all channels are always enabled to record data.
307-
The analog data is streamed at 25 kHz.
323+
The Digital IO tab allows you to configure the Digital IO on the breakout board. The Digital IO can
324+
be used to stream digital data from external devices, as well as to record digital events from
325+
button presses on the breakout board.
308326

309-
Digital data is saved as events, and can be visualized using the "LFP Viewer" plugin. The digital
310-
events are sampled at 25 kHz, and can be used to record button presses or digital inputs on the
311-
breakout board. The first 8 digital channels record the digital inputs, and the last 6 digital
312-
channels record the button presses.
327+
Digital data is saved as both continuous channels and events, and can be visualized using the "LFP
328+
Viewer" plugin. The digital channels are sampled at 25 kHz, and can be used to record button presses
329+
or digital inputs on the breakout board. The first 8 digital channels record the digital inputs, and
330+
the last 6 digital channels record the button presses.
313331

314332
.. note::
315-
Digital channels are pulled high by default if no connection is given to the digital input. Events are overlaid on data, meaning that if no connections are given to any digital inputs, there will be eight event overlays on the Analog data stream, potentially making it difficult to see Analog data. To avoid this, you can either connect the digital inputs to ground, or disable the event overlay in the LFP Viewer.
333+
Digital channels are pulled high by default if no connection is given to the digital input. Events are overlaid on data, meaning that if no connections are made to any digital inputs, there will be eight event overlays on the data stream. To avoid this, you can either connect the digital inputs to ground, or disable the event overlays in the LFP Viewer.
334+
335+
Analog IO
336+
-----------------
337+
338+
The Analog IO tab allows you to configure the Analog IO on the breakout board. The Analog IO can be
339+
used to stream analog data from external devices.
340+
341+
Analog data is saved as a separate data stream, and can be visualized using the "LFP Viewer" plugin.
342+
There are twelve analog channels available, and all channels are always enabled to record data. The
343+
analog data is streamed at 25 kHz.
316344

317345
Neuropixels Headstage Configuration
318346
######################################
@@ -331,7 +359,7 @@ them. The canvas will display the following elements:
331359
options. For more information on configuring the BNO IMU, refer to the BNO Configuration section
332360
below.
333361

334-
Probe Configuration
362+
Probe configuration
335363
----------------------
336364

337365
The Neuropixels probe configuration options are displayed in the probe tab. Each probe tab will
@@ -352,46 +380,7 @@ any probes discovered will have their serial number displayed. This probe serial
352380
to identify the probe in the ONIX system, and is used to load the calibration files for the probe
353381
(see Calibration Files section below).
354382

355-
Compatible Probes
356-
----------------------
357-
358-
This plugin can stream data from the following Neuropixels probe types:
359-
360-
.. csv-table::
361-
:widths: 70, 40, 40
362-
363-
"**Probe**", "**Channels**", "**Plugin Version**"
364-
"Neuropixels 1.0", "384 AP, 384 LFP", "≥0.1.0"
365-
"Neuropixels 2.0 (quad-shank)", "384 wideband", "≥0.1.0"
366-
367-
Neuropixels Data Streams
368-
---------------------------
369-
370-
The ONIX Source plugin sends data from all connected probes through the GUI's signal chain unless
371-
they have been disabled. To disable data transmission, you can press the "Disable" button underneath
372-
the probe name. The button will turn gray, and the stream will not be sent through the signal chain.
373-
374-
Neuropixels 1.0 probes have two data streams:
375-
376-
* 384 channels of AP band data, sampled at 30 kHz (e.g. "Probe-AP")
377-
378-
* 384 channels of LFP band data, sampled at 2.5 kHz (e.g. "Probe-LFP")
379-
380-
Neuropixels 2.0 quad-shank probes have only one data stream:
381-
382-
* 384 channels of wide-band data, sampled at 30 kHz.
383-
384-
.. note::
385-
For headstages with multiple probes, the streams will include the probe index in the stream name (e.g., "Probe0-AP", "Probe0-LFP").
386-
387-
As of GUI version 0.6.0, streams in downstream plugins are configured independently. This makes it
388-
much easier to apply different parameters to different streams, for example unique
389-
:ref:`bandpassfilter` settings for the AP band and LFP band. However, users should be aware that
390-
settings for one stream are not automatically applied to other streams. If you are recording from
391-
many probes simultaneously, be sure to use the Stream Selector interface in downstream plugins to
392-
confirm that the appropriate settings have taken effect for all incoming data streams.
393-
394-
Channel Constraints
383+
Channel constraints
395384
^^^^^^^^^^^^^^^^^^^^^
396385

397386
For Neuropixels probes, there will always be 384 channels enabled across the entire probe.
@@ -410,8 +399,8 @@ manually enabling electrodes, the indexing logic is applied in the order that el
410399
selected. If two (or more) electrodes are selected that share a channel value, the highest indexed
411400
electrode is the only one that will be enabled.
412401

413-
Probe Map
414-
^^^^^^^^^^^^^^^^^^^^^
402+
Probe map
403+
^^^^^^^^^^^
415404

416405
The Probe Map will show the probe layout, with the shank(s) drawn and the electrodes displayed as
417406
squares. Each electrode can be selected by clicking on it, or clicking and dragging to select
@@ -435,8 +424,48 @@ probe layout and select electrodes.
435424
.. image:: ../../_static/images/plugins/onixsource/neuropixels-1e-electrode-selection.gif
436425
:alt: GIF Illustrating Neuropixels 1.0e Electrode Selection
437426

438-
Calibration Files
427+
Compatible probes
428+
----------------------
429+
430+
This plugin can stream data from the following Neuropixels probe types:
431+
432+
.. csv-table::
433+
:widths: 70, 40, 40
434+
435+
"**Probe**", "**Channels**", "**Plugin Version**"
436+
"Neuropixels 1.0", "384 AP, 384 LFP", "≥0.1.0"
437+
"Neuropixels 2.0 (quad-shank)", "384 wideband", "≥0.1.0"
438+
439+
Neuropixels data streams
440+
---------------------------
441+
442+
The ONIX Source plugin sends data from all connected probes through the GUI's signal chain unless
443+
they have been disabled. To disable data transmission, you can press the "Disable" button underneath
444+
the probe name. The button will turn gray, and the stream will not be sent through the signal chain.
445+
446+
Neuropixels 1.0 probes have two data streams:
447+
448+
* 384 channels of AP band data, sampled at 30 kHz (e.g. "Probe-AP")
449+
450+
* 384 channels of LFP band data, sampled at 2.5 kHz (e.g. "Probe-LFP")
451+
452+
Neuropixels 2.0 quad-shank probes have only one data stream:
453+
454+
* 384 channels of wide-band data, sampled at 30 kHz.
455+
456+
.. note::
457+
For headstages with multiple probes, the streams will include the probe index in the stream name (e.g., "Probe0-AP", "Probe0-LFP").
458+
459+
As of GUI version 0.6.0, streams in downstream plugins are configured independently. This makes it
460+
much easier to apply different parameters to different streams, for example unique
461+
:ref:`bandpassfilter` settings for the AP band and LFP band. However, users should be aware that
462+
settings for one stream are not automatically applied to other streams. If you are recording from
463+
many probes simultaneously, be sure to use the Stream Selector interface in downstream plugins to
464+
confirm that the appropriate settings have taken effect for all incoming data streams.
465+
466+
Calibration files
439467
^^^^^^^^^^^^^^^^^^^^^
468+
440469
Neuropixels probes require calibration in order to function properly. These files can be obtained from IMEC for every probe that you've purchased. There should be two files for each 1.0 probe:
441470

442471
* :code:`<probe_serial_number>_ADCCalibration.csv`
@@ -447,15 +476,58 @@ and one file for each 2.0 probe:
447476

448477
* :code:`<probe_serial_number>_gainCalValues.csv`
449478

450-
Calibration files can be loaded by clicking the :kbd:`...` button next to the respective file. This
479+
Calibration files can be manually loaded by clicking the :kbd:`...` button next to the respective file. This
451480
will open a file dialog that allows you to select the calibration file for the probe. The calibration
452481
file must be in the format specified by the Neuropixels documentation, and the naming scheme must
453482
match the format above.
454483

455484
.. tip::
456485
If the probe serial number is not known, try connecting to the headstage first, and then check the probe serial number in the probe tab.
457486

458-
BNO055 Configuration
487+
Automated calibration file discovery
488+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
489+
490+
Starting with plugin version 0.2.0, Neuropixels probes support an automated search algorithm to
491+
discover the appropriate calibration files. To enable this automated discovery, check the box marked
492+
"Search for calibration files automatically" and then press the :kbd:`...` next to the label. This
493+
will open a dialog window where you can select the top-level folder containing all calibration
494+
folders/files for Neuropixel probes.
495+
496+
.. image:: ../../_static/images/plugins/onixsource/neuropixels-1e-automatic-search.png
497+
:alt: Neuropixels 1.0e with the automatic calibration file checkbox checked
498+
:width: 500
499+
:align: center
500+
501+
If the checkbox is checked, it will disable to ability to manually choose calibration files, but the
502+
selected file will still be displayed in the same location as if you had chosen the file manually.
503+
To choose the file manually, uncheck the checkbox and follow the instructions `above
504+
<#calibration-files>`_.
505+
506+
The automated detection will run if the following conditions are met:
507+
508+
- The check box to search automatically is checked
509+
- A valid root folder has been selected
510+
- The probe has a valid serial number reported
511+
512+
Provided the other conditions are true, then the calibration file will be automatically searched for when
513+
any of the following triggers occur:
514+
515+
- A new root folder is selected
516+
- The checkbox is toggled on
517+
- A new Neuropixels probe is connected, updating the probe serial number
518+
519+
The automated search uses the probe serial number to match files with the expected naming scheme.
520+
The name of the folder is not important, but the name of the file must match the naming scheme or it
521+
will not be automatically discovered.
522+
523+
The automated search algorithm will search up to two levels deep from the root folder selected,
524+
meaning that files can be automatically discovered in the root folder, or at most two folders away
525+
(e.g., `./<probe_serial_number>/*.csv` or `./np1_files/<probe_serial_number>/*.csv`). If the
526+
calibration file is nested too deeply, then the automated detection will not find it. Consider
527+
changing where the root directory is pointing to, or modify the folder structure to take advantage
528+
of the automated detection.
529+
530+
BNO055 configuration
459531
----------------------
460532

461533
BNO055 is an Inertial Measurement Unit (IMU) device that can be used to stream realtime orientation data
-98.4 KB
Loading

source/_static/images/plugins/onixsource/breakout-board-canvas.svg

Lines changed: 29 additions & 21 deletions
Loading
218 KB
Loading

source/_static/images/plugins/onixsource/neuropixels-1e-automatic-search.svg

Lines changed: 60 additions & 0 deletions
Loading
37.4 KB
Loading

source/_static/images/plugins/onixsource/neuropixels-1e-canvas.svg

Lines changed: 26 additions & 17 deletions
Loading
2.07 MB
Loading
1.98 MB
Loading
2.65 MB
Loading

0 commit comments

Comments
 (0)