Newer
Older
/* t2z.h
Mark Woolrich & Mark Jenkinson, FMRIB Image Analysis Group
Copyright (C) 1999-2000 University of Oxford */
/* CCOPYRIGHT */
#if !defined(__t2z_h)
#define __t2z_h
#include <iostream>
#include <fstream>
#include "newmatap.h"
#include "newmatio.h"
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "base2z.h"
using namespace NEWMAT;
namespace MISCMATHS {
class T2z : public Base2z
{
public:
static T2z& getInstance();
~T2z() { delete t2z; }
float convert(float t, int dof);
float converttologp(float t, int dof);
static void ComputePs(const ColumnVector& p_vars, const ColumnVector& p_cbs, int p_dof, ColumnVector& p_ps);
static void ComputeZStats(const ColumnVector& p_vars, const ColumnVector& p_cbs, int p_dof, ColumnVector& p_zs);
static void ComputeZStats(const ColumnVector& p_vars, const ColumnVector& p_cbs, const ColumnVector& p_dof, ColumnVector& p_zs);
private:
T2z() : Base2z()
{}
const T2z& operator=(T2z&);
T2z(T2z&);
bool issmalllogp(float logp);
bool islarget(float t, int dof, float &logp);
float larget2logp(float t, int dof);
static T2z* t2z;
};
inline T2z& T2z::getInstance(){
if(t2z == NULL)
t2z = new T2z();
return *t2z;
}
class Z2t
{
public:
static Z2t& getInstance();
~Z2t() { delete z2t; }
float convert(float t, int dof);
private:
Z2t()
{}
const Z2t& operator=(Z2t&);
Z2t(Z2t&);
static Z2t* z2t;
};
inline Z2t& Z2t::getInstance(){
if(z2t == NULL)
z2t = new Z2t();
return *z2t;
}