Newer
Older
/* MELODIC - Multivariate exploratory linear optimized decomposition into
independent components
melpca.h - PCA and whitening
Christian F. Beckmann, FMRIB Image Analysis Group
/* CCOPYRIGHT */
#ifndef __MELODICPCA_h
#define __MELODICPCA_h
#include "newimage/newimageall.h"
#include "utils/log.h"
#include "meloptions.h"
#include "meldata.h"
#include "melodic.h"
//#include "melreport.h"
#include "newmatap.h"
#include "newmatio.h"
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
57
58
using namespace Utilities;
using namespace NEWIMAGE;
namespace Melodic{
class MelodicReport;
class MelodicPCA
{
public:
MelodicPCA(MelodicData &pmelodat, MelodicOptions &popts, Log &plogger, MelodicReport &preport):
melodat(pmelodat),
opts(popts),
logger(plogger),
report(preport)
{
}
void perf_pca(const Matrix &Data);
void perf_white(const Matrix &Data);
private:
MelodicData &melodat;
MelodicOptions &opts;
Log &logger;
MelodicReport &report;
int pcadim();
RowVector cumsum(const RowVector& Inp);
Matrix ppca_est(const RowVector& eigenvalues, const int N);
RowVector Feta(int n1,int n2);
};
}
#endif