65 bool LayoutLoader::readAsaElcFile(QString path, QStringList &channelNames, QVector<QVector<double> > &location3D, QVector<QVector<double> > &location2D, QString &unit)
68 if(!path.contains(
".elc"))
72 if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
73 qDebug()<<
"Error opening elc file";
78 double numberElectrodes;
79 QTextStream in(&file);
84 QString line = in.readLine();
86 QStringList fields = line.split(QRegExp(
"\\s+"));
89 if(fields.at(fields.size()-1) ==
"")
92 if(!line.contains(
"#"))
95 if(line.contains(
"NumberPositions"))
96 numberElectrodes = fields.at(1).toDouble();
99 if(line.contains(
"UnitPosition"))
103 if(line.contains(
"Positions2D"))
106 if(line.contains(
":") && !read2D)
108 channelNames.push_back(fields.at(0));
109 QVector<double> posTemp;
111 posTemp.push_back(fields.at(fields.size()-3).toDouble());
112 posTemp.push_back(fields.at(fields.size()-2).toDouble());
113 posTemp.push_back(fields.at(fields.size()-1).toDouble());
115 location3D.push_back(posTemp);
118 if(line.contains(
":") && read2D)
120 QVector<double> posTemp;
121 posTemp.push_back(fields.at(fields.size()-2).toDouble());
122 posTemp.push_back(fields.at(fields.size()-1).toDouble());
123 location2D.push_back(posTemp);
127 if(line.contains(
"Labels"))
129 line = in.readLine();
130 fields = line.split(QRegExp(
"\\s+"));
133 if(fields.at(fields.size()-1) ==
"")
136 channelNames = fields;
141 Q_UNUSED(numberElectrodes);
154 if(!path.contains(
".lout"))
160 if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
161 qDebug()<<
"Error opening mne lout file";
166 QTextStream in(&file);
172 QString line = in.readLine();
174 QStringList fields = line.split(QRegExp(
"\\s+"));
177 if(fields.at(fields.size()-1) ==
"")
181 posTemp.setX(fields.at(1).toDouble());
182 posTemp.setY(fields.at(2).toDouble());
185 QString key = QString(
"%1 %2").arg(fields.at(fields.size()-2)).arg(fields.at(fields.size()-1));
186 channelData.insert(key, posTemp);
static bool readMNELoutFile(QString path, QMap< QString, QPointF > &channelData)
static bool readAsaElcFile(QString path, QStringList &channelNames, QVector< QVector< double > > &location3D, QVector< QVector< double > > &location2D, QString &unit)
LayoutLoader class declaration.