/* 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 "Volume.h" #include "paradigm.h" #include "miscmaths/miscmaths.h" using namespace NEWMAT; 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: VolumeSeries corrections; Matrix b; Volume dof; Volume sigmaSquareds; // Calculated data: Volume varcb; Volume cb; Volume neff; Volume tstat; Volume fstat; Volume zstat; // Other: int numTS; bool is_avw_corrections; }; } #endif