From ab4c884dba3cdb9a77fb38994b5135721aca8fd0 Mon Sep 17 00:00:00 2001 From: jonnw Date: Thu, 8 Aug 2024 14:43:13 -0400 Subject: [PATCH] Continue to clarify software options - Improved clarity of descriptions and ordering of presentation of software options --- .../Software Guide/Open Ephys GUI/index.rst | 46 +--- .../Software Guide/OpenEphys.Onix1/index.rst | 31 +++ source/Software Guide/index.rst | 39 +-- source/Software Guide/onix1.rst | 14 - source/_static/images/bonsai-lettering.svg | 258 ++++++++++++++++++ source/_static/theme_overrides.css | 26 +- 6 files changed, 341 insertions(+), 73 deletions(-) create mode 100644 source/Software Guide/OpenEphys.Onix1/index.rst delete mode 100644 source/Software Guide/onix1.rst create mode 100644 source/_static/images/bonsai-lettering.svg diff --git a/source/Software Guide/Open Ephys GUI/index.rst b/source/Software Guide/Open Ephys GUI/index.rst index 18776e2c..a1738eba 100644 --- a/source/Software Guide/Open Ephys GUI/index.rst +++ b/source/Software Guide/Open Ephys GUI/index.rst @@ -1,43 +1,19 @@ .. _open_ephys_gui: Open Ephys GUI ---------------------------------------------- -There is currently no dedicated ONIX plugin available for the `Open Ephys GUI -`__. The Open Ephys GUI is -built primarily for multichannel electrophysiology using an audio processing -library that makes it difficult to deal with multiple asynchronous data -streams. +-------------------------------------------- -.. note:: Have a look at the `Open Ephys GUI documentation - `_ - for information on the GUI's design. +The `Open Ephys GUI `__ is an +open-source, plugin-based application for acquiring extracellular +electrophysiology data. It was designed by neuroscientists to make their +experiments more flexible and enjoyable. It works equally well on macOS, Linux, +and Windows. -This is fine when the data being processed is synchronized ephys and auxiliary -data. However, by design, ONIX hardware makes no such guarantees about the -nature of the data it produces. On the contrary, an -**Acquisition Context** manages a table of devices that are -potentially all asynchronous from one another. Even though each sample from -these devices is individually time-stamped in hardware, there is no guarantee -of when they will arrive or in what order. This necessitates the use of -event-driven acquisition software that only propagates data when its received, -and this is where `Bonsai `__ really shines. For this -reason, we have dedicated the majority of our development effort toward the -:ref:`Bonsai.ONIX ` library. +.. note:: An ONIX plugin for the Open Ephys is in development. To access all of + ONIX's capabilities right now, have a look at the :ref:`Bonsai library + `. **You can still take advantage of the GUI's excellent + ephys visualizaiton tools by streaming data from Bonsai to the GUI using + the** `Ephys Socket Plugin `__. -Using the Open Ephys GUI for ONIX Data Visualization --------------------------------------------------------------- -Bonsai provides advanced access to GPU visualization capabilities, but has to -be manually programmed to generate high performance real-time plotting. This can -be a hurdle for those that just want to see if they have their probe in the -right spot. In the future, we aim to change this situation, and eventually -provide first-class native ephys visualization capabilities in the Bonsai -Editor. -.. note:: If you want to help improve Bonsai's Ephys visualization capabilites, - :ref:`get in touch `. - -In the meantime we can take advantage of the Ephys GUI's visualization and -audio streaming by the `Ephys Socket Plugin -`__ -to receive data from Bonsai. diff --git a/source/Software Guide/OpenEphys.Onix1/index.rst b/source/Software Guide/OpenEphys.Onix1/index.rst new file mode 100644 index 00000000..aeae155a --- /dev/null +++ b/source/Software Guide/OpenEphys.Onix1/index.rst @@ -0,0 +1,31 @@ +.. _openephys_onix1ref: + +Bonsai +======================== + +`Bonsai `__ is a visual programming language (think +LabView) for reactive programming. It is lightweight and easy to use with a +variety of packages and modules for interfacing with hardware and for real-time +processing and manipulation of data streams. `OpenEphys.Onix1 +`__ is a Bonsai +library for ONIX hardware. This library contains `Bonsai Operators +`__ for acquiring and +sending data to ONIX hardware. + +:Code: https://github.com/open-ephys/onix-bonsai-onix1 +:Compatibility: ONIX Hardware, UCLA miniscopes & variants +:Documentation: https://open-ephys.github.io/onix1-bonsai-docs/index.html + +.. raw:: html + + +
+ +
+

