-
Notifications
You must be signed in to change notification settings - Fork 2
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
converting issue #47
Comments
Unfortunately Homer3 doesn't fully support the SNIRF specification (for example see BUNPC/Homer3#180), and I expect this might be the same problem. Are you able to upload a small example file to this issue so that we can check? |
Thank you! Please see the attached file |
Thank you @labteng, we will look into this and come back to you early next week. @nidadu are you able to confirm that this file is indeed triggering BUNPC/Homer3#180 ? |
@samuelpowell I can confirm that this data triggers the same part of the code and produces the same error as in BUNPC/Homer3#180. |
Thanks @nidadu, in the absence of a fix in Homer the quickest thing we can do is to add an option to export a full time series format for the data. This could be guarded by a switch. If you have time to do this today would you open a PR, else we’ll revisit next week. |
Thank you for checking the bug. I just found that when I convert the data into .nirs and use Homer 3 to make it a .snirf, somehow, I can avoid the bug and read the data successfully. However, accelerometer data is still invisible. I was supposed that accelerometer data had been enclosed during converting as I can clearly see that occurring during the recording. Is accelerometer missing due to the format conversion? |
Indeed, Homer3 will not convert any of our additional metadata, hence it will be lost during format conversion. In any case, you should not have to go through this process. We will prepare an update to this package for you to test by close of business today. |
@labteng the linked PR #48 provides an additional options for SNIRF output which writes the time vector in the way that Homer3 expects. For example
We will perform testing and release the new version when validated, in the mean time you are welcome to download the branch and test yourself. |
@labteng the explicit time vector option is now available in lumomat version 1.7. Please try exporting your data using:
This should load cleanly in Homer3. If you have any problems, please reopen this issue. |
@samuelpowell. Would you please help me check again the conversion function? I tried your method, but the Homer3 could not successfully load the event marker, and the timeline will only go up to 6 seconds. While the aux data show up indeed. Thank you for that. I just checked the preprocessing output. Block average was failed. The event markers were surely missing instead of presentation issue. My Homer3 version: v1.80.2 See if the log can help: Warning: Error updating Legend. String scalar or character vector must have valid interpreter syntax:
ans =
Displaying time: [7745x1], data: [7745x3456], channels []
Warning: Error updating Legend. String scalar or character vector must have valid interpreter syntax: Displaying time: [7745x1], data: [7745x3456], channels [] String scalar or character vector must have valid interpreter syntax: Displaying time: [7745x1], data: [7745x3456], channels [2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352] String scalar or character vector must have valid interpreter syntax: Displaying time: [7745x1], data: [7745x3456], channels [2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400] String scalar or character vector must have valid interpreter syntax: Displaying time: [7745x1], data: [7745x3456], channels [2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400] String scalar or character vector must have valid interpreter syntax: Displaying time: [7745x1], data: [7745x3456], channels [2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400] String scalar or character vector must have valid interpreter syntax: ProcStreamOptionsGUI size: [125.00, 29.00] Error in signal.internal.spectral.welchparse (line 31) Error in welch (line 55) Error in pwelch (line 170) Error in MainGUI>menuItemPowerSpectrum_Callback (line 1941) Error in gui_mainfcn (line 95) Error in MainGUI (line 21) Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)MainGUI('menuItemPowerSpectrum_Callback',hObject,eventdata,guidata(hObject)) Error while evaluating Menu Callback. Displaying time: [7745x1], data: [7745x3456], channels [2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400] String scalar or character vector must have valid interpreter syntax: Displaying time: [7745x1], data: [7745x3456], channels [2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688] String scalar or character vector must have valid interpreter syntax: Displaying time: [7745x1], data: [7745x3456], channels [961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008] String scalar or character vector must have valid interpreter syntax: |
I tried using the fnirs on a head model to check the event marker. Later, I converted the result into a snirf file but found that I cant open the converted snirf file by Homer3. This is the error returned by matlib:
test5.snirf: Invalid File Name
Dot indexing is not supported for variables of this type.
Error in MainGUI>listboxFilesErr_Callback (line 648)
if ishandle(maingui.handles.msgbox)
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in MainGUI (line 21)
gui_mainfcn(gui_State, varargin{:});
Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)MainGUI('listboxFilesErr_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.
DataFilesClass.ErrorCheck - ERROR: In file "snirf_test3 (1).SNIRF" "data" field is invalid.. File will not be added to data set
DataFilesClass.ErrorCheck - ERROR: In file "test5.snirf" "data" field is invalid.. File will not be added to data set
Waiting for user responce, t = 30 ticks
Do you have any idea what was going on in the data?
The text was updated successfully, but these errors were encountered: