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
Using an allen institute dataset as testing data (specifically https://dandiarchive.org/dandiset/000021/ , sub-738651046_ses-760693773.nwb ) trying to get an expected result for dataframes produced from dynamic tables, and it looks like it is left unresolved as a TimeSeriesReference object.
There seems to be some mismatch in version of model used here, because this dataset is using 2.2.2 and TimeSeriesReferenceVectorData wasn't present in the schema then as far as I can tell. Not sure if this is expected behavior or if there's some other call I need to make to resolve references. Still trying to figure out how all these multi-index objects are supposed to work so this could be nothing idk
Steps to Reproduce
# download the above dataset and say it's named data.nwbfrompynwbimportNWBHDF5IOwithopen('data.nwb', 'r', load_namespaces=True) asio:
data=io.read()
df=data.intervals['drifting_gratings_presentations'].to_dataframe()
While TimeSeriesReferenceVectorData was added as a type later, the schema existed. That is, we just gave the type a name so that it can be reused, but the structure of the data itself did not change. To support consistent interaction across the data, PyNWB therefore is able to use the same updated data structures to represent the data to the user on read for this data. I.e., the behavior you are describing is expected. TimeSeriesReference is the resolution of the reference as it holds the TimeSeries that is being pointed to as well as the information about the indices to be accessed. TimeSeriesReference provides convenience properties that allows direct access to the selected data subset via its .data and .timestamps properties. See here for details: https://pynwb.readthedocs.io/en/stable/tutorials/general/plot_timeintervals.html#accessing-referenced-timeseries
alright! if that's expected behavior then yes close the issue! I assumed (incorrectly) that the reference should just be replaced with the data that is referenced, but if the references should remain then great!
What happened?
Using an allen institute dataset as testing data (specifically https://dandiarchive.org/dandiset/000021/ , sub-738651046_ses-760693773.nwb ) trying to get an expected result for dataframes produced from dynamic tables, and it looks like it is left unresolved as a
TimeSeriesReference
object.There seems to be some mismatch in version of model used here, because this dataset is using
2.2.2
andTimeSeriesReferenceVectorData
wasn't present in the schema then as far as I can tell. Not sure if this is expected behavior or if there's some other call I need to make to resolve references. Still trying to figure out how all these multi-index objects are supposed to work so this could be nothing idkSteps to Reproduce
and then
Operating System
macOS
Python Executable
Python
Python Version
3.11
Package Versions
pynwb: 2.5.0
hdmf: 3.9.0
h5py: 3.9.0
Code of Conduct
The text was updated successfully, but these errors were encountered: