-
Notifications
You must be signed in to change notification settings - Fork 249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Analog signal data not read from TDT SEV #1129
Comments
Hhi Graham, |
Hi @grahamfindlay, thanks for reporting this. My first suspicion would be that the |
Thanks, both. 4 of the
Perhaps it would be possible to use TDT's Python package to handle ingest of their data & headers/metadata, and massage this into the standardized neo format? |
I will extend the TDTIO to include also the |
The "EEGr" and "EEGf" identifiers correspond to stream names, and are set by the user. In my case they are abbreviations for "EEG raw" and "EEG filtered", but likely ever user has their own stream identifiers based on how they've configured their recording project. So it will be necessary to accept arbitrary identifiers. I have tried to reverse engineer TDT file formats before, and they can be quite complicated. There are really several different formats depending on recording software / hardware version, user choices, etc. That's why using their python package may save a lot of time, if possible. |
@JuliaSprenger One of my colleagues is also not able to load his TDT data using v0.10.2 because of another issue: Example: At first I thought that it doesn't make sense to expect support for post-recording modification of the tank and block names, but given that these are the names the user actually requests from the software, and the timestamped versions do not appear anywhere else in the file metadata, and TDT's own python package has no issue with this, and it seems to be common behavior, perhaps it would make sense to follow their lead and not check |
Update: Found another person with this same issue involving .Tbk naming. |
Hi, all. I have never used
neo
directly before, so I apologize if this is just user error. But I have read through docs and code, and I think what I'm seeing is unexpected behavior.I have a TDT tank containing a single TDT block using SEV (rather than TEV) format. I can successfully create a
TdtIO
object, read the.Tbk
and.tsq
files, which seem to reflect the right streams, with the right names, and the right numbers of channels. But it seems as if these header files are not being parsed properly, because theAnalogSignal
objects that I get have incorrect sampling rates (1.0 Hz, vs the actual ~610Hz), incorrect durations (0.0s vs several hours), and no actual data (e.g.anasig.shape
is(0, 4)
for a 4 channel signal). I notice that theTdtIO._sigs_lengths
dict is{0: {0: 0, 1: 0}}
, which it seems should reflect the size of the data. But there doesn't at first glance appear to be anything wrong with the '.Tbk' and '.tsq' parsing, so perhaps the issue lies somewhere in between.Here's a demonstration: read_tdt_using_neo.pdf. The data are ~800MB. Let me know if you'd like a copy in order to reproduce the issue.
Thanks,
Graham
The text was updated successfully, but these errors were encountered: