36 #ifndef FIFF_NAMED_MATRIX_H
37 #define FIFF_NAMED_MATRIX_H
65 #include <QStringList>
66 #include <QSharedData>
67 #include <QSharedDataPointer>
68 #include <QSharedPointer>
85 using namespace Eigen;
97 typedef QSharedPointer<FiffNamedMatrix>
SPtr;
98 typedef QSharedPointer<const FiffNamedMatrix>
ConstSPtr;
99 typedef QSharedDataPointer<FiffNamedMatrix>
SDPtr;
119 const QStringList& p_row_names,
120 const QStringList& p_col_names,
121 const MatrixXd& p_data);
149 inline bool isEmpty()
const;
158 void transpose_named_matrix();
211 return !(this->data.size() > 0);
219 bool t_bIsShort =
true;
220 out <<
"#### Fiff Named Matrix ####\n";
221 out <<
"\tnrow: " << p_FiffNamedMatrix.
nrow << std::endl;
222 out <<
"\tncol: " << p_FiffNamedMatrix.
ncol << std::endl;
226 out <<
"\trow_names " << p_FiffNamedMatrix.
row_names.size() <<
":\n\t";
229 qint32 nchan = p_FiffNamedMatrix.
row_names.size() > 6 ? 6 : p_FiffNamedMatrix.
row_names.size();
230 for(qint32 i = 0; i < nchan/2; ++i)
231 out << p_FiffNamedMatrix.
row_names[i].toLatin1().constData() <<
" ";
233 for(qint32 i = p_FiffNamedMatrix.
row_names.size() - nchan/2; i < p_FiffNamedMatrix.
row_names.size(); ++i)
234 out << p_FiffNamedMatrix.
row_names[i].toLatin1().constData() <<
" ";
238 out <<
"\tcol_names " << p_FiffNamedMatrix.
col_names.size() <<
":\n\t";
241 qint32 nchan = p_FiffNamedMatrix.
col_names.size() > 6 ? 6 : p_FiffNamedMatrix.
col_names.size();
242 for(qint32 i = 0; i < nchan/2; ++i)
243 out << p_FiffNamedMatrix.
col_names[i].toLatin1().constData() <<
" ";
245 for(qint32 i = p_FiffNamedMatrix.
col_names.size() - nchan/2; i < p_FiffNamedMatrix.
col_names.size(); ++i)
246 out << p_FiffNamedMatrix.
col_names[i].toLatin1().constData() <<
" ";
250 out <<
"\tdata " << p_FiffNamedMatrix.
data.rows() <<
" x " << p_FiffNamedMatrix.
data.cols() <<
":\n\t";
253 qint32 nrows = p_FiffNamedMatrix.
data.rows() > 6 ? 6 : p_FiffNamedMatrix.
data.rows();
254 qint32 ncols = p_FiffNamedMatrix.
data.cols() > 6 ? 6 : p_FiffNamedMatrix.
data.cols();
257 for(qint32 i = 0; i < nrows; ++i)
259 for(qint32 j = 0; j < ncols/2; ++j)
260 out << p_FiffNamedMatrix.
data(i,j) <<
" ";
262 for(qint32 j = p_FiffNamedMatrix.
data.cols() - ncols/2; j < p_FiffNamedMatrix.
data.cols(); ++j)
263 out << p_FiffNamedMatrix.
data(i,j) <<
" ";
269 for(qint32 i = 0; i < nrows/2; ++i)
271 for(qint32 j = 0; j < ncols/2; ++j)
272 out << p_FiffNamedMatrix.
data(i,j) <<
" ";
274 for(qint32 j = p_FiffNamedMatrix.
data.cols() - ncols/2; j < p_FiffNamedMatrix.
data.cols(); ++j)
275 out << p_FiffNamedMatrix.
data(i,j) <<
" ";
279 for(qint32 i = p_FiffNamedMatrix.
data.rows()-nrows/2; i < p_FiffNamedMatrix.
data.rows(); ++i)
281 for(qint32 j = 0; j < ncols/2; ++j)
282 out << p_FiffNamedMatrix.
data(i,j) <<
" ";
284 for(qint32 j = p_FiffNamedMatrix.
data.cols() - ncols/2; j < p_FiffNamedMatrix.
data.cols(); ++j)
285 out << p_FiffNamedMatrix.
data(i,j) <<
" ";
297 #endif // FIFF_SOLUTION_H
Old fiff_type declarations - replace them.
QSharedDataPointer< FiffNamedMatrix > SDPtr
QSharedPointer< FiffNamedMatrix > SPtr
#define FIFFSHARED_EXPORT
Fiff library export/import macros.
QSharedPointer< const FiffNamedMatrix > ConstSPtr