BlockDesignHarness.cpp

Go to the documentation of this file.
00001 #include "indii/fmri/experimental/BlockDesignModel.hpp"
00002 
00003 #include <iostream>
00004 #include <fstream>
00005 
00006 using namespace std;
00007 using namespace indii::fmri::experimental;
00008 
00009 /**
00010  * @file BlockDesignHarness.cpp
00011  *
00012  * Basic test of BlockDesignModel.
00013  *
00014  * This test sets up a BlockDesignModel and simulates it through a set
00015  * period. Results are output to the files
00016  * <tt>results/BlockDesignHarness_activityfirst.out</tt> and
00017  * <tt>results/BlockDesignHarness_restfirst.out</tt>, tab delimited,
00018  * with columns representing:
00019  *
00020  * \li \f$t\f$; time
00021  * \li \f$f(t)\f$; the function value
00022  *
00023  * Results are as follows:
00024  *
00025  * \image html BlockDesignHarness_activityfirst.png "Results, activity first"
00026  * \image latex BlockDesignHarness_activityfirst.eps "Results, activity first"
00027  *
00028  * \image html BlockDesignHarness_restfirst.png "Results, rest first"
00029  * \image latex BlockDesignHarness_restfirst.eps "Results, rest first"
00030  */
00031 
00032 const unsigned int BLOCK_LENGTH = 10;
00033 const double REST_LEVEL = 0.0;
00034 const double ACTIVITY_LEVEL = 1.0;
00035 
00036 const double LENGTH = 60.0;
00037 const double STEP = 2.0;
00038 
00039 /**
00040  * Run tests.
00041  */
00042 int main(int argc, const char* argv[]) {
00043   BlockDesignModel restFirst(BLOCK_LENGTH, true, REST_LEVEL, ACTIVITY_LEVEL);
00044   BlockDesignModel activityFirst(BLOCK_LENGTH, false, REST_LEVEL,
00045       ACTIVITY_LEVEL);
00046   double t;
00047 
00048   ofstream fActivityFirst("results/BlockDesignHarness_activityfirst.out");
00049   ofstream fRestFirst("results/BlockDesignHarness_restfirst.out");
00050 
00051   for (t = 0.0; t <= LENGTH; t += STEP) {
00052     fActivityFirst << t << '\t' << activityFirst.evaluate(t, NULL) << endl;
00053     fRestFirst << t << '\t' << restFirst.evaluate(t, NULL) << endl;
00054   }
00055 
00056   fActivityFirst.close();
00057   fRestFirst.close();
00058 
00059   return 0;
00060 }

Generated on Mon Aug 13 19:50:53 2007 for fmrii Experimental Models Test Suite by  doxygen 1.5.2