v2.0.0
Loading...
Searching...
No Matches
mne_cluster_info.cpp
Go to the documentation of this file.
1//=============================================================================================================
18
19//=============================================================================================================
20// INCLUDES
21//=============================================================================================================
22
23#include "mne_cluster_info.h"
24
25//=============================================================================================================
26// QT INCLUDES
27//=============================================================================================================
28
29#include <QFile>
30#include <QTextStream>
31
32//=============================================================================================================
33// USED NAMESPACES
34//=============================================================================================================
35
36using namespace MNELIB;
37
38//=============================================================================================================
39// DEFINE MEMBER METHODS
40//=============================================================================================================
41
45
46//=============================================================================================================
47
49{
50 clusterLabelNames.clear();
51 clusterLabelIds.clear();
52 centroidVertno.clear();
53 centroidSource_rr.clear();
54 clusterVertnos.clear();
55 clusterSource_rr.clear();
56 clusterDistances.clear();
57}
58
59//=============================================================================================================
60
61void MNEClusterInfo::write(QString p_sFileName) const
62{
63 QFile file(p_sFileName);
64 if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
65 qDebug("Unable to open file.");
66 return;
67 }
68 QTextStream out(&file);
69 out << "MNE Cluster Info\n";
70
71 for(qint32 i = 0; i < clusterLabelIds.size(); ++i)
72 {
73 out << "\nLabel : " << clusterLabelNames[i] << "\n";
74 out << "FsLabel ID : " << clusterLabelIds[i] << "\n";
75 out << "Centroid Vertno : " << centroidVertno[i] << "\n";
76 out << "Centroid rr : " << centroidSource_rr[i](0) << ", " << clusterSource_rr[i](1) << ", " << clusterSource_rr[i](2) << "\n";
77 out << "Vertnos :\n";
78 for(qint32 j = 0; j < clusterVertnos[i].size(); ++j)
79 out << clusterVertnos[i][j] << ", ";
80 out << "\nDistances :\n";
81 for(qint32 j = 0; j < clusterDistances[i].size(); ++j)
82 out << clusterDistances[i][j] << ", ";
83 out << "\nrr :\n";
84 for(qint32 j = 0; j < clusterSource_rr[i].rows(); ++j)
85 out << clusterSource_rr[i](j,0) << ", " << clusterSource_rr[i](j,1) << ", " << clusterSource_rr[i](j,2) << "\n";
86
87 out << "\n";
88 }
89
90 // optional, as QFile destructor will already do it:
91 file.close();
92
93 QFile file_centroids("./centroids_"+p_sFileName);
94
95 if(file_centroids.open(QIODevice::WriteOnly | QIODevice::Text)) {
96 QTextStream out_centroids(&file_centroids);
97
98 for(qint32 i = 0; i < clusterLabelIds.size(); ++i)
99 out_centroids << centroidVertno[i] << ", ";
100
101 // optional, as QFile destructor will already do it:
102 file_centroids.close();
103 }
104}
Bookkeeping for a label-restricted clustering of source-space leadfield columns.
Core MNE data structures (source spaces, source estimates, hemispheres).
QList< Eigen::VectorXd > clusterDistances
QList< QString > clusterLabelNames
QList< qint32 > clusterLabelIds
QList< Eigen::MatrixX3f > clusterSource_rr
QList< Eigen::VectorXi > clusterVertnos
void write(QString p_sFileName) const
QList< qint32 > centroidVertno
QList< Eigen::Vector3f > centroidSource_rr