v2.0.0
Loading...
Searching...
No Matches
MNELIB::MNEProjItem Class Reference

A single SSP (Signal-Space Projection) item. More...

#include <mne_proj_item.h>

Public Types

typedef QSharedPointer< MNEProjItemSPtr
typedef QSharedPointer< const MNEProjItemConstSPtr

Public Member Functions

 MNEProjItem ()
 Default constructor.
 MNEProjItem (const MNEProjItem &other)
 Copy constructor.
MNEProjItemoperator= (const MNEProjItem &other)
 Copy assignment operator.
 MNEProjItem (MNEProjItem &&) noexcept=default
 Move constructor (defaulted).
MNEProjItemoperator= (MNEProjItem &&) noexcept=default
 Move assignment operator (defaulted).
 ~MNEProjItem ()
 Destructor.
int affect (const QStringList &list, int nlist) const
 Test whether this projection item affects any of the listed channels.

Public Attributes

std::unique_ptr< MNENamedMatrixvecs
int nvec
QString desc
int kind
int active
int active_file
int has_meg
int has_eeg

Detailed Description

A single SSP (Signal-Space Projection) item.

MNEProjItem holds one linear projection operator consisting of a set of projection vectors (stored as an MNENamedMatrix), together with metadata such as the projection kind, a human-readable description, and flags indicating whether the item is currently active and which channel types (MEG / EEG) it covers.

Projection items are aggregated by MNEProjOp to form the complete SSP operator that is applied during inverse computations and dipole fitting.

Definition at line 85 of file mne_proj_item.h.

Member Typedef Documentation

◆ ConstSPtr

typedef QSharedPointer<const MNEProjItem> MNELIB::MNEProjItem::ConstSPtr

Const shared pointer type for MNEProjItem.

Definition at line 89 of file mne_proj_item.h.

◆ SPtr

typedef QSharedPointer<MNEProjItem> MNELIB::MNEProjItem::SPtr

Shared pointer type for MNEProjItem.

Definition at line 88 of file mne_proj_item.h.

Constructor & Destructor Documentation

◆ MNEProjItem() [1/3]

MNEProjItem::MNEProjItem ( )

Default constructor.

Initialises all flags to their default values (active = true, kind = FIFFV_PROJ_ITEM_NONE, no MEG/EEG channels).

Definition at line 55 of file mne_proj_item.cpp.

◆ MNEProjItem() [2/3]

MNEProjItem::MNEProjItem ( const MNEProjItem & other)

Copy constructor.

Deep-copies the projection vectors (unique_ptr member).

Definition at line 67 of file mne_proj_item.cpp.

◆ MNEProjItem() [3/3]

MNELIB::MNEProjItem::MNEProjItem ( MNEProjItem && )
defaultnoexcept

Move constructor (defaulted).

◆ ~MNEProjItem()

MNEProjItem::~MNEProjItem ( )

Destructor.

Definition at line 98 of file mne_proj_item.cpp.

Member Function Documentation

◆ affect()

int MNEProjItem::affect ( const QStringList & list,
int nlist ) const

Test whether this projection item affects any of the listed channels.

Iterates over list and checks if any channel name matches a column in the projection vectors that contains at least one non-zero entry.

Parameters
[in]listChannel names to test against.
[in]nlistNumber of channel names in list.
Returns
true (non-zero) if this item affects at least one channel, false (0) otherwise.

Definition at line 104 of file mne_proj_item.cpp.

◆ operator=() [1/2]

MNEProjItem & MNEProjItem::operator= ( const MNEProjItem & other)

Copy assignment operator.

Deep-copies the projection vectors (unique_ptr member).

Definition at line 81 of file mne_proj_item.cpp.

◆ operator=() [2/2]

MNEProjItem & MNELIB::MNEProjItem::operator= ( MNEProjItem && )
defaultnoexcept

Move assignment operator (defaulted).

Member Data Documentation

◆ active

int MNELIB::MNEProjItem::active

Whether this item is currently active.

Definition at line 154 of file mne_proj_item.h.

◆ active_file

int MNELIB::MNEProjItem::active_file

Whether this item was active when loaded from file.

Definition at line 155 of file mne_proj_item.h.

◆ desc

QString MNELIB::MNEProjItem::desc

Human-readable description (e.g. "PCA-v1").

Definition at line 152 of file mne_proj_item.h.

◆ has_eeg

int MNELIB::MNEProjItem::has_eeg

Whether the projection covers EEG channels.

Definition at line 157 of file mne_proj_item.h.

◆ has_meg

int MNELIB::MNEProjItem::has_meg

Whether the projection covers MEG channels.

Definition at line 156 of file mne_proj_item.h.

◆ kind

int MNELIB::MNEProjItem::kind

FIFF projection item kind (FIFFV_PROJ_ITEM_*).

Definition at line 153 of file mne_proj_item.h.

◆ nvec

int MNELIB::MNEProjItem::nvec

Number of projection vectors (== vecs->nrow when vecs is set).

Definition at line 151 of file mne_proj_item.h.

◆ vecs

std::unique_ptr<MNENamedMatrix> MNELIB::MNEProjItem::vecs

Projection vectors (nrow = nvec, ncol = nch); may be nullptr when nvec == 0.

Definition at line 150 of file mne_proj_item.h.


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