diff --git a/fsl_glm.cc b/fsl_glm.cc index eb1537d39c59b3334dd6f43f525583fa538ab296..0d78bab00a318cb12e82d176eeb3673b69bb1edb 100644 --- a/fsl_glm.cc +++ b/fsl_glm.cc @@ -57,6 +57,9 @@ using namespace std; Option<bool> perfvn(string("--vn"),FALSE, string(" perform MELODIC variance-normalisation on data"), false, no_argument); + Option<bool> perf_demean(string("--demean"),FALSE, + string(" switch on de-meaning of design and data"), + false, no_argument); Option<int> help(string("-h,--help"), 0, string("display this help text"), false,no_argument); @@ -159,7 +162,8 @@ int setup(){ data = tmpdata.matrix(mask); voxels = data.Ncols(); - data = remmean(data,1); + if(perf_demean.value()) + data = remmean(data,1); if(perfvn.value()) vnscales = Melodic::varnorm(data); } @@ -180,8 +184,10 @@ int setup(){ } meanR=mean(data,1); - data = remmean(data,1); - design = remmean(design,1); + if(perf_demean.value()){ + data = remmean(data,1); + design = remmean(design,1); + } if(normdes.value()) design = SP(design,ones(design.Nrows(),1)*pow(stdev(design,1),-1)); @@ -252,6 +258,7 @@ int main(int argc,char *argv[]){ options.add(dofset); options.add(normdes); options.add(perfvn); + options.add(perf_demean); options.add(help); options.add(outcope); options.add(outz);