Currently coreMRI is based on .mat files (MATLAB files). The .mat file of the pulse sequence should include the following variables:
dt: is the temporal step of the MR simulation experiment (in sec)
N_pulse: it holds the number of the total timesteps of the pulse sequence
pulse_sequence: it is an [8xN_pulse] matrix. The first row (pulse_sequence(1,:)) holds the time sequence of the magnitude of the RF events (B1), the second row (pulse_sequence(2,:)) holds the time sequence of the phase of the RF events (RFP), the third row (pulse_sequence(3,:)) holds the time sequence of the frequency of the RF events (RFfreq), the fourth row (pulse_sequence(4,:)) holds the time sequence of the gradients on the x axis, the fifth row (pulse_sequence(5,:)) holds the time sequence of the gradients on the y axis and the sixth row (pulse_sequence(6,:)) holds the time sequence of the gradients on the z axis. The last two rows are identical and each one is an array with increasing number from 1 to N_pulse (pulse_sequence(7,:) = 1:N_pulse and pulse_sequence(8,:) = 1:N_pulse). The last two rows are being used by an algorithm that allows for compression of the pulse sequence in order to accelerate the MR simulations.
B1 is given in T (Tesla), RFP is given in radians, RFfreq is given in Hz and gradients are given in T/m (Tesla per meter).
soft_crushers: it is an array of 0s or 1s and of size [1xN_pulse]. This array is pointing out when a nullification of the transverse components of the magnetization should be induced. It is being used to avoid the introduction of strong gradients in the pulse sequence.
isInKspace: it is an array of non-zero elements with incrementing values for the time points when the receiver is ON. When the receiver is OFF, the corresponding time-points are 0. For example, given that thedt=0.000001 sec (1μsec), if the receiver turns ON from the timepoint 4μsec till the timepoint 6μsec, then it turns OFF from the timepoint 7μsec till the timepoint 8μsec and then turns ON again from the timepoint 9μsec till the timepoint 15μsec the isInKspace array will be [0,0,0,1,2,3,0,0,4,5,6,7,8,9,10]
info: it is a structure array that holds information for the pulse sequence and for the reconstruction.