61 #include <QtCore/QCoreApplication>
87 int main(
int argc,
char *argv[])
89 QCoreApplication a(argc, argv);
100 QFile t_fileEvoked(
"./MNE-sample-data/MEG/sample/sample_audvis-ave.fif");
101 QFile t_fileInv(
"./MNE-sample-data/MEG/sample/sample_audvis-meg-eeg-oct-6-meg-eeg-inv.fif");
104 float lambda2 = pow(1.0f / snr, 2.0f);
121 for(qint32 setno = 0; setno < evokedSet.evoked.size(); ++setno)
123 printf(
">> Computing inverse for %s data set <<\n", evokedSet.evoked[setno].comment.toLatin1().constData());
128 nave = evokedSet.evoked[setno].nave;
136 evokedSet = newEvokedSet;
138 printf(
"Picked %d channels from the data\n",evokedSet.info.nchan);
139 printf(
"Computing inverse...");
147 SparseMatrix<double> reginv(inv.
reginv.rows(),inv.
reginv.rows());
151 for(i = 0; i < inv.
reginv.rows(); ++i)
152 reginv.insert(i,i) = inv.
reginv(i,0);
165 printf(
"(eigenleads already weighted)...");
173 printf(
"(eigenleads need to be weighted)...");
176 for(i = 0; i < inv.
source_cov->data.rows(); ++i)
177 sourceCov.insert(i,i) = sqrt(inv.
source_cov->data(i,0));
184 printf(
"combining the current components...");
185 MatrixXd sol1(sol.rows()/3,sol.cols());
186 for(i = 0; i < sol.cols(); ++i)
188 VectorXd* tmp = MNE::combine_xyz(sol.block(0,i,sol.rows(),1));
189 sol1.block(0,i,sol.rows()/3,1) = tmp->cwiseSqrt();
192 sol.resize(sol1.rows(),sol1.cols());
202 printf(
"(sLORETA)...");
208 float tmin = ((float)evokedSet.evoked[setno].first) / evokedSet.info.sfreq;
209 float tstep = 1/evokedSet.info.sfreq;
211 std::cout <<
"\npart ( block( 0, 0, 10, 10) ) of the inverse solution:\n" << sol.block(0,0,10,10) << std::endl;
212 printf(
"tmin = %f s\n", tmin);
213 printf(
"tstep = %f s\n", tstep);
FiffEvokedSet pick_channels(const QStringList &include=defaultQStringList, const QStringList &exclude=defaultQStringList) const
bool eigen_leads_weighted
FiffNamedMatrix::SDPtr eigen_fields
FiffCov::SDPtr source_cov
SparseMatrix< double > noisenorm
FiffNamedMatrix::SDPtr eigen_leads
MNEInverseOperator prepare_inverse_operator(qint32 nave, float lambda2, bool dSPM, bool sLORETA=false) const
FiffEvokedSet class declaration.