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

more modifications

parent 04635c65
No related branches found
No related tags found
No related merge requests found
...@@ -26,7 +26,7 @@ using namespace std; ...@@ -26,7 +26,7 @@ using namespace std;
string("\nCopyright(c) 2004-2009, University of Oxford (Christian F. Beckmann)\n")+ 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(" \n Simple GLM usign ordinary least-squares (OLS) regression on\n")+
string(" time courses and/or 3D/4D imges against time courses \n")+ string(" time courses and/or 3D/4D imges against time courses \n")+
string(" or 3D/4D images\n\n"); string(" or 3D/4D images");
string examples="fsl_glm -i <input> -d <design> -o <output> [options]"; string examples="fsl_glm -i <input> -d <design> -o <output> [options]";
//Command line Options { //Command line Options {
...@@ -35,10 +35,10 @@ using namespace std; ...@@ -35,10 +35,10 @@ using namespace std;
true, requires_argument); true, requires_argument);
Option<string> fnout(string("-o,--out"), string(""), Option<string> fnout(string("-o,--out"), string(""),
string("output file name for GLM parameter estimates (GLM betas)"), string("output file name for GLM parameter estimates (GLM betas)"),
true, requires_argument); false, requires_argument);
Option<string> fndesign(string("-d,--design"), string(""), Option<string> fndesign(string("-d,--design"), string(""),
string("file name of the GLM design matrix (time courses or spatial maps)"), string("file name of the GLM design matrix (time courses or spatial maps)"),
true, requires_argument); false, requires_argument);
Option<string> fnmask(string("-m,--mask"), string(""), Option<string> fnmask(string("-m,--mask"), string(""),
string("mask image file name if input is image"), string("mask image file name if input is image"),
false, requires_argument); false, requires_argument);
...@@ -66,6 +66,9 @@ using namespace std; ...@@ -66,6 +66,9 @@ using namespace std;
Option<int> help(string("-h,--help"), 0, Option<int> help(string("-h,--help"), 0,
string("display this help text"), string("display this help text"),
false,no_argument); false,no_argument);
Option<bool> debug(string("--debug"), FALSE,
string("display debug information"),
false,no_argument,false);
// Output options // Output options
Option<string> outcope(string("--out_cope"),string(""), Option<string> outcope(string("--out_cope"),string(""),
string("output file name for COPEs (either as text file or image)"), string("output file name for COPEs (either as text file or image)"),
...@@ -103,7 +106,7 @@ using namespace std; ...@@ -103,7 +106,7 @@ using namespace std;
/* /*
} }
*/ */
//Globals { //Globals
Melodic::basicGLM glm; Melodic::basicGLM glm;
int voxels = 0; int voxels = 0;
Matrix data; Matrix data;
...@@ -112,9 +115,8 @@ using namespace std; ...@@ -112,9 +115,8 @@ using namespace std;
Matrix fcontrasts; Matrix fcontrasts;
Matrix meanR; Matrix meanR;
RowVector vnscales; RowVector vnscales;
volume<float> mask; /* volume<float> mask;
}
*/
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// Local functions // Local functions
...@@ -159,22 +161,21 @@ int setup(){ ...@@ -159,22 +161,21 @@ int setup(){
return 1; return 1;
}; };
}else{ }else{
mask = tmpdata[0]*0.0+1.0; mask=tmpdata[0]*0.0+1.0;
} data=tmpdata.matrix(mask);
Melodic::update_mask(mask,data);
}
data = tmpdata.matrix(mask); data = tmpdata.matrix(mask);
voxels = data.Ncols(); voxels = data.Ncols();
if(perfvn.value()){
data = remmean(data,1);
vnscales = Melodic::varnorm(data);
}
} }
else else
data = read_ascii_matrix(fnin.value()); 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 if(fsl_imageexists(fndesign.value())){//read design
volume4D<float> tmpdata; volume4D<float> tmpdata;
read_volume4D(tmpdata,fndesign.value()); read_volume4D(tmpdata,fndesign.value());
...@@ -188,11 +189,16 @@ int setup(){ ...@@ -188,11 +189,16 @@ int setup(){
design = read_ascii_matrix(fndesign.value()); design = read_ascii_matrix(fndesign.value());
} }
if(perf_demean.value())
data = remmean(data,1);
if(normdat.value())
data = SP(data,ones(data.Nrows(),1)*pow(stdev(data,1),-1));
meanR=mean(data,1); meanR=mean(data,1);
if(perf_demean.value()){ if(perf_demean.value())
design = remmean(design,1);
if(normdes.value()) if(normdes.value())
design = SP(design,ones(design.Nrows(),1)*pow(stdev(design,1),-1)); design = SP(design,ones(design.Nrows(),1)*pow(stdev(design,1),-1));
if(fncontrasts.value()>""){//read contrast if(fncontrasts.value()>""){//read contrast
contrasts = read_ascii_matrix(fncontrasts.value()); contrasts = read_ascii_matrix(fncontrasts.value());
if(!(contrasts.Ncols()==design.Ncols())){ if(!(contrasts.Ncols()==design.Ncols())){
......
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