Error when reading NWB file in MatNWB, but not PyNWB #75
Replies: 7 comments 16 replies
-
|
attn @lawrence-mbf or @bendichter |
Beta Was this translation helpful? Give feedback.
-
|
@amadaabrego what is the version of the schema for the file? You can run |
Beta Was this translation helpful? Give feedback.
-
@lawrence-mbf And I guess it is best to throw a warning and keep the value from the file, not enforce volts. Another question is then whether this deviation from schema is also present in pynwb? |
Beta Was this translation helpful? Give feedback.
-
|
Did anyone solve this for matnwb? |
Beta Was this translation helpful? Give feedback.
-
|
Something is very weird in this code. I found where the error is happening, changed the code, but it keeps getting changed back. Is this code regenerating classes? This code seems to also be trying to handle and rethrow errors, which means that you can't use the debugger to get the actual debugging stack. |
Beta Was this translation helpful? Give feedback.
-
|
@adredish Can you share a sample file where you experience this issue? Is this a file you have created yourself, or a file from a collaborator / online repository (i.e dandi)? The problem is most likely that a value in the file is not according to the NWB schema, and this causes a read error in MatNWB. As discussed above, it might be better to show a warning for a situation like this. I created an issue on MatNWB to follow up on this |
Beta Was this translation helpful? Give feedback.
-
|
I made a temporary fix for your particular issue on this branch: Please try it out and let me know if that helps you. We will continue working towards implementing this into the main branch and add it to a future release. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi!
I have a dataset from a collaborator in NWB format. I can upload it using pynwb, but when I try to do it in matlab, I get the following error
read_nwbfile = nwbRead('sub-TA525_task-places_ieeg.nwb')Error using types.core.ElectricalSeries/validate_data_unit_
Unable to set the 'data_unit' property of class 'ElectricalSeries' because it is read-only.
Error in types.core.TimeSeries/set.data_unit (line 94)
obj.data_unit = obj.validate_data_unit(val);
Error in types.core.TimeSeries (line 61)
obj.data_unit = p.Results.data_unit;
Error in types.core.ElectricalSeries (line 22)
obj = obj@types.core.TimeSeries(varargin{:});
Error in io.parseGroup (line 85)
parsed = eval([Type.typename '(kwargs{:})']);
Error in io.parseGroup (line 38)
subg = io.parseGroup(filename, group, Blacklist);
Error in io.parseGroup (line 38)
subg = io.parseGroup(filename, group, Blacklist);
Error in nwbRead (line 79)
nwb = io.parseGroup(filename, h5info(filename), Blacklist);
For what it's worth, the dataset was written in Matlab. And it was generated years ago. Collaborator never had any issues with it, so they think it might be something in a newer update.
I'm not sure what is the best way to address this. I have gone through all the functions, and have not found a way to fix it. Any ideas?
Beta Was this translation helpful? Give feedback.
All reactions