v2.0.0
Loading...
Searching...
No Matches
connectivitysettings.h
Go to the documentation of this file.
1//=============================================================================================================
35
36#ifndef CONNECTIVITYSETTINGS_H
37#define CONNECTIVITYSETTINGS_H
38
39//=============================================================================================================
40// INCLUDES
41//=============================================================================================================
42
43#include "connectivity_global.h"
44
45//=============================================================================================================
46// QT INCLUDES
47//=============================================================================================================
48
49#include <QSharedPointer>
50#include <QStringList>
51#include <QVector>
52
53//=============================================================================================================
54// EIGEN INCLUDES
55//=============================================================================================================
56
57#include <Eigen/Core>
58
59//=============================================================================================================
60// FORWARD DECLARATIONS
61//=============================================================================================================
62
63namespace MNELIB {
65}
66
67namespace FSLIB {
68 class SurfaceSet;
69}
70
71namespace FIFFLIB {
72 class FiffInfo;
73}
74
75//=============================================================================================================
76// DEFINE NAMESPACE CONNECTIVITYLIB
77//=============================================================================================================
78
79namespace CONNECTIVITYLIB {
80
81//=============================================================================================================
82// CONNECTIVITYLIB FORWARD DECLARATIONS
83//=============================================================================================================
84
85//=============================================================================================================
92{
93
94public:
95 typedef QSharedPointer<ConnectivitySettings> SPtr;
96 typedef QSharedPointer<const ConnectivitySettings> ConstSPtr;
97
102 Eigen::MatrixXd matData;
103 Eigen::MatrixXd matPsd;
104 QVector<Eigen::MatrixXcd> vecTapSpectra;
105 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsd;
106 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsdNormalized;
107 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSign;
108 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagAbs;
109 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSqrd;
110 };
111
116 Eigen::MatrixXd matPsdSum;
117 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsdSum;
118 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsdNormalizedSum;
119 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSignSum;
120 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagAbsSum;
121 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSqrdSum;
122 };
123
124 //=========================================================================================================
128 explicit ConnectivitySettings();
129
130 void clearAllData();
131
133
134 void append(const QList<Eigen::MatrixXd>& matInputData);
135
136 void append(const Eigen::MatrixXd& matInputData);
137
139
140 const IntermediateTrialData& at(int i) const;
141
142 int size() const;
143
144 bool isEmpty() const;
145
146 void removeFirst(int iAmount = 1);
147
148 void removeLast(int iAmount = 1);
149
150 void setConnectivityMethods(const QStringList& sConnectivityMethods);
151
152 const QStringList& getConnectivityMethods() const;
153
154 void setSamplingFrequency(int iSFreq);
155
156 int getSamplingFrequency() const;
157
158 void setFFTSize(int iNfft);
159
160 int getFFTSize() const;
161
162 void setWindowType(const QString& sWindowType);
163
164 const QString& getWindowType() const;
165
167 const Eigen::RowVectorXi& picks);
168
169 void setNodePositions(const MNELIB::MNEForwardSolution& forwardSolution,
170 const FSLIB::SurfaceSet& surfSet);
171
172 void setNodePositions(const Eigen::MatrixX3f& matNodePositions);
173
174 const Eigen::MatrixX3f& getNodePositions() const;
175
176 QList<IntermediateTrialData>& getTrialData();
177
179
180protected:
183
184 float m_fSFreq;
187
188 Eigen::MatrixX3f m_matNodePositions;
189
191 QList<IntermediateTrialData> m_trialData;
192};
193
194//=============================================================================================================
195// INLINE DEFINITIONS
196//=============================================================================================================
197} // namespace CONNECTIVITYLIB
198
199#ifndef metatype_connectivitysettings
200#define metatype_connectivitysettings
202#endif
203
204#endif // CONNECTIVITYSETTINGS_H
connectivity library export/import macros.
#define CONNECTIVITYSHARED_EXPORT
Q_DECLARE_METATYPE(Eigen::MatrixXf)
Functional connectivity metrics (coherence, PLV, cross-correlation, etc.).
Core MNE data structures (source spaces, source estimates, hemispheres).
FreeSurfer surface and annotation I/O.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
This class is a container for connectivity settings.
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::MatrixXd > > vecPairCsdImagAbsSum
QVector< QPair< int, Eigen::MatrixXd > > vecPairCsdImagSqrdSum
QVector< QPair< int, Eigen::MatrixXd > > vecPairCsdImagSignSum
QVector< QPair< int, Eigen::MatrixXcd > > vecPairCsdNormalizedSum
QVector< QPair< int, Eigen::MatrixXcd > > vecPairCsdSum
FIFF measurement file information.
Definition fiff_info.h:85
A hemisphere set of surfaces.
Definition surfaceset.h:72