-
Mark Jenkinson authoredMark Jenkinson authored
ContrastMgr.h 1.91 KiB
/* 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 "newmat/newmatap.h"
#include "newmat/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