open-ephys-matlab-tools
Open Ephys Matlab Tools
Overview
This repository is meant to centralize and standardize Matlab-specific tools for interacting with the Open Ephys GUI.
It consists of three modules:
-
analysis
- loads data in every format supported by the GUI, using a common interface -
control
- allows a Matlab process to control the GUI, locally or over a network connection -
streaming
- (under development) receives data from the GUI for real-time analysis and visualization in Matlab
Installation
Latest version always available for download:
All scripts and classes are available in the open-ephys directory. Make sure the open-ephys directory and the data to be analyzed are both on the Matlab search path.
See the control module README file for how to setup zmq with Matlab.
Using the OpenEphysHTTPServer class is recommended for remote control of the GUI in v0.6+.
Usage
Example scripts are included in the examples
directory. The following sections provide a brief overview of the functionality of each module.
analysis
directory = '/path/to/data/2020-11-10_09-28-30' % for example
session = Session(directory)
If the directory contains data from one more Record Nodes (GUI version 0.5+), the session
object will contain a list of RecordNodes, accessible via session.recordNodes[N]
, where N = 1, 2, 3,
, etc.
If your directory just contains data (any GUI version), individual recordings can be accessed via session.recordings
. The format of the recordings will be detected automatically as either
Binary,
Open Ephys,
NWB 2.0.
(KWIK is no longer supported)
Each recording
object has the following fields:
-
continuous
: continuous data for each subprocessor in the recording -
spikes
: spikes for each electrode group -
events
: PandasDataFrame
Matlab analog of event times and metadata -
messages
: text messages sent to the GUI during recording
More details about continuous
, spikes
, and events
objects can be found in the analysis module README file.
control
host = '127.0.0.1' % IP address of the computer running Open Ephys
port = 37497 % EPHYS on a phone keypad
gui = OpenEphysHTTPServer(host, port)
gui.acquire() % start acquisition
gui.record() % start recording
gui.idle() % stop recording and/or acquisition
gui.quit() % quit the GUI
See all API endpoints in the control module README file.
streaming
(coming soon)
Contributing
This code base is under active development, and we welcome bug reports, feature requests, and external contributions. If you're working on an extension that you think would be useful to the community, don't hesitate to submit an issue.
Cita come
Pavel Kulik (2024). open-ephys-matlab-tools (https://github.com/open-ephys/open-ephys-matlab-tools/releases/tag/v1.3.0), GitHub. Recuperato .
Compatibilità della release di MATLAB
Compatibilità della piattaforma
Windows macOS LinuxCategorie
Tag
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Scopri Live Editor
Crea script con codice, output e testo formattato in un unico documento eseguibile.
examples
open_ephys/analysis
open_ephys/analysis/formats/BinaryRecording
open_ephys/analysis/formats/NwbRecording
open_ephys/analysis/formats/OpenEphysRecording
open_ephys/analysis/formats/helpers
open_ephys/control
open_ephys/control/matlab-zmq
open_ephys/control/matlab-zmq/examples
open_ephys/control/matlab-zmq/lib/+zmq/+core
open_ephys/control/matlab-zmq/lib/+zmq/@Context
open_ephys/control/matlab-zmq/lib/+zmq/@Socket
open_ephys/control/matlab-zmq/tests
open_ephys/control/matlab-zmq/tests/support
Versione | Pubblicato | Note della release | |
---|---|---|---|
1.3.0.0 | See release notes for this release on GitHub: https://github.com/open-ephys/open-ephys-matlab-tools/releases/tag/v1.3.0 |
||
1.0.2.0 | See release notes for this release on GitHub: https://github.com/open-ephys/open-ephys-matlab-tools/releases/tag/v1.0.2 |
||
1.0.1.0 | See release notes for this release on GitHub: https://github.com/open-ephys/open-ephys-matlab-tools/releases/tag/v1.0.1 |
||
1.0.0 |