The physiology is sampled at 400Hz, and consists of Pulse (TTL), Resp, and SaO2 three columns of a text file.
From Reference Manual at 1200 Subjects Data Release:
MR Physiological Data
We also acquire cardiac and respiratory signals associated with each functional MR scan, using a standard Siemens pulse oximeter placed on a digit and a respiratory belt placed on the abdomen. These signals are linked to scan onset using a trigger pulse generated by the pulse sequence. They arewritten to text files and assigned unique file names that enablematching to the corresponding scan. These raw files were processed to create a file format expected by FSL's PNM. They are combined into a 3-column physio text file starting from the onset of the first trigger pulse through to the end of the last acquired frame. They are all sampled equally at 400 Hz, meaning there are roughly 288 samples per frame for functional images. In the aggregate file the first column is used for the trigger pulse information, the second for respiratory information, and the third column for pulse oximeter (i.e., cardiac) information.
MATLAB code to import Siemens physiology
function T = import_phys( fn ) opts = delimitedTextImportOptions("NumVariables", 3); % Specify range and delimiter opts.DataLines = [1, Inf]; opts.Delimiter = "\t"; % Specify column names and types opts.VariableNames = ["Pulse", "Resp", "SaO2"]; opts.VariableTypes = ["double", "double", "double"]; % Specify file level properties opts.ExtraColumnsRule = "ignore"; opts.EmptyLineRule = "read"; % Import the data T = readtable(fn, opts); if false figure %#ok<UNRCH> subplot(3,1,1),plot(T.Resp) subplot(3,1,2),plot(T.SaO2) subplot(3,1,3),plot(T.Pulse) end