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 {
60}
61
62namespace FSLIB {
63 class FsSurfaceSet;
64}
65
66namespace FIFFLIB {
67 class FiffInfo;
68}
69
70//=============================================================================================================
71// DEFINE NAMESPACE CONNECTIVITYLIB
72//=============================================================================================================
73
74namespace CONNECTIVITYLIB {
75
76//=============================================================================================================
77// CONNECTIVITYLIB FORWARD DECLARATIONS
78//=============================================================================================================
79
80//=============================================================================================================
97{
98
99public:
100 typedef QSharedPointer<ConnectivitySettings> SPtr;
101 typedef QSharedPointer<const ConnectivitySettings> ConstSPtr;
102
107 Eigen::MatrixXd matData;
108 Eigen::MatrixXd matPsd;
109 QVector<Eigen::MatrixXcd> vecTapSpectra;
110 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsd;
111 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsdNormalized;
112 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSign;
113 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagAbs;
114 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSqrd;
115 };
116
121 Eigen::MatrixXd matPsdSum;
122 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsdSum;
123 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsdNormalizedSum;
124 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSignSum;
125 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagAbsSum;
126 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSqrdSum;
127 };
128
129 //=========================================================================================================
133 explicit ConnectivitySettings();
134
135 void clearAllData();
136
138
139 void append(const QList<Eigen::MatrixXd>& matInputData);
140
141 void append(const Eigen::MatrixXd& matInputData);
142
144
145 const IntermediateTrialData& at(int i) const;
146
147 int size() const;
148
149 bool isEmpty() const;
150
151 void removeFirst(int iAmount = 1);
152
153 void removeLast(int iAmount = 1);
154
155 void setConnectivityMethods(const QStringList& sConnectivityMethods);
156
157 const QStringList& getConnectivityMethods() const;
158
159 void setSamplingFrequency(int iSFreq);
160
161 int getSamplingFrequency() const;
162
163 void setFFTSize(int iNfft);
164
165 int getFFTSize() const;
166
167 void setWindowType(const QString& sWindowType);
168
169 const QString& getWindowType() const;
170
172 const Eigen::RowVectorXi& picks);
173
174 void setNodePositions(const MNELIB::MNEForwardSolution& forwardSolution,
175 const FSLIB::FsSurfaceSet& surfSet);
176
177 void setNodePositions(const Eigen::MatrixX3f& matNodePositions);
178
179 const Eigen::MatrixX3f& getNodePositions() const;
180
181 QList<IntermediateTrialData>& getTrialData();
182
184
185protected:
188
189 float m_fSFreq;
192
193 Eigen::MatrixX3f m_matNodePositions;
194
196 QList<IntermediateTrialData> m_trialData;
197};
198
199//=============================================================================================================
200// INLINE DEFINITIONS
201//=============================================================================================================
202} // namespace CONNECTIVITYLIB
203
204#ifndef metatype_connectivitysettings
205#define metatype_connectivitysettings
207#endif
208
209#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::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
Full FIFF measurement info: per-channel descriptors, sampling and filter setup, projectors,...
Definition fiff_info.h:88
Container holding the lh and/or rh FsSurface for one subject and one surface kind.
In-memory representation of an -fwd.fif forward solution.