273 bool t_bIsShort =
true;
274 out <<
"#### Fiff Covariance ####\n";
275 out <<
"\tKind: " << p_FiffCov.
kind << std::endl;
276 out <<
"\tdiag: " << p_FiffCov.
diag << std::endl;
277 out <<
"\tdim: " << p_FiffCov.
dim << std::endl;
278 out <<
"\tnames " << p_FiffCov.
names.size() <<
":\n\t";
282 qint32 nchan = p_FiffCov.
names.size() > 6 ? 6 : p_FiffCov.
names.size();
283 for(qint32 i = 0; i < nchan/2; ++i)
284 out << p_FiffCov.
names[i].toUtf8().constData() <<
" ";
286 for(qint32 i = p_FiffCov.
names.size() - nchan/2; i < p_FiffCov.
names.size(); ++i)
287 out << p_FiffCov.
names[i].toUtf8().constData() <<
" ";
291 out <<
"\tdata " << p_FiffCov.
data.rows() <<
" x " << p_FiffCov.
data.cols() <<
":\n\t";
294 qint32 nrows = p_FiffCov.
data.rows() > 6 ? 6 : p_FiffCov.
data.rows();
295 qint32 ncols = p_FiffCov.
data.cols() > 6 ? 6 : p_FiffCov.
data.cols();
296 for(qint32 i = 0; i < nrows/2; ++i)
298 for(qint32 j = 0; j < ncols/2; ++j)
299 out << p_FiffCov.
data(i,j) <<
" ";
301 for(qint32 j = p_FiffCov.
data.cols() - ncols/2; j < p_FiffCov.
data.cols(); ++j)
302 out << p_FiffCov.
data(i,j) <<
" ";
306 for(qint32 i = p_FiffCov.
data.rows()-nrows/2; i < p_FiffCov.
data.rows(); ++i)
308 for(qint32 j = 0; j < ncols/2; ++j)
309 out << p_FiffCov.
data(i,j) <<
" ";
311 for(qint32 j = p_FiffCov.
data.cols() - ncols/2; j < p_FiffCov.
data.cols(); ++j)
312 out << p_FiffCov.
data(i,j) <<
" ";
318 out <<
"\tprojectors " << p_FiffCov.
projs.size() <<
":\n";
319 for(qint32 i = 0; i < p_FiffCov.
projs.size(); ++i)
320 out <<
"\t" << p_FiffCov.
projs[i];
323 out <<
"\tbads " << p_FiffCov.
bads.size() <<
":\n\t";
324 for(qint32 i = 0; i < p_FiffCov.
bads.size(); ++i)
325 out << p_FiffCov.
bads[i].toUtf8().constData() <<
" ";
327 out <<
"\n\tfree: " << p_FiffCov.
nfree << std::endl;
329 out <<
"\teig " << p_FiffCov.
eig.size() <<
":\n\t";
332 qint32 nrows = p_FiffCov.
eig.size() > 6 ? 6 : p_FiffCov.
eig.size();
333 for(qint32 i = 0; i < nrows/2; ++i)
334 out << p_FiffCov.
eig[i] <<
" ";
336 for(qint32 i = p_FiffCov.
eig.size() - nrows/2; i < p_FiffCov.
eig.size(); ++i)
337 out << p_FiffCov.
eig[i] <<
" ";
341 out <<
"\n\teigvec " << p_FiffCov.
eigvec.rows() <<
" x " << p_FiffCov.
eigvec.cols() <<
":\n\t";
344 qint32 nrows = p_FiffCov.
eigvec.rows() > 6 ? 6 : p_FiffCov.
eigvec.rows();
345 qint32 ncols = p_FiffCov.
eigvec.cols() > 6 ? 6 : p_FiffCov.
eigvec.cols();
346 for(qint32 i = 0; i < nrows/2; ++i)
348 for(qint32 j = 0; j < ncols/2; ++j)
349 out << p_FiffCov.
eigvec(i,j) <<
" ";
351 for(qint32 j = p_FiffCov.
eigvec.cols() - ncols/2; j < p_FiffCov.
eigvec.cols(); ++j)
352 out << p_FiffCov.
eigvec(i,j) <<
" ";
356 for(qint32 i = p_FiffCov.
eigvec.rows() - nrows/2; i < p_FiffCov.
eigvec.rows(); ++i)
358 for(qint32 j = 0; j < ncols/2; ++j)
359 out << p_FiffCov.
eigvec(i,j) <<
" ";
361 for(qint32 j = p_FiffCov.
eigvec.cols() - ncols/2; j < p_FiffCov.
eigvec.cols(); ++j)
362 out << p_FiffCov.
eigvec(i,j) <<
" ";
FiffCov regularize(const FiffInfo &p_info, double p_fMag=0.1, double p_fGrad=0.1, double p_fEeg=0.1, bool p_bProj=true, QStringList p_exclude=defaultQStringList) const
static FiffCov compute_from_epochs(const FiffRawData &raw, const Eigen::MatrixXi &events, const QList< int > &eventCodes, float tmin, float tmax, float bmin=0.0f, float bmax=0.0f, bool doBaseline=false, bool removeMean=true, unsigned int ignoreMask=0, float delay=0.0f)