modalities.fmri.hemodynamic_models

Module: modalities.fmri.hemodynamic_models

This module is for canonical hrf specification. Here we provide for SPM, Glover hrfs and finite timpulse response (FIR) models. This module closely follows SPM implementation

Author: Bertrand Thirion, 2011–2013

Functions

nipy.modalities.fmri.hemodynamic_models.compute_regressor(exp_condition, hrf_model, frametimes, con_id='cond', oversampling=16, fir_delays=None, min_onset=-24)

This is the main function to convolve regressors with hrf model

Parameters:
exp_condition: descriptor of an experimental condition
hrf_model: string, the hrf model to be used. Can be chosen among:

‘spm’, ‘spm_time’, ‘spm_time_dispersion’, ‘canonical’, ‘canonical_derivative’, ‘fir’

frametimes: array of shape (n):the sought
con_id: string, optional identifier of the condition
oversampling: int, optional, oversampling factor to perform the convolution
fir_delays: array-like of int, onsets corresponding to the fir basis
min_onset: float, optional

minimal onset relative to frametimes[0] (in seconds) events that start before frametimes[0] + min_onset are not considered

Returns:
creg: array of shape(n_scans, n_reg): computed regressors sampled

at frametimes

reg_names: list of strings, corresponding regressor names

Notes

The different hemodynamic models can be understood as follows: ‘spm’: this is the hrf model used in spm ‘spm_time’: this is the spm model plus its time derivative (2 regressors) ‘spm_time_dispersion’: idem, plus dispersion derivative (3 regressors) ‘canonical’: this one corresponds to the Glover hrf ‘canonical_derivative’: the Glover hrf + time derivative (2 regressors) ‘fir’: finite impulse response basis, a set of delayed dirac models

with arbitrary length. This one currently assumes regularly spaced frametimes (i.e. fixed time of repetition).

It is expected that spm standard and Glover model would not yield large differences in most cases.

nipy.modalities.fmri.hemodynamic_models.glover_hrf(tr, oversampling=16, time_length=32.0, onset=0.0)

Implementation of the Glover hrf model

Parameters:
tr: float, scan repeat time, in seconds
oversampling: int, temporal oversampling factor, optional
time_length: float, hrf kernel length, in seconds
onset: float, onset of the response
Returns:
hrf: array of shape(length / tr * oversampling, float),

hrf sampling on the oversampled time grid

nipy.modalities.fmri.hemodynamic_models.glover_time_derivative(tr, oversampling=16, time_length=32.0, onset=0.0)

Implementation of the flover time derivative hrf (dhrf) model

Parameters:
tr: float, scan repeat time, in seconds
oversampling: int, temporal oversampling factor, optional
time_length: float, hrf kernel length, in seconds
onset: float, onset of the response
Returns:
dhrf: array of shape(length / tr, float),

dhrf sampling on the provided grid

nipy.modalities.fmri.hemodynamic_models.spm_dispersion_derivative(tr, oversampling=16, time_length=32.0, onset=0.0)

Implementation of the SPM dispersion derivative hrf model

Parameters:
tr: float, scan repeat time, in seconds
oversampling: int, temporal oversampling factor, optional
time_length: float, hrf kernel length, in seconds
onset: float, onset of the response
Returns:
dhrf: array of shape(length / tr * oversampling, float),

dhrf sampling on the oversampled time grid

nipy.modalities.fmri.hemodynamic_models.spm_hrf(tr, oversampling=16, time_length=32.0, onset=0.0)

Implementation of the SPM hrf model

Parameters:
tr: float, scan repeat time, in seconds
oversampling: int, temporal oversampling factor, optional
time_length: float, hrf kernel length, in seconds
onset: float, onset of the response
Returns:
hrf: array of shape(length / tr * oversampling, float),

hrf sampling on the oversampled time grid

nipy.modalities.fmri.hemodynamic_models.spm_time_derivative(tr, oversampling=16, time_length=32.0, onset=0.0)

Implementation of the SPM time derivative hrf (dhrf) model

Parameters:
tr: float, scan repeat time, in seconds
oversampling: int, temporal oversampling factor, optional
time_length: float, hrf kernel length, in seconds
onset: float, onset of the response
Returns:
dhrf: array of shape(length / tr, float),

dhrf sampling on the provided grid