Skip to content
Snippets Groups Projects
paradigm.h 1.38 KiB
/*  paradigm.h

    Mark Woolrich, FMRIB Image Analysis Group

    Copyright (C) 1999-2000 University of Oxford  */

/*  CCOPYRIGHT  */

#if !defined(__paradigm_h)
#define __paradigm_h

#include <iostream>
#include <fstream>
#include "newmatap.h"
#include "newmatio.h"
#include <string>

using namespace NEWMAT;
namespace FILM {
  
  class Paradigm
    {
    public:

      Paradigm() :
	designMatrix(),
	tcontrasts(0,0),
	fcontrasts(0,0)
	{}
 
      const Paradigm& operator=(Paradigm& par)
      {
	designMatrix = par.designMatrix;
	tcontrasts = par.tcontrasts;
	fcontrasts = par.fcontrasts;
	return *this;
      }
	
      Paradigm(Paradigm& par) { operator=(par); }

      // getters and setters:
      Matrix& getDesignMatrix() { return designMatrix; }
      void setDesignMatrix(const Matrix& pdesignMatrix) { designMatrix = pdesignMatrix; }

      Matrix& getTContrasts() { return tcontrasts; }
      Matrix& getFContrasts() { return fcontrasts; }
      //void setContrasts(const Matrix& pcontrasts) { contrasts = pcontrasts; }

      // useful functions:
      void load(const string& p_paradfname, const string& p_tcontrastfname, const string& p_contrastfname, bool p_blockdesign, int p_sizets);

      static void read_vest_waveform(string p_fname, Matrix& p_mat);

      ~Paradigm() {}
 
    private:
      
      Matrix designMatrix;
      Matrix tcontrasts;
      Matrix fcontrasts;
    };

}

#endif