Raw Data structure - josalggui/MaRGE GitHub Wiki

Sequences

A detailed explanation of the raw data stored for each sequence, including the respective variables and their initial values, can be found here.

RARE

  • acqTime: Acquisition time (ms)
  • addRdPoints: Initial rd points to avoid artifact at the begining of rd
  • angle: Rotation angle (º)
  • axesEnable: Axes enable. Use 0 for directions with matrix size 1, use 1 otherwise
  • axesOrientation: Axes[rd,ph,sl]
  • bw: Acquisition bandwidth (MHz)
  • dataFull: numpy array with dimensions [nScans, nSlices * partialFourierFraction, nPhases, nReadouts]. It contains acquired data.
  • dfov: Position of the gradient isocenter (mm), dFOV[x,y,z]
  • dummyData: Datas acquired along one echo train after first dummy pulse [number of batches, number of acquired points]
  • dummyPulses: Number of dummy pulses.
  • echo_shift: Echo time shift (us), Shift the gradient echo time respect to the spin echo time
  • echoSpacing: Echo spacing (ms)
  • etl: Echo train length
  • fileName: File name (.mat).
  • fov: Field of View [x,y,z] (cm)
  • freqCal: Calibrate frequency, 0 or 1 (useless, to be deleted)
  • freqOffset: Larmor frequency offset (kHz)
  • gradRiseTime: Gradient Rise Time (s)
  • gradSteps: Gradient steps
  • image3D: numpy array with the resulting image with dimensions [nSlices, nPhases, nReadouts]
  • inversionTime: Inversion time (ms)
  • kMax: Maximum value of aquired k coordinate [kMax_readout, kMax_phase, kMax_slice] (1/m)
  • kSpace3D: numpy array with the aquired k-space with dimensions [nSlices, nPhases, nReadouts]
  • larmorFreq: Larmor frequency (MHz)
  • noiseData: noise measurement obtained before the first acquisition, saved without decimation. The number of elements is nReadouts * nScans * nBatches * oversampling
  • nPoints: Number of points, nPoints[rd, ph, sl]
  • nScans: Number of scans
  • overData: All measurements except noise and dummpy pulses measurements prior to decimation. It contains the added readout points before and after the desired acquisition window (config/hw_config.addRdPoints)
  • parFourierFraction: Partial fourier fraction. Fraction of k planes aquired in slice direction
  • partialAcquisition: While doing partial acquisition, this is the number of extra slices acquired next to half nSlices / 2
  • phGradAmplitude: Máximum applied gradient along phase direction in T/m
  • phGradTime: Ph gradient time (ms)
  • phGradients: List of applied phase gradient along the sequence in T/m
  • preExTime: Preexitation time (ms)
  • randFactor: Random amplitude to add to the phase gradients (0e-3)
  • rdDephAmplitude: Amplitude of the dephasing gradient applied along readout direction in T/m
  • rdDephTime: Rd dephasing time (ms)
  • rdGradAmplitude: Amplitude of the readout gradient in T/m
  • rdGradTime: Rd gradient time (ms)
  • rdPreemphasis: Rd preemphasis
  • repetitionTime: Repetition time (ms)
  • resolution: Nominal pixel size along readout, phase and slice direction
  • rfExAmp: Amplitude of the excitation rf pulse in a.u. of red pitaya.
  • rfExFA: Excitation flip angle (º)
  • rfExTime: RF excitation time (us)
  • rfReAmp: Amplitude of the rf refocusing pulse in a.u. of red pitaya.
  • rfReFA: Refocusing flip angle (º)
  • rfReTime: RF refocusing time (us)
  • sampled numpy array with four columns for [k_readout, k_phase, k_slices, data] (1/m, 1/m, 1/m, mV).
  • sampledCartesian: numpy array with four columns resampled to cartesian grid.
  • scanTime: Approximate value of the total sequence scan time in seconds.
  • seqName: Sequence name. In this case: RARE which stands for Rapid Acquisition with Relaxation Enhancement.
  • shimming: Shimming values used along the sequence to homogenize magnetic field, val=[0.0, 0.0, 0.0]
  • slGradAmplitude: Máximum applied gradient along slice direction in T/m
  • slGradients: List of applied slice gradient along the sequence in T/m
  • sweepMode: Sweep mode, 0: sweep from -kmax to kmax. 1: sweep from 0 to kmax. 2: sweep from kmax to 0, val=1
  • sweepOrder: Array with the index representing the order of acquired phase lines.

MSE_PyPulseq

  • acqTime: Acquisition time (ms)
  • axesOrientation: Scaner axes used for [readout,phase,slice]. 0->x, 1->y, 2->z
  • Bandwidth_Hz: Image bandwidth in Hz
  • data: Data list after averaging
  • data_over: Data acquired directly from the red pitaya
  • data_full: Data after decimation of data_over
  • deadtime: Dead time before and after the rf pulse (us). Must be longer than the de-blanking time of the RFPA.
  • dfov: Field of View displacement in mm.
  • dummyPulses: Number of dummy pulses for batches.
  • echoSpacing Echo spacing in ms
  • etl: echo train length
  • fov: field of view in cm for [x-axis, y-axis and z-axis]
  • freqOffset: excitation and demodulation frequency offset respect to central frequency in kHz
  • fsp_r: multiplicative factor to crushers?
  • grad_rise_time: gradient rise time in us
  • iSpace: image space with dimension [n_echos, n_slices, n_phases, n_readouts]
  • kSpace: k-space with dimension [n_echos, n_slices, n_phases, n_readouts]
  • larmorFreq: excitation and demodulation central frequency in MHz
  • n_batches: number of executed batches
  • n_readouts: list of readouts per batch
  • nPoints: number of points for [readout, phase, slice]
  • nRD_post: number of readouts added before acquisition
  • nRD_pre: number of readouts added after acquisition
  • nScans: number of acquired scans
  • oversamplingFactor: oversampling applied to the acquisition to account for CIC filter issues
  • preemphasis: multiplicative factor applied to dephasing readout gradient
  • rdGradTime: readout gradient time
  • resolution: resolution for [readout, phase and slice]
  • rfExFA: rf excitation flip angle in degrees
  • rfExTime rf excitation time in us
  • rfReFA rf refocusing flip angle in degrees
  • rfReTime: rf refocusing flip angle in us
  • Sampling_Period_s: sampling period in s
  • Sampling_Time_s: sampling time in s
  • Scan_time_s: total scan time in s
  • shimming: shimming used in the scanner
  • unclock_orientation: useless