Go to the ONIX library Docs

+
+ OpenEphys.Onix1 bonsai
+            library documentation + +
diff --git a/source/Software Guide/index.rst b/source/Software Guide/index.rst index 929ebafd..3b352b19 100644 --- a/source/Software Guide/index.rst +++ b/source/Software Guide/index.rst @@ -6,32 +6,35 @@ .. toctree:: :hidden: - oni-repl/index - Onix Bonsai Library + OpenEphys.Onix1/index Open Ephys GUI/index + oni-repl/index Bonsai.ONIX (DEPRECATED) |software_logo| Software Guide =================================== -Although ONIX is software agnostic, we have focused our development efforts on `Bonsai `__ for data acquisition. Bonsai is -very good at dealing with the asynchronous and heterogeneous data that ONIX -hardware produces. +:ref:`Bonsai ` + A `Bonsai `__ library for acquiring data from ONIX + hardware for real-time experiments. Bonsai is very good at processing the + heterogeneous data streams produced by ONIX hardware. + +:ref:`Open Ephys GUI ` + The Open Ephys GUI can be used for ONIX data visualization. -- The :ref:`oni_repl` pages document a low-level C program that - can be used for debugging and basic streaming IO with ONIX - hardware. -- The `OpenEphys.Onix1 `__ pages detail how to use the ONIX Bonsai library. -- The :ref:`open_ephys_gui` page shows how ephys data can be streamed the Open - Ephys GUI to take advantage of its excellent visualization capabilities. +:ref:`oni-repl ` + A simple command-line application that can be used for debugging and basic + streaming IO with ONIX hardware. -Deprecated ------------ +.. tip:: ONIX uses an `ONI-compliant API + `__ that is software + agnostic. There are several software options for acquiring data from ONIX + hardware If you want to use ONIX hardware with your acquisition software, + please :ref:`get in touch `. -- The :ref:`bonsai_onixref` pages provide detailed information about the deprecated ONIX - Bonsai library. +Deprecated Software +___________________________________ +- The :ref:`bonsai_onixref` pages provide information about the original Bonsai + library, which has been superseded by :ref:`openephys_onix1ref` -.. tip:: If you want to use ONIX hardware with your acquisition software, - please :ref:`get in touch `. It's not as hard as you might think - :). diff --git a/source/Software Guide/onix1.rst b/source/Software Guide/onix1.rst deleted file mode 100644 index 264d6ee7..00000000 --- a/source/Software Guide/onix1.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. _onix1: - -OpenEphys.Onix1 -=============== - -`OpenEphys.Onix1 `__ is the `Bonsai -`__ library for ONIX hardware. This library contains -`Bonsai Operators `__ for -acquiring and sending data to ONIX hardware. - -.. figure:: ../_static/images/onix1-example.svg - - An example Bonsai workflow using the `OpenEphys.Onix1 `__ - library that visualizes data in real-time and automatically commutates as the animal reorients \ No newline at end of file diff --git a/source/_static/images/bonsai-lettering.svg b/source/_static/images/bonsai-lettering.svg new file mode 100644 index 00000000..720f73c4 --- /dev/null +++ b/source/_static/images/bonsai-lettering.svg @@ -0,0 +1,258 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/_static/theme_overrides.css b/source/_static/theme_overrides.css index 151e541d..c30c4176 100644 --- a/source/_static/theme_overrides.css +++ b/source/_static/theme_overrides.css @@ -254,24 +254,38 @@ h6 { margin-top: 2em; } -.card { - border: 0; -} - .intro-card { transition: transform 0.2s ease; border: 0; } + .intro-card:hover { transform: scale(1.05); } - .col-lg-6 { margin-top: 2em; } +.page-card { + transition: transform 0.2s ease; + background-color: #FFFFFF; + border-color: #000000; + padding: 20px; + color: var(--onix-txt-color) !important; + transform: scale(0.9); +} + +.page-card:hover { + transform: scale(1.00); +} +.page-card-img-marg { + margin-top: 2em; + margin-bottom: 1em; + margin-right: 5em; + margin-left: 5em; +} /* Gallery cards */ @@ -421,4 +435,4 @@ img { .hint>.admonition-title:before { color: #519141 !important; -} \ No newline at end of file +}