/* ContrastMgr.h Mark Woolrich, FMRIB Image Analysis Group Copyright (C) 1999-2000 University of Oxford */ /* CCOPYRIGHT */ #if !defined(__ContrastMgr_h) #define __ContrastMgr_h #include <iostream> #include <fstream> #define WANT_STREAM #define WANT_MATH #include "newmatap.h" #include "newmatio.h" #include "paradigm.h" #include "newimage/newimageall.h" using namespace NEWMAT; using namespace MISCMATHS; namespace FILM { class ContrastMgr { public: ContrastMgr(); void run(); private: ContrastMgr(const ContrastMgr&); ContrastMgr& operator=(const ContrastMgr& p_ContrastMgr); protected: void Load(); void SaveFContrast(const string& suffix); void SaveTContrast(const string& suffix); void ComputeVarCope(); void ComputeCope(); void ComputeNeff(); void ComputeZStat(); void ComputeFStat(); const ColumnVector& GetVarCope() const {return varcb;} const ColumnVector& GetCope() const {return cb;} const ColumnVector& GetDof() const {return dof;} void SetTContrast(const int p_num, const int p_c_counter) { tc = parad.getTContrasts().Row(p_num).t(); c_counter = p_c_counter; contrast_num = p_num; } void SetFContrast(const int p_num, const int p_c_counter); void GetCorrection(Matrix& corr, const int ind); // Contrasts: ColumnVector tc; Matrix fc; int c_counter; int numParams; int num_Ccontrasts_in_Fcontrast; bool contrast_valid; int contrast_num; Paradigm parad; // Loaded data: Matrix corrections; Matrix b; ColumnVector dof; ColumnVector sigmaSquareds; // Calculated data: ColumnVector varcb; ColumnVector cb; ColumnVector neff; ColumnVector tstat; ColumnVector fstat; ColumnVector zstat; // Other: int numTS; NEWIMAGE::volumeinfo vinfo; NEWIMAGE::volume<float> mask; bool is_avw_corrections; }; } #endif