50 using namespace UTILSLIB;
65 bool AsAElc::readElcFile(QString path, QStringList &channelNames, QVector<QVector<double> > &location3D, QVector<QVector<double> > &location2D, QString &unit)
68 if(!path.contains(
".elc"))
72 file.open(QIODevice::ReadOnly | QIODevice::Text);
75 double numberElectrodes;
76 QTextStream in(&file);
81 QString line = in.readLine();
83 QStringList fields = line.split(QRegExp(
"\\s+"));
86 if(fields.at(fields.size()-1) ==
"")
89 if(!line.contains(
"#"))
92 if(line.contains(
"NumberPositions"))
93 numberElectrodes = fields.at(1).toDouble();
96 if(line.contains(
"UnitPosition"))
100 if(line.contains(
"Positions2D"))
103 if(line.contains(
":") && !read2D)
105 channelNames.push_back(fields.at(0));
106 QVector<double> posTemp;
108 posTemp.push_back(fields.at(fields.size()-3).toDouble());
109 posTemp.push_back(fields.at(fields.size()-2).toDouble());
110 posTemp.push_back(fields.at(fields.size()-1).toDouble());
112 location3D.push_back(posTemp);
115 if(line.contains(
":") && read2D)
117 QVector<double> posTemp;
118 posTemp.push_back(fields.at(fields.size()-2).toDouble());
119 posTemp.push_back(fields.at(fields.size()-1).toDouble());
120 location2D.push_back(posTemp);
124 if(line.contains(
"Labels"))
126 line = in.readLine();
127 fields = line.split(QRegExp(
"\\s+"));
130 if(fields.at(fields.size()-1) ==
"")
133 channelNames = fields;
138 Q_UNUSED(numberElectrodes);
bool readElcFile(QString path, QStringList &channelNames, QVector< QVector< double > > &location3D, QVector< QVector< double > > &location2D, QString &unit)
AsAElc class declaration.