From 86adc5b11411166b7c69ce3f6f23b086983b6f91 Mon Sep 17 00:00:00 2001
From: Matthew Webster <mwebster@fmrib.ox.ac.uk>
Date: Tue, 23 Feb 2010 16:26:43 +0000
Subject: [PATCH] force non-time based seed

---
 meldata.cc   | 3 +++
 meloptions.h | 5 +++++
 2 files changed, 8 insertions(+)

diff --git a/meldata.cc b/meldata.cc
index 27956f6..c6f0911 100644
--- a/meldata.cc
+++ b/meldata.cc
@@ -382,6 +382,9 @@ namespace Melodic{
 
     //seed the random number generator
     double tmptime = time(NULL);
+    if ( opts.seed.value() != -1 ) {
+      tmptime = opts.seed.value(); 
+    }
     srand((unsigned int) tmptime);
 
 	if(opts.paradigmfname.value().length()>0){
diff --git a/meloptions.h b/meloptions.h
index 5ced18d..60d7201 100644
--- a/meloptions.h
+++ b/meloptions.h
@@ -116,6 +116,7 @@ class MelodicOptions {
 
   	Option<int>   dummy;
   	Option<int>   repeats;
+	Option<int>   seed;
   	Option<float> nlconst1;
   	Option<float> nlconst2;
   	Option<float> smooth_probmap;
@@ -351,6 +352,9 @@ class MelodicOptions {
    repeats(string("--repeats"), 1,
 	   string("number of repeats (multistart)"), 
 	   false, requires_argument, false),
+   seed(string("--seed"), -1,
+	   string("integer seed for melodic"), 
+	   false, requires_argument, false),
    nlconst1(string("--nl1,--nlconst1"),  1.0,
 	   string("nonlinear constant 1"), 
 	   false, requires_argument, false),
@@ -449,6 +453,7 @@ class MelodicOptions {
 	    options.add(axials_str); 
 	    options.add(dummy);
 	    options.add(repeats);
+	    options.add(seed);
 	    options.add(nlconst1);
 	    options.add(nlconst2);
 	    options.add(smooth_probmap);
-- 
GitLab