50 #include <QtCore/qmath.h>
52 #include <Eigen/Dense>
71 using namespace Eigen;
76 typedef std::complex<double> cplxd;
78 MatrixXd legendre(
int, VectorXd);
79 float plgndr(
int l,
int m,
float x);
80 double factorial(
int);
82 VectorXd hypot(VectorXd, VectorXd);
83 VectorXd atan2vec(VectorXd, VectorXd);
84 VectorXd find(MatrixXd,
int);
86 double stdev(VectorXd);
87 VectorXd eigen_LTE(VectorXd V,
double tol);
88 VectorXd eigen_LT_index(VectorXd V,
double tol);
89 VectorXd eigen_LT_index_test(
int);
90 VectorXd eigen_GT(VectorXd V,
double tol);
91 VectorXd eigen_AND(VectorXd V1, VectorXd V2);
100 MatrixXd buildLinearEqn();
104 MatrixXd getSSSRR(MatrixXd EqnB);
108 MatrixXd getSSSOLS(MatrixXd EqnB);
110 QList<MatrixXd> getLinEqn();
113 void setSSSParameter(QList<int>);
114 qint32 getNumMEGChan();
115 qint32 getNumMEGChanUsed();
116 qint32 getNumMEGBadChan();
117 VectorXi getBadChan();
120 void getCoilInfoVectorView();
121 void getCoilInfoVectorView4Sim();
122 void getCoilInfoBabyMEG4Sim();
123 QList<MatrixXd> getSSSEqn(qint32, qint32);
125 void getSSSBasis(VectorXd, VectorXd, VectorXd, qint32, qint32);
126 void getCartesianToSpherCoordinate(VectorXd, VectorXd, VectorXd);
127 void getSphereToCartesianVector();
128 int strmatch(
char,
char);
130 qint32 NumMEGChan, NumCoil, NumBadCoil;
132 QList<MatrixXd> CoilT;
133 QList<QString> CoilName, CoilTk;
134 QList<MatrixXd> CoilRk, CoilWk;
135 VectorXi CoilNk, CoilGrad;
136 VectorXd MEGIn, MEGOut, MEGNoise;
139 qint32 LInRR, LOutRR, LInOLS, LOutOLS;
141 MatrixXd BInX, BInY, BInZ, BOutX, BOutY, BOutZ;
142 MatrixXd EqnInRR, EqnOutRR, EqnIn, EqnOut, EqnARR, EqnA, EqnB;
144 VectorXd R, PHI, THETA;
145 VectorXd R_X, R_Y, R_Z;
146 VectorXd PHI_X, PHI_Y, PHI_Z;
147 VectorXd THETA_X, THETA_Y, THETA_Z;
152 #endif // RTSSSALGO_H
QSharedPointer< FiffInfo > SPtr
FiffInfo class declaration.
FIFF class declaration, which provides static wrapper functions to stay consistent with mne matlab to...