MNE-CPP  0.1.9
A Framework for Electrophysiology
Public Member Functions | Static Public Member Functions | List of all members
INVERSELIB::PwlRapMusic Class Reference

The PwlRapMusic class provides the POWELL RAP MUSIC Algorithm CPU implementation. ToDo: Paper references. More...

#include <pwlrapmusic.h>

Public Member Functions

 PwlRapMusic ()
 
 PwlRapMusic (MNELIB::MNEForwardSolution &p_pFwd, bool p_bSparsed, int p_iN=2, double p_dThr=0.5)
 
virtual MNELIB::MNESourceEstimate calculateInverse (const FIFFLIB::FiffEvoked &p_fiffEvoked, bool pick_normal=false)
 
virtual MNELIB::MNESourceEstimate calculateInverse (const Eigen::MatrixXd &data, float tmin, float tstep) const
 
virtual MNELIB::MNESourceEstimate calculateInverse (const Eigen::MatrixXd &p_matMeasurement, QList< DipolePair< double > > &p_RapDipoles) const
 
virtual const char * getName () const
 
- Public Member Functions inherited from INVERSELIB::RapMusic
 RapMusic ()
 
 RapMusic (MNELIB::MNEForwardSolution &p_pFwd, bool p_bSparsed, int p_iN=2, double p_dThr=0.5)
 
bool init (MNELIB::MNEForwardSolution &p_pFwd, bool p_bSparsed=false, int p_iN=2, double p_dThr=0.5)
 
virtual MNELIB::MNESourceEstimate calculateInverse (const Eigen::MatrixXd &data, float tmin, float tstep, bool pick_normal=false) const
 
virtual const MNELIB::MNESourceSpacegetSourceSpace () const
 
void setStcAttr (int p_iSampStcWin, float p_fStcOverlap)
 
- Public Member Functions inherited from INVERSELIB::IInverseAlgorithm
virtual ~IInverseAlgorithm ()
 

Static Public Member Functions

static int PowellOffset (int p_iRow, int p_iNumPoints)
 
static void PowellIdxVec (int p_iRow, int p_iNumPoints, Eigen::VectorXi &p_pVecElements)
 

Additional Inherited Members

- Public Types inherited from INVERSELIB::RapMusic
typedef QSharedPointer< RapMusicSPtr
 
typedef QSharedPointer< const RapMusicConstSPtr
 
typedef Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixXT
 
typedef Eigen::Matrix< double, Eigen::Dynamic, 6 > MatrixX6T
 
typedef Eigen::Matrix< double, 6, Eigen::Dynamic > Matrix6XT
 
typedef Eigen::Matrix< double, 6, 6 > Matrix6T
 
typedef Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorXT
 
typedef Eigen::Matrix< double, 6, 1 > Vector6T
 
- Protected Member Functions inherited from INVERSELIB::RapMusic
int calcPhi_s (const MatrixXT &p_matMeasurement, MatrixXT *&p_pMatPhi_s) const
 
void calcOrthProj (const MatrixXT &p_matA_k_1, MatrixXT &p_matOrthProj) const
 
void calcPairCombinations (const int p_iNumPoints, const int p_iNumCombinations, Pair **p_ppPairIdxCombinations) const
 
- Static Protected Member Functions inherited from INVERSELIB::RapMusic
static double subcorr (MatrixX6T &p_matProj_G, const MatrixXT &p_pMatU_B)
 
static double subcorr (MatrixX6T &p_matProj_G, const MatrixXT &p_matU_B, Vector6T &p_vec_phi_k_1)
 
static void calcA_k_1 (const MatrixX6T &p_matG_k_1, const Vector6T &p_matPhi_k_1, const int p_iIdxk_1, MatrixXT &p_matA_k_1)
 
static void getPointPair (const int p_iPoints, const int p_iCurIdx, int &p_iIdx1, int &p_iIdx2)
 
static void getGainMatrixPair (const MatrixXT &p_matGainMarix, MatrixX6T &p_matGainMarix_Pair, int p_iIdx1, int p_iIdx2)
 
static void insertSource (int p_iDipoleIdx1, int p_iDipoleIdx2, const Vector6T &p_vec_phi_k_1, double p_valCor, QList< DipolePair< double > > &p_RapDipoles)
 
static int getRank (const MatrixXT &p_matSigma)
 
static int useFullRank (const MatrixXT &p_Mat, const MatrixXT &p_matSigma_src, MatrixXT &p_matFull_Rank, int type=NOT_TRANSPOSED)
 
static MatrixXT makeSquareMat (const MatrixXT &p_matF)
 
- Protected Attributes inherited from INVERSELIB::RapMusic
MNELIB::MNEForwardSolution m_ForwardSolution
 
int m_iN
 
double m_dThreshold
 
int m_iNumGridPoints
 
int m_iNumChannels
 
int m_iNumLeadFieldCombinations
 
Pair ** m_ppPairIdxCombinations
 
int m_iMaxNumThreads
 
bool m_bIsInit
 
int m_iSamplesStcWindow
 
float m_fStcOverlap
 

Detailed Description

The PwlRapMusic class provides the POWELL RAP MUSIC Algorithm CPU implementation. ToDo: Paper references.

ToDo Detailed description

Definition at line 82 of file pwlrapmusic.h.

Inheritance diagram for INVERSELIB::PwlRapMusic:
Inheritance graph

Constructor & Destructor Documentation

◆ PwlRapMusic() [1/2]

PwlRapMusic::PwlRapMusic ( )

Default constructor creates an empty POWELL RAP MUSIC algorithm which still needs to be initialized.

Definition at line 58 of file pwlrapmusic.cpp.

◆ PwlRapMusic() [2/2]

PwlRapMusic::PwlRapMusic ( MNELIB::MNEForwardSolution p_pFwd,
bool  p_bSparsed,
int  p_iN = 2,
double  p_dThr = 0.5 
)

Constructor which initializes the POWELL RAP MUSIC algorithm with the given model.

Parameters
[in]p_FwdThe model which contains the gain matrix and its corresponding grid matrix.
[in]p_bSparsedTrue when sparse matrices should be used.
[in]p_iNThe number (default 2) of uncorrelated sources, which should be found. Starting with. the strongest.
[in]p_dThrThe correlation threshold (default 0.5) at which the search for sources stops.

Definition at line 65 of file pwlrapmusic.cpp.

Member Function Documentation

◆ calculateInverse() [1/2]

MNESourceEstimate PwlRapMusic::calculateInverse ( const FIFFLIB::FiffEvoked p_fiffEvoked,
bool  pick_normal = false 
)
virtual

Note: Since they are virtual they have to be implemented to be called. Even so the base class RAP MUSIC implementation is called.

Parameters
[in]p_fiffEvoked.
[in]pick_normal.
Returns

Reimplemented from INVERSELIB::RapMusic.

Definition at line 87 of file pwlrapmusic.cpp.

◆ calculateInverse() [2/2]

virtual MNELIB::MNESourceEstimate INVERSELIB::PwlRapMusic::calculateInverse ( const Eigen::MatrixXd &  data,
float  tmin,
float  tstep 
) const
virtual

Note: Since they are virtual they have to be implemented to be called. Even so the base class RAP MUSIC implementation is called.

Parameters
[in]data.
[in]tmin.
[in]tstep.
Returns

◆ getName()

const char * PwlRapMusic::getName ( ) const
virtual

Returns the algorithm name

Returns
the algorithm name.

Reimplemented from INVERSELIB::RapMusic.

Definition at line 80 of file pwlrapmusic.cpp.


The documentation for this class was generated from the following files: