Problems loading g.tec .hdf5 file

There seems to be a problem with the access to the files. I get the error:

  This shared file or folder link has been removed or is unavailable to you
  Screenshot:

image

https://drive.google.com/drive/folders/1oDzzFiLtD9CbsG46hspgBoackDE1r72X?usp=sharing I tried a different way to share I put all files in this folder. Thanks.

@corymy,

I was able to open the shared HDF5 file in Brainstorm without any problem.
How are you trying to open the file?

Regarding the .mat file. It contains the same data that the HDF5 file.
However, at this moment Brainstorm does not read .mat files created with the script ghdf5read.m

I am opening by subject then physiologic data tab, either left click on subject name header or implantation, right clicking> import MEG/EEG, then File name to hdf5 file; I still get error.


Would you be able to zoom some time to see how I'm doing?

Thanks!

I tested this on my computer as well, and confirms that the g.tec reader can import your file correctly.
If you have errors on your end, this is most likely due to issues on your computer.

  • First make sure you don't have any program that interferes with Brainstorm on your computer:
    • Close Brainstorm
    • Edit the Matlab path, remove all the folder that are not strictly related with the installation of MATLAB
    • Close and restart Matlab, try again
  • What version of Matlab are you using?
  • If the Matlab version is the issue (older than 2020a), you can try with the compiled version of Brainstorm:
    https://neuroimage.usc.edu/brainstorm/Installation
  • Try executing the following commands in the Matlab command window, after selecting the folder containing the HDF5 file - copy-paste the output here:
    AcqXml = hdf5read('R03_11CC2021.11.09_09.48.05.hdf5', 'RawData/AcquisitionTaskDescription')
    sAcqXml = in_xml(AcqXml.Data)
    

I updated my brainstorm application and it is no longer opening the files that were opening before the update. I'm getting a new error:

BST> Warning: Downsampling signals for display (keeping 1 value every 43)
Unrecognized function or variable 'ICON_Y_UP'.

Error in figure_timeseries>CreateScaleButtons (line 4008)
iconFlipY = IconLoader.ICON_Y_UP;

Error in figure_timeseries>PlotFigure (line 3193)
CreateScaleButtons(iDS, iFig);

Error in figure_timeseries (line 41)
eval(macro_method);

Error in view_timeseries (line 273)
isOk = figure_timeseries('PlotFigure', iDS, iFig);

Error in tree_callbacks>@(h,ev)view_timeseries(filenameRelative,AllMod{iMod},,'NewFigure') (line 1375)
gui_component('MenuItem', jMenuModality, , 'Display time series', IconLoader.ICON_TS_DISPLAY, , @(h,ev)view_timeseries(filenameRelative, AllMod{iMod}, , 'NewFigure'));

Do you have any advice to overcome the error? Thanks.

Just restart Matlab.
If it doesn't work, something went wrong in the update: delete the brainstorm3 folder from your computer and download a new one from the website.

I realized that there was a problem in the update mechanism when there are changes to brainstorm.jar. Frequently, the brainstorm.jar cannot not be replaced automatically with the newer version.

I fixed this in this commit (forcing downloading a new .jar at startup after an update):

@corymy If you haven't done anything yet: simply update Brainstorm again.

Hi François,

I just ran into this issue as well (ICON_Y_UP error), which persists after both a Git update, and a Brainstorm update (where it did download something and restarted Matlab). I was trying to run through the tutorial_introduction script and this happens at line 117: view_timeseries.

Looking on my hard drive, I noticed a new brainstorm3 folder was created next to where my Brainstorm was installed, a folder called "Brainstorm". Does the update force this folder name?

Thanks,
Marc

Does the update force this folder name?

Yes, Brainstorm gets only updated into brainstorm3...
I was not far from starting working on this this afternoon. I'll change this soon.

@Marc.Lalancette
It is now possible to update from another folder than brainstorm3:
https://github.com/brainstorm-tools/brainstorm3/commit/f7a682c2724401545fb8940e740db8f7a9940d32

2 Likes

Hi everyone!

I am using g.tec .hdf5 files as well and I have issues with the trigger codes. The number of triggers is correct but all of them have been assigned the same name, e.g., "HA-2020.05.01 (combined)". The correct trigger codes should be: HA-2020.05.01 (combined) followed by numbers like 21-22-31-32 etc.

I attach a .hdf5 file of an ECG recording in which there are 12 triggers with the same name: https://drive.google.com/drive/folders/1GzaJ7Jayh86hlRg07MZY6zVeEIg0u0gt?usp=sharing

Could you please help me with this issue?
Thank you!

Best regards,
Giorgia

The HDF5 file you shared contains only one type of event, which is labelled 'HA-2020.05.01 (combined)':
/AsynchronData/TypeID = [44 44 44 44 44 44 44 44 44 44 44 44]

If you know the extra information you expect is available in this HDF5 file, then we need your help to find it.
Open file in_fopen_gtec.m in the Matlab editor, put a breakpoint at line 83, run the import.
When the debugger stops, you can explore the variables and try to get other fields from the HDF5 files (other than /AsynchronData/TypeID) and adjust the code of the reader to get info you need.

If you find a solution, please post it here.

Hi Francois

Thank you for your reply!
I explored the file by means of the ghdf5read function and I noticed that the trigger codes are not in the field typeID (datastruct.AsynchronData.TypeID) but in the field Value (datastruct.AsynchronData.Value), and they are correct.

Here the code I used:

DataFile='C:\Users\user\Downloads\RecordSession_HCT_P2F2023.02.13_23.16.49.hdf5'
datastruct = ghdf5read(DataFile);
trigger_time= datastruct.AsynchronData.Time;
trigger_ID=datastruct.AsynchronData.TypeID;
trigger_value=datastruct.AsynchronData.Value

trigger_value =

1×12 int32 row vector

11    12    31    32    61    62   101   102    41    42    21    22