MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
connectivitysettings.h
Go to the documentation of this file.
1//=============================================================================================================
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 {
64 class MNEForwardSolution;
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;
99 Eigen::MatrixXd matData;
100 Eigen::MatrixXd matPsd;
101 QVector<Eigen::MatrixXcd> vecTapSpectra;
102 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsd;
103 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsdNormalized;
104 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSign;
105 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagAbs;
106 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSqrd;
107 };
108
110 Eigen::MatrixXd matPsdSum;
111 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsdSum;
112 QVector<QPair<int,Eigen::MatrixXcd> > vecPairCsdNormalizedSum;
113 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSignSum;
114 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagAbsSum;
115 QVector<QPair<int,Eigen::MatrixXd> > vecPairCsdImagSqrdSum;
116 };
117
118 //=========================================================================================================
122 explicit ConnectivitySettings();
123
124 void clearAllData();
125
126 void clearIntermediateData();
127
128 void append(const QList<Eigen::MatrixXd>& matInputData);
129
130 void append(const Eigen::MatrixXd& matInputData);
131
132 void append(const ConnectivitySettings::IntermediateTrialData& inputData);
133
134 const IntermediateTrialData& at(int i) const;
135
136 int size() const;
137
138 bool isEmpty() const;
139
140 void removeFirst(int iAmount = 1);
141
142 void removeLast(int iAmount = 1);
143
144 void setConnectivityMethods(const QStringList& sConnectivityMethods);
145
146 const QStringList& getConnectivityMethods() const;
147
148 void setSamplingFrequency(int iSFreq);
149
150 int getSamplingFrequency() const;
151
152 void setFFTSize(int iNfft);
153
154 int getFFTSize() const;
155
156 void setWindowType(const QString& sWindowType);
157
158 const QString& getWindowType() const;
159
160 void setNodePositions(const FIFFLIB::FiffInfo& fiffInfo,
161 const Eigen::RowVectorXi& picks);
162
163 void setNodePositions(const MNELIB::MNEForwardSolution& forwardSolution,
164 const FSLIB::SurfaceSet& surfSet);
165
166 void setNodePositions(const Eigen::MatrixX3f& matNodePositions);
167
168 const Eigen::MatrixX3f& getNodePositions() const;
169
170 QList<IntermediateTrialData>& getTrialData();
171
172 IntermediateSumData& getIntermediateSumData();
173
174protected:
178 float m_fSFreq;
182 Eigen::MatrixX3f m_matNodePositions;
185 QList<IntermediateTrialData> m_trialData;
186};
187
188//=============================================================================================================
189// INLINE DEFINITIONS
190//=============================================================================================================
191} // namespace CONNECTIVITYLIB
192
193#ifndef metatype_connectivitysettings
194#define metatype_connectivitysettings
196#endif
197
198#endif // CONNECTIVITYSETTINGS_H
connectivity library export/import macros.
#define CONNECTIVITYSHARED_EXPORT
Q_DECLARE_METATYPE(Eigen::MatrixXf)
This class is a container for connectivity settings.
QSharedPointer< ConnectivitySettings > SPtr
QList< IntermediateTrialData > m_trialData
QSharedPointer< const ConnectivitySettings > ConstSPtr
FIFF measurement file information.
Definition fiff_info.h:85
A hemisphere set of surfaces.
Definition surfaceset.h:72