v2.0.0
Loading...
Searching...
No Matches
connectivitysettings.h
Go to the documentation of this file.
1//=============================================================================================================
30
31#ifndef CONNECTIVITYSETTINGS_H
32#define CONNECTIVITYSETTINGS_H
33
34//=============================================================================================================
35// INCLUDES
36//=============================================================================================================
37
38#include "connectivity_global.h"
39
40//=============================================================================================================
41// QT INCLUDES
42//=============================================================================================================
43
44#include <QSharedPointer>
45#include <QStringList>
46#include <QVector>
47
48//=============================================================================================================
49// EIGEN INCLUDES
50//=============================================================================================================
51
52#include <Eigen/Core>
53
54//=============================================================================================================
55// FORWARD DECLARATIONS
56//=============================================================================================================
57
58namespace MNELIB
59{
61}
62
63namespace FSLIB
64{
65class FsSurfaceSet;
66}
67
68namespace FIFFLIB
69{
70class FiffInfo;
71}
72
73//=============================================================================================================
74// DEFINE NAMESPACE CONNECTIVITYLIB
75//=============================================================================================================
76
77namespace CONNECTIVITYLIB
78{
79
80//=============================================================================================================
81// CONNECTIVITYLIB FORWARD DECLARATIONS
82//=============================================================================================================
83
84//=============================================================================================================
101{
102public:
103 typedef QSharedPointer<ConnectivitySettings> SPtr;
104 typedef QSharedPointer<const ConnectivitySettings> ConstSPtr;
105
110 {
111 Eigen::MatrixXd matData;
112 Eigen::MatrixXd matPsd;
113 QVector<Eigen::MatrixXcd> vecTapSpectra;
114 QVector<QPair<int, Eigen::MatrixXcd>> vecPairCsd;
115 QVector<QPair<int, Eigen::MatrixXcd>> vecPairCsdNormalized;
116 QVector<QPair<int, Eigen::MatrixXd>> vecPairCsdImagSign;
117 QVector<QPair<int, Eigen::MatrixXd>> vecPairCsdImagAbs;
118 QVector<QPair<int, Eigen::MatrixXd>> vecPairCsdImagSqrd;
119 };
120
125 {
126 Eigen::MatrixXd matPsdSum;
127 QVector<QPair<int, Eigen::MatrixXcd>> vecPairCsdSum;
128 QVector<QPair<int, Eigen::MatrixXcd>> vecPairCsdNormalizedSum;
129 QVector<QPair<int, Eigen::MatrixXd>> vecPairCsdImagSignSum;
130 QVector<QPair<int, Eigen::MatrixXd>> vecPairCsdImagAbsSum;
131 QVector<QPair<int, Eigen::MatrixXd>> vecPairCsdImagSqrdSum;
132 };
133
134 //=========================================================================================================
138 explicit ConnectivitySettings();
139
140 void clearAllData();
141
143
144 void append(const QList<Eigen::MatrixXd>& matInputData);
145
146 void append(const Eigen::MatrixXd& matInputData);
147
149
150 const IntermediateTrialData& at(int i) const;
151
152 int size() const;
153
154 bool isEmpty() const;
155
156 void removeFirst(int iAmount = 1);
157
158 void removeLast(int iAmount = 1);
159
160 void setConnectivityMethods(const QStringList& sConnectivityMethods);
161
162 const QStringList& getConnectivityMethods() const;
163
164 void setSamplingFrequency(int iSFreq);
165
166 int getSamplingFrequency() const;
167
168 void setFFTSize(int iNfft);
169
170 int getFFTSize() const;
171
172 void setWindowType(const QString& sWindowType);
173
174 const QString& getWindowType() const;
175
177 const Eigen::RowVectorXi& picks);
178
179 void setNodePositions(const MNELIB::MNEForwardSolution& forwardSolution,
180 const FSLIB::FsSurfaceSet& surfSet);
181
182 void setNodePositions(const Eigen::MatrixX3f& matNodePositions);
183
184 const Eigen::MatrixX3f& getNodePositions() const;
185
186 QList<IntermediateTrialData>& getTrialData();
187
189
190protected:
193
194 float m_fSFreq;
197
198 Eigen::MatrixX3f m_matNodePositions;
199
201 QList<IntermediateTrialData> m_trialData;
202};
203
204//=============================================================================================================
205// INLINE DEFINITIONS
206//=============================================================================================================
207} // namespace CONNECTIVITYLIB
208
209#ifndef metatype_connectivitysettings
210#define metatype_connectivitysettings
212#endif
213
214#endif // CONNECTIVITYSETTINGS_H
Q_DECLARE_METATYPE(Eigen::MatrixXf)
Export/import macros for the CONNECTIVITYLIB functional-connectivity library.
#define CONNECTIVITYSHARED_EXPORT
Functional connectivity metrics (coherence, PLV, cross-correlation, etc.).
Core MNE data structures (source spaces, source estimates, hemispheres).
FreeSurfer surface, annotation and parcellation I/O for mne-cpp.
FIFF file I/O, in-memory data structures and high-level readers/writers.
Aggregates trial data, spectral cache and node geometry shared by all CONNECTIVITYLIB metrics.
QList< IntermediateTrialData > & getTrialData()
void setConnectivityMethods(const QStringList &sConnectivityMethods)
void append(const Eigen::MatrixXd &matInputData)
const QStringList & getConnectivityMethods() const
const IntermediateTrialData & at(int i) const
void setWindowType(const QString &sWindowType)
QSharedPointer< ConnectivitySettings > SPtr
void setNodePositions(const FIFFLIB::FiffInfo &fiffInfo, const Eigen::RowVectorXi &picks)
void append(const QList< Eigen::MatrixXd > &matInputData)
void setNodePositions(const Eigen::MatrixX3f &matNodePositions)
QList< IntermediateTrialData > m_trialData
const Eigen::MatrixX3f & getNodePositions() const
QSharedPointer< const ConnectivitySettings > ConstSPtr
Per-trial intermediate frequency-domain data used during connectivity computation.
QVector< QPair< int, Eigen::MatrixXcd > > vecPairCsdNormalized
Accumulated cross-spectral and auto-spectral sums across trials for final metric normalization.
QVector< QPair< int, Eigen::MatrixXcd > > vecPairCsdNormalizedSum
QVector< QPair< int, Eigen::MatrixXcd > > vecPairCsdSum
QVector< QPair< int, Eigen::MatrixXd > > vecPairCsdImagSignSum
QVector< QPair< int, Eigen::MatrixXd > > vecPairCsdImagSqrdSum
QVector< QPair< int, Eigen::MatrixXd > > vecPairCsdImagAbsSum
Full FIFF measurement info: per-channel descriptors, sampling and filter setup, projectors,...
Definition fiff_info.h:90
Container holding the lh and/or rh FsSurface for one subject and one surface kind.
In-memory representation of an -fwd.fif forward solution.