general-discussion > fmri-preprocessing regression-motion parameters
Showing 1-2 of 2 posts
Oct 8, 2015 06:10 PM | Kangjoo Lee
fmri-preprocessing regression-motion parameters
Hi Pierre,
As I'm not an expert, I would like to ask for a help to understand better about NIAK firm preprocessing.
This is the main part that conducts pca of motion parameters in niak_brick_regress_confounds.m:
========================================================
%% Motion parameters
if opt.flag_verbose
fprintf('Reading (and reducing) the motion parameters ...\n')
end
transf = load(files_in.motion_param);
[rot,tsl] = niak_transf2param(transf.transf);
rot = rot(:,~mask_scrubbing);
tsl = tsl(:,~mask_scrubbing);
rot = niak_normalize_tseries(rot');
tsl = niak_normalize_tseries(tsl');
motion_param = [rot,tsl,rot.^2,tsl.^2];
if opt.flag_pca_motion
[eig_val,motion_param] = niak_pca(motion_param',opt.pct_var_explained);
end
========================================================
I want to better understand about those parameters,
Are these the Volterra expansion involving parameters at time t-1 as well and their square?
Could you please briefly explain me what they are?
Thank you in advance.
Kangjoo
As I'm not an expert, I would like to ask for a help to understand better about NIAK firm preprocessing.
This is the main part that conducts pca of motion parameters in niak_brick_regress_confounds.m:
========================================================
%% Motion parameters
if opt.flag_verbose
fprintf('Reading (and reducing) the motion parameters ...\n')
end
transf = load(files_in.motion_param);
[rot,tsl] = niak_transf2param(transf.transf);
rot = rot(:,~mask_scrubbing);
tsl = tsl(:,~mask_scrubbing);
rot = niak_normalize_tseries(rot');
tsl = niak_normalize_tseries(tsl');
motion_param = [rot,tsl,rot.^2,tsl.^2];
if opt.flag_pca_motion
[eig_val,motion_param] = niak_pca(motion_param',opt.pct_var_explained);
end
========================================================
I want to better understand about those parameters,
Are these the Volterra expansion involving parameters at time t-1 as well and their square?
Could you please briefly explain me what they are?
Thank you in advance.
Kangjoo
Oct 15, 2015 02:10 PM | Pierre Bellec
RE: fmri-preprocessing regression-motion parameters
Hi Kangjoo,
No this is not the Friston Voltera expansion of motion parameters with 24 parameters. Let R_t be the (demeaned) six rigid body motion parameters (3 translations, three rotations). The Friston model is
[R_t R_t.^2 R_(t-1) R_(t-1).^2]
NIAK only uses
[R_t R_t.^2]
I indeed think this may not be standard. Looks like a more common variant is
[R_t R_(t-1)]
Note that NIAK actually retains 95% energy of [R_t R_t.^2] in a PCA, not the full 12 components. Note also that motion regression is by default used in combination to scrubbing, and regression of motion parameters has only little impact on motion artefacts. See (Power et al 2014) http://www.ncbi.nlm.nih.gov/pmc/articles...
I hope this clarifies the model. If you are interested in exploring more variants, feel free to patch niak_brick_regress_confounds, I will include your changes. I have posted an issue on that, and may get to eventually do it myself, although it's pretty low priority. https://github.com/SIMEXP/niak/issues/93
Best,
Pierre
No this is not the Friston Voltera expansion of motion parameters with 24 parameters. Let R_t be the (demeaned) six rigid body motion parameters (3 translations, three rotations). The Friston model is
[R_t R_t.^2 R_(t-1) R_(t-1).^2]
NIAK only uses
[R_t R_t.^2]
I indeed think this may not be standard. Looks like a more common variant is
[R_t R_(t-1)]
Note that NIAK actually retains 95% energy of [R_t R_t.^2] in a PCA, not the full 12 components. Note also that motion regression is by default used in combination to scrubbing, and regression of motion parameters has only little impact on motion artefacts. See (Power et al 2014) http://www.ncbi.nlm.nih.gov/pmc/articles...
I hope this clarifies the model. If you are interested in exploring more variants, feel free to patch niak_brick_regress_confounds, I will include your changes. I have posted an issue on that, and may get to eventually do it myself, although it's pretty low priority. https://github.com/SIMEXP/niak/issues/93
Best,
Pierre