Hello everyone (and Kasper I assume),
I am trying to use the PHYSIO toolbox on some BIOPAC data I have recently collected with my fMRI study. The BIOPAC data is in .mat format, but I also have the .txt (tsv) version if needed.
What I want to do?
Model 'TSD110 - Pressure Pad/Respiration, DA100C' and 'Pulse, OXY100C' data. I have 30 participants with 4 runs each. 435 volumes per run.
What I did before running PhysIO?
I sliced the BIOPAC timeseries so to have only data and triggers relative to each of the 4 runs. I did this because before and in between each functional scan, the BIOPAC picked up the topup scan triggers and I had no idea how to configure PhysIO so that it ignored them, especially because all the files are slightly different from each other. Therefore, I split each BIOPAC .mat file into 4 separate .mat files, keeping all the variables unchanged apart from the data variable, which now contains only the 435 desired pulses per run. Please note that I kept a single (1) datapoint before the first pulse and a variable number of datapoints after the last pulse. These "padding" datapoints are a byproduct of the method I used for slicing. Perhaps I should remove the one datapoint preceding the first pulse so to align with relative_start_acquisition=0?
What I did in Physio?


What I get back from Physio?
`No scan trigger events provided
No cardiac R-peak (heartbeat) events provided
Warning: No cardiac time series provided
In tapas_physio_log (line 58)
In tapas_physio_plot_raw_physdata (line 72)
In tapas_physio_main_create_regressors (line 152)
In tapas_physio_cfg_matlabbatch>run_physio (line 1661)
In cfg_run_cm (line 29)
In cfg_util>local_runcj (line 1717)
In cfg_util (line 972)
In cfg_ui>MenuFileRun_Callback (line 710)
In gui_mainfcn (line 95)
In cfg_ui (line 53)
Warning: No respiratory time series provided
In tapas_physio_log (line 58)
In tapas_physio_plot_raw_physdata (line 79)
In tapas_physio_main_create_regressors (line 152)
In tapas_physio_cfg_matlabbatch>run_physio (line 1661)
In cfg_run_cm (line 29)
In cfg_util>local_runcj (line 1717)
In cfg_util (line 972)
In cfg_ui>MenuFileRun_Callback (line 710)
In gui_mainfcn (line 95)
In cfg_ui (line 53)
maxscan (incl. dummies) = 435
tmin (1st scan start (1st dummy))= 0.00 s
tmin (1st scan start (after dummies))= 0.00 s
tmax = 600.28 s
mean TR = 1.38 s
13-Feb-2025 10:24:11 - Failed 'TAPAS PhysIO Toolbox'
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To operate on each element of the matrix individually, use TIMES (.*) for elementwise multiplication.
In file "/Users/ettore/Documents/MATLAB/tapas-6.0.2/PhysIO/code/plot/tapas_physio_plot_cropped_phys_to_acqwindow.m", function "tapas_physio_plot_cropped_phys_to_acqwindow" at line 72.
In file "/Users/ettore/Documents/MATLAB/tapas-6.0.2/PhysIO/code/tapas_physio_main_create_regressors.m", function "tapas_physio_main_create_regressors" at line 243.
In file "/Users/ettore/Documents/MATLAB/tapas-6.0.2/PhysIO/code/tapas_physio_cfg_matlabbatch.m", function "run_physio" at line 1661.
The following modules did not run:
Failed: TAPAS PhysIO Toolbox`
Which version of PhysIO am I using?
'R2022a-v8.1.0'
Other points of confusion
PhysIO asks me for 3 log files, but I have only 1 .mat file which should contain all the info needed: cardiac, resp and trigger data. Should I provide the same data 3 times? Should I process the .mat file in a way to get 3 .log files?
Also is not clear how I should provide the first/last DICOM file (log_scan_timing)?
I hope the info I have provided is enough. Thanks in advance for your help.
Ettore
Hello everyone (and Kasper I assume),
I am trying to use the PHYSIO toolbox on some BIOPAC data I have recently collected with my fMRI study. The BIOPAC data is in .mat format, but I also have the .txt (tsv) version if needed.
What I want to do?
Model 'TSD110 - Pressure Pad/Respiration, DA100C' and 'Pulse, OXY100C' data. I have 30 participants with 4 runs each. 435 volumes per run.
What I did before running PhysIO?
I sliced the BIOPAC timeseries so to have only data and triggers relative to each of the 4 runs. I did this because before and in between each functional scan, the BIOPAC picked up the topup scan triggers and I had no idea how to configure PhysIO so that it ignored them, especially because all the files are slightly different from each other. Therefore, I split each BIOPAC .mat file into 4 separate .mat files, keeping all the variables unchanged apart from the data variable, which now contains only the 435 desired pulses per run. Please note that I kept a single (1) datapoint before the first pulse and a variable number of datapoints after the last pulse. These "padding" datapoints are a byproduct of the method I used for slicing. Perhaps I should remove the one datapoint preceding the first pulse so to align with relative_start_acquisition=0?
What I did in Physio?
What I get back from Physio?
`No scan trigger events provided
No cardiac R-peak (heartbeat) events provided
Warning: No cardiac time series provided
13-Feb-2025 10:24:11 - Failed 'TAPAS PhysIO Toolbox'
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To operate on each element of the matrix individually, use TIMES (.*) for elementwise multiplication.
In file "/Users/ettore/Documents/MATLAB/tapas-6.0.2/PhysIO/code/plot/tapas_physio_plot_cropped_phys_to_acqwindow.m", function "tapas_physio_plot_cropped_phys_to_acqwindow" at line 72.
In file "/Users/ettore/Documents/MATLAB/tapas-6.0.2/PhysIO/code/tapas_physio_main_create_regressors.m", function "tapas_physio_main_create_regressors" at line 243.
In file "/Users/ettore/Documents/MATLAB/tapas-6.0.2/PhysIO/code/tapas_physio_cfg_matlabbatch.m", function "run_physio" at line 1661.
The following modules did not run:
Failed: TAPAS PhysIO Toolbox`
Which version of PhysIO am I using?
'R2022a-v8.1.0'
Other points of confusion
PhysIO asks me for 3 log files, but I have only 1 .mat file which should contain all the info needed: cardiac, resp and trigger data. Should I provide the same data 3 times? Should I process the .mat file in a way to get 3 .log files?
Also is not clear how I should provide the first/last DICOM file (log_scan_timing)?
I hope the info I have provided is enough. Thanks in advance for your help.
Ettore