From e9f233fe533e69c578fd8c4c93eee578998cb430 Mon Sep 17 00:00:00 2001
From: Stamatios Sotiropoulos <stam@fmrib.ox.ac.uk>
Date: Wed, 1 Dec 2010 11:41:40 +0000
Subject: [PATCH] added f0 and rician noise options

---
 xfibresoptions.h | 110 +++++++++++++++++++++++++----------------------
 1 file changed, 59 insertions(+), 51 deletions(-)

diff --git a/xfibresoptions.h b/xfibresoptions.h
index 5ae705d..9a1e71e 100644
--- a/xfibresoptions.h
+++ b/xfibresoptions.h
@@ -1,8 +1,8 @@
-/*  BpmOptions.h
+/*  xfibresOptions.h
 
-    Mark Woolrich, FMRIB Image Analysis Group
+    Saad Jbabdi, Tim Behrens, Stam Sotiropoulos, FMRIB Image Analysis Group
 
-    Copyright (C) 1999-2000 University of Oxford  */
+    Copyright (C) 1999-2010 University of Oxford  */
 
 /*  CCOPYRIGHT  */
 
@@ -48,6 +48,10 @@ class xfibresOptions {
   Option<bool> all_ard;
   Option<bool> localinit;
   Option<bool> nonlin;
+  Option<bool> rician;
+  Option<bool> f0;
+  Option<bool> ardf0;
+
   void parse_command_line(int argc, char** argv,  Log& logger);
   
  private:
@@ -69,67 +73,68 @@ class xfibresOptions {
  }
 
  inline xfibresOptions::xfibresOptions() :
-  verbose(string("-V,--verbose"), false, 
-	  string("switch on diagnostic messages"), 
-	  false, no_argument),
-  help(string("-h,--help"), false,
+   verbose(string("-V,--verbose"), false, 
+	   string("switch on diagnostic messages"), 
+	   false, no_argument),
+   help(string("-h,--help"), false,
 	string("display this message"),
 	false, no_argument),
-  logdir(string("--ld,--logdir"), string("logdir"),
-	 string("log directory (default is logdir)"),
-	 false, requires_argument),
-  forcedir(string("--forcedir"),false,string("Use the actual directory name given - i.e. don't add + to make a new directory"),false,no_argument),
-  datafile(string("-k,--data,--datafile"), string("data"),
-	      string("data file"),
-	      true, requires_argument),  
-  maskfile(string("-m,--mask, --maskfile"), string("nodif_brain_mask"),
+   logdir(string("--ld,--logdir"), string("logdir"),
+	  string("log directory (default is logdir)"),
+	  false, requires_argument),
+   forcedir(string("--forcedir"),false,string("Use the actual directory name given - i.e. don't add + to make a new directory"),false,no_argument),
+   datafile(string("-k,--data,--datafile"), string("data"),
+	    string("data file"),
+	    true, requires_argument),  
+   maskfile(string("-m,--mask, --maskfile"), string("nodif_brain_mask"),
 	    string("mask file"),
 	    true, requires_argument),
-  bvecsfile(string("-r,--bvecs"), string("bvecs"),
+   bvecsfile(string("-r,--bvecs"), string("bvecs"),
 	     string("b vectors file"),
 	     true, requires_argument),  
-  bvalsfile(string("-b,--bvals"), string("bvals"),
+   bvalsfile(string("-b,--bvals"), string("bvals"),
 	     string("b values file"),
 	     true, requires_argument), 
-  nfibres(string("--nf,--nfibres"),1,
-	 string("Maximum nukmber of fibres to fit in each voxel (default 1)"),
-	 false,requires_argument),
-  modelnum(string("--model"),1,
-	 string("Which model to use. 1=mono-exponential (default and required for single shell). 2=continous exponential (for multi-shell experiments)"),
-	 false,requires_argument),
-  fudge(string("--fudge"),1,
+   nfibres(string("--nf,--nfibres"),1,
+	   string("Maximum number of fibres to fit in each voxel (default 1)"),
+	   false,requires_argument),
+   modelnum(string("--model"),1,
+	    string("Which model to use. 1=mono-exponential (default and required for single shell). 2=continous exponential (for multi-shell experiments)"),
+	    false,requires_argument),
+   fudge(string("--fudge"),1,
 	 string("ARD fudge factor"),
 	 false,requires_argument),
-  njumps(string("--nj,--njumps"),5000,
-	 string("Num of jumps to be made by MCMC (default is 5000)"),
+   njumps(string("--nj,--njumps"),5000,
+	  string("Num of jumps to be made by MCMC (default is 5000)"),
+	  false,requires_argument),
+   nburn(string("--bi,--burnin"),0,
+	 string("Total num of jumps at start of MCMC to be discarded (default is 0)"),
 	 false,requires_argument),
-  nburn(string("--bi,--burnin"),0,
-	string("Total num of jumps at start of MCMC to be discarded (default is 0)"),
-	false,requires_argument),
-  nburn_noard(string("--bn,--burnin_noard"),0,
-	string("num of burnin jumps before the ard is imposed (default is 0)"),
+   nburn_noard(string("--bn,--burnin_noard"),0,
+	       string("num of burnin jumps before the ard is imposed (default is 0)"),
+	       false,requires_argument),
+   sampleevery(string("--se,--sampleevery"),1,
+	       string("Num of jumps for each sample (MCMC) (default is 1)"),
+	       false,requires_argument),
+   updateproposalevery(string("--upe,--updateproposalevery"),40,
+		       string("Num of jumps for each update to the proposal density std (MCMC) (default is 40)"),
+		       false,requires_argument),
+   seed(string("--seed"),8665904,string("seed for pseudo random number generator"),
 	false,requires_argument),
-  sampleevery(string("--se,--sampleevery"),1,
-	string("Num of jumps for each sample (MCMC) (default is 1)"),
-	false,requires_argument),
-  updateproposalevery(string("--upe,--updateproposalevery"),40,
-	string("Num of jumps for each update to the proposal density std (MCMC) (default is 40)"),
-	false,requires_argument),
-  seed(string("--seed"),8665904,string("seed for pseudo random number generator"),
-       false,requires_argument),
-  no_ard(string("--noard"),false,string("Turn ARD off on all fibres"),
-       false,no_argument),
-  all_ard(string("--allard"),false,string("Turn ARD on on all fibres"),
-       false,no_argument),
-  localinit(string("--nospat"),false,string("Initialise with tensor, not spatially"),
-       false,no_argument),
-  nonlin(string("--nonlinear"),false,string("Initialise with nonlinear fitting"),
-       false,no_argument),
+   no_ard(string("--noard"),false,string("Turn ARD off on all fibres"),
+	  false,no_argument),
+   all_ard(string("--allard"),false,string("Turn ARD on on all fibres"),
+	   false,no_argument),
+   localinit(string("--nospat"),false,string("Initialise with tensor, not spatially"),
+	     false,no_argument),
+   nonlin(string("--nonlinear"),false,string("Initialise with nonlinear fitting"),
+	  false,no_argument),
+   rician(string("--rician"),false,string("Use Rician noise modelling"),false,no_argument),
+   f0(string("--f0"),false,string("Add to the model an unattenuated signal compartment"),false,no_argument),
+   ardf0(string("--ardf0"),false,string("Use ard on f0"),false,no_argument),
    options("xfibres v1.11", "xfibres --help (for list of options)\n")
-   {
-     
-    
-     try {
+     {
+       try {
        options.add(verbose);
        options.add(help);
        options.add(logdir);
@@ -151,6 +156,9 @@ class xfibresOptions {
        options.add(all_ard);
        options.add(localinit);
        options.add(nonlin);
+       options.add(rician);
+       options.add(f0);
+       options.add(ardf0);
      }
      catch(X_OptionError& e) {
        options.usage();
-- 
GitLab