You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have integrated NWB into our acquisition / visual stimulus display software (stimpack) and are working on updating our Python analysis pipelines to use these NWB files. I have a question about how to best split up TimeSeries objects by trial start_time and stop_time. A bit about our workflow as context: stimpack spits out .nwb files that contain just the animal metadata and trial parameters. In post-hoc processing we attach the various data recorded in the experiment (FicTrac data via neuroconv, optical physiology data, voltage recordings). So the TimeSeries objects aren't actually present when the trials are created. We also (post-hoc) modify the trial start_time and stop_time based on measured stimulus timing data (by digging around with h5py).
In this tutorial, it shows how to link TimeSeries to intervals as you create new trials. However in our case we want to add TimeSeries references to an existing trial table. How can we do this? Ideally we would add these to the existing trials table, rather than creating a new TimeInterval object and attaching that. I have a feeling it would involve add_trial_column and TimeSeriesReferenceVectorData - but does anyone know of documentation on how to do this?
The method for "trializing" a TimeSeries is more difficult than I would have guessed for something that probably most users do often. This is especially true for cases where there are lots of associated TimeSeries, since you have to know the index of the referenced TimeSeries you are after (tutorial here).
Can the referenced TimeSeries be pulled out based on its name or some other identifier that doesn't depend on how many TimeSeries there are and in what order they were referenced?
Are there any convenience methods that would make it easier to pull out TimeSeries data split up by trials? It would be nice if some method exists that is not dependent on the TimeSeries being referenced in the trials table, I'm thinking of things like: nwb_file.trialize_time_series(TimeSeries, TimeInterval) or TimeSeries.trialize(TimeInterval)
For both of these, we could hack our way around ourselves but I want to try to keep things as share-able and nwb-ecosystem-friendly as possible. By the way I'm already SO glad we made the switch! Much better than our old bespoke file formats.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
We have integrated NWB into our acquisition / visual stimulus display software (stimpack) and are working on updating our Python analysis pipelines to use these NWB files. I have a question about how to best split up
TimeSeries
objects by trial start_time and stop_time. A bit about our workflow as context: stimpack spits out .nwb files that contain just the animal metadata and trial parameters. In post-hoc processing we attach the various data recorded in the experiment (FicTrac data via neuroconv, optical physiology data, voltage recordings). So theTimeSeries
objects aren't actually present when the trials are created. We also (post-hoc) modify the trial start_time and stop_time based on measured stimulus timing data (by digging around with h5py).In this tutorial, it shows how to link
TimeSeries
to intervals as you create new trials. However in our case we want to addTimeSeries
references to an existing trial table. How can we do this? Ideally we would add these to the existing trials table, rather than creating a newTimeInterval
object and attaching that. I have a feeling it would involveadd_trial_column
andTimeSeriesReferenceVectorData
- but does anyone know of documentation on how to do this?The method for "trializing" a
TimeSeries
is more difficult than I would have guessed for something that probably most users do often. This is especially true for cases where there are lots of associated TimeSeries, since you have to know the index of the referenced TimeSeries you are after (tutorial here).TimeSeries
be pulled out based on its name or some other identifier that doesn't depend on how many TimeSeries there are and in what order they were referenced?nwb_file.trialize_time_series(TimeSeries, TimeInterval)
orTimeSeries.trialize(TimeInterval)
For both of these, we could hack our way around ourselves but I want to try to keep things as share-able and nwb-ecosystem-friendly as possible. By the way I'm already SO glad we made the switch! Much better than our old bespoke file formats.
Beta Was this translation helpful? Give feedback.
All reactions