v2.0.0
Loading...
Searching...
No Matches
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 ~PwlRapMusic ()
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)
virtual ~RapMusic ()
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.

◆ ~PwlRapMusic()

PwlRapMusic::~PwlRapMusic ( )
virtual

Definition at line 74 of file pwlrapmusic.cpp.

Member Function Documentation

◆ calculateInverse() [1/3]

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

◆ calculateInverse() [2/3]

virtual MNELIB::MNESourceEstimate INVERSELIB::PwlRapMusic::calculateInverse ( const Eigen::MatrixXd & p_matMeasurement,
QList< DipolePair< double > > & p_RapDipoles ) const
virtual

Reimplemented from INVERSELIB::RapMusic.

◆ calculateInverse() [3/3]

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.

◆ 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.

◆ PowellIdxVec()

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

Definition at line 354 of file pwlrapmusic.cpp.

◆ PowellOffset()

int PwlRapMusic::PowellOffset ( int p_iRow,
int p_iNumPoints )
static

Definition at line 346 of file pwlrapmusic.cpp.


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