45#include <QSharedPointer>
51#define MNE_COV_CH_UNKNOWN -1
52#define MNE_COV_CH_MEG_MAG 0
53#define MNE_COV_CH_MEG_GRAD 1
54#define MNE_COV_CH_EEG 2
62 class FiffSparseMatrix;
91 typedef QSharedPointer<MNECovMatrix>
SPtr;
92 typedef QSharedPointer<const MNECovMatrix>
ConstSPtr;
120 std::unique_ptr<MNECovMatrix>
dup()
const;
135 const QStringList&
names,
136 const Eigen::VectorXd&
cov)
154 const QStringList&
names,
173 const QStringList&
names,
193 const QStringList&
names,
194 const Eigen::VectorXd&
cov,
209 static std::unique_ptr<MNECovMatrix> read(
const QString& name,
int kind);
238 int condition(
float rank_threshold,
int use_rank);
251 int decompose_eigen_small(
float p_small,
int use_rank);
260 int decompose_eigen();
272 static int lt_packed_index(
int j,
int k);
284 int classify_channels(
const QList<FIFFLIB::FiffChInfo>& chs,
int nchan);
297 int whiten_vector(Eigen::Ref<Eigen::VectorXf> data, Eigen::Ref<Eigen::VectorXf> whitened_data,
int nchan)
const;
306 void regularize(
const Eigen::Vector3f& regs);
313 void revert_to_diag();
327 std::unique_ptr<MNECovMatrix> pick_chs_omit(
const QStringList& new_names,
330 const QList<FIFFLIB::FiffChInfo>& chs)
const;
343 Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
eigen;
344 std::unique_ptr<MNEProjOp>
proj;
345 std::unique_ptr<MNESssData>
sss;
MNELIB shared-library export/import macros and library build metadata.
Core MNE data structures (source spaces, source estimates, hemispheres).
FIFF file I/O, in-memory data structures and high-level readers/writers.
Sparse FIFF matrix: CCS or RCS storage with the value / index / pointer triple as written by FiffStre...
Eigen::VectorXd inv_lambda
std::unique_ptr< FIFFLIB::FiffSparseMatrix > cov_sparse
static std::unique_ptr< MNECovMatrix > create_sparse(int kind, int ncov, const QStringList &names, FIFFLIB::FiffSparseMatrix *cov_sparse)
std::unique_ptr< MNEProjOp > proj
static std::unique_ptr< MNECovMatrix > create_diag(int kind, int ncov, const QStringList &names, const Eigen::VectorXd &cov_diag)
static std::unique_ptr< MNECovMatrix > create_dense(int kind, int ncov, const QStringList &names, const Eigen::VectorXd &cov)
QSharedPointer< const MNECovMatrix > ConstSPtr
std::unique_ptr< MNECovMatrix > dup() const
MNECovMatrix(int p_kind, int p_ncov, const QStringList &p_names, const Eigen::VectorXd &p_cov, const Eigen::VectorXd &p_cov_diag, FIFFLIB::FiffSparseMatrix *p_cov_sparse)
std::unique_ptr< MNESssData > sss
static std::unique_ptr< MNECovMatrix > create(int kind, int ncov, const QStringList &names, const Eigen::VectorXd &cov, const Eigen::VectorXd &cov_diag)
Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > eigen
QSharedPointer< MNECovMatrix > SPtr
Projection operator managing a set of linear projection items and the final compiled projector matrix...
Container for Signal Space Separation (SSS/Maxwell filtering) expansion coefficients and metadata.