Skip to content
Snippets Groups Projects
Commit 04635c65 authored by Christian Beckmann's avatar Christian Beckmann
Browse files

added full data normalisation

parent 1792d54d
No related branches found
No related tags found
No related merge requests found
......@@ -22,8 +22,8 @@ using namespace std;
// The two strings below specify the title and example usage that is
// printed out as the help or usage message
string title=string("fsl_glm (Version 1.05)")+
string("\nCopyright(c) 2004-2008, University of Oxford (Christian F. Beckmann)\n")+
string title=string("fsl_glm (Version 1.1)")+
string("\nCopyright(c) 2004-2009, University of Oxford (Christian F. Beckmann)\n")+
string(" \n Simple GLM usign ordinary least-squares (OLS) regression on\n")+
string(" time courses and/or 3D/4D imges against time courses \n")+
string(" or 3D/4D images\n\n");
......@@ -54,6 +54,9 @@ using namespace std;
Option<bool> normdes(string("--des_norm"),FALSE,
string("switch on normalisation of the design matrix columns to unit std. deviation"),
false, no_argument);
Option<bool> normdat(string("--dat_norm"),FALSE,
string("switch on normalisation of the data time series to unit std. deviation"),
false, no_argument);
Option<bool> perfvn(string("--vn"),FALSE,
string(" perform MELODIC variance-normalisation on data"),
false, no_argument);
......@@ -161,14 +164,17 @@ int setup(){
data = tmpdata.matrix(mask);
voxels = data.Ncols();
if(perf_demean.value())
data = remmean(data,1);
if(perfvn.value())
vnscales = Melodic::varnorm(data);
}
else
data = read_ascii_matrix(fnin.value());
if(perf_demean.value())
data = remmean(data,1);
if(perfvn.value())
vnscales = Melodic::varnorm(data);
if(normdat.value())
data = SP(data,ones(data.Nrows(),1)*pow(stdev(data,1),-1));
if(fsl_imageexists(fndesign.value())){//read design
volume4D<float> tmpdata;
read_volume4D(tmpdata,fndesign.value());
......@@ -183,11 +189,7 @@ int setup(){
}
meanR=mean(data,1);
if(perf_demean.value()){
data = remmean(data,1);
design = remmean(design,1);
}
if(perf_demean.value()){
if(normdes.value())
design = SP(design,ones(design.Nrows(),1)*pow(stdev(design,1),-1));
......@@ -256,6 +258,7 @@ int main(int argc,char *argv[]){
options.add(fnftest);
options.add(dofset);
options.add(normdes);
options.add(normdat);
options.add(perfvn);
options.add(perf_demean);
options.add(help);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment