From 0bd007f3713af13ee2077cf6bb8d70b48c5f51f7 Mon Sep 17 00:00:00 2001
From: Mark Jenkinson <mark@fmrib.ox.ac.uk>
Date: Fri, 21 Feb 2003 16:48:48 +0000
Subject: [PATCH] Initial revision

---
 api/Log_h.html                                | 184 ++++++++
 api/Utilities.html                            | 187 ++++++++
 api/Utilities__BaseOption.html                | 116 +++++
 api/Utilities__BaseOption__Option.html        |  83 ++++
 api/Utilities__BaseOption__OptionParser.html  | 164 +++++++
 api/Utilities__BaseOption__X_AlreadySet.html  |  45 ++
 ...lities__BaseOption__X_InvalidArgument.html |  45 ++
 ...lities__BaseOption__X_MissingArgument.html |  48 +++
 api/Utilities__BaseOption__X_OptionError.html |  46 ++
 ...tilities__BaseOption__X_UnknownOption.html |  46 ++
 api/Utilities__Log.html                       |  73 ++++
 api/Utilities__Option.html                    |  84 ++++
 api/Utilities__OptionParser.html              | 164 +++++++
 api/Utilities__Time_Tracer.html               |  62 +++
 api/Utilities__TimingFunction.html            |  62 +++
 ...lities__TimingFunction__comparer_name.html |  37 ++
 ...__TimingFunction__comparer_time_taken.html |  37 ++
 api/Utilities__Tracer_Plus.html               |  41 ++
 api/Utilities__X_AlreadySet.html              |  45 ++
 api/Utilities__X_InvalidArgument.html         |  45 ++
 api/Utilities__X_MissingArgument.html         |  48 +++
 api/Utilities__X_OptionError.html             |  46 ++
 api/Utilities__X_UnknownOption.html           |  46 ++
 api/all-globals.html                          |  32 ++
 api/full-list-Utilities.html                  |  35 ++
 api/full-list-Utilities__BaseOption.html      |  43 ++
 ...ll-list-Utilities__BaseOption__Option.html |  37 ++
 ...t-Utilities__BaseOption__OptionParser.html |  40 ++
 ...t-Utilities__BaseOption__X_AlreadySet.html |  35 ++
 ...lities__BaseOption__X_InvalidArgument.html |  35 ++
 ...lities__BaseOption__X_MissingArgument.html |  35 ++
 ...-Utilities__BaseOption__X_OptionError.html |  34 ++
 ...tilities__BaseOption__X_UnknownOption.html |  35 ++
 api/full-list-Utilities__Log.html             |  43 ++
 api/full-list-Utilities__Option.html          |  46 ++
 api/full-list-Utilities__OptionParser.html    |  40 ++
 api/full-list-Utilities__Time_Tracer.html     |  37 ++
 api/full-list-Utilities__TimingFunction.html  |  37 ++
 ...lities__TimingFunction__comparer_name.html |  33 ++
 ...__TimingFunction__comparer_time_taken.html |  33 ++
 api/full-list-Utilities__Tracer_Plus.html     |  38 ++
 api/full-list-Utilities__X_AlreadySet.html    |  35 ++
 ...ull-list-Utilities__X_InvalidArgument.html |  35 ++
 ...ull-list-Utilities__X_MissingArgument.html |  35 ++
 api/full-list-Utilities__X_OptionError.html   |  34 ++
 api/full-list-Utilities__X_UnknownOption.html |  35 ++
 api/header-list.html                          |  37 ++
 api/hier.html                                 |  58 +++
 api/index-long.html                           |  41 ++
 api/index.html                                |  47 ++
 api/options_h.html                            | 403 ++++++++++++++++++
 api/time__tracer_h.html                       | 190 +++++++++
 api/tracer__plus_h.html                       |  82 ++++
 check.cc.phwt                                 |  33 ++
 refdoc/ObjectManual.def                       | 236 ++++++++++
 55 files changed, 3723 insertions(+)
 create mode 100644 api/Log_h.html
 create mode 100644 api/Utilities.html
 create mode 100644 api/Utilities__BaseOption.html
 create mode 100644 api/Utilities__BaseOption__Option.html
 create mode 100644 api/Utilities__BaseOption__OptionParser.html
 create mode 100644 api/Utilities__BaseOption__X_AlreadySet.html
 create mode 100644 api/Utilities__BaseOption__X_InvalidArgument.html
 create mode 100644 api/Utilities__BaseOption__X_MissingArgument.html
 create mode 100644 api/Utilities__BaseOption__X_OptionError.html
 create mode 100644 api/Utilities__BaseOption__X_UnknownOption.html
 create mode 100644 api/Utilities__Log.html
 create mode 100644 api/Utilities__Option.html
 create mode 100644 api/Utilities__OptionParser.html
 create mode 100644 api/Utilities__Time_Tracer.html
 create mode 100644 api/Utilities__TimingFunction.html
 create mode 100644 api/Utilities__TimingFunction__comparer_name.html
 create mode 100644 api/Utilities__TimingFunction__comparer_time_taken.html
 create mode 100644 api/Utilities__Tracer_Plus.html
 create mode 100644 api/Utilities__X_AlreadySet.html
 create mode 100644 api/Utilities__X_InvalidArgument.html
 create mode 100644 api/Utilities__X_MissingArgument.html
 create mode 100644 api/Utilities__X_OptionError.html
 create mode 100644 api/Utilities__X_UnknownOption.html
 create mode 100644 api/all-globals.html
 create mode 100644 api/full-list-Utilities.html
 create mode 100644 api/full-list-Utilities__BaseOption.html
 create mode 100644 api/full-list-Utilities__BaseOption__Option.html
 create mode 100644 api/full-list-Utilities__BaseOption__OptionParser.html
 create mode 100644 api/full-list-Utilities__BaseOption__X_AlreadySet.html
 create mode 100644 api/full-list-Utilities__BaseOption__X_InvalidArgument.html
 create mode 100644 api/full-list-Utilities__BaseOption__X_MissingArgument.html
 create mode 100644 api/full-list-Utilities__BaseOption__X_OptionError.html
 create mode 100644 api/full-list-Utilities__BaseOption__X_UnknownOption.html
 create mode 100644 api/full-list-Utilities__Log.html
 create mode 100644 api/full-list-Utilities__Option.html
 create mode 100644 api/full-list-Utilities__OptionParser.html
 create mode 100644 api/full-list-Utilities__Time_Tracer.html
 create mode 100644 api/full-list-Utilities__TimingFunction.html
 create mode 100644 api/full-list-Utilities__TimingFunction__comparer_name.html
 create mode 100644 api/full-list-Utilities__TimingFunction__comparer_time_taken.html
 create mode 100644 api/full-list-Utilities__Tracer_Plus.html
 create mode 100644 api/full-list-Utilities__X_AlreadySet.html
 create mode 100644 api/full-list-Utilities__X_InvalidArgument.html
 create mode 100644 api/full-list-Utilities__X_MissingArgument.html
 create mode 100644 api/full-list-Utilities__X_OptionError.html
 create mode 100644 api/full-list-Utilities__X_UnknownOption.html
 create mode 100644 api/header-list.html
 create mode 100644 api/hier.html
 create mode 100644 api/index-long.html
 create mode 100644 api/index.html
 create mode 100644 api/options_h.html
 create mode 100644 api/time__tracer_h.html
 create mode 100644 api/tracer__plus_h.html
 create mode 100644 check.cc.phwt
 create mode 100644 refdoc/ObjectManual.def

diff --git a/api/Log_h.html b/api/Log_h.html
new file mode 100644
index 0000000..8b36665
--- /dev/null
+++ b/api/Log_h.html
@@ -0,0 +1,184 @@
+<HTML>
+<HEAD>
+<TITLE>Source: Log.h</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>Source: Log.h</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<pre>
+/*  Log.h
+
+    Mark Woolrich, FMRIB Image Analysis Group
+
+    Copyright (C) 1999-2000 University of Oxford  */
+
+/*  CCOPYRIGHT  */
+
+#if !defined(Log_h)
+#define Log_h
+
+#include &lt;iostream&gt;
+#include &lt;fstream&gt;
+#include &lt;string&gt;
+#include "newmatap.h"
+#include "newmatio.h"
+
+using namespace NEWMAT;
+
+namespace Utilities{
+
+  template&lt;class t&gt; string tostring(const t obj);
+  
+  class Log
+    {
+    public:
+      static Log&amp; getInstance();
+      ~Log() { delete logger; }
+
+      /** Makes a directory to place results into:
+	  keeps adding "+" to pdirname until unique directory is made: */
+      void makeDir(const string&amp; pdirname, const string&amp; plogfilename = "logfile");
+
+      /** Sets an existing  directory to place results into: */       
+      void setDir(const string&amp; pdirname, const string&amp; plogfilename = "logfile"); 
+      
+      const string&amp; getDir() const { return dir; }
+      const string&amp; getLogFileName() const { return logfilename; }
+      const string appendDir(const string&amp; filename) const { return dir + "/" + filename;}
+
+      void out(const string&amp; p_fname, const Matrix&amp; p_mat);
+      void out(const string&amp; p_fname, const RowVector&amp; p_mat);
+      void out(const string&amp; p_fname, const ColumnVector&amp; p_mat);
+
+      static int counter() { return count++; }
+      ofstream&amp; str();
+      
+    private:
+      Log():logEstablished(false) {}
+      
+      const Log&amp; operator=(Log&amp;);
+      Log(Log&amp;);
+      
+      static Log* logger;
+      string dir;
+      ofstream logfileout;
+      string logfilename;
+      static int count;
+
+      bool logEstablished;
+    };
+  
+  inline void Log::out(const string&amp; p_fname, const Matrix&amp; p_mat)
+    {
+
+      if(!logEstablished)
+	{
+	  logfilename = "logfile";
+	  setDir(".");
+	}
+
+      ofstream out;
+      out.open((dir + "/" + p_fname).c_str(), ios::out);
+      out.setf(ios::scientific, ios::floatfield);
+
+      for(int i=1; i&lt;=p_mat.Nrows(); i++)	   
+	{
+	  for(int j=1; j&lt;=p_mat.Ncols(); j++)
+	    {
+	      out &lt;&lt; p_mat(i,j) &lt;&lt; " ";	
+	    }
+	  out &lt;&lt; endl;
+	}
+
+      out.close();
+    }
+  
+  inline void Log::out(const string&amp; p_fname, const ColumnVector&amp; p_mat)
+    {
+      if(!logEstablished)
+	{
+	  logfilename = "logfile";
+	  setDir(".");
+	}
+
+      ofstream out;
+      out.open((dir + "/" + p_fname).c_str(), ios::out);     
+      out.setf(ios::scientific, ios::floatfield);
+      for(int j=1; j&lt;=p_mat.Nrows(); j++)
+	{
+	  out &lt;&lt; p_mat(j);	  
+	  out &lt;&lt; endl;
+	}
+      
+      out.close();
+    }
+
+  inline void Log::out(const string&amp; p_fname, const RowVector&amp; p_mat)
+    {
+
+      if(!logEstablished)
+	{
+	  logfilename = "logfile";
+	  setDir(".");
+	}
+
+      ofstream out;
+      out.open((dir + "/" + p_fname).c_str(), ios::out);
+      out.setf(ios::scientific, ios::floatfield);
+
+      for(int j=1; j&lt;=p_mat.Ncols(); j++)
+	{
+	  out &lt;&lt; p_mat(j) &lt;&lt; " ";
+	}
+      out &lt;&lt; endl;
+      out.close();
+    }
+
+  inline Log&amp; Log::getInstance(){
+    if(logger == NULL)
+      logger = new Log();
+  
+    return *logger;
+  }
+
+  inline ofstream&amp; Log::str() { 
+    
+    if(!logEstablished)
+      {
+	logfilename = "logfile";
+	setDir(".");
+      }
+
+    return logfileout; 
+  }
+ 
+}
+
+#endif
+
+</pre>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities.html b/api/Utilities.html
new file mode 100644
index 0000000..c85582a
--- /dev/null
+++ b/api/Utilities.html
@@ -0,0 +1,187 @@
+<HTML>
+<HEAD>
+<TITLE>namespace Utilities</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>namespace Utilities</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH><A HREF="full-list-Utilities.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Types</h4><ul><LI>class <A HREF="Utilities__Log.html">Log</A>
+</LI>
+<LI>typedef enum <A HREF="#ref7">argflag</A>
+</LI>
+<LI>class <i><A HREF="Utilities__BaseOption.html">BaseOption</A></i>
+</LI>
+<LI>class <A HREF="Utilities__Option.html">Option</A>
+</LI>
+<LI>class <A HREF="Utilities__X_OptionError.html">X_OptionError</A>
+</LI>
+<LI>class <A HREF="Utilities__X_UnknownOption.html">X_UnknownOption</A>
+</LI>
+<LI>class <A HREF="Utilities__X_AlreadySet.html">X_AlreadySet</A>
+</LI>
+<LI>class <A HREF="Utilities__X_MissingArgument.html">X_MissingArgument</A>
+</LI>
+<LI>class <A HREF="Utilities__X_InvalidArgument.html">X_InvalidArgument</A>
+</LI>
+<LI>class <A HREF="Utilities__OptionParser.html">OptionParser</A>
+</LI>
+<LI>class <A HREF="Utilities__TimingFunction.html">TimingFunction</A>
+</LI>
+<LI>class <A HREF="Utilities__Time_Tracer.html">Time_Tracer</A>
+</LI>
+<LI>class <A HREF="Utilities__Tracer_Plus.html">Tracer_Plus</A>
+</LI>
+</ul><h4>Public Methods</h4><ul><LI>template&lt;class t&gt; string &nbsp;<b><A HREF="#ref1">tostring</A></b> (const t obj) 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref3">string_to_T</A></b> (bool &amp;b, const string&amp; s) 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref4">string_to_T</A></b> (string&amp; d, const string&amp; s) 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref5">string_to_T</A></b> (int&amp; i, const string&amp; s) 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref6">string_to_T</A></b> (float&amp; v, const string&amp; s) 
+</LI>
+<LI>ostream&amp; &nbsp;<b><A HREF="#ref9">operator&lt;&lt;</A></b> (ostream &amp;os, const BaseOption&amp; o) 
+</LI>
+<LI>inline ostream&amp; &nbsp;<b><A HREF="#ref18">operator&lt;&lt;</A></b> (ostream&amp; ostr, const TimingFunction* t) 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><A NAME="tostring"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>template&lt;class t&gt; string &nbsp;<underline>tostring</underline> (const t obj)
+</strong></td></tr></table><p></p><A NAME="Utilities__Log.html"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>Log</underline> <small>(class)</small></strong></td></tr></table><p></p><A NAME="string_to_T"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>string_to_T</underline> (bool &amp;b, const string&amp; s)
+</strong></td></tr></table><p></p><A NAME="string_to_T"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>string_to_T</underline> (string&amp; d, const string&amp; s)
+</strong></td></tr></table><p></p><A NAME="string_to_T"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>string_to_T</underline> (int&amp; i, const string&amp; s)
+</strong></td></tr></table><p></p><A NAME="string_to_T"></A><A NAME="ref6"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>string_to_T</underline> (float&amp; v, const string&amp; s)
+</strong></td></tr></table><p></p><A NAME="argflag"></A><A NAME="ref7"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>typedef enum <underline>argflag</underline></strong></td></tr></table><p></p><A NAME="Utilities__BaseOption.html"></A><A NAME="ref8"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>BaseOption</underline> <small>(class)</small></strong></td></tr></table><p></p><p>
+     Provides behaviour common to all option types. Actual options are
+     declared using the templated Option class. The 
+     OptionParser class can be used to parse command lines.
+</p>
+<p><b>See also</b>: Option, OptionParser</p>
+<A NAME="operator%253C%253C"></A><A NAME="ref9"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>ostream&amp; &nbsp;<underline>operator&lt;&lt;</underline> (ostream &amp;os, const BaseOption&amp; o)
+</strong></td></tr></table><p></p><A NAME="Utilities__Option.html"></A><A NAME="ref10"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>Option</underline> <small>(class)</small></strong></td></tr></table><p></p><p>
+     Template class adding type specific behaviour to BaseOption. Define
+     one of these per program supported option.
+</p>
+<A NAME="Utilities__X_OptionError.html"></A><A NAME="ref11"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>X_OptionError</underline> <small>(class)</small></strong></td></tr></table><p></p><p>
+     Throw this exception if an error occured inside the Options package.
+   </p>
+<A NAME="Utilities__X_UnknownOption.html"></A><A NAME="ref12"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>X_UnknownOption</underline> <small>(class)</small></strong></td></tr></table><p></p><p>
+     Throw this exception if no matching option was found during parsing.
+   </p>
+<A NAME="Utilities__X_AlreadySet.html"></A><A NAME="ref13"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>X_AlreadySet</underline> <small>(class)</small></strong></td></tr></table><p></p><p>
+   </p>
+<A NAME="Utilities__X_MissingArgument.html"></A><A NAME="ref14"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>X_MissingArgument</underline> <small>(class)</small></strong></td></tr></table><p></p><p>
+     If an option should have had an argument but didn't then throw this
+     exception.
+   </p>
+<A NAME="Utilities__X_InvalidArgument.html"></A><A NAME="ref15"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>X_InvalidArgument</underline> <small>(class)</small></strong></td></tr></table><p></p><p>
+   </p>
+<A NAME="Utilities__OptionParser.html"></A><A NAME="ref16"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>OptionParser</underline> <small>(class)</small></strong></td></tr></table><p></p><p>
+     A class for parsing command line arguments into Option objects. The 
+     following example demonstrates the principle:
+</p>
+
+<pre>
+
+#include "options.h"
+
+// $Id$ 
+
+using namespace Utilities;
+
+Option&lt;bool&gt; verbose(string("-V,--verbose"), false, 
+		     string("switch on diagnostic messages"), 
+		     false, BaseOption::no_argument);
+Option&lt;bool&gt; help(string("-h,--help"), false,
+		  string("display this message"),
+		  false, BaseOption::no_argument);
+Option&lt;float&gt; dof(string("-d,--dof"), 100.0,
+		  string("number of degrees of freedom"),
+		  true, BaseOption::requires_argument);
+Option&lt;string&gt; mask(string("-m,--mask"), string("mask"),
+		    string("brain mask volume"),
+		    true, BaseOption::requires_argument);
+Option&lt;string&gt; resid(string("-r,--res"), string("res4d"),
+		     string("4d `residual-of-fit' image"),
+		     true, BaseOption::requires_argument);
+Option&lt;int&gt; segid(string("-s,--shared-seg-id"), -1,
+		  "shared memory segment ID",
+		  false, BaseOption::requires_argument);
+
+string title = 
+"opttst (Version 1.0)\n\n\
+Copyright(c) 2000, University of Oxford\n\
+Dave Flitney";
+
+string examples =
+"opttst --dof=&lt;number&gt; --mask=&lt;filename&gt; --res=&lt;filename&gt;\n\
+opttst -d &lt;number&gt; -m &lt;filename&gt; -r &lt;filename&gt;\n\
+opttst --verbose\n";
+
+int main(unsigned int argc, char **argv) {
+
+  OptionParser options(title, examples);
+
+  try {
+
+    options.add(verbose);
+    options.add(help);
+    options.add(segid);
+    options.add(dof);
+    options.add(mask);
+    options.add(resid);
+
+    for(unsigned int a = options.parse_command_line(argc, argv); 
+	a &lt; argc; a++)
+      cout &lt;&lt; argv[a] &lt;&lt; endl;
+  
+    if(help.value() || 
+       !options.check_compulsory_arguments())
+      options.usage();
+
+    if(verbose.value()) {
+      cout &lt;&lt; "verbose = " &lt;&lt; verbose.value() &lt;&lt; endl;
+      cout &lt;&lt; "help = " &lt;&lt; help.value() &lt;&lt; endl;
+      cout &lt;&lt; "segid = " &lt;&lt; segid.value() &lt;&lt; endl;
+      cout &lt;&lt; "dof = " &lt;&lt; dof.value() &lt;&lt; endl;
+      cout &lt;&lt; "mask = " &lt;&lt; mask.value() &lt;&lt; endl;
+      cout &lt;&lt; "resid = " &lt;&lt; resid.value() &lt;&lt; endl;
+    }
+
+  } catch(X_OptionError&amp; e) {
+    options.usage();
+    cerr &lt;&lt; endl &lt;&lt; e.what() &lt;&lt; endl;
+  } catch(std::exception &amp;e) {
+    cerr &lt;&lt; e.what() &lt;&lt; endl;
+  }    
+}
+
+</pre>
+
+<p>  </p>
+<p><b>See also</b>: BaseOption, Option</p>
+<A NAME="Utilities__TimingFunction.html"></A><A NAME="ref17"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>TimingFunction</underline> <small>(class)</small></strong></td></tr></table><p></p><A NAME="operator%253C%253C"></A><A NAME="ref18"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>inline ostream&amp; &nbsp;<underline>operator&lt;&lt;</underline> (ostream&amp; ostr, const TimingFunction* t)
+</strong></td></tr></table><p></p><A NAME="Utilities__Time_Tracer.html"></A><A NAME="ref19"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>Time_Tracer</underline> <small>(class)</small></strong></td></tr></table><p></p><A NAME="Utilities__Tracer_Plus.html"></A><A NAME="ref20"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>Tracer_Plus</underline> <small>(class)</small></strong></td></tr></table><p></p><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__BaseOption.html b/api/Utilities__BaseOption.html
new file mode 100644
index 0000000..1d1a90c
--- /dev/null
+++ b/api/Utilities__BaseOption.html
@@ -0,0 +1,116 @@
+<HTML>
+<HEAD>
+<TITLE>class BaseOption</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class BaseOption</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     Provides behaviour common to all option types. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH colspan="2">Contains pure virtuals</TH></TR><TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::BaseOption</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherited by</TH><TD><A HREF="Utilities__Option.html">Option</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__BaseOption.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">BaseOption</A></b> (const string&amp; k, const string&amp; ht, bool c, ArgFlag f):        key_(k), help_text_(ht), arg_flag_(f),        unset_(true), compulsory_(c) 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref2">compulsory</A></b> () 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref3">required</A></b> () 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref4">optional</A></b> () 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref5">has_arg</A></b> () 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref6">set</A></b> () 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref7">unset</A></b> () 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref8">matches</A></b> (const string&amp; arg) 
+</LI>
+<LI>const string&amp; &nbsp;<b><A HREF="#ref9">key</A></b> ()  const
+</LI>
+<LI>const string&amp; &nbsp;<b><A HREF="#ref10">help_text</A></b> ()  const
+</LI>
+<LI>virtual  bool &nbsp;<b><i><A HREF="#ref11">set_value</A></i></b> (const string&amp; vs) 
+</LI>
+<LI>virtual  ~&nbsp;<b><A HREF="#ref12">BaseOption</A></b> () 
+</LI>
+</ul><h4>Protected Members</h4><ul><LI>bool <b><A HREF="#ref16">unset_</A></b></LI>
+<LI>bool <b><A HREF="#ref17">compulsory_</A></b></LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     Provides behaviour common to all option types. Actual options are
+     declared using the templated Option class. The 
+     OptionParser class can be used to parse command lines.
+</p>
+<p><b>See also</b>: Option, OptionParser</p>
+<A NAME="BaseOption"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>BaseOption</underline> (const string&amp; k, const string&amp; ht, bool c, ArgFlag f):        key_(k), help_text_(ht), arg_flag_(f),        unset_(true), compulsory_(c)
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>k</i></TD><TD align="left" valign="top">comma seperated list of key aliases
+</TD></TR>
+<TR><TD align="left" valign="top"><i>ht</i></TD><TD align="left" valign="top">the help text to be printed for this option
+</TD></TR>
+<TR><TD align="left" valign="top"><i>c</i></TD><TD align="left" valign="top">if true then this option is compulsory
+</TD></TR>
+<TR><TD align="left" valign="top"><i>f</i></TD><TD align="left" valign="top">one of no_argument, requires_argument, optional_argument
+       to indicate what arguments should be supplied
+    </TD></TR>
+</TABLE></P>
+<A NAME="compulsory"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>compulsory</underline> ()
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Returns</b>: true if the option is compulsory
+    </p>
+<A NAME="required"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>required</underline> ()
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Returns</b>: true if the option requires an argument
+    </p>
+<A NAME="optional"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>optional</underline> ()
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Returns</b>: true if the option has an optional argument
+    </p>
+<A NAME="has_arg"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>has_arg</underline> ()
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Returns</b>: true if the option has an argument at all
+    </p>
+<A NAME="set"></A><A NAME="ref6"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>set</underline> ()
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Returns</b>: true if the option has been set
+    </p>
+<A NAME="unset"></A><A NAME="ref7"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>unset</underline> ()
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Returns</b>: true if the option remains unset
+    </p>
+<A NAME="matches"></A><A NAME="ref8"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>matches</underline> (const string&amp; arg)
+</strong></td></tr></table><p></p><A NAME="key"></A><A NAME="ref9"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>const string&amp; &nbsp;<underline>key</underline> ()
+</strong></td></tr></table><p> <small>[const]</small></p><A NAME="help_text"></A><A NAME="ref10"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>const string&amp; &nbsp;<underline>help_text</underline> ()
+</strong></td></tr></table><p> <small>[const]</small></p><A NAME="set_value"></A><A NAME="ref11"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> bool &nbsp;<i><underline>set_value</underline></i> (const string&amp; vs)
+</strong></td></tr></table><p> <small>[pure virtual]</small></p><A NAME="BaseOption"></A><A NAME="ref12"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> ~&nbsp;<underline>BaseOption</underline> ()
+</strong></td></tr></table><p> <small>[virtual]</small></p><A NAME="unset_"></A><A NAME="ref16"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool  <underline>unset_</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><A NAME="compulsory_"></A><A NAME="ref17"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool  <underline>compulsory_</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><HR><UL><LI><i>Version</i>: 1.0b, Nov., 2000.
+  </LI><LI><i>Author</i>: Dave Flitney
+</LI><LI><i>Generated</i>: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</LI></UL></BODY></HTML>
diff --git a/api/Utilities__BaseOption__Option.html b/api/Utilities__BaseOption__Option.html
new file mode 100644
index 0000000..58e3d2b
--- /dev/null
+++ b/api/Utilities__BaseOption__Option.html
@@ -0,0 +1,83 @@
+<HTML>
+<HEAD>
+<TITLE>class Option</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class Option</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     Template class adding type specific behaviour to BaseOption. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::<A HREF="Utilities__BaseOption.html">BaseOption</A>::Option</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Template form</TH><TD>Option&lt;templateclass T&gt; </code></TD></TR>
+<TR><TH>Inherits</TH><TD><A HREF="Utilities__BaseOption.html">Utilities::BaseOption</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__BaseOption__Option.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">Option</A></b> (const string&amp; k, const T&amp; v, const string&amp; ht, 	   bool c, ArgFlag f = no_argument):        BaseOption(k, ht, c, f), default_(v), value_(v) 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref2">set_value</A></b> (const string&amp; vs) 
+</LI>
+<LI>const T&amp; &nbsp;<b><A HREF="#ref3">value</A></b> () 
+</LI>
+<LI>const T&amp; &nbsp;<b><A HREF="#ref4">default_value</A></b> () 
+</LI>
+<LI>virtual  ~&nbsp;<b><A HREF="#ref5">Option</A></b> () 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     Template class adding type specific behaviour to BaseOption. Define
+     one of these per program supported option.
+</p>
+<A NAME="Option"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>Option</underline> (const string&amp; k, const T&amp; v, const string&amp; ht, 	   bool c, ArgFlag f = no_argument):        BaseOption(k, ht, c, f), default_(v), value_(v)
+</strong></td></tr></table><p></p><p> 
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>k</i></TD><TD align="left" valign="top">Comma seperated list of key aliases
+</TD></TR>
+<TR><TD align="left" valign="top"><i>v</i></TD><TD align="left" valign="top">Default value for this option
+</TD></TR>
+<TR><TD align="left" valign="top"><i>ht</i></TD><TD align="left" valign="top">Help text to be printed when outputting usage
+</TD></TR>
+<TR><TD align="left" valign="top"><i>c</i></TD><TD align="left" valign="top">If true then this option is compulsory
+</TD></TR>
+<TR><TD align="left" valign="top"><i>f</i></TD><TD align="left" valign="top">This options argument requirements
+    </TD></TR>
+</TABLE></P>
+<A NAME="set_value"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>set_value</underline> (const string&amp; vs)
+</strong></td></tr></table><p></p><p> 
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>vs</i></TD><TD align="left" valign="top">The value string which needs to be parsed to set
+	this options value. The overloaded function string_to_T must be defined
+	for type T.
+    </TD></TR>
+</TABLE></P>
+<A NAME="value"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>const T&amp; &nbsp;<underline>value</underline> ()
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Returns</b>: The options value.
+    </p>
+<A NAME="default_value"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>const T&amp; &nbsp;<underline>default_value</underline> ()
+</strong></td></tr></table><p></p><p> 
+</p>
+<p><b>Returns</b>: The options default value.
+    </p>
+<A NAME="Option"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> ~&nbsp;<underline>Option</underline> ()
+</strong></td></tr></table><p> <small>[virtual]</small></p><HR><UL><LI><i>Version</i>: 1.0b, Nov., 2000.
+</LI><LI><i>Author</i>: Dave Flitney
+</LI><LI><i>Generated</i>: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</LI></UL></BODY></HTML>
diff --git a/api/Utilities__BaseOption__OptionParser.html b/api/Utilities__BaseOption__OptionParser.html
new file mode 100644
index 0000000..6dd7fc2
--- /dev/null
+++ b/api/Utilities__BaseOption__OptionParser.html
@@ -0,0 +1,164 @@
+<HTML>
+<HEAD>
+<TITLE>class OptionParser</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class OptionParser</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     A class for parsing command line arguments into Option objects. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::<A HREF="Utilities__BaseOption.html">BaseOption</A>::OptionParser</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__BaseOption__OptionParser.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">OptionParser</A></b> (const string&amp; p, const string&amp; e): progname_(p), example_(e) 
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref2">add</A></b> (BaseOption&amp; o) 
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref3">usage</A></b> () 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref4">check_compulsory_arguments</A></b> (bool verbose=false) 
+</LI>
+<LI>unsigned int &nbsp;<b><A HREF="#ref5">parse_command_line</A></b> (unsigned int argc, char **argv) 
+</LI>
+<LI>virtual  ~&nbsp;<b><A HREF="#ref6">OptionParser</A></b> () 
+</LI>
+</ul><h4>Protected Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref7">OptionParser</A></b> () 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     A class for parsing command line arguments into Option objects. The 
+     following example demonstrates the principle:
+</p>
+
+<pre>
+
+#include "options.h"
+
+// $Id$ 
+
+using namespace Utilities;
+
+Option&lt;bool&gt; verbose(string("-V,--verbose"), false, 
+		     string("switch on diagnostic messages"), 
+		     false, BaseOption::no_argument);
+Option&lt;bool&gt; help(string("-h,--help"), false,
+		  string("display this message"),
+		  false, BaseOption::no_argument);
+Option&lt;float&gt; dof(string("-d,--dof"), 100.0,
+		  string("number of degrees of freedom"),
+		  true, BaseOption::requires_argument);
+Option&lt;string&gt; mask(string("-m,--mask"), string("mask"),
+		    string("brain mask volume"),
+		    true, BaseOption::requires_argument);
+Option&lt;string&gt; resid(string("-r,--res"), string("res4d"),
+		     string("4d `residual-of-fit' image"),
+		     true, BaseOption::requires_argument);
+Option&lt;int&gt; segid(string("-s,--shared-seg-id"), -1,
+		  "shared memory segment ID",
+		  false, BaseOption::requires_argument);
+
+string title = 
+"opttst (Version 1.0)\n\n\
+Copyright(c) 2000, University of Oxford\n\
+Dave Flitney";
+
+string examples =
+"opttst --dof=&lt;number&gt; --mask=&lt;filename&gt; --res=&lt;filename&gt;\n\
+opttst -d &lt;number&gt; -m &lt;filename&gt; -r &lt;filename&gt;\n\
+opttst --verbose\n";
+
+int main(unsigned int argc, char **argv) {
+
+  OptionParser options(title, examples);
+
+  try {
+
+    options.add(verbose);
+    options.add(help);
+    options.add(segid);
+    options.add(dof);
+    options.add(mask);
+    options.add(resid);
+
+    for(unsigned int a = options.parse_command_line(argc, argv); 
+	a &lt; argc; a++)
+      cout &lt;&lt; argv[a] &lt;&lt; endl;
+  
+    if(help.value() || 
+       !options.check_compulsory_arguments())
+      options.usage();
+
+    if(verbose.value()) {
+      cout &lt;&lt; "verbose = " &lt;&lt; verbose.value() &lt;&lt; endl;
+      cout &lt;&lt; "help = " &lt;&lt; help.value() &lt;&lt; endl;
+      cout &lt;&lt; "segid = " &lt;&lt; segid.value() &lt;&lt; endl;
+      cout &lt;&lt; "dof = " &lt;&lt; dof.value() &lt;&lt; endl;
+      cout &lt;&lt; "mask = " &lt;&lt; mask.value() &lt;&lt; endl;
+      cout &lt;&lt; "resid = " &lt;&lt; resid.value() &lt;&lt; endl;
+    }
+
+  } catch(X_OptionError&amp; e) {
+    options.usage();
+    cerr &lt;&lt; endl &lt;&lt; e.what() &lt;&lt; endl;
+  } catch(std::exception &amp;e) {
+    cerr &lt;&lt; e.what() &lt;&lt; endl;
+  }    
+}
+
+</pre>
+
+<p>  </p>
+<p><b>See also</b>: BaseOption, Option, @example</p>
+<A NAME="OptionParser"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>OptionParser</underline> (const string&amp; p, const string&amp; e): progname_(p), example_(e)
+</strong></td></tr></table><p></p><A NAME="add"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>add</underline> (BaseOption&amp; o)
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>o</i></TD><TD align="left" valign="top">An option to be added to the parser
+    </TD></TR>
+</TABLE></P>
+<A NAME="usage"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>usage</underline> ()
+</strong></td></tr></table><p></p><A NAME="check_compulsory_arguments"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>check_compulsory_arguments</underline> (bool verbose=false)
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>verbose</i></TD><TD align="left" valign="top">If set then this method will carp about any option which
+       is marked as compulsory but hasn't been set
+</TD></TR>
+</TABLE></P>
+<p><b>Returns</b>: true if all compulsory arguments have been set and false otherwise
+    </p>
+<A NAME="parse_command_line"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>unsigned int &nbsp;<underline>parse_command_line</underline> (unsigned int argc, char **argv)
+</strong></td></tr></table><p></p><p>
+       The parameters, argc and argv, should normally be those passed to
+       main via the command line shell.
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>argc</i></TD><TD align="left" valign="top">The argument count.
+</TD></TR>
+<TR><TD align="left" valign="top"><i>argv</i></TD><TD align="left" valign="top">The vector of argument strings.
+    </TD></TR>
+</TABLE></P>
+<A NAME="OptionParser"></A><A NAME="ref6"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> ~&nbsp;<underline>OptionParser</underline> ()
+</strong></td></tr></table><p> <small>[virtual]</small></p><A NAME="OptionParser"></A><A NAME="ref7"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>OptionParser</underline> ()
+</strong></td></tr></table><p> <small>[protected]</small></p><p>
+    </p>
+<HR><UL><LI><i>Version</i>: 1.0b, Nov., 2000.
+</LI><LI><i>Author</i>: Dave Flitney
+</LI><LI><i>Generated</i>: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</LI></UL></BODY></HTML>
diff --git a/api/Utilities__BaseOption__X_AlreadySet.html b/api/Utilities__BaseOption__X_AlreadySet.html
new file mode 100644
index 0000000..204a63e
--- /dev/null
+++ b/api/Utilities__BaseOption__X_AlreadySet.html
@@ -0,0 +1,45 @@
+<HTML>
+<HEAD>
+<TITLE>class X_AlreadySet</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_AlreadySet</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+    <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::<A HREF="Utilities__BaseOption.html">BaseOption</A>::X_AlreadySet</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD><A HREF="Utilities__BaseOption__X_OptionError.html">Utilities::BaseOption::X_OptionError</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__BaseOption__X_AlreadySet.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">X_AlreadySet</A></b> (const string&amp; s) throw():        str_(s+":already set!") 
+</LI>
+<LI>virtual  const char * &nbsp;<b><A HREF="#ref2">what</A></b> () const throw() 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+   </p>
+<A NAME="X_AlreadySet"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>X_AlreadySet</underline> (const string&amp; s) throw():        str_(s+":already set!")
+</strong></td></tr></table><p></p><A NAME="what"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> const char * &nbsp;<underline>what</underline> () const throw()
+</strong></td></tr></table><p> <small>[virtual]</small></p><p>Reimplemented from <A HREF="Utilities__BaseOption__X_OptionError.html">X_OptionError</A>.</p>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__BaseOption__X_InvalidArgument.html b/api/Utilities__BaseOption__X_InvalidArgument.html
new file mode 100644
index 0000000..c1a0735
--- /dev/null
+++ b/api/Utilities__BaseOption__X_InvalidArgument.html
@@ -0,0 +1,45 @@
+<HTML>
+<HEAD>
+<TITLE>class X_InvalidArgument</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_InvalidArgument</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+    <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::<A HREF="Utilities__BaseOption.html">BaseOption</A>::X_InvalidArgument</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD><A HREF="Utilities__BaseOption__X_OptionError.html">Utilities::BaseOption::X_OptionError</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__BaseOption__X_InvalidArgument.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">X_InvalidArgument</A></b> (const string&amp; o, const string&amp; v) throw():        str_(o+":invalid argument "+v+"!") 
+</LI>
+<LI>virtual  const char * &nbsp;<b><A HREF="#ref2">what</A></b> () const throw() 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+   </p>
+<A NAME="X_InvalidArgument"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>X_InvalidArgument</underline> (const string&amp; o, const string&amp; v) throw():        str_(o+":invalid argument "+v+"!")
+</strong></td></tr></table><p></p><A NAME="what"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> const char * &nbsp;<underline>what</underline> () const throw()
+</strong></td></tr></table><p> <small>[virtual]</small></p><p>Reimplemented from <A HREF="Utilities__BaseOption__X_OptionError.html">X_OptionError</A>.</p>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__BaseOption__X_MissingArgument.html b/api/Utilities__BaseOption__X_MissingArgument.html
new file mode 100644
index 0000000..fdb9070
--- /dev/null
+++ b/api/Utilities__BaseOption__X_MissingArgument.html
@@ -0,0 +1,48 @@
+<HTML>
+<HEAD>
+<TITLE>class X_MissingArgument</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_MissingArgument</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     If an option should have had an argument but didn't then throw this
+     exception. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::<A HREF="Utilities__BaseOption.html">BaseOption</A>::X_MissingArgument</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD><A HREF="Utilities__BaseOption__X_OptionError.html">Utilities::BaseOption::X_OptionError</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__BaseOption__X_MissingArgument.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">X_MissingArgument</A></b> (const string&amp; s) throw():        str_(s+":missing argument!") 
+</LI>
+<LI>virtual  const char * &nbsp;<b><A HREF="#ref2">what</A></b> () const throw() 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     If an option should have had an argument but didn't then throw this
+     exception.
+   </p>
+<A NAME="X_MissingArgument"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>X_MissingArgument</underline> (const string&amp; s) throw():        str_(s+":missing argument!")
+</strong></td></tr></table><p></p><A NAME="what"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> const char * &nbsp;<underline>what</underline> () const throw()
+</strong></td></tr></table><p> <small>[virtual]</small></p><p>Reimplemented from <A HREF="Utilities__BaseOption__X_OptionError.html">X_OptionError</A>.</p>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__BaseOption__X_OptionError.html b/api/Utilities__BaseOption__X_OptionError.html
new file mode 100644
index 0000000..83ccc7e
--- /dev/null
+++ b/api/Utilities__BaseOption__X_OptionError.html
@@ -0,0 +1,46 @@
+<HTML>
+<HEAD>
+<TITLE>class X_OptionError</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_OptionError</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     Throw this exception if an error occured inside the Options package. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::<A HREF="Utilities__BaseOption.html">BaseOption</A>::X_OptionError</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD>std::exception</TD></TR>
+<TR><TH>Inherited by</TH><TD><A HREF="Utilities__BaseOption__X_AlreadySet.html">X_AlreadySet</A>, <A HREF="Utilities__BaseOption__X_InvalidArgument.html">X_InvalidArgument</A>, <A HREF="Utilities__BaseOption__X_MissingArgument.html">X_MissingArgument</A>, <A HREF="Utilities__BaseOption__X_UnknownOption.html">X_UnknownOption</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__BaseOption__X_OptionError.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">X_OptionError</A></b> () throw() 
+</LI>
+<LI>virtual  const char * &nbsp;<b><A HREF="#ref2">what</A></b> () const throw() 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     Throw this exception if an error occured inside the Options package.
+   </p>
+<A NAME="X_OptionError"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>X_OptionError</underline> () throw()
+</strong></td></tr></table><p></p><A NAME="what"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> const char * &nbsp;<underline>what</underline> () const throw()
+</strong></td></tr></table><p> <small>[virtual]</small></p><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__BaseOption__X_UnknownOption.html b/api/Utilities__BaseOption__X_UnknownOption.html
new file mode 100644
index 0000000..ef2850c
--- /dev/null
+++ b/api/Utilities__BaseOption__X_UnknownOption.html
@@ -0,0 +1,46 @@
+<HTML>
+<HEAD>
+<TITLE>class X_UnknownOption</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_UnknownOption</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     Throw this exception if no matching option was found during parsing. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::<A HREF="Utilities__BaseOption.html">BaseOption</A>::X_UnknownOption</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD><A HREF="Utilities__BaseOption__X_OptionError.html">Utilities::BaseOption::X_OptionError</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__BaseOption__X_UnknownOption.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">X_UnknownOption</A></b> (const string&amp; s) throw():        str_(s+":unknown option!") 
+</LI>
+<LI>virtual  const char * &nbsp;<b><A HREF="#ref2">what</A></b> () const throw() 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     Throw this exception if no matching option was found during parsing.
+   </p>
+<A NAME="X_UnknownOption"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>X_UnknownOption</underline> (const string&amp; s) throw():        str_(s+":unknown option!")
+</strong></td></tr></table><p></p><A NAME="what"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> const char * &nbsp;<underline>what</underline> () const throw()
+</strong></td></tr></table><p> <small>[virtual]</small></p><p>Reimplemented from <A HREF="Utilities__BaseOption__X_OptionError.html">X_OptionError</A>.</p>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__Log.html b/api/Utilities__Log.html
new file mode 100644
index 0000000..02256fb
--- /dev/null
+++ b/api/Utilities__Log.html
@@ -0,0 +1,73 @@
+<HTML>
+<HEAD>
+<TITLE>class Log</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class Log</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::Log</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="Log_h.html">Log.h</A>&gt;</code></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__Log.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>~&nbsp;<b><A HREF="#ref2">Log</A></b> () 
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref3">makeDir</A></b> (const string&amp; pdirname, const string&amp; plogfilename = "logfile") 
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref4">setDir</A></b> (const string&amp; pdirname, const string&amp; plogfilename = "logfile") 
+</LI>
+<LI>const string&amp; &nbsp;<b><A HREF="#ref5">getDir</A></b> ()  const
+</LI>
+<LI>const string&amp; &nbsp;<b><A HREF="#ref6">getLogFileName</A></b> ()  const
+</LI>
+<LI>const string &nbsp;<b><A HREF="#ref7">appendDir</A></b> (const string&amp; filename)  const
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref8">out</A></b> (const string&amp; p_fname, const Matrix&amp; p_mat) 
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref9">out</A></b> (const string&amp; p_fname, const RowVector&amp; p_mat) 
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref10">out</A></b> (const string&amp; p_fname, const ColumnVector&amp; p_mat) 
+</LI>
+<LI>ofstream&amp; &nbsp;<b><A HREF="#ref12">str</A></b> () 
+</LI>
+</ul><h4>Public Static Methods</h4><ul><LI>static  Log&amp; &nbsp;<b><A HREF="#ref1">getInstance</A></b> () 
+</LI>
+<LI>static  int &nbsp;<b><A HREF="#ref11">counter</A></b> () 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><A NAME="getInstance"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> Log&amp; &nbsp;<underline>getInstance</underline> ()
+</strong></td></tr></table><p> <small>[static]</small></p><A NAME="Log"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>~&nbsp;<underline>Log</underline> ()
+</strong></td></tr></table><p></p><A NAME="makeDir"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>makeDir</underline> (const string&amp; pdirname, const string&amp; plogfilename = "logfile")
+</strong></td></tr></table><p></p><p> Makes a directory to place results into:
+	  keeps adding "+" to pdirname until unique directory is made: </p>
+<A NAME="setDir"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>setDir</underline> (const string&amp; pdirname, const string&amp; plogfilename = "logfile")
+</strong></td></tr></table><p></p><p> Sets an existing  directory to place results into: </p>
+<A NAME="getDir"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>const string&amp; &nbsp;<underline>getDir</underline> ()
+</strong></td></tr></table><p> <small>[const]</small></p><A NAME="getLogFileName"></A><A NAME="ref6"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>const string&amp; &nbsp;<underline>getLogFileName</underline> ()
+</strong></td></tr></table><p> <small>[const]</small></p><A NAME="appendDir"></A><A NAME="ref7"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>const string &nbsp;<underline>appendDir</underline> (const string&amp; filename)
+</strong></td></tr></table><p> <small>[const]</small></p><A NAME="out"></A><A NAME="ref8"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>out</underline> (const string&amp; p_fname, const Matrix&amp; p_mat)
+</strong></td></tr></table><p></p><A NAME="out"></A><A NAME="ref9"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>out</underline> (const string&amp; p_fname, const RowVector&amp; p_mat)
+</strong></td></tr></table><p></p><A NAME="out"></A><A NAME="ref10"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>out</underline> (const string&amp; p_fname, const ColumnVector&amp; p_mat)
+</strong></td></tr></table><p></p><A NAME="counter"></A><A NAME="ref11"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> int &nbsp;<underline>counter</underline> ()
+</strong></td></tr></table><p> <small>[static]</small></p><A NAME="str"></A><A NAME="ref12"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>ofstream&amp; &nbsp;<underline>str</underline> ()
+</strong></td></tr></table><p></p><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__Option.html b/api/Utilities__Option.html
new file mode 100644
index 0000000..7a14ebc
--- /dev/null
+++ b/api/Utilities__Option.html
@@ -0,0 +1,84 @@
+<HTML>
+<HEAD>
+<TITLE>class Option</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class Option</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     Template class adding type specific behaviour to BaseOption. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::Option</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Template form</TH><TD>Option&lt;templateclass T&gt; </code></TD></TR>
+<TR><TH>Inherits</TH><TD><i><A HREF="Utilities__BaseOption.html">Utilities::BaseOption</A></i></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__Option.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">Option</A></b> (const string&amp; k, const T&amp; v, const string&amp; ht, 	   bool c, ArgFlag f = no_argument):        BaseOption(k, ht, c, f), default_(v), value_(v) 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref2">set_value</A></b> (const string&amp; vs) 
+</LI>
+<LI>const T&amp; &nbsp;<b><A HREF="#ref3">value</A></b> () 
+</LI>
+<LI>const T&amp; &nbsp;<b><A HREF="#ref4">default_value</A></b> () 
+</LI>
+<LI>virtual  ~&nbsp;<b><A HREF="#ref5">Option</A></b> () 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     Template class adding type specific behaviour to BaseOption. Define
+     one of these per program supported option.
+</p>
+<A NAME="Option"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>Option</underline> (const string&amp; k, const T&amp; v, const string&amp; ht, 	   bool c, ArgFlag f = no_argument):        BaseOption(k, ht, c, f), default_(v), value_(v)
+</strong></td></tr></table><p></p><p> 
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>k</i></TD><TD align="left" valign="top">Comma seperated list of key aliases
+</TD></TR>
+<TR><TD align="left" valign="top"><i>v</i></TD><TD align="left" valign="top">Default value for this option
+</TD></TR>
+<TR><TD align="left" valign="top"><i>ht</i></TD><TD align="left" valign="top">Help text to be printed when outputting usage
+</TD></TR>
+<TR><TD align="left" valign="top"><i>c</i></TD><TD align="left" valign="top">If true then this option is compulsory
+</TD></TR>
+<TR><TD align="left" valign="top"><i>f</i></TD><TD align="left" valign="top">This options argument requirements
+    </TD></TR>
+</TABLE></P>
+<A NAME="set_value"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>set_value</underline> (const string&amp; vs)
+</strong></td></tr></table><p></p><p> 
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>vs</i></TD><TD align="left" valign="top">The value string which needs to be parsed to set
+	this options value. The overloaded function string_to_T must be defined
+	for type T.
+    </TD></TR>
+</TABLE></P>
+<p>Reimplemented from <i><A HREF="Utilities__BaseOption.html">BaseOption</A></i>.</p>
+<A NAME="value"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>const T&amp; &nbsp;<underline>value</underline> ()
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Returns</b>: The options value.
+    </p>
+<A NAME="default_value"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>const T&amp; &nbsp;<underline>default_value</underline> ()
+</strong></td></tr></table><p></p><p> 
+</p>
+<p><b>Returns</b>: The options default value.
+    </p>
+<A NAME="Option"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> ~&nbsp;<underline>Option</underline> ()
+</strong></td></tr></table><p> <small>[virtual]</small></p><HR><UL><LI><i>Version</i>: 1.0b, Nov., 2000.
+</LI><LI><i>Author</i>: Dave Flitney
+</LI><LI><i>Generated</i>: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</LI></UL></BODY></HTML>
diff --git a/api/Utilities__OptionParser.html b/api/Utilities__OptionParser.html
new file mode 100644
index 0000000..647d04e
--- /dev/null
+++ b/api/Utilities__OptionParser.html
@@ -0,0 +1,164 @@
+<HTML>
+<HEAD>
+<TITLE>class OptionParser</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class OptionParser</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     A class for parsing command line arguments into Option objects. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::OptionParser</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__OptionParser.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">OptionParser</A></b> (const string&amp; p, const string&amp; e): progname_(p), example_(e) 
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref2">add</A></b> (BaseOption&amp; o) 
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref3">usage</A></b> () 
+</LI>
+<LI>bool &nbsp;<b><A HREF="#ref4">check_compulsory_arguments</A></b> (bool verbose=false) 
+</LI>
+<LI>unsigned int &nbsp;<b><A HREF="#ref5">parse_command_line</A></b> (unsigned int argc, char **argv) 
+</LI>
+<LI>virtual  ~&nbsp;<b><A HREF="#ref6">OptionParser</A></b> () 
+</LI>
+</ul><h4>Protected Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref7">OptionParser</A></b> () 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     A class for parsing command line arguments into Option objects. The 
+     following example demonstrates the principle:
+</p>
+
+<pre>
+
+#include "options.h"
+
+// $Id$ 
+
+using namespace Utilities;
+
+Option&lt;bool&gt; verbose(string("-V,--verbose"), false, 
+		     string("switch on diagnostic messages"), 
+		     false, BaseOption::no_argument);
+Option&lt;bool&gt; help(string("-h,--help"), false,
+		  string("display this message"),
+		  false, BaseOption::no_argument);
+Option&lt;float&gt; dof(string("-d,--dof"), 100.0,
+		  string("number of degrees of freedom"),
+		  true, BaseOption::requires_argument);
+Option&lt;string&gt; mask(string("-m,--mask"), string("mask"),
+		    string("brain mask volume"),
+		    true, BaseOption::requires_argument);
+Option&lt;string&gt; resid(string("-r,--res"), string("res4d"),
+		     string("4d `residual-of-fit' image"),
+		     true, BaseOption::requires_argument);
+Option&lt;int&gt; segid(string("-s,--shared-seg-id"), -1,
+		  "shared memory segment ID",
+		  false, BaseOption::requires_argument);
+
+string title = 
+"opttst (Version 1.0)\n\n\
+Copyright(c) 2000, University of Oxford\n\
+Dave Flitney";
+
+string examples =
+"opttst --dof=&lt;number&gt; --mask=&lt;filename&gt; --res=&lt;filename&gt;\n\
+opttst -d &lt;number&gt; -m &lt;filename&gt; -r &lt;filename&gt;\n\
+opttst --verbose\n";
+
+int main(unsigned int argc, char **argv) {
+
+  OptionParser options(title, examples);
+
+  try {
+
+    options.add(verbose);
+    options.add(help);
+    options.add(segid);
+    options.add(dof);
+    options.add(mask);
+    options.add(resid);
+
+    for(unsigned int a = options.parse_command_line(argc, argv); 
+	a &lt; argc; a++)
+      cout &lt;&lt; argv[a] &lt;&lt; endl;
+  
+    if(help.value() || 
+       !options.check_compulsory_arguments())
+      options.usage();
+
+    if(verbose.value()) {
+      cout &lt;&lt; "verbose = " &lt;&lt; verbose.value() &lt;&lt; endl;
+      cout &lt;&lt; "help = " &lt;&lt; help.value() &lt;&lt; endl;
+      cout &lt;&lt; "segid = " &lt;&lt; segid.value() &lt;&lt; endl;
+      cout &lt;&lt; "dof = " &lt;&lt; dof.value() &lt;&lt; endl;
+      cout &lt;&lt; "mask = " &lt;&lt; mask.value() &lt;&lt; endl;
+      cout &lt;&lt; "resid = " &lt;&lt; resid.value() &lt;&lt; endl;
+    }
+
+  } catch(X_OptionError&amp; e) {
+    options.usage();
+    cerr &lt;&lt; endl &lt;&lt; e.what() &lt;&lt; endl;
+  } catch(std::exception &amp;e) {
+    cerr &lt;&lt; e.what() &lt;&lt; endl;
+  }    
+}
+
+</pre>
+
+<p>  </p>
+<p><b>See also</b>: BaseOption, Option</p>
+<A NAME="OptionParser"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>OptionParser</underline> (const string&amp; p, const string&amp; e): progname_(p), example_(e)
+</strong></td></tr></table><p></p><A NAME="add"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>add</underline> (BaseOption&amp; o)
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>o</i></TD><TD align="left" valign="top">An option to be added to the parser
+    </TD></TR>
+</TABLE></P>
+<A NAME="usage"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>usage</underline> ()
+</strong></td></tr></table><p></p><A NAME="check_compulsory_arguments"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>check_compulsory_arguments</underline> (bool verbose=false)
+</strong></td></tr></table><p></p><p>
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>verbose</i></TD><TD align="left" valign="top">If set then this method will carp about any option which
+       is marked as compulsory but hasn't been set
+</TD></TR>
+</TABLE></P>
+<p><b>Returns</b>: true if all compulsory arguments have been set and false otherwise
+    </p>
+<A NAME="parse_command_line"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>unsigned int &nbsp;<underline>parse_command_line</underline> (unsigned int argc, char **argv)
+</strong></td></tr></table><p></p><p>
+       The parameters, argc and argv, should normally be those passed to
+       main via the command line shell.
+</p>
+<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
+<TR><TD align="left" valign="top"><i>argc</i></TD><TD align="left" valign="top">The argument count.
+</TD></TR>
+<TR><TD align="left" valign="top"><i>argv</i></TD><TD align="left" valign="top">The vector of argument strings.
+    </TD></TR>
+</TABLE></P>
+<A NAME="OptionParser"></A><A NAME="ref6"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> ~&nbsp;<underline>OptionParser</underline> ()
+</strong></td></tr></table><p> <small>[virtual]</small></p><A NAME="OptionParser"></A><A NAME="ref7"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>OptionParser</underline> ()
+</strong></td></tr></table><p> <small>[protected]</small></p><p>
+    </p>
+<HR><UL><LI><i>Version</i>: 1.0b, Nov., 2000.
+</LI><LI><i>Author</i>: Dave Flitney
+</LI><LI><i>Generated</i>: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</LI></UL></BODY></HTML>
diff --git a/api/Utilities__Time_Tracer.html b/api/Utilities__Time_Tracer.html
new file mode 100644
index 0000000..33aacb9
--- /dev/null
+++ b/api/Utilities__Time_Tracer.html
@@ -0,0 +1,62 @@
+<HTML>
+<HEAD>
+<TITLE>class Time_Tracer</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class Time_Tracer</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::Time_Tracer</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="time__tracer_h.html">time_tracer.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherited by</TH><TD><A HREF="Utilities__Tracer_Plus.html">Tracer_Plus</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__Time_Tracer.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">Time_Tracer</A></b> (char* str) 
+</LI>
+<LI>virtual  ~&nbsp;<b><A HREF="#ref2">Time_Tracer</A></b> () 
+</LI>
+</ul><h4>Public Static Methods</h4><ul><LI>static  void &nbsp;<b><A HREF="#ref3">dump_times</A></b> (const string&amp; dir) 
+</LI>
+<LI>static  void &nbsp;<b><A HREF="#ref4">setdebugon</A></b> () 
+</LI>
+<LI>static  void &nbsp;<b><A HREF="#ref5">settimingon</A></b> () 
+</LI>
+</ul><h4>Protected Members</h4><ul><LI>static bool <b><A HREF="#ref6">debug</A></b></LI>
+<LI>static bool <b><A HREF="#ref7">timingon</A></b></LI>
+<LI>static unsigned int <b><A HREF="#ref8">pad</A></b></LI>
+<LI>static set&lt;TimingFunction*, TimingFunction::comparer_name&gt; <b><A HREF="#ref9">timingFunctions</A></b></LI>
+<LI>string <b><A HREF="#ref10">tmp</A></b></LI>
+<LI>TimingFunction*<b><A HREF="#ref11">timingFunction</A></b></LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><A NAME="Time_Tracer"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>Time_Tracer</underline> (char* str)
+</strong></td></tr></table><p></p><A NAME="Time_Tracer"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> ~&nbsp;<underline>Time_Tracer</underline> ()
+</strong></td></tr></table><p> <small>[virtual]</small></p><A NAME="dump_times"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> void &nbsp;<underline>dump_times</underline> (const string&amp; dir)
+</strong></td></tr></table><p> <small>[static]</small></p><A NAME="setdebugon"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> void &nbsp;<underline>setdebugon</underline> ()
+</strong></td></tr></table><p> <small>[static]</small></p><A NAME="settimingon"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> void &nbsp;<underline>settimingon</underline> ()
+</strong></td></tr></table><p> <small>[static]</small></p><A NAME="debug"></A><A NAME="ref6"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>static bool  <underline>debug</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><A NAME="timingon"></A><A NAME="ref7"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>static bool  <underline>timingon</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><A NAME="pad"></A><A NAME="ref8"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>static unsigned int  <underline>pad</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><A NAME="timingFunctions"></A><A NAME="ref9"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>static set&lt;TimingFunction*, TimingFunction::comparer_name&gt;  <underline>timingFunctions</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><A NAME="tmp"></A><A NAME="ref10"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>string  <underline>tmp</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><A NAME="timingFunction"></A><A NAME="ref11"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>TimingFunction* <underline>timingFunction</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__TimingFunction.html b/api/Utilities__TimingFunction.html
new file mode 100644
index 0000000..e3df0fe
--- /dev/null
+++ b/api/Utilities__TimingFunction.html
@@ -0,0 +1,62 @@
+<HTML>
+<HEAD>
+<TITLE>class TimingFunction</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class TimingFunction</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::TimingFunction</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="time__tracer_h.html">time_tracer.h</A>&gt;</code></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__TimingFunction.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Types</h4><ul><LI>class <A HREF="Utilities__TimingFunction__comparer_name.html">comparer_name</A>
+</LI>
+<LI>class <A HREF="Utilities__TimingFunction__comparer_time_taken.html">comparer_time_taken</A>
+</LI>
+</ul><h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">TimingFunction</A></b> (const char * pstr): 	str(pstr), 	time_taken(0), 	times_called(0) 
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref4">start</A></b> () 
+</LI>
+<LI>void &nbsp;<b><A HREF="#ref5">end</A></b> () 
+</LI>
+<LI>friend ostream&amp; &nbsp;<b><A HREF="#ref8">operator&lt;&lt;</A></b> (ostream&amp; ostr, const TimingFunction* t) 
+</LI>
+</ul><h4>Public Members</h4><ul><LI>friend <b><A HREF="#ref6">comparer_name</A></b></LI>
+<LI>friend <b><A HREF="#ref7">comparer_time_taken</A></b></LI>
+</ul><h4>Protected Members</h4><ul><LI>const char*<b><A HREF="#ref9">str</A></b></LI>
+<LI>clock_t <b><A HREF="#ref10">time_taken</A></b></LI>
+<LI>int <b><A HREF="#ref11">times_called</A></b></LI>
+<LI>clock_t <b><A HREF="#ref12">start_time</A></b></LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><A NAME="TimingFunction"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>TimingFunction</underline> (const char * pstr): 	str(pstr), 	time_taken(0), 	times_called(0)
+</strong></td></tr></table><p></p><A NAME="Utilities__TimingFunction__comparer_name.html"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>comparer_name</underline> <small>(class)</small></strong></td></tr></table><p></p><A NAME="Utilities__TimingFunction__comparer_time_taken.html"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong><underline>comparer_time_taken</underline> <small>(class)</small></strong></td></tr></table><p></p><A NAME="start"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>start</underline> ()
+</strong></td></tr></table><p></p><A NAME="end"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>void &nbsp;<underline>end</underline> ()
+</strong></td></tr></table><p></p><A NAME="comparer_name"></A><A NAME="ref6"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>friend  <underline>comparer_name</underline>
+</strong></td></tr></table><p></p><A NAME="comparer_time_taken"></A><A NAME="ref7"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>friend  <underline>comparer_time_taken</underline>
+</strong></td></tr></table><p></p><A NAME="operator%253C%253C"></A><A NAME="ref8"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>friend ostream&amp; &nbsp;<underline>operator&lt;&lt;</underline> (ostream&amp; ostr, const TimingFunction* t)
+</strong></td></tr></table><p></p><A NAME="str"></A><A NAME="ref9"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>const char* <underline>str</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><A NAME="time_taken"></A><A NAME="ref10"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>clock_t  <underline>time_taken</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><A NAME="times_called"></A><A NAME="ref11"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>int  <underline>times_called</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><A NAME="start_time"></A><A NAME="ref12"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>clock_t  <underline>start_time</underline>
+</strong></td></tr></table><p> <small>[protected]</small></p><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__TimingFunction__comparer_name.html b/api/Utilities__TimingFunction__comparer_name.html
new file mode 100644
index 0000000..61bfa2f
--- /dev/null
+++ b/api/Utilities__TimingFunction__comparer_name.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<TITLE>class comparer_name</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class comparer_name</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::<A HREF="Utilities__TimingFunction.html">TimingFunction</A>::comparer_name</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="time__tracer_h.html">time_tracer.h</A>&gt;</code></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__TimingFunction__comparer_name.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>bool &nbsp;<b><A HREF="#ref1">operator()</A></b> (const TimingFunction* t1, const TimingFunction* t2)  const
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><A NAME="operator()"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>operator()</underline> (const TimingFunction* t1, const TimingFunction* t2)
+</strong></td></tr></table><p> <small>[const]</small></p><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__TimingFunction__comparer_time_taken.html b/api/Utilities__TimingFunction__comparer_time_taken.html
new file mode 100644
index 0000000..4b462cd
--- /dev/null
+++ b/api/Utilities__TimingFunction__comparer_time_taken.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<TITLE>class comparer_time_taken</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class comparer_time_taken</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::<A HREF="Utilities__TimingFunction.html">TimingFunction</A>::comparer_time_taken</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="time__tracer_h.html">time_tracer.h</A>&gt;</code></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__TimingFunction__comparer_time_taken.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>bool &nbsp;<b><A HREF="#ref1">operator()</A></b> (const TimingFunction* t1, const TimingFunction* t2)  const
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><A NAME="operator()"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>bool &nbsp;<underline>operator()</underline> (const TimingFunction* t1, const TimingFunction* t2)
+</strong></td></tr></table><p> <small>[const]</small></p><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__Tracer_Plus.html b/api/Utilities__Tracer_Plus.html
new file mode 100644
index 0000000..5aa6bea
--- /dev/null
+++ b/api/Utilities__Tracer_Plus.html
@@ -0,0 +1,41 @@
+<HTML>
+<HEAD>
+<TITLE>class Tracer_Plus</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class Tracer_Plus</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::Tracer_Plus</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="tracer__plus_h.html">tracer_plus.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD><A HREF="Utilities__Time_Tracer.html">Utilities::Time_Tracer</A>, Tracer</TD></TR>
+<TR><TH><A HREF="full-list-Utilities__Tracer_Plus.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">Tracer_Plus</A></b> (char* str) :  	Tracer(str), 	Time_Tracer(str) 
+</LI>
+<LI>virtual  ~&nbsp;<b><A HREF="#ref2">Tracer_Plus</A></b> () 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><A NAME="Tracer_Plus"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>Tracer_Plus</underline> (char* str) :  	Tracer(str), 	Time_Tracer(str)
+</strong></td></tr></table><p></p><A NAME="Tracer_Plus"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> ~&nbsp;<underline>Tracer_Plus</underline> ()
+</strong></td></tr></table><p> <small>[virtual]</small></p><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__X_AlreadySet.html b/api/Utilities__X_AlreadySet.html
new file mode 100644
index 0000000..e8e1227
--- /dev/null
+++ b/api/Utilities__X_AlreadySet.html
@@ -0,0 +1,45 @@
+<HTML>
+<HEAD>
+<TITLE>class X_AlreadySet</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_AlreadySet</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+    <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::X_AlreadySet</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD><A HREF="Utilities__X_OptionError.html">Utilities::X_OptionError</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__X_AlreadySet.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">X_AlreadySet</A></b> (const string&amp; s) throw():        str_(s+":already set!") 
+</LI>
+<LI>virtual  const char * &nbsp;<b><A HREF="#ref2">what</A></b> () const throw() 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+   </p>
+<A NAME="X_AlreadySet"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>X_AlreadySet</underline> (const string&amp; s) throw():        str_(s+":already set!")
+</strong></td></tr></table><p></p><A NAME="what"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> const char * &nbsp;<underline>what</underline> () const throw()
+</strong></td></tr></table><p> <small>[virtual]</small></p><p>Reimplemented from <A HREF="Utilities__X_OptionError.html">X_OptionError</A>.</p>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__X_InvalidArgument.html b/api/Utilities__X_InvalidArgument.html
new file mode 100644
index 0000000..e9328c5
--- /dev/null
+++ b/api/Utilities__X_InvalidArgument.html
@@ -0,0 +1,45 @@
+<HTML>
+<HEAD>
+<TITLE>class X_InvalidArgument</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_InvalidArgument</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+    <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::X_InvalidArgument</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD><A HREF="Utilities__X_OptionError.html">Utilities::X_OptionError</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__X_InvalidArgument.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">X_InvalidArgument</A></b> (const string&amp; o, const string&amp; v) throw():        str_(o+":invalid argument "+v+"!") 
+</LI>
+<LI>virtual  const char * &nbsp;<b><A HREF="#ref2">what</A></b> () const throw() 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+   </p>
+<A NAME="X_InvalidArgument"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>X_InvalidArgument</underline> (const string&amp; o, const string&amp; v) throw():        str_(o+":invalid argument "+v+"!")
+</strong></td></tr></table><p></p><A NAME="what"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> const char * &nbsp;<underline>what</underline> () const throw()
+</strong></td></tr></table><p> <small>[virtual]</small></p><p>Reimplemented from <A HREF="Utilities__X_OptionError.html">X_OptionError</A>.</p>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__X_MissingArgument.html b/api/Utilities__X_MissingArgument.html
new file mode 100644
index 0000000..861ed9d
--- /dev/null
+++ b/api/Utilities__X_MissingArgument.html
@@ -0,0 +1,48 @@
+<HTML>
+<HEAD>
+<TITLE>class X_MissingArgument</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_MissingArgument</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     If an option should have had an argument but didn't then throw this
+     exception. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::X_MissingArgument</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD><A HREF="Utilities__X_OptionError.html">Utilities::X_OptionError</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__X_MissingArgument.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">X_MissingArgument</A></b> (const string&amp; s) throw():        str_(s+":missing argument!") 
+</LI>
+<LI>virtual  const char * &nbsp;<b><A HREF="#ref2">what</A></b> () const throw() 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     If an option should have had an argument but didn't then throw this
+     exception.
+   </p>
+<A NAME="X_MissingArgument"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>X_MissingArgument</underline> (const string&amp; s) throw():        str_(s+":missing argument!")
+</strong></td></tr></table><p></p><A NAME="what"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> const char * &nbsp;<underline>what</underline> () const throw()
+</strong></td></tr></table><p> <small>[virtual]</small></p><p>Reimplemented from <A HREF="Utilities__X_OptionError.html">X_OptionError</A>.</p>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__X_OptionError.html b/api/Utilities__X_OptionError.html
new file mode 100644
index 0000000..b9e423d
--- /dev/null
+++ b/api/Utilities__X_OptionError.html
@@ -0,0 +1,46 @@
+<HTML>
+<HEAD>
+<TITLE>class X_OptionError</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_OptionError</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     Throw this exception if an error occured inside the Options package. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::X_OptionError</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD>std::exception</TD></TR>
+<TR><TH>Inherited by</TH><TD><A HREF="Utilities__X_AlreadySet.html">X_AlreadySet</A>, <A HREF="Utilities__X_InvalidArgument.html">X_InvalidArgument</A>, <A HREF="Utilities__X_MissingArgument.html">X_MissingArgument</A>, <A HREF="Utilities__X_UnknownOption.html">X_UnknownOption</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__X_OptionError.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">X_OptionError</A></b> () throw() 
+</LI>
+<LI>virtual  const char * &nbsp;<b><A HREF="#ref2">what</A></b> () const throw() 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     Throw this exception if an error occured inside the Options package.
+   </p>
+<A NAME="X_OptionError"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>X_OptionError</underline> () throw()
+</strong></td></tr></table><p></p><A NAME="what"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> const char * &nbsp;<underline>what</underline> () const throw()
+</strong></td></tr></table><p> <small>[virtual]</small></p><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/Utilities__X_UnknownOption.html b/api/Utilities__X_UnknownOption.html
new file mode 100644
index 0000000..1c3ac89
--- /dev/null
+++ b/api/Utilities__X_UnknownOption.html
@@ -0,0 +1,46 @@
+<HTML>
+<HEAD>
+<TITLE>class X_UnknownOption</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_UnknownOption</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1">
+     Throw this exception if no matching option was found during parsing. <small><A HREF="#longdesc">More...</A></small></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		<TR><TH>Full name</TH><TD><code><A HREF="Utilities.html">Utilities</A>::X_UnknownOption</code></TD></TR>
+<TR><TH>Definition</TH><TD><code>#include &lt;<A HREF="options_h.html">options.h</A>&gt;</code></TD></TR>
+<TR><TH>Inherits</TH><TD><A HREF="Utilities__X_OptionError.html">Utilities::X_OptionError</A></TD></TR>
+<TR><TH><A HREF="full-list-Utilities__X_UnknownOption.html">List of all Methods</A></TH></TR>
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<h4>Public Methods</h4><ul><LI>&nbsp;<b><A HREF="#ref1">X_UnknownOption</A></b> (const string&amp; s) throw():        str_(s+":unknown option!") 
+</LI>
+<LI>virtual  const char * &nbsp;<b><A HREF="#ref2">what</A></b> () const throw() 
+</LI>
+</ul><HR><A NAME="longdesc"><H2>Detailed Description</H2><p>
+     Throw this exception if no matching option was found during parsing.
+   </p>
+<A NAME="X_UnknownOption"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong>&nbsp;<underline>X_UnknownOption</underline> (const string&amp; s) throw():        str_(s+":unknown option!")
+</strong></td></tr></table><p></p><A NAME="what"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td><strong> const char * &nbsp;<underline>what</underline> () const throw()
+</strong></td></tr></table><p> <small>[virtual]</small></p><p>Reimplemented from <A HREF="Utilities__X_OptionError.html">X_OptionError</A>.</p>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/all-globals.html b/api/all-globals.html
new file mode 100644
index 0000000..457bed0
--- /dev/null
+++ b/api/all-globals.html
@@ -0,0 +1,32 @@
+<HTML>
+<HEAD>
+<TITLE> Globals</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1> Globals</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities.html b/api/full-list-Utilities.html
new file mode 100644
index 0000000..62d25ab
--- /dev/null
+++ b/api/full-list-Utilities.html
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+<TITLE>namespace Utilities: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>namespace Utilities: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>operator&lt;&lt; - tostring</TH></TR><TR ><TD><A HREF="Utilities.html#operator%25253C%25253C">Utilities::operator&lt;&lt;</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities.html#string_to_T">Utilities::string_to_T</A></TD></TR>
+<TR ><TD><A HREF="Utilities.html#tostring">Utilities::tostring</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__BaseOption.html b/api/full-list-Utilities__BaseOption.html
new file mode 100644
index 0000000..8c10012
--- /dev/null
+++ b/api/full-list-Utilities__BaseOption.html
@@ -0,0 +1,43 @@
+<HTML>
+<HEAD>
+<TITLE>class BaseOption: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class BaseOption: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>BaseOption - help_text</TH></TR><TR ><TD><A HREF="Utilities__BaseOption.html#BaseOption">Utilities::BaseOption::BaseOption</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption.html#compulsory">Utilities::BaseOption::compulsory</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption.html#has_arg">Utilities::BaseOption::has_arg</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption.html#help_text">Utilities::BaseOption::help_text</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>key - required</TH></TR><TR ><TD><A HREF="Utilities__BaseOption.html#key">Utilities::BaseOption::key</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption.html#matches">Utilities::BaseOption::matches</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption.html#optional">Utilities::BaseOption::optional</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption.html#required">Utilities::BaseOption::required</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>set - unset</TH></TR><TR ><TD><A HREF="Utilities__BaseOption.html#set">Utilities::BaseOption::set</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption.html#set_value">Utilities::BaseOption::set_value</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption.html#unset">Utilities::BaseOption::unset</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__BaseOption__Option.html b/api/full-list-Utilities__BaseOption__Option.html
new file mode 100644
index 0000000..bf90860
--- /dev/null
+++ b/api/full-list-Utilities__BaseOption__Option.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<TITLE>class Option: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class Option: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>Option - default_value</TH></TR><TR ><TD><A HREF="Utilities__BaseOption__Option.html#Option">Utilities::BaseOption::Option::Option</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption__Option.html#default_value">Utilities::BaseOption::Option::default_value</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>operator&lt;&lt; - value</TH></TR><TR ><TD><A HREF="Utilities__BaseOption.html#operator%25253C%25253C">Utilities::BaseOption::operator&lt;&lt;</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption__Option.html#set_value">Utilities::BaseOption::Option::set_value</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption__Option.html#value">Utilities::BaseOption::Option::value</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__BaseOption__OptionParser.html b/api/full-list-Utilities__BaseOption__OptionParser.html
new file mode 100644
index 0000000..7a3b8b8
--- /dev/null
+++ b/api/full-list-Utilities__BaseOption__OptionParser.html
@@ -0,0 +1,40 @@
+<HTML>
+<HEAD>
+<TITLE>class OptionParser: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class OptionParser: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>OptionParser - check_compulsory_arguments</TH></TR><TR ><TD><A HREF="Utilities__BaseOption__OptionParser.html#OptionParser">Utilities::BaseOption::OptionParser::OptionParser</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption__OptionParser.html#add">Utilities::BaseOption::OptionParser::add</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption__OptionParser.html#check_compulsory_arguments">Utilities::BaseOption::OptionParser::check_compulsory_arguments</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>find_matching_option - usage</TH></TR><TR ><TD><A HREF="Utilities__BaseOption__OptionParser.html#find_matching_option">Utilities::BaseOption::OptionParser::find_matching_option</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption__OptionParser.html#parse_command_line">Utilities::BaseOption::OptionParser::parse_command_line</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption__OptionParser.html#parse_long_option">Utilities::BaseOption::OptionParser::parse_long_option</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption__OptionParser.html#parse_option">Utilities::BaseOption::OptionParser::parse_option</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption__OptionParser.html#usage">Utilities::BaseOption::OptionParser::usage</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__BaseOption__X_AlreadySet.html b/api/full-list-Utilities__BaseOption__X_AlreadySet.html
new file mode 100644
index 0000000..c360aed
--- /dev/null
+++ b/api/full-list-Utilities__BaseOption__X_AlreadySet.html
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+<TITLE>class X_AlreadySet: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_AlreadySet: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_AlreadySet - what</TH></TR><TR ><TD><A HREF="Utilities__BaseOption__X_AlreadySet.html#X_AlreadySet">Utilities::BaseOption::X_AlreadySet::X_AlreadySet</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption__X_OptionError.html#X_OptionError">Utilities::BaseOption::X_OptionError::X_OptionError</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption__X_AlreadySet.html#what">Utilities::BaseOption::X_AlreadySet::what</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__BaseOption__X_InvalidArgument.html b/api/full-list-Utilities__BaseOption__X_InvalidArgument.html
new file mode 100644
index 0000000..cf31fa0
--- /dev/null
+++ b/api/full-list-Utilities__BaseOption__X_InvalidArgument.html
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+<TITLE>class X_InvalidArgument: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_InvalidArgument: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_InvalidArgument - what</TH></TR><TR ><TD><A HREF="Utilities__BaseOption__X_InvalidArgument.html#X_InvalidArgument">Utilities::BaseOption::X_InvalidArgument::X_InvalidArgument</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption__X_OptionError.html#X_OptionError">Utilities::BaseOption::X_OptionError::X_OptionError</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption__X_InvalidArgument.html#what">Utilities::BaseOption::X_InvalidArgument::what</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__BaseOption__X_MissingArgument.html b/api/full-list-Utilities__BaseOption__X_MissingArgument.html
new file mode 100644
index 0000000..c90def0
--- /dev/null
+++ b/api/full-list-Utilities__BaseOption__X_MissingArgument.html
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+<TITLE>class X_MissingArgument: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_MissingArgument: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_MissingArgument - what</TH></TR><TR ><TD><A HREF="Utilities__BaseOption__X_MissingArgument.html#X_MissingArgument">Utilities::BaseOption::X_MissingArgument::X_MissingArgument</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption__X_OptionError.html#X_OptionError">Utilities::BaseOption::X_OptionError::X_OptionError</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption__X_MissingArgument.html#what">Utilities::BaseOption::X_MissingArgument::what</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__BaseOption__X_OptionError.html b/api/full-list-Utilities__BaseOption__X_OptionError.html
new file mode 100644
index 0000000..19dce22
--- /dev/null
+++ b/api/full-list-Utilities__BaseOption__X_OptionError.html
@@ -0,0 +1,34 @@
+<HTML>
+<HEAD>
+<TITLE>class X_OptionError: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_OptionError: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_OptionError - what</TH></TR><TR ><TD><A HREF="Utilities__BaseOption__X_OptionError.html#X_OptionError">Utilities::BaseOption::X_OptionError::X_OptionError</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption__X_OptionError.html#what">Utilities::BaseOption::X_OptionError::what</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__BaseOption__X_UnknownOption.html b/api/full-list-Utilities__BaseOption__X_UnknownOption.html
new file mode 100644
index 0000000..4476764
--- /dev/null
+++ b/api/full-list-Utilities__BaseOption__X_UnknownOption.html
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+<TITLE>class X_UnknownOption: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_UnknownOption: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_OptionError - what</TH></TR><TR ><TD><A HREF="Utilities__BaseOption__X_OptionError.html#X_OptionError">Utilities::BaseOption::X_OptionError::X_OptionError</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption__X_UnknownOption.html#X_UnknownOption">Utilities::BaseOption::X_UnknownOption::X_UnknownOption</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption__X_UnknownOption.html#what">Utilities::BaseOption::X_UnknownOption::what</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:24:46 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__Log.html b/api/full-list-Utilities__Log.html
new file mode 100644
index 0000000..db3252a
--- /dev/null
+++ b/api/full-list-Utilities__Log.html
@@ -0,0 +1,43 @@
+<HTML>
+<HEAD>
+<TITLE>class Log: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class Log: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>Log - getDir</TH></TR><TR ><TD><A HREF="Utilities__Log.html#Log">Utilities::Log::Log</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Log.html#appendDir">Utilities::Log::appendDir</A></TD></TR>
+<TR ><TD><A HREF="Utilities__Log.html#counter">Utilities::Log::counter</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Log.html#getDir">Utilities::Log::getDir</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>getInstance - operator=</TH></TR><TR ><TD><A HREF="Utilities__Log.html#getInstance">Utilities::Log::getInstance</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Log.html#getLogFileName">Utilities::Log::getLogFileName</A></TD></TR>
+<TR ><TD><A HREF="Utilities__Log.html#makeDir">Utilities::Log::makeDir</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Log.html#operator=">Utilities::Log::operator=</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>out - str</TH></TR><TR ><TD><A HREF="Utilities__Log.html#out">Utilities::Log::out</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Log.html#setDir">Utilities::Log::setDir</A></TD></TR>
+<TR ><TD><A HREF="Utilities__Log.html#str">Utilities::Log::str</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__Option.html b/api/full-list-Utilities__Option.html
new file mode 100644
index 0000000..f850478
--- /dev/null
+++ b/api/full-list-Utilities__Option.html
@@ -0,0 +1,46 @@
+<HTML>
+<HEAD>
+<TITLE>class Option: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class Option: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>BaseOption - has_arg</TH></TR><TR ><TD><A HREF="Utilities__BaseOption.html#BaseOption">Utilities::BaseOption::BaseOption</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Option.html#Option">Utilities::Option::Option</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption.html#compulsory">Utilities::BaseOption::compulsory</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Option.html#default_value">Utilities::Option::default_value</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption.html#has_arg">Utilities::BaseOption::has_arg</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>help_text - required</TH></TR><TR ><TD><A HREF="Utilities__BaseOption.html#help_text">Utilities::BaseOption::help_text</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption.html#key">Utilities::BaseOption::key</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption.html#matches">Utilities::BaseOption::matches</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__BaseOption.html#optional">Utilities::BaseOption::optional</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption.html#required">Utilities::BaseOption::required</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>set - value</TH></TR><TR ><TD><A HREF="Utilities__BaseOption.html#set">Utilities::BaseOption::set</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Option.html#set_value">Utilities::Option::set_value</A></TD></TR>
+<TR ><TD><A HREF="Utilities__BaseOption.html#unset">Utilities::BaseOption::unset</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Option.html#value">Utilities::Option::value</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__OptionParser.html b/api/full-list-Utilities__OptionParser.html
new file mode 100644
index 0000000..a65ca08
--- /dev/null
+++ b/api/full-list-Utilities__OptionParser.html
@@ -0,0 +1,40 @@
+<HTML>
+<HEAD>
+<TITLE>class OptionParser: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class OptionParser: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>OptionParser - check_compulsory_arguments</TH></TR><TR ><TD><A HREF="Utilities__OptionParser.html#OptionParser">Utilities::OptionParser::OptionParser</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__OptionParser.html#add">Utilities::OptionParser::add</A></TD></TR>
+<TR ><TD><A HREF="Utilities__OptionParser.html#check_compulsory_arguments">Utilities::OptionParser::check_compulsory_arguments</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>find_matching_option - usage</TH></TR><TR ><TD><A HREF="Utilities__OptionParser.html#find_matching_option">Utilities::OptionParser::find_matching_option</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__OptionParser.html#parse_command_line">Utilities::OptionParser::parse_command_line</A></TD></TR>
+<TR ><TD><A HREF="Utilities__OptionParser.html#parse_long_option">Utilities::OptionParser::parse_long_option</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__OptionParser.html#parse_option">Utilities::OptionParser::parse_option</A></TD></TR>
+<TR ><TD><A HREF="Utilities__OptionParser.html#usage">Utilities::OptionParser::usage</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__Time_Tracer.html b/api/full-list-Utilities__Time_Tracer.html
new file mode 100644
index 0000000..5b37bb1
--- /dev/null
+++ b/api/full-list-Utilities__Time_Tracer.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<TITLE>class Time_Tracer: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class Time_Tracer: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>Time_Tracer - dump_times</TH></TR><TR ><TD><A HREF="Utilities__Time_Tracer.html#Time_Tracer">Utilities::Time_Tracer::Time_Tracer</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Time_Tracer.html#dump_times">Utilities::Time_Tracer::dump_times</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>operator= - settimingon</TH></TR><TR ><TD><A HREF="Utilities__Time_Tracer.html#operator=">Utilities::Time_Tracer::operator=</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Time_Tracer.html#setdebugon">Utilities::Time_Tracer::setdebugon</A></TD></TR>
+<TR ><TD><A HREF="Utilities__Time_Tracer.html#settimingon">Utilities::Time_Tracer::settimingon</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__TimingFunction.html b/api/full-list-Utilities__TimingFunction.html
new file mode 100644
index 0000000..ccb8cf6
--- /dev/null
+++ b/api/full-list-Utilities__TimingFunction.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<TITLE>class TimingFunction: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class TimingFunction: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>TimingFunction - end</TH></TR><TR ><TD><A HREF="Utilities__TimingFunction.html#TimingFunction">Utilities::TimingFunction::TimingFunction</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__TimingFunction.html#end">Utilities::TimingFunction::end</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>operator&lt;&lt; - start</TH></TR><TR ><TD><A HREF="Utilities__TimingFunction.html#operator%25253C%25253C">Utilities::TimingFunction::operator&lt;&lt;</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__TimingFunction.html#operator=">Utilities::TimingFunction::operator=</A></TD></TR>
+<TR ><TD><A HREF="Utilities__TimingFunction.html#start">Utilities::TimingFunction::start</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__TimingFunction__comparer_name.html b/api/full-list-Utilities__TimingFunction__comparer_name.html
new file mode 100644
index 0000000..12c8272
--- /dev/null
+++ b/api/full-list-Utilities__TimingFunction__comparer_name.html
@@ -0,0 +1,33 @@
+<HTML>
+<HEAD>
+<TITLE>class comparer_name: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class comparer_name: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>operator() - operator()</TH></TR><TR ><TD><A HREF="Utilities__TimingFunction__comparer_name.html#operator()">Utilities::TimingFunction::comparer_name::operator()</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__TimingFunction__comparer_time_taken.html b/api/full-list-Utilities__TimingFunction__comparer_time_taken.html
new file mode 100644
index 0000000..35830be
--- /dev/null
+++ b/api/full-list-Utilities__TimingFunction__comparer_time_taken.html
@@ -0,0 +1,33 @@
+<HTML>
+<HEAD>
+<TITLE>class comparer_time_taken: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class comparer_time_taken: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>operator() - operator()</TH></TR><TR ><TD><A HREF="Utilities__TimingFunction__comparer_time_taken.html#operator()">Utilities::TimingFunction::comparer_time_taken::operator()</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__Tracer_Plus.html b/api/full-list-Utilities__Tracer_Plus.html
new file mode 100644
index 0000000..dd3238e
--- /dev/null
+++ b/api/full-list-Utilities__Tracer_Plus.html
@@ -0,0 +1,38 @@
+<HTML>
+<HEAD>
+<TITLE>class Tracer_Plus: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class Tracer_Plus: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>Time_Tracer - Tracer_Plus</TH></TR><TR ><TD><A HREF="Utilities__Time_Tracer.html#Time_Tracer">Utilities::Time_Tracer::Time_Tracer</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Tracer_Plus.html#Tracer_Plus">Utilities::Tracer_Plus::Tracer_Plus</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>dump_times - settimingon</TH></TR><TR ><TD><A HREF="Utilities__Time_Tracer.html#dump_times">Utilities::Time_Tracer::dump_times</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Tracer_Plus.html#operator=">Utilities::Tracer_Plus::operator=</A></TD></TR>
+<TR ><TD><A HREF="Utilities__Time_Tracer.html#setdebugon">Utilities::Time_Tracer::setdebugon</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Time_Tracer.html#settimingon">Utilities::Time_Tracer::settimingon</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__X_AlreadySet.html b/api/full-list-Utilities__X_AlreadySet.html
new file mode 100644
index 0000000..1f03ab9
--- /dev/null
+++ b/api/full-list-Utilities__X_AlreadySet.html
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+<TITLE>class X_AlreadySet: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_AlreadySet: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_AlreadySet - what</TH></TR><TR ><TD><A HREF="Utilities__X_AlreadySet.html#X_AlreadySet">Utilities::X_AlreadySet::X_AlreadySet</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__X_OptionError.html#X_OptionError">Utilities::X_OptionError::X_OptionError</A></TD></TR>
+<TR ><TD><A HREF="Utilities__X_AlreadySet.html#what">Utilities::X_AlreadySet::what</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__X_InvalidArgument.html b/api/full-list-Utilities__X_InvalidArgument.html
new file mode 100644
index 0000000..624731a
--- /dev/null
+++ b/api/full-list-Utilities__X_InvalidArgument.html
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+<TITLE>class X_InvalidArgument: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_InvalidArgument: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_InvalidArgument - what</TH></TR><TR ><TD><A HREF="Utilities__X_InvalidArgument.html#X_InvalidArgument">Utilities::X_InvalidArgument::X_InvalidArgument</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__X_OptionError.html#X_OptionError">Utilities::X_OptionError::X_OptionError</A></TD></TR>
+<TR ><TD><A HREF="Utilities__X_InvalidArgument.html#what">Utilities::X_InvalidArgument::what</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__X_MissingArgument.html b/api/full-list-Utilities__X_MissingArgument.html
new file mode 100644
index 0000000..28fcb3a
--- /dev/null
+++ b/api/full-list-Utilities__X_MissingArgument.html
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+<TITLE>class X_MissingArgument: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_MissingArgument: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_MissingArgument - what</TH></TR><TR ><TD><A HREF="Utilities__X_MissingArgument.html#X_MissingArgument">Utilities::X_MissingArgument::X_MissingArgument</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__X_OptionError.html#X_OptionError">Utilities::X_OptionError::X_OptionError</A></TD></TR>
+<TR ><TD><A HREF="Utilities__X_MissingArgument.html#what">Utilities::X_MissingArgument::what</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__X_OptionError.html b/api/full-list-Utilities__X_OptionError.html
new file mode 100644
index 0000000..2ad95c6
--- /dev/null
+++ b/api/full-list-Utilities__X_OptionError.html
@@ -0,0 +1,34 @@
+<HTML>
+<HEAD>
+<TITLE>class X_OptionError: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_OptionError: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_OptionError - what</TH></TR><TR ><TD><A HREF="Utilities__X_OptionError.html#X_OptionError">Utilities::X_OptionError::X_OptionError</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__X_OptionError.html#what">Utilities::X_OptionError::what</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/full-list-Utilities__X_UnknownOption.html b/api/full-list-Utilities__X_UnknownOption.html
new file mode 100644
index 0000000..21c2d8a
--- /dev/null
+++ b/api/full-list-Utilities__X_UnknownOption.html
@@ -0,0 +1,35 @@
+<HTML>
+<HEAD>
+<TITLE>class X_UnknownOption: All methods</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>class X_UnknownOption: All methods</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_OptionError - what</TH></TR><TR ><TD><A HREF="Utilities__X_OptionError.html#X_OptionError">Utilities::X_OptionError::X_OptionError</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__X_UnknownOption.html#X_UnknownOption">Utilities::X_UnknownOption::X_UnknownOption</A></TD></TR>
+<TR ><TD><A HREF="Utilities__X_UnknownOption.html#what">Utilities::X_UnknownOption::what</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/header-list.html b/api/header-list.html
new file mode 100644
index 0000000..22e8bd5
--- /dev/null
+++ b/api/header-list.html
@@ -0,0 +1,37 @@
+<HTML>
+<HEAD>
+<TITLE> File Index</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1> File Index</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>Log.h - tracer_plus.h</TH></TR><TR ><TD><A HREF="Log_h.html">Log.h</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="options_h.html">options.h</A></TD></TR>
+<TR ><TD><A HREF="time__tracer_h.html">time_tracer.h</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="tracer__plus_h.html">tracer_plus.h</A></TD></TR>
+</TABLE></TD></TR></TABLE></UL>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/hier.html b/api/hier.html
new file mode 100644
index 0000000..9a17725
--- /dev/null
+++ b/api/hier.html
@@ -0,0 +1,58 @@
+<HTML>
+<HEAD>
+<TITLE> Class Hierarchy</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1> Class Hierarchy</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<UL><LI><i><A HREF="Utilities__BaseOption.html">Utilities::BaseOption</A></i> 
+<UL><LI><A HREF="Utilities__Option.html">Utilities::Option</A> 
+</UL></LI>
+<LI><A HREF="Utilities__Log.html">Utilities::Log</A> 
+<LI><A HREF="Utilities__OptionParser.html">Utilities::OptionParser</A> 
+<LI><A HREF="Utilities__Time_Tracer.html">Utilities::Time_Tracer</A> 
+<UL><LI><A HREF="Utilities__Tracer_Plus.html">Utilities::Tracer_Plus</A> 
+</UL></LI>
+<LI><A HREF="Utilities__TimingFunction.html">Utilities::TimingFunction</A> 
+<LI><A HREF="Utilities__Tracer_Plus.html">Utilities::Tracer_Plus</A> 
+<LI><A HREF="Utilities.html">Utilities</A> 
+<LI><A HREF="Utilities__X_OptionError.html">Utilities::X_OptionError</A> 
+<UL><LI><A HREF="Utilities__X_AlreadySet.html">Utilities::X_AlreadySet</A> 
+<LI><A HREF="Utilities__X_InvalidArgument.html">Utilities::X_InvalidArgument</A> 
+<LI><A HREF="Utilities__X_MissingArgument.html">Utilities::X_MissingArgument</A> 
+<LI><A HREF="Utilities__X_UnknownOption.html">Utilities::X_UnknownOption</A> 
+</UL></LI>
+<LI><A HREF="Utilities__X_OptionError.html">Utilities::X_OptionError</A> 
+<UL><LI><A HREF="Utilities__X_AlreadySet.html">Utilities::X_AlreadySet</A> 
+<LI><A HREF="Utilities__X_InvalidArgument.html">Utilities::X_InvalidArgument</A> 
+<LI><A HREF="Utilities__X_MissingArgument.html">Utilities::X_MissingArgument</A> 
+<LI><A HREF="Utilities__X_UnknownOption.html">Utilities::X_UnknownOption</A> 
+</UL></LI>
+<LI><A HREF="Utilities__TimingFunction__comparer_name.html">Utilities::TimingFunction::comparer_name</A> 
+<LI><A HREF="Utilities__TimingFunction__comparer_time_taken.html">Utilities::TimingFunction::comparer_time_taken</A> 
+</UL>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/index-long.html b/api/index-long.html
new file mode 100644
index 0000000..d8429d1
--- /dev/null
+++ b/api/index-long.html
@@ -0,0 +1,41 @@
+<HTML>
+<HEAD>
+<TITLE> Annotated List</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1> Annotated List</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER=\"0\"><TR ><TD><A HREF="Utilities.html">Utilities</A></TD><TD></TD></TR><TR bgcolor="#eeeeee"><TD><i><A HREF="Utilities__BaseOption.html">Utilities::BaseOption</A></i></TD><TD>
+     Provides behaviour common to all option types.</TD></TR><TR ><TD><A HREF="Utilities__Log.html">Utilities::Log</A></TD><TD></TD></TR><TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Option.html">Utilities::Option</A></TD><TD>
+     Template class adding type specific behaviour to BaseOption.</TD></TR><TR ><TD><A HREF="Utilities__OptionParser.html">Utilities::OptionParser</A></TD><TD>
+     A class for parsing command line arguments into Option objects.</TD></TR><TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Time_Tracer.html">Utilities::Time_Tracer</A></TD><TD></TD></TR><TR ><TD><A HREF="Utilities__TimingFunction.html">Utilities::TimingFunction</A></TD><TD></TD></TR><TR bgcolor="#eeeeee"><TD><A HREF="Utilities__TimingFunction__comparer_name.html">Utilities::TimingFunction::comparer_name</A></TD><TD></TD></TR><TR ><TD><A HREF="Utilities__TimingFunction__comparer_time_taken.html">Utilities::TimingFunction::comparer_time_taken</A></TD><TD></TD></TR><TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Tracer_Plus.html">Utilities::Tracer_Plus</A></TD><TD></TD></TR><TR ><TD><A HREF="Utilities__X_AlreadySet.html">Utilities::X_AlreadySet</A></TD><TD>
+   </TD></TR><TR bgcolor="#eeeeee"><TD><A HREF="Utilities__X_InvalidArgument.html">Utilities::X_InvalidArgument</A></TD><TD>
+   </TD></TR><TR ><TD><A HREF="Utilities__X_MissingArgument.html">Utilities::X_MissingArgument</A></TD><TD>
+     If an option should have had an argument but didn't then throw this
+     exception.</TD></TR><TR bgcolor="#eeeeee"><TD><A HREF="Utilities__X_OptionError.html">Utilities::X_OptionError</A></TD><TD>
+     Throw this exception if an error occured inside the Options package.</TD></TR><TR ><TD><A HREF="Utilities__X_UnknownOption.html">Utilities::X_UnknownOption</A></TD><TD>
+     Throw this exception if no matching option was found during parsing.</TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/index.html b/api/index.html
new file mode 100644
index 0000000..252259a
--- /dev/null
+++ b/api/index.html
@@ -0,0 +1,47 @@
+<HTML>
+<HEAD>
+<TITLE> Class Index</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1> Class Index</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<TABLE WIDTH="100%" BORDER="0"><TR><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>Utilities - OptionParser</TH></TR><TR ><TD><A HREF="Utilities.html">Utilities</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><i><A HREF="Utilities__BaseOption.html">Utilities::BaseOption</A></i></TD></TR>
+<TR ><TD><A HREF="Utilities__Log.html">Utilities::Log</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__Option.html">Utilities::Option</A></TD></TR>
+<TR ><TD><A HREF="Utilities__OptionParser.html">Utilities::OptionParser</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>Time_Tracer - Tracer_Plus</TH></TR><TR ><TD><A HREF="Utilities__Time_Tracer.html">Utilities::Time_Tracer</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__TimingFunction.html">Utilities::TimingFunction</A></TD></TR>
+<TR ><TD><A HREF="Utilities__TimingFunction__comparer_name.html">Utilities::TimingFunction::comparer_name</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__TimingFunction__comparer_time_taken.html">Utilities::TimingFunction::comparer_time_taken</A></TD></TR>
+<TR ><TD><A HREF="Utilities__Tracer_Plus.html">Utilities::Tracer_Plus</A></TD></TR>
+</TABLE></TD><TD VALIGN="top"><TABLE BORDER="0"><TR bgcolor="b0b0b0"><TH>X_AlreadySet - X_UnknownOption</TH></TR><TR ><TD><A HREF="Utilities__X_AlreadySet.html">Utilities::X_AlreadySet</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__X_InvalidArgument.html">Utilities::X_InvalidArgument</A></TD></TR>
+<TR ><TD><A HREF="Utilities__X_MissingArgument.html">Utilities::X_MissingArgument</A></TD></TR>
+<TR bgcolor="#eeeeee"><TD><A HREF="Utilities__X_OptionError.html">Utilities::X_OptionError</A></TD></TR>
+<TR ><TD><A HREF="Utilities__X_UnknownOption.html">Utilities::X_UnknownOption</A></TD></TR>
+</TABLE></TD></TR></TABLE><HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/options_h.html b/api/options_h.html
new file mode 100644
index 0000000..423317b
--- /dev/null
+++ b/api/options_h.html
@@ -0,0 +1,403 @@
+<HTML>
+<HEAD>
+<TITLE>Source: options.h</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>Source: options.h</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<pre>
+// $Id$
+#if !defined(OPTIONS_H)
+#define OPTIONS_H
+
+#include &lt;stdexcept&gt;
+#include &lt;string&gt;
+#include &lt;vector&gt;
+
+#define POSIX_SOURCE 1
+
+namespace Utilities {
+
+  bool string_to_T(bool &amp;b, const string&amp; s); 
+  bool string_to_T(string&amp; d, const string&amp; s); 
+  bool string_to_T(int&amp; i, const string&amp; s); 
+  bool string_to_T(float&amp; v, const string&amp; s); 
+  
+  typedef enum argflag { 
+    no_argument = 0, requires_argument, optional_argument 
+  } ArgFlag;
+
+}
+
+namespace Utilities {
+
+  /**
+     Provides behaviour common to all option types. Actual options are
+     declared using the templated Option class. The 
+     OptionParser class can be used to parse command lines.
+     @see Option
+     @see OptionParser
+     @author Dave Flitney
+     @version 1.0b, Nov., 2000.
+  */
+  class BaseOption {
+  public:
+    /**
+       @param k comma seperated list of key aliases
+       @param ht the help text to be printed for this option
+       @param c if true then this option is compulsory
+       @param f one of no_argument, requires_argument, optional_argument
+       to indicate what arguments should be supplied
+    */
+    BaseOption(const string&amp; k, const string&amp; ht, bool c, ArgFlag f): 
+      key_(k), help_text_(ht), arg_flag_(f), 
+      unset_(true), compulsory_(c) {}
+
+    /**
+       @return true if the option is compulsory
+    */
+    bool compulsory() { return compulsory_; }
+    /**
+       @return true if the option requires an argument
+    */
+    bool required() { return arg_flag_ == requires_argument; }
+    /**
+       @return true if the option has an optional argument
+    */
+    bool optional() { return arg_flag_ == optional_argument; }
+    /**
+       @return true if the option has an argument at all
+    */
+    bool has_arg() { return arg_flag_ != no_argument; }
+    /**
+       @return true if the option has been set
+    */
+    bool set() { return !unset_; }
+    /**
+       @return true if the option remains unset
+    */
+    bool unset() { return unset_; }
+    /*
+      @param arg A command line argument to be compared against
+      the list of possible keys for this option.
+      @return True if a match is found.
+    */
+    bool matches(const string&amp; arg);
+    /*
+      @return This options key string.
+    */
+    const string&amp; key() const { return key_; }
+    /*
+      @return This options help text.
+    */
+    const string&amp; help_text() const { return help_text_; }
+
+    /*
+      @param Sets the value for this option. Is overridden in the type
+      specific template class Option.
+    */
+    virtual bool set_value(const string&amp; vs) = 0;
+
+    virtual ~BaseOption() {}
+
+  private:
+    string key_, help_text_;
+    ArgFlag arg_flag_;
+
+  protected:
+    bool unset_, compulsory_;
+  };
+
+  ostream&amp; operator&lt;&lt;(ostream &amp;os, const BaseOption&amp; o);
+
+
+  /**
+     Template class adding type specific behaviour to BaseOption. Define
+     one of these per program supported option.
+     @author Dave Flitney
+     @version 1.0b, Nov., 2000.
+     @see BaseOption
+  */
+  template&lt;class T&gt; class Option: public BaseOption {
+  public:
+    /** 
+	@param k Comma seperated list of key aliases
+	@param v Default value for this option
+	@param ht Help text to be printed when outputting usage
+	@param c If true then this option is compulsory
+	@param f This options argument requirements
+    */
+    Option(const string&amp; k, const T&amp; v, const string&amp; ht,
+	   bool c, ArgFlag f = no_argument): 
+      BaseOption(k, ht, c, f), default_(v), value_(v) {}
+
+
+    /** 
+	@param vs The value string which needs to be parsed to set
+	this options value. The overloaded function string_to_T must be defined
+	for type T.
+    */
+    bool set_value(const string&amp; vs) { 
+      if(string_to_T(value_, vs))
+	unset_ = false;
+      return !unset_;
+    }
+
+    /**
+       @return The options value.
+    */
+    const T&amp; value() { return value_; }
+    /** 
+	@return The options default value.
+    */
+    const T&amp; default_value() { return default_; }
+
+    virtual ~Option() {}
+
+  private:
+    Option() {}
+  
+    T default_, value_;
+  };
+
+  /**
+     Throw this exception if an error occured inside the Options package.
+   */
+  class X_OptionError: public std::exception {
+  public:
+    X_OptionError() throw() {};
+    virtual const char * what() const throw() {
+      return "There were errors parsing the command line!";   
+    }
+  };
+
+  /**
+     Throw this exception if no matching option was found during parsing.
+   */
+  class X_UnknownOption: public X_OptionError {
+  public:
+    X_UnknownOption(const string&amp; s) throw(): 
+      str_(s+":unknown option!") {};
+    virtual const char * what() const throw() {
+      return str_.c_str();
+    }
+
+  private:
+    string str_;
+  };
+
+  /**
+   */
+  class X_AlreadySet: public X_OptionError {
+  public:
+    X_AlreadySet(const string&amp; s) throw(): 
+      str_(s+":already set!") {};
+    virtual const char * what() const throw() {
+      return str_.c_str();
+    }
+
+  private:
+    string str_;
+  };
+
+  /**
+     If an option should have had an argument but didn't then throw this
+     exception.
+   */
+  class X_MissingArgument: public X_OptionError {
+  public:
+    X_MissingArgument(const string&amp; s) throw(): 
+      str_(s+":missing argument!") {};
+    virtual const char * what() const throw() {
+      return str_.c_str();
+    }
+
+  private:
+    string str_;
+  };
+
+  /**
+   */
+  class X_InvalidArgument: public X_OptionError {
+  public:
+    X_InvalidArgument(const string&amp; o, const string&amp; v) throw(): 
+      str_(o+":invalid argument "+v+"!") {};
+    virtual const char * what() const throw() {
+      return str_.c_str();
+    }
+
+  private:
+    string str_;
+  };
+
+  /**
+     A class for parsing command line arguments into Option objects. The 
+     following example demonstrates the principle:
+     @author Dave Flitney
+     @version 1.0b, Nov., 2000.
+     @see BaseOption
+     @see Option
+     &lt;pre&gt;
+#include "options.h"
+
+// $Id$ 
+
+using namespace Utilities;
+
+Option&lt;bool&gt; verbose(string("-V,--verbose"), false, 
+		     string("switch on diagnostic messages"), 
+		     false, BaseOption::no_argument);
+Option&lt;bool&gt; help(string("-h,--help"), false,
+		  string("display this message"),
+		  false, BaseOption::no_argument);
+Option&lt;float&gt; dof(string("-d,--dof"), 100.0,
+		  string("number of degrees of freedom"),
+		  true, BaseOption::requires_argument);
+Option&lt;string&gt; mask(string("-m,--mask"), string("mask"),
+		    string("brain mask volume"),
+		    true, BaseOption::requires_argument);
+Option&lt;string&gt; resid(string("-r,--res"), string("res4d"),
+		     string("4d `residual-of-fit' image"),
+		     true, BaseOption::requires_argument);
+Option&lt;int&gt; segid(string("-s,--shared-seg-id"), -1,
+		  "shared memory segment ID",
+		  false, BaseOption::requires_argument);
+
+string title = 
+"opttst (Version 1.0)\n\n\
+Copyright(c) 2000, University of Oxford\n\
+Dave Flitney";
+
+string examples =
+"opttst --dof=&lt;number&gt; --mask=&lt;filename&gt; --res=&lt;filename&gt;\n\
+opttst -d &lt;number&gt; -m &lt;filename&gt; -r &lt;filename&gt;\n\
+opttst --verbose\n";
+
+int main(unsigned int argc, char **argv) {
+
+  OptionParser options(title, examples);
+
+  try {
+
+    options.add(verbose);
+    options.add(help);
+    options.add(segid);
+    options.add(dof);
+    options.add(mask);
+    options.add(resid);
+
+    for(unsigned int a = options.parse_command_line(argc, argv); 
+	a &lt; argc; a++)
+      cout &lt;&lt; argv[a] &lt;&lt; endl;
+  
+    if(help.value() || 
+       !options.check_compulsory_arguments())
+      options.usage();
+
+    if(verbose.value()) {
+      cout &lt;&lt; "verbose = " &lt;&lt; verbose.value() &lt;&lt; endl;
+      cout &lt;&lt; "help = " &lt;&lt; help.value() &lt;&lt; endl;
+      cout &lt;&lt; "segid = " &lt;&lt; segid.value() &lt;&lt; endl;
+      cout &lt;&lt; "dof = " &lt;&lt; dof.value() &lt;&lt; endl;
+      cout &lt;&lt; "mask = " &lt;&lt; mask.value() &lt;&lt; endl;
+      cout &lt;&lt; "resid = " &lt;&lt; resid.value() &lt;&lt; endl;
+    }
+
+  } catch(X_OptionError&amp; e) {
+    options.usage();
+    cerr &lt;&lt; endl &lt;&lt; e.what() &lt;&lt; endl;
+  } catch(std::exception &amp;e) {
+    cerr &lt;&lt; e.what() &lt;&lt; endl;
+  }    
+}
+     &lt;/pre&gt;
+  */
+  class OptionParser {
+  public:
+
+    OptionParser(const string&amp; p, const string&amp; e): progname_(p), example_(e) {}
+
+    /**
+       @param o An option to be added to the parser
+    */
+    void add(BaseOption&amp; o) { options_.push_back(&amp;o); }
+
+    void usage();
+    /**
+       @param verbose If set then this method will carp about any option which
+       is marked as compulsory but hasn't been set
+       @return true if all compulsory arguments have been set and false otherwise
+    */
+    bool check_compulsory_arguments(bool verbose=false);
+    /**
+       The parameters, argc and argv, should normally be those passed to
+       main via the command line shell.
+       @param argc The argument count.
+       @param argv The vector of argument strings.
+    */
+    unsigned int parse_command_line(unsigned int argc, char **argv);
+
+    virtual ~OptionParser() {}
+
+  protected:
+    /**
+    */
+    OptionParser() {}
+
+  private:
+    /**
+       @param optstr A string which should match one of the option strings
+       registered with the add method.
+       @return Pointer to the matching option or NULL if a match wasn't found.
+    */
+    BaseOption* find_matching_option(const string&amp; optstr);
+    /**
+       @param optstr A string which should match one of the option strings
+       registered with the add method.
+       @param valstr A string which can be used to set the options value
+       if applicable.
+       @return true on success.
+    */
+    unsigned int parse_option(const string&amp; optstr, const string&amp; valstr)
+      throw(X_AlreadySet, X_UnknownOption, 
+	    X_MissingArgument, X_InvalidArgument);
+    /**
+       @param str A string of the form --option[=value].
+       @return true on success.
+    */
+    unsigned int parse_long_option(const string&amp; str);
+
+    string progname_, example_;
+
+    typedef vector&lt;BaseOption *&gt; Options;
+    Options options_;
+  };
+
+}
+#endif
+</pre>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/time__tracer_h.html b/api/time__tracer_h.html
new file mode 100644
index 0000000..3bd2866
--- /dev/null
+++ b/api/time__tracer_h.html
@@ -0,0 +1,190 @@
+<HTML>
+<HEAD>
+<TITLE>Source: time_tracer.h</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>Source: time_tracer.h</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<pre>
+/*  Time_Tracer.h
+
+    Mark Woolrich, FMRIB Image Analysis Group
+
+    Copyright (C) 1999-2000 University of Oxford  */
+
+/*  CCOPYRIGHT  */
+
+#if !defined(Time_Tracer_h)
+#define Time_Tracer_h
+
+#include &lt;iostream&gt;
+#include &lt;fstream&gt;
+#include &lt;string&gt;
+#include &lt;time.h&gt;
+#include &lt;set&gt;
+
+namespace Utilities{
+
+  class TimingFunction
+    {
+    public:
+      TimingFunction(const char * pstr):
+	str(pstr),
+	time_taken(0),
+	times_called(0)
+	{}
+
+      class comparer_name
+	{
+	public:
+	  bool operator()(const TimingFunction* t1, const TimingFunction* t2) const
+	    {
+	      return strcmp(t1-&gt;str, t2-&gt;str) &lt; 0;
+	    }
+	};
+
+      class comparer_time_taken
+	{
+	public:
+	  bool operator()(const TimingFunction* t1, const TimingFunction* t2) const
+	    {
+	      return t1-&gt;time_taken &gt; t2-&gt;time_taken;
+	    }
+	};
+
+      void start() {start_time = clock();}
+      void end() {time_taken += clock()-start_time; times_called++;}
+
+      friend comparer_name;
+      friend comparer_time_taken;
+      friend ostream&amp; operator&lt;&lt;(ostream&amp; ostr, const TimingFunction* t);
+
+    protected:
+      const char* str;
+      clock_t time_taken;
+      int times_called;
+      clock_t start_time;
+
+    private:
+      TimingFunction();
+      const TimingFunction&amp; operator=(TimingFunction&amp;);
+      TimingFunction(TimingFunction&amp;);
+    };
+
+  inline ostream&amp; operator&lt;&lt;(ostream&amp; ostr, const TimingFunction* t)
+    {
+      ostr &lt;&lt; "&lt;tr&gt;&lt;td&gt;" &lt;&lt; t-&gt;str;
+      ostr.setf(0, ios::floatfield);
+      ostr &lt;&lt; "&lt;td align=center&gt;" &lt;&lt; float(t-&gt;time_taken)/CLOCKS_PER_SEC;
+      ostr.setf(ios::scientific, ios::floatfield);
+      ostr &lt;&lt;  "&lt;td align=center&gt;" &lt;&lt; t-&gt;times_called &lt;&lt;  "&lt;td align=center&gt;" &lt;&lt; (t-&gt;time_taken/float(t-&gt;times_called))/CLOCKS_PER_SEC;
+      ostr &lt;&lt; "&lt;/tr&gt;";
+      return ostr;
+    }
+
+  // Non Newmat Tracer:
+  class Time_Tracer
+    {
+    public:
+      Time_Tracer(char* str)
+	{		  
+	  if(debug)
+	    {
+	      tmp = "";
+	      pad++;
+	      for(unsigned int i = 0; i &lt; pad; i++)
+		tmp = tmp + "  ";
+	      
+	      cout &lt;&lt; tmp &lt;&lt; str &lt;&lt; endl; 
+	    }
+	  if(timingon)
+	    {
+	      // see if already in list:
+	      timingFunction = new TimingFunction(str);
+	      set&lt;TimingFunction*, TimingFunction::comparer_name&gt;::iterator it = timingFunctions.find(timingFunction);
+	      if(it== timingFunctions.end())
+		{		  
+		  timingFunctions.insert(timingFunction);
+		}
+	      else
+		{
+		  timingFunction = *it;
+		}
+		
+	      timingFunction-&gt;start();
+	    }
+	}
+	
+      virtual ~Time_Tracer() 
+	{ 
+	  if(debug &amp;&amp; pad &gt; 0) 
+	    {
+	      cout &lt;&lt; tmp &lt;&lt; "finished" &lt;&lt; endl;
+	      pad--;
+	    }
+	  if(timingon)
+	    {
+	      timingFunction-&gt;end();
+	    }
+	}
+
+      static void dump_times(const string&amp; dir)
+	{
+	  multiset&lt;TimingFunction*, TimingFunction::comparer_time_taken&gt; timingFunctionsByTimeTaken(timingFunctions.begin(), timingFunctions.end());
+	  
+	  ofstream out;
+	  out.open((dir + "/timings.html").c_str(), ios::out);	  
+	  out &lt;&lt; "&lt;HTML&gt;&lt;TITLE&gt;Tracer Timings&lt;/TITLE&gt;&lt;BODY&gt;&lt;table border=3 cellspacing=5&gt;" &lt;&lt; endl;
+	  out &lt;&lt; "&lt;tr&gt;&lt;td&gt;Function&lt;td align=center&gt;Total Time(secs)&lt;td align=center&gt;Num of calls&lt;td align=center&gt;Time per call(secs)&lt;/tr&gt;" &lt;&lt; endl;	  
+	  copy(timingFunctionsByTimeTaken.begin(), timingFunctionsByTimeTaken.end(), ostream_iterator&lt;TimingFunction*&gt;(out, "\n"));	
+	  out &lt;&lt; "&lt;/table&gt;&lt;/BODY&gt;&lt;/HTML&gt;" &lt;&lt; endl;
+	  out.close();
+	}
+
+      static void setdebugon() {debug = true;}
+      static void settimingon() {timingon = true;}
+
+    protected:
+      static bool debug;
+      static bool timingon;
+      static unsigned int pad;
+      static set&lt;TimingFunction*, TimingFunction::comparer_name&gt; timingFunctions;
+
+      string tmp;
+      TimingFunction* timingFunction;
+
+    private:
+      Time_Tracer();
+      const Time_Tracer&amp; operator=(Time_Tracer&amp;);
+      Time_Tracer(Time_Tracer&amp;);
+    };
+
+}
+#endif
+
+</pre>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/api/tracer__plus_h.html b/api/tracer__plus_h.html
new file mode 100644
index 0000000..1dfd958
--- /dev/null
+++ b/api/tracer__plus_h.html
@@ -0,0 +1,82 @@
+<HTML>
+<HEAD>
+<TITLE>Source: tracer_plus.h</TITLE>
+<META NAME="Generator" CONTENT="KDOC ">
+</HEAD>
+<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
+<TABLE WIDTH="100%" BORDER="0">
+<TR>
+<TD>
+	<TABLE BORDER="0">
+		<TR><TD valign="top" align="left" cellspacing="10">
+		<h1>Source: tracer_plus.h</h1>
+		</TD>
+		<TD valign="top" align="right" colspan="1"></TD></TR>
+	</TABLE>
+	<HR>
+	<TABLE BORDER="0">
+		
+	</TABLE>
+	</TD>
+<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</small></TD></TR>
+<TR><TD><small><A HREF="header-list.html">Files</small></TD></TR>
+<TR><TD><small><A HREF="all-globals.html">Globals</small></TD></TR>
+<TR><TD><small><A HREF="hier.html">Hierarchy</small></TD></TR>
+<TR><TD><small><A HREF="index.html">Index</small></TD></TR>
+</TABLE></TD></TR></TABLE>
+<pre>
+/*  Tracer_Plus.h
+
+    Mark Woolrich, FMRIB Image Analysis Group
+
+    Copyright (C) 1999-2000 University of Oxford  */
+
+/*  CCOPYRIGHT  */
+
+#if !defined(Tracer_Plus_h)
+#define Tracer_Plus_h
+
+#include &lt;iostream&gt;
+#include &lt;fstream&gt;
+#include &lt;string&gt;
+#include &lt;time.h&gt;
+#include &lt;set&gt;
+#include "newmatap.h"
+#include "newmatio.h"
+#include "time_tracer.h"
+
+using namespace NEWMAT;
+
+namespace Utilities {
+ 
+  // Newmat version:
+  class Tracer_Plus : public Tracer, public Time_Tracer
+    {
+    public:
+      Tracer_Plus(char* str) : 
+	Tracer(str),
+	Time_Tracer(str)
+	{		
+	}
+	
+      virtual ~Tracer_Plus() 
+	{ 
+	}
+
+    private:
+      Tracer_Plus();
+      const Tracer_Plus&amp; operator=(Tracer_Plus&amp;);
+      Tracer_Plus(Tracer_Plus&amp;);
+    };
+
+}
+
+#endif
+
+</pre>
+<HR>
+	<table>
+	<tr><td><small>Generated by: flitney@mace.fmrib.ox.ac.uk on Thu Feb 22 17:32:45 2001, using kdoc 2.0a36.</small></td></tr>
+	</table>
+</BODY>
+</HTML>
diff --git a/check.cc.phwt b/check.cc.phwt
new file mode 100644
index 0000000..4f30f0a
--- /dev/null
+++ b/check.cc.phwt
@@ -0,0 +1,33 @@
+#include "options.h"
+
+// $Id$
+
+namespace Utilities {
+
+  bool OptionParser::check_compulsory_arguments(bool verbose)
+  {
+    bool okay = true;
+
+    for(Options::iterator option = options_.begin();
+	option != options_.end();
+	option++) {
+    
+      if((*option)->compulsory() && (*option)->unset()) {
+	if(okay) {
+	  if(verbose) {
+	    cerr << "***************************************************" << endl;
+	    cerr << "The following COMPULSORY options have not been set:" << endl;
+	  }
+	  okay = false;
+	}
+	if(verbose)
+	  cerr << **option << endl;
+      }
+    }
+    if(!okay && verbose)
+      cerr << "***************************************************" << endl; 
+
+    return okay;
+  }
+
+}
diff --git a/refdoc/ObjectManual.def b/refdoc/ObjectManual.def
new file mode 100644
index 0000000..a7c1f99
--- /dev/null
+++ b/refdoc/ObjectManual.def
@@ -0,0 +1,236 @@
+# A Pound as a first character is used for declaring comments.
+! A Exclamation as a first character is used for declaring comments.
+
+# To use the definitions in this file, remove the # sign and
+# provide your definition assignment.
+
+# The following line informs ObjectManual that the 
+# C++ files are following the file extension of ".C". 
+# Usually this definition is not necessary. 
+
+#ObjectManualDefCPlusExt = .C
+
+# The following line informs ObjectManual about the directory
+# where the documentation i.e., html files will be generated. No
+# relative paths or environmental variables are allowed. The
+# last character of this provided directory should not be '/'.
+# Also create the directory as ObjectManual will not create 
+# this directory for you. Please make sure that the permissions
+# for this created directory are open for writing.
+
+ObjectManualDefWriteHtmlDir = /usr/local/fsl/src/utils/refdoc/html
+
+# The following line informs ObjectManual about the directory
+# where the documentation i.e., "man" pages (files) will be 
+# generated. No relative paths or environmental variables are
+# allowed. The last character of this provided directory should
+# not be '/'. Also create the directory before its use. Please
+# make sure that the permissions for this created directory are
+# are open for writing.
+
+#ObjectManualDefWriteManDir = /usr/local/fsl/src/utils/refdoc/man3
+
+# The following line informs ObjectManual about the directory
+# where the documentation i.e., "rtf" (Rich Text Format) files 
+# will be generated. No relative paths or environmental 
+# variables are allowed. The last character of this provided 
+# directory should not be '/'. Also create the directory 
+# before its use. Please make sure that the permissions for 
+# this created directory are are open for writing.
+
+#ObjectManualDefWriteRTFDir = /usr/local/fsl/src/utils/refdoc/rtf
+
+# The following line(s) can be defined to generate post
+# documentation. The information assigned will be generated in 
+# each HTML file that is generated. Multiple definitions of
+# ObjectManualGenerateAtEnd can be provided. Each definition
+# can handle data up to 512 characters.
+
+ObjectManualGenerateAtEnd = Copyright (C) 2000 University of Oxford, FMRIB Centre. 
+
+# The following line is used for generating a pre-processed file.
+# Avoid using this definition if the option used by your compiler
+# is a default or "-E"
+
+#ObjectManualDefGenerator = -E
+
+# The following line informs ObjectManual to suppress documentation 
+# generation for the class name provided. Regular
+# expressions can be used in assignment. Multiple definitions
+# of ObjectManualDefSuppressClass can be provided.
+
+#ObjectManualDefSuppressClass = *
+#ObjectManualDefSuppressClass = *str*
+#ObjectManualDefSuppressClass = *ios*
+
+# The following line informs ObjectManual to suppress documentation 
+# generation for classes contained in the mentioned directory.
+# Regular expressions can be used in assignment. Multiple definitions
+# of ObjectManualDefSuppressDirectoryClasses can be provided.
+
+#ObjectManualDefSuppressDirectoryClasses = /tmp
+
+# The following line informs ObjectManual to generate only those
+# classes that correspond to the assigned regular expression.
+# Classes that are suppressed are ignored, once this definition is
+# assigned with a regular expression. Multiple definitions of
+# ObjectManualDefGenerateOnly can be provied.
+
+ObjectManualDefGenerateOnly = BaseOption
+ObjectManualDefGenerateOnly = Option
+ObjectManualDefGenerateOnly = OptionParser
+ObjectManualDefGenerateOnly = X_OptionError
+ObjectManualDefGenerateOnly = X_UnknownOptions
+ObjectManualDefGenerateOnly = X_MissingArguments
+
+# The following definition allows ObjectManual to generate HTML
+# file names with the assigned prefix name. The default prefix
+# name in ObjectManual is ObjMan_. To generate file names with
+# no prefix, declare the definition with the assignment operator
+# and do not assign any value. i.e., ObjectManualDefFileNamePrefix =
+
+#ObjectManualDefFileNamePrefix = 
+
+# The following definition are applicable for special comments rule:
+# The following option defines that the class names are identified
+# in the source file via the following assignment.
+
+#ObjectManualDefClassName = ClassName 
+
+# The following definition are applicable for special comments rule:
+# The following option defines that the method names are identified
+# in the source file via the following assignment. However, a class
+# name should always precede a method name in special comments.
+
+#ObjectManualDefMethodName = MethodName
+
+# The following definition allows ObjectManual to generate 
+# text mixed with images. To generate text that has no images
+# assign value N to ObjectManualDefImages. The default behavior 
+# is to allow text with images.
+
+ObjectManualDefImages = N
+
+# To replace existing HTML documentation files or not. Possible 
+# values allowed are 'N' or 'Y'. If the value to this definition
+# is set to 'N', then ObjectManual will not overwrite the existing
+# HTML files.
+
+#ObjectManualDefScriptFileReplace = Y
+
+# To generate HTML files with a specific extension. By default the
+# generated documentation files are named with a suffix of ".html"
+# extension. If users would like to have a specific extension on 
+# their generated HTML files then assign this definition with the
+# specific extension name. e.g., ObjectManualDefHtmlExt = .htm
+
+#ObjectManualDefHtmlExt = .html
+
+# To generate Hypertext links for Super or Base classes set the
+# following definition. The default behaviour is to generate
+# links for Super or Base classes. Sometimes, directory structure
+# may tend to generate links which are not valid. In such cases
+# the link generation may be avoided. To generate a link assign
+# the value Y. To suppress link generation assign the value N.
+
+#ObjectManualDefSuperClassLink = Y
+
+# To generate Hypertext links for C++ Source files where the 
+# C++ class declaration was found. The default behaviour is to
+# generate link for source files.
+
+#ObjectManualDefSourceLink = Y
+
+# To generate graphical method tree. The default behaviour is to
+# generate APPLET tags that can be interpreted by the HTML browser.
+# For some reason, if this behaviour is not required then set
+# ObjectManualDefMethodTree with a value 'N'
+
+ObjectManualDefMethodTree = Y
+
+# The following definition allows the control to generate
+# dependency data of each class in an HTML file. The default
+# value is to generate dependency data, i.e., Y. If you don't
+# want dependency data generated in class's HTML file, then set
+# the following definition to N
+
+#ObjectManualDefGenerateDependencyData = Y
+
+# The following definition allows the customization of organization 
+# name. The organization name is generated as part of "man" pages. 
+# The length of the organization name should not be more than 512
+# characters.
+
+ObjectManualDefOrganizationName = Copyright (C) 2000 University of Oxford, FMRIB Centre. 
+
+# The following definition allows whether "man" pages should be
+# generated by ObjectManual or not. To suppress generation of "man"
+# pages altogether, assign the value 'N' to this definition. The
+# default behaviour is to generate "man" pages.
+
+ObjectManualDefGenerateManPages = N
+
+# The following definition allows the file extension number of
+# "man" pages. Only numeric values are allowed. Man pages generated
+# by ObjectManual have the file extension number of "3". If this
+# number needs to be changed then assign a numeric value to this
+# definition.
+
+#ObjectManualDefPageExtension = 3
+
+# The following definition allows method details to be generated
+# or not. By defaults, the method details information is generated.
+
+#ObjectManualDefGenerateMethodDetails = N
+
+# The following definition informs ObjectManual whether the
+# C++ files provided as an argument need to be compiled or not. By
+# default the C++ files are compiled. 
+
+ObjectManualDefCompile = N
+
+# The following definition informs ObjectManual whether the
+# class comments are to be pre-formatted or not. By default,
+# ObjectManual generates class comments using the paragraph HTML
+# tag. To use the "pre" HTML tag, use this definition.
+
+#ObjectManualDefPreFormatAllowed = N
+
+# The following definition informs ObjectManual that the C++
+# classes that belong to the directory need to be suppressed from
+# documentation generation. Multiple such assignments are allowed 
+# and also regular expressions are allowed. So to suppress 
+# C++ classes from /usr/include  and /opt, the following two
+# defintions will be provided.
+
+#ObjectManualDefSuppressDirectoryClasses = */usr/include/*
+#ObjectManualDefSuppressDirectoryClasses = */opt/*
+
+# The following definition informs ObjectManual that the RTF
+# files need to be generated or not as part of the documentation.
+
+ObjectManualDefRTF = N
+
+# The following definition allows you to choose between frames
+# and non-frames generated output. The default is to generated
+# framed output. By setting its value to N, non-framed output
+# will be generated.
+
+ObjectManualDefAllowFrames = Y
+
+# The following definition allows XML documents to be generated.
+# The option allows Y or N values. To turn off XML documents from
+# getting generated, assign the defintion an N value. The default
+# is to generate XML documents, i.e., a Y value.
+
+ObjectManualDefGenerateXMLPages = N
+
+# The following line informs ObjectManual about the directory
+# where the XML documentation files will be generated. No
+# relative paths or environmental variables are allowed. The
+# last character of this provided directory should not be '/'.
+# Also create the directory as ObjectManual will not create 
+# this directory for you. Please make sure that the permissions
+# for this created directory are open for writing.
+
+#ObjectManualDefWriteXMLDir = /tmp/Generated
-- 
GitLab