open-ephys / open-ephys-matlab-tools Goto Github PK
View Code? Open in Web Editor NEWMatlab code for interacting with the Open Ephys GUI
License: MIT License
Matlab code for interacting with the Open Ephys GUI
License: MIT License
Hi
I'm trying to analyze OE data with matlab. From an experiment, I have two recordings. So when I load data with the Session function:
session=Session(directory)
I can see two recordings:
session.recordNodes{1}
format: 'Binary'
recordings: {[1×1 BinaryRecording] [1×1 BinaryRecording]}
However, data from both recordings{1} and recordings{2} are the same (whether I look at continuous or ttlEvents). I guess it's something stupid I don't see but I'm stuck here. Any help would be really appreciated.
G
Hi
I'm recording with OE gui v0.6.3
when tryin to load a recording with 2 record nodes i get this error:
>> session = Session('D:\Jan_2023\recordings\WT\C3669\2023-02-01_14-21-27')
Error using containers.Map/subsref
The specified key is not present in this container.
Error in BinaryRecording/loadContinuous (line 93)
stream.metadata.startTimestamp = syncMessages(streamKey);
Error in BinaryRecording (line 40)
self = self.loadContinuous();
Error in BinaryRecording.detectRecordings (line 254)
recordings{end+1} = BinaryRecording(recordingDirectories{recIdx}, expIdx, recIdx);
Error in RecordNode/detectRecordings (line 94)
self.recordings = BinaryRecording.detectRecordings(self.directory);
Error in RecordNode (line 71)
self.detectRecordings();
Error in Session/detectRecordNodes (line 68)
self.recordNodes{end+1} = RecordNode(paths{i});
Error in Session (line 59)
self.detectRecordNodes();
93 stream.metadata.startTimestamp = syncMessages(streamKey);
Hi,
When I try to load data that was recorded using the new GUI (v.0.6.0) into Matlab, I encounter the following error:
-I set my directory
-I enter season = Session(directory)
-But then I receive an error:
"Error using containers.Map/subsref
The specified key is not present in this container."
Thanks for any help or ideas!
Ben
Hi,
I get this error when opening a recording session with session = Session(directory)
- using code v1.0.0 with Matlab 2022b:
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second
matrix. To operate on each element of the matrix individually, use TIMES (.*) for elementwise multiplication.
Error in BinaryRecording/loadEvents (line 128)
self.ttlEvents(id) = DataFrame(abs(lines), sampleNumbers, timestamps, processorId*ones(numEvents,1), repmat(string(id),numEvents,1), lines > 0, ...
Error in BinaryRecording (line 41)
self = self.loadEvents();
Error in BinaryRecording.detectRecordings (line 254)
recordings{end+1} = BinaryRecording(recordingDirectories{recIdx}, expIdx, recIdx);
Error in RecordNode/detectRecordings (line 95)
self.recordings = BinaryRecording.detectRecordings(self.directory);
Error in RecordNode (line 71)
self.detectRecordings();
Error in Session/detectRecordNodes (line 70)
self.recordNodes{end+1} = RecordNode(paths{i});
Error in Session (line 61)
self.detectRecordNodes();
The processorId
variable is empty, from its definition at line 117.
At this stage, fullId
's value is 1×2 cell array {'DAQmx-109'} {'PXIe-6341'}
, which leads str2num
to return an empty value.
What is the expected behavior of processorId = str2num(fullId{1});
on line 117 ?
session = Session(directory)
directory =
'/Volumes/Elements/2021-07-09_10-24-33_Ma_1163_male_placepref'
Searching directory: /Volumes/Elements/2021-07-09_10-24-33_Ma_1163_male_placepref
Found recording format: Binary
Error using readNPYheader
File not found: /Volumes/Elements/2021-07-09_10-24-33_Ma_1163_male_placepref/Record Node
109/experiment1/recording1/continuous/Rhythm_FPGA-100.0/sample_numbers.npy
Error in readNPY (line 9)
[shape, dataType, fortranOrder, littleEndian, totalHeaderLength, ~] = readNPYheader(filename);
Error in BinaryRecording/loadContinuous (line 81)
stream.sampleNumbers = readNPY(fullfile(directory, 'sample_numbers.npy'));
Error in BinaryRecording (line 40)
self = self.loadContinuous();
Error in BinaryRecording.detectRecordings (line 254)
recordings{end+1} = BinaryRecording(recordingDirectories{recIdx}, expIdx, recIdx);
Error in RecordNode/detectRecordings (line 95)
self.recordings = BinaryRecording.detectRecordings(self.directory);
Error in RecordNode (line 71)
self.detectRecordings();
Error in Session/detectRecordNodes (line 70)
self.recordNodes{end+1} = RecordNode(paths{i});
Error in Session (line 61)
self.detectRecordNodes();
session = Session(directory)
Searching directory: /Volumes/Elements/2021-07-09_10-24-33_Ma_1163_male_placepref
Found recording format: OpenEphys
Error using memmapfile/hCreateMap
File "/Volumes/Elements/2021-07-09_10-24-33_Ma_1163_male_placepref/Record Node 103/all_channels.events" is not large enough to map
with the current format, offset, and repeat values.
Error in indexing (line 794)
hCreateMap(obj);
Error in OpenEphysRecording.detectRecordings (line 564)
timestamps = timestamps.Data(1:2:end);
Error in RecordNode/detectRecordings (line 97)
self.recordings = OpenEphysRecording.detectRecordings(self.directory);
Error in RecordNode (line 71)
self.detectRecordings();
Error in Session/detectRecordNodes (line 70)
self.recordNodes{end+1} = RecordNode(paths{i});
Error in Session (line 61)
self.detectRecordNodes();
Don't know why I don't have sample_numbers.npy or why all_channels.events is not large enough.
Hi
I've runned into an error which has been raised before about the absence of a key.
My set up is
data recorded with oe6.+,
toolbox: open-ephys-matlab-tools-1.0.2
matlab version: 2020a
Error using containers.Map/subsref
The specified key is not present in this container.
Error in BinaryRecording/loadContinuous (line 93)
stream.metadata.startTimestamp = syncMessages(streamKey);
Error in BinaryRecording (line 40)
self = self.loadContinuous();
Error in BinaryRecording.detectRecordings (line 254)
recordings{end+1} = BinaryRecording(recordingDirectories{recIdx}, expIdx, recIdx);
Error in RecordNode/detectRecordings (line 95)
self.recordings = BinaryRecording.detectRecordings(self.directory);
Error in RecordNode (line 71)
self.detectRecordings();
Error in Session/detectRecordNodes (line 70)
self.recordNodes{end+1} = RecordNode(paths{i});
Error in Session (line 61)
self.detectRecordNodes();
Thanks
G
Simple Script:
directory = 'Path\2023-03-24_11-41-10';
session = Session(directory)
Error:
Searching directory: Path
Found recording format: Binary
Error using reshape
Size arguments must be real integers.
Error in BinaryRecording/loadContinuous (line 85)
stream.samples = reshape(data.Data, [stream.metadata.numChannels, length(data.Data) / stream.metadata.numChannels]);
Error in BinaryRecording (line 40)
self = self.loadContinuous();
Error in BinaryRecording.detectRecordings (line 254)
recordings{end+1} = BinaryRecording(recordingDirectories{recIdx}, expIdx, recIdx);
Error in RecordNode/detectRecordings (line 95)
self.recordings = BinaryRecording.detectRecordings(self.directory);
Error in RecordNode (line 71)
self.detectRecordings();
Error in Session/detectRecordNodes (line 70)
self.recordNodes{end+1} = RecordNode(paths{i});
Error in Session (line 61)
self.detectRecordNodes();
Error in GetEEG_Sung_Soo_home (line 7)
session = Session(directory)
I'm running into errors trying to run the session command. I need some guidance to learn how to use this matlab package. Any help would be appreciated.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.