49#include <QCommandLineParser>
50#include <QElapsedTimer>
61using namespace CONNECTIVITYLIB;
62using namespace MNELIB;
64using namespace FIFFLIB;
76: m_fFreqResolution(1.0f)
78, m_sWindowType(
"hanning")
81 qRegisterMetaType<CONNECTIVITYLIB::ConnectivitySettings>(
"CONNECTIVITYLIB::ConnectivitySettings");
86void ConnectivitySettings::clearAllData()
90 clearIntermediateData();
95void ConnectivitySettings::clearIntermediateData()
117void ConnectivitySettings::append(
const QList<MatrixXd>& matInputData)
119 for(
int i = 0; i < matInputData.size(); ++i) {
120 this->append(matInputData.at(i));
126void ConnectivitySettings::append(
const MatrixXd& matInputData)
129 tempData.matData = matInputData;
150int ConnectivitySettings::size()
const
157bool ConnectivitySettings::isEmpty()
const
164void ConnectivitySettings::removeFirst(
int iAmount)
171 qDebug() <<
"ConnectivitySettings::removeFirst - No elements to delete. Returning.";
176 qDebug() <<
"ConnectivitySettings::removeFirst - Not enough elements stored in list in order to delete them. Returning.";
181 for (
int j = 0; j < iAmount; ++j) {
182 for (
int i = 0; i <
m_trialData.first().matData.rows(); ++i) {
215void ConnectivitySettings::removeLast(
int iAmount)
222 qDebug() <<
"ConnectivitySettings::removeLast - No elements to delete. Returning.";
227 qDebug() <<
"ConnectivitySettings::removeLast - Not enough elements stored in list in order to delete them. Returning.";
232 for (
int j = 0; j < iAmount; ++j) {
233 for (
int i = 0; i <
m_trialData.last().matData.rows(); ++i) {
266void ConnectivitySettings::setConnectivityMethods(
const QStringList& sConnectivityMethods)
273const QStringList& ConnectivitySettings::getConnectivityMethods()
const
280void ConnectivitySettings::setSamplingFrequency(
int iSFreq)
286 clearIntermediateData();
297int ConnectivitySettings::getSamplingFrequency()
const
304void ConnectivitySettings::setFFTSize(
int iNfft)
310 clearIntermediateData();
318int ConnectivitySettings::getFFTSize()
const
325void ConnectivitySettings::setWindowType(
const QString& sWindowType)
328 clearIntermediateData();
335const QString& ConnectivitySettings::getWindowType()
const
342void ConnectivitySettings::setNodePositions(
const FiffInfo& fiffInfo,
343 const RowVectorXi& picks)
348 for(
int i = 0; i < picks.cols(); ++i) {
349 kind = fiffInfo.
chs.at(i).kind;
350 if(kind == FIFFV_EEG_CH ||
351 kind == FIFFV_MEG_CH) {
364 MatrixX3f matNodeVertLeft, matNodeVertRight;
367 matNodeVertLeft.resize(forwardSolution.
src[0].cluster_info.centroidVertno.
size(),3);
368 for(
int j = 0; j < matNodeVertLeft.rows(); ++j) {
369 matNodeVertLeft.row(j) = surfSet[0].rr().row(forwardSolution.
src[0].cluster_info.centroidVertno.at(j)) - surfSet[0].offset().transpose();
372 matNodeVertRight.resize(forwardSolution.
src[1].cluster_info.centroidVertno.
size(),3);
373 for(
int j = 0; j < matNodeVertRight.rows(); ++j) {
374 matNodeVertRight.row(j) = surfSet[1].rr().row(forwardSolution.
src[1].cluster_info.centroidVertno.at(j)) - surfSet[1].offset().transpose();
377 matNodeVertLeft.resize(forwardSolution.
src[0].vertno.rows(),3);
378 for(
int j = 0; j < matNodeVertLeft.rows(); ++j) {
379 matNodeVertLeft.row(j) = surfSet[0].rr().row(forwardSolution.
src[0].vertno(j)) - surfSet[0].offset().transpose();
382 matNodeVertRight.resize(forwardSolution.
src[1].vertno.rows(),3);
383 for(
int j = 0; j < matNodeVertRight.rows(); ++j) {
384 matNodeVertRight.row(j) = surfSet[1].rr().row(forwardSolution.
src[1].vertno(j)) - surfSet[1].offset().transpose();
394void ConnectivitySettings::setNodePositions(
const MatrixX3f& matNodePositions)
401const MatrixX3f& ConnectivitySettings::getNodePositions()
const
408QList<ConnectivitySettings::IntermediateTrialData>& ConnectivitySettings::getTrialData()
FiffInfo class declaration.
ConnectivitySettings class declaration.
MNEForwardSolution class declaration, which provides the forward solution including the source space ...
SurfaceSet class declaration.
IntermediateSumData m_intermediateSumData
QStringList m_sConnectivityMethods
QList< IntermediateTrialData > m_trialData
Eigen::MatrixX3f m_matNodePositions
FIFF measurement file information.
A hemisphere set of surfaces.