LARMOR

This sequence runs a single spin echo to find larmor.

  • acqTime: Acquisition time (s)
  • bw: Bandwidth (Hz), nPoints / acqTime
  • bw_true: bw * 1e6
  • data: measured voltages in mV after averaging the scans.
  • data_full: measured voltages in mV before averaging the scans.
  • dataOver: oversampled measured voltages in mV.
  • dF: Frequency resolution (Hz)
  • echoTime: 2 * acqTime
  • fileName: File name (.mat).
  • larmorFreq: Larmor frequency (Hz)
  • name_string: Sequence name. In this case: Noise
  • nPoints: Number of points, nPoints[rd, ph, sl]
  • nScans: Number of scans
  • repetitionTime: Repetition time (s)
  • rfExFA: Excitation flip angle (º)
  • rfExTime: RF excitation time (s)
  • rfReFA: Refocusing flip angle (º)
  • rfReTime: RF refocusing time (s)
  • sampledPoint: signal amplitude in mV at the middle of the acquisition window.
  • samplingPeriod: 1 / bw
  • seqName: Sequence name. In this case: Larmor
  • shimming: Shimming
  • signalVStime: [tVector, signal]
  • spectrum: [fVector, spectrum]

SHIMMING

This sequence sweep the shimming in the three axis.

  • acqTime: Acquisition time (s)
  • amplitudeVSshimming: 3xn matrix containing the amplitude of the spectrum for each shimming value of the three channels.
  • bw: acquisition bandwidth (Hz), nPoints/acqTime
  • data: acquired voltages in mV
  • dShimming: Shiming step
  • dummyPulses: Dummy pulses
  • echoTime: Echo time (s)
  • fileName: File name (.mat)
  • freqOffset: Larmor frequency offset (Hz)
  • name_string: Sequence name. In this case: Noise
  • nPoints: Number of points, val=60
  • nShimming: n Shimming steps, val=10
  • repetitionTime: Repetition time (s)
  • rfExFA: Excitation flip angle (º)'
  • rfExTime: RF excitation time (s)
  • rfReFA: Refocusing flip angle (º)'
  • rfReTime: RF refocusing time (s)'
  • samplingPeriod: 1 / bw
  • seqName: Sequence name. In this case: Shimming
  • shimming0: center values for shimming sweep
  • sxVector: shimming values used for x-axis
  • syVector: shimming values used for y-axis
  • szVector: shimming values used for z-axis

NOISE

  • bw: Acquisition bandwidth (Hz)
  • data: data in mV
  • dataOver: Oversampled data in mV
  • fileName: File name (.mat)
  • larmorFreq: RF frequency determined by the scanner hardware configuration file.
  • freqOffset: RF frequency offset (Hz)
  • name_string: String with acquisition date and time
  • nPoints: Number of points
  • rxChannel: Rx channel used in the acquisition
  • sampledPoint: noise rms amplitude
  • seqName: Sequence name. In this case: Noise

RABI FLOPS

Rabi Flops with different methods. Set RF refocusing amplitude to 0.0 to get single excitation behavior Set RF refocusing time to 0.0 to auto set the RF refocusing time:

  • If Rephasing method = 0, refocusing amplitude is twice the excitation amplitude

  • If Rephasing method = 1, refocusing time is twice the excitation time

  • acqTime: Acquisition time (s)

  • bw: nPoints / acqTime * hw.oversamplingFactor (MHz), where is defined in hw_config as oversamplingFactor = 6

  • cal_method: Calibration method, val='FID'. It can be either FID or ECHO.

  • dataEcho: measured data along the echo in mV.

  • dataEchoAvg: average of the measured data along the echo in mV.

  • dataFID: measured data after the excitation in mV.

  • dataFIDAvg: average of the measured data after the excitation in mV.

  • dataFull: all acquired data in mV.

  • dataOversampled: oversampled acquired data in mV.

  • deadTime: Dead time (s)

  • dummyPulses: Dummy pulses

  • echoTime: Echo time (s)

  • fileName: File name (.mat)

  • freqOffset: Larmor frequency offset (Hz)

  • method: Rephasing method: 0->Amp, 1->Time

  • nPoints: Number of points

  • nScans: Number of scans

  • nSteps: Number of steps

  • name_string: Sequence name. In this case: Noise

  • piHalfTime: rf excitation time to pi/2 flip angle

  • rabiEcho: rabi from echo amplitudes

  • rabiFID: rabi from fid amplitudes

  • repetitionTime: Repetition time (s)

  • rfExAmp: RF excitation amplitude (a.u.)

  • rfExTime0: RF pulse time, Start (s)

  • rfExTime1: RF pulse time, End (s)

  • rfReAmp: RF refocusing amplitude (a.u.)

  • rfReTime: RF refocusing time (s)

  • rfRefPhase: Refocusing phase (degrees)

  • rfTime: list of time durations for rf pulses

  • samplingPeriod: 1 / bw

  • seqName: Sequence name. In this case: RabiFlops

  • shimming: Shimming