From 0194bf4743854c5a9d0dfa1320550606d307ada0 Mon Sep 17 00:00:00 2001 From: Christian Beckmann <c.beckmann@donders.ru.nl> Date: Mon, 2 Nov 2009 22:05:35 +0000 Subject: [PATCH] added debug messages to fsl_glm --- fsl_glm.cc | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/fsl_glm.cc b/fsl_glm.cc index 9a5b54e..f6801cc 100644 --- a/fsl_glm.cc +++ b/fsl_glm.cc @@ -155,12 +155,16 @@ int setup(){ // create mask if(fnmask.value()>""){ + if(debug.value()) + cout << "Reading mask file " << fnmask.value() << endl; read_volume(mask,fnmask.value()); if(!samesize(tmpdata[0],mask)){ cerr << "ERROR: Mask image does not match input image" << endl; return 1; }; }else{ + if(debug.value()) + cout << "Creating mask image" << endl; mask=tmpdata[0]*0.0+1.0; data=tmpdata.matrix(mask); Melodic::update_mask(mask,data); @@ -169,6 +173,8 @@ int setup(){ voxels = data.Ncols(); if(perfvn.value()){ + if(debug.value()) + cout << "Perform MELODIC variance normalisation (and demeaning)" << endl; data = remmean(data,1); vnscales = Melodic::varnorm(data); } @@ -177,28 +183,44 @@ int setup(){ data = read_ascii_matrix(fnin.value()); if(fsl_imageexists(fndesign.value())){//read design + if(debug.value()) + cout << "Reading design file "<< fndesign.value()<< endl; volume4D<float> tmpdata; read_volume4D(tmpdata,fndesign.value()); if(!samesize(tmpdata[0],mask)){ cerr << "ERROR: GLM design does not match input image in size" << endl; return 1; } + if(debug.value()) + cout << "Transposing data" << endl; design = tmpdata.matrix(mask).t(); data = data.t(); }else{ design = read_ascii_matrix(fndesign.value()); } - if(perf_demean.value()) + if(perf_demean.value()){ + if(debug.value()) + cout << "De-meaning the data matrix" << endl; data = remmean(data,1); - if(normdat.value()) + } + if(normdat.value()){ + if(debug.value()) + cout << "Normalising data matrix to unit std-deviation" << endl; data = SP(data,ones(data.Nrows(),1)*pow(stdev(data,1),-1)); + } meanR=mean(data,1); - if(perf_demean.value()) + if(perf_demean.value()){ + if(debug.value()) + cout << "De-meaning design matrix" << endl; design = remmean(design,1); - if(normdes.value()) + } + if(normdes.value()){ + if(debug.value()) + cout << "Normalising design matrix to unit std-deviation" << endl; design = SP(design,ones(design.Nrows(),1)*pow(stdev(design,1),-1)); + } if(fncontrasts.value()>""){//read contrast contrasts = read_ascii_matrix(fncontrasts.value()); if(!(contrasts.Ncols()==design.Ncols())){ @@ -268,6 +290,7 @@ int main(int argc,char *argv[]){ options.add(perfvn); options.add(perf_demean); options.add(help); + options.add(debug); options.add(outcope); options.add(outz); options.add(outt); -- GitLab