Source-space inverse-solution container with dense grid plus optional focal-dipole, coupling and connectivity layers. More...
#include <inv_source_estimate.h>
Public Types | |
| typedef QSharedPointer< InvSourceEstimate > | SPtr |
| typedef QSharedPointer< const InvSourceEstimate > | ConstSPtr |
Public Member Functions | |
| InvSourceEstimate () | |
| InvSourceEstimate (const Eigen::MatrixXd &p_sol, const Eigen::VectorXi &p_vertices, float p_tmin, float p_tstep) | |
| InvSourceEstimate (const InvSourceEstimate &p_SourceEstimate) | |
| InvSourceEstimate (QIODevice &p_IODevice) | |
| void | clear () |
| InvSourceEstimate | reduce (qint32 start, qint32 n) |
| bool | write (QIODevice &p_IODevice) |
| bool | writeHemispherePair (const QString &sBasePath) |
| void | write_w (const QString &path) const |
| bool | isEmpty () const |
| InvSourceEstimate & | operator= (const InvSourceEstimate &rhs) |
| int | samples () const |
| Eigen::VectorXi | getIndicesByLabel (const QList< FSLIB::FsLabel > &lPickedLabels, bool bIsClustered) const |
| bool | hasGridData () const |
| bool | hasCouplings () const |
| bool | hasFocalDipoles () const |
| bool | hasPositions () const |
| bool | hasConnectivity () const |
Static Public Member Functions | |
| static bool | read (QIODevice &p_IODevice, InvSourceEstimate &p_stc) |
| static InvSourceEstimate | read_w (const QString &path) |
Public Attributes | |
| Eigen::MatrixXd | data |
| Eigen::VectorXi | vertices |
| Eigen::RowVectorXf | times |
| float | tmin |
| float | tstep |
| int | nVerticesLh |
| InvEstimateMethod | method |
| InvSourceSpaceType | sourceSpaceType |
| InvOrientationType | orientationType |
| Eigen::MatrixX3f | positions |
| std::vector< InvSourceCoupling > | couplings |
| std::vector< InvFocalDipole > | focalDipoles |
| std::vector< InvConnectivity > | connectivity |
Source-space inverse-solution container with dense grid plus optional focal-dipole, coupling and connectivity layers.
Central source-space container produced by every INVLIB inverse solver. Carries the dense (n_sources × n_times) data matrix plus vertex indices, time origin and step, and optional focal dipoles, coupling groups and connectivity layers so one value can represent the output of any algorithm in INVLIB. Replaces mneStcDataRec of MNE-C and implements round-trip STC / W binary I/O with mne-python and mne-c.
Definition at line 91 of file inv_source_estimate.h.

| typedef QSharedPointer<const InvSourceEstimate> INVLIB::InvSourceEstimate::ConstSPtr |
Const shared pointer type for InvSourceEstimate.
Definition at line 95 of file inv_source_estimate.h.
| typedef QSharedPointer<InvSourceEstimate> INVLIB::InvSourceEstimate::SPtr |
Shared pointer type for InvSourceEstimate.
Definition at line 94 of file inv_source_estimate.h.
| InvSourceEstimate::InvSourceEstimate | ( | ) |
Default constructor
Definition at line 50 of file inv_source_estimate.cpp.
| INVLIB::InvSourceEstimate::InvSourceEstimate | ( | const Eigen::MatrixXd & | p_sol, |
| const Eigen::VectorXi & | p_vertices, | ||
| float | p_tmin, | ||
| float | p_tstep ) |
Constructs a source estimation from given data
| [in] | p_sol | Source amplitudes (sources x time points). |
| [in] | p_vertices | Source space vertex numbers of the rows of p_sol. |
| [in] | p_tmin | Time of the first sample in seconds. |
| [in] | p_tstep | Time between samples in seconds. |
| InvSourceEstimate::InvSourceEstimate | ( | const InvSourceEstimate & | p_SourceEstimate | ) |
Copy constructor.
| [in] | p_SourceEstimate | Source estimate data which should be copied. |
Definition at line 77 of file inv_source_estimate.cpp.
| InvSourceEstimate::InvSourceEstimate | ( | QIODevice & | p_IODevice | ) |
Constructs a source estimation, by reading from a IO device.
| [in] | p_IODevice | IO device to read from the source estimation. |
Definition at line 96 of file inv_source_estimate.cpp.
| void InvSourceEstimate::clear | ( | ) |
Initializes source estimate.
Definition at line 111 of file inv_source_estimate.cpp.
| VectorXi InvSourceEstimate::getIndicesByLabel | ( | const QList< FSLIB::FsLabel > & | lPickedLabels, |
| bool | bIsClustered ) const |
Returns the indices of sources in the data matrix based on their beloning label.
| [in] | lPickedLabels | The labels base the selection on. |
| [in] | bIsClustered | Whether the source space was clustered. |
Definition at line 448 of file inv_source_estimate.cpp.
|
inline |
Returns true if the estimate contains connectivity results.
Definition at line 366 of file inv_source_estimate.h.
|
inline |
Returns true if the estimate contains source coupling annotations (e.g. RAP-MUSIC pairs/N-tuples).
Definition at line 345 of file inv_source_estimate.h.
|
inline |
Returns true if the estimate contains focal (off-grid) dipole results.
Definition at line 352 of file inv_source_estimate.h.
|
inline |
Returns true if the estimate contains grid-based data (distributed methods or RAP-MUSIC amplitudes).
Definition at line 338 of file inv_source_estimate.h.
|
inline |
Returns true if the estimate carries explicit source positions (discrete source space).
Definition at line 359 of file inv_source_estimate.h.
|
inline |
Returns whether SourceEstimate is empty.
Definition at line 331 of file inv_source_estimate.h.
| InvSourceEstimate & InvSourceEstimate::operator= | ( | const InvSourceEstimate & | rhs | ) |
Assignment Operator
| [in] | rhs | SourceEstimate which should be assigned. |
Definition at line 417 of file inv_source_estimate.cpp.
|
static |
mne_read_stc_file
Reads a source estimate from a given file
| [in] | p_IODevice | IO device to red the stc from. |
| [in,out] | p_stc | the read stc. |
Definition at line 156 of file inv_source_estimate.cpp.
|
static |
Read a .w file (single time-point source estimate).
The .w format stores vertex indices (3-byte big-endian) and float values (4-byte big-endian) for a single time point.
| [in] | path | Path to the .w file. |
Definition at line 320 of file inv_source_estimate.cpp.
| InvSourceEstimate InvSourceEstimate::reduce | ( | qint32 | start, |
| qint32 | n ) |
Reduces the source estimate to selected samples.
| [in] | start | The start index to cut the estimate from. |
| [in] | n | Number of samples to cut from start index. |
Definition at line 130 of file inv_source_estimate.cpp.
| int InvSourceEstimate::samples | ( | ) | const |
Returns the number of samples.
Definition at line 441 of file inv_source_estimate.cpp.
| bool InvSourceEstimate::write | ( | QIODevice & | p_IODevice | ) |
mne_write_stc_file
Writes a stc file
| [in] | p_IODevice | IO device to write the stc to. |
Definition at line 212 of file inv_source_estimate.cpp.
| void InvSourceEstimate::write_w | ( | const QString & | path | ) | const |
Write the first time point of this source estimate to a .w file.
| [in] | path | Path to the .w file to write. |
Definition at line 363 of file inv_source_estimate.cpp.
| bool InvSourceEstimate::writeHemispherePair | ( | const QString & | sBasePath | ) |
Write the estimate as an MNE-C / MNE-Python compatible hemisphere pair.
MNE-Python expects a surface source estimate to be stored as two files, "<base>-lh.stc" and "<base>-rh.stc", each containing only the vertices of its own hemisphere. This writes exactly that, splitting at nVerticesLh.
| [in] | sBasePath | Path without the "-lh.stc"/"-rh.stc" suffix. A trailing "-lh.stc", "-rh.stc" or ".stc" is stripped if present. |
Definition at line 258 of file inv_source_estimate.cpp.
| std::vector<InvConnectivity> INVLIB::InvSourceEstimate::connectivity |
Pairwise connectivity matrices between sources (one per metric / freq band).
Definition at line 277 of file inv_source_estimate.h.
| std::vector<InvSourceCoupling> INVLIB::InvSourceEstimate::couplings |
Correlated source groups overlaid on the grid.
Definition at line 271 of file inv_source_estimate.h.
| Eigen::MatrixXd INVLIB::InvSourceEstimate::data |
Matrix of shape [n_dipoles x n_times] which contains the data in source space.
Definition at line 255 of file inv_source_estimate.h.
| std::vector<InvFocalDipole> INVLIB::InvSourceEstimate::focalDipoles |
Off-grid focal dipoles (ECD results).
Definition at line 274 of file inv_source_estimate.h.
| InvEstimateMethod INVLIB::InvSourceEstimate::method |
The inverse method that produced this estimate.
Definition at line 263 of file inv_source_estimate.h.
| int INVLIB::InvSourceEstimate::nVerticesLh |
Number of leading entries in vertices/data that belong to the left hemisphere. -1 when unknown, which is the case for non surface source spaces.
Definition at line 260 of file inv_source_estimate.h.
| InvOrientationType INVLIB::InvSourceEstimate::orientationType |
Orientation constraint used (fixed, free, loose).
Definition at line 265 of file inv_source_estimate.h.
| Eigen::MatrixX3f INVLIB::InvSourceEstimate::positions |
3D positions (m) in head coordinates, one row per source. Empty when positions live in an external source space.
Definition at line 268 of file inv_source_estimate.h.
| InvSourceSpaceType INVLIB::InvSourceEstimate::sourceSpaceType |
Source space type (surface, volume, mixed, discrete).
Definition at line 264 of file inv_source_estimate.h.
| Eigen::RowVectorXf INVLIB::InvSourceEstimate::times |
The time vector with n_times steps.
Definition at line 257 of file inv_source_estimate.h.
| float INVLIB::InvSourceEstimate::tmin |
Time starting point.
Definition at line 258 of file inv_source_estimate.h.
| float INVLIB::InvSourceEstimate::tstep |
Time steps within the times vector.
Definition at line 259 of file inv_source_estimate.h.
| Eigen::VectorXi INVLIB::InvSourceEstimate::vertices |
The indices of the dipoles in the different source spaces. In the clustered case, holds the ROI indices.
Definition at line 256 of file inv_source_estimate.h.