MNE-CPP  0.1.9
A Framework for Electrophysiology
mne_named_matrix.h
Go to the documentation of this file.
1 //=============================================================================================================
37 #ifndef MNENAMEDMATRIX_H
38 #define MNENAMEDMATRIX_H
39 
40 //=============================================================================================================
41 // INCLUDES
42 //=============================================================================================================
43 
44 #include "../mne_global.h"
45 
46 //=============================================================================================================
47 // EIGEN INCLUDES
48 //=============================================================================================================
49 
50 #include <Eigen/Core>
51 
52 //=============================================================================================================
53 // QT INCLUDES
54 //=============================================================================================================
55 
56 #include <QSharedPointer>
57 #include <QDebug>
58 #include <QStringList>
59 
60 //=============================================================================================================
61 // FORWARD DECLARATIONS
62 //=============================================================================================================
63 
64 namespace FIFFLIB
65 {
66  class FiffStream;
67  class FiffDirNode;
68 }
69 
70 //=============================================================================================================
71 // DEFINE NAMESPACE MNELIB
72 //=============================================================================================================
73 
74 namespace MNELIB
75 {
76 
77 //=============================================================================================================
85 {
86 public:
87  typedef QSharedPointer<MneNamedMatrix> SPtr;
88  typedef QSharedPointer<const MneNamedMatrix> ConstSPtr;
90  //=========================================================================================================
95 
96  //=========================================================================================================
103  MneNamedMatrix(const MneNamedMatrix& p_MneNamedMatrix);
104 
105  //=========================================================================================================
110  ~MneNamedMatrix();
111 
112  //=========================================================================================================
125  static MneNamedMatrix* build_named_matrix(int nrow, int ncol, const QStringList& rowlist, const QStringList& collist, float **data);
126 
127  //=========================================================================================================
138  static MneNamedMatrix* read_named_matrix(QSharedPointer<FIFFLIB::FiffStream>& stream,const QSharedPointer<FIFFLIB::FiffDirNode>& node,int kind);
139 
140  //=========================================================================================================
152  MneNamedMatrix* pick_from_named_matrix(const QStringList& pickrowlist, int picknrow, const QStringList& pickcollist, int pickncol) const;
153 
154 public:
155  int nrow; /* Number of rows */
156  int ncol; /* Number of columns */
157  QStringList rowlist; /* Name list for the rows (may be NULL) */
158  QStringList collist; /* Name list for the columns (may be NULL) */
159  float **data; /* The data itself (dense) */
160 
161 // ### OLD STRUCT ###
162 //typedef struct { /* Matrix specification with a channel list */
163 // int nrow; /* Number of rows */
164 // int ncol; /* Number of columns */
165 // char **rowlist; /* Name list for the rows (may be NULL) */
166 // char **collist; /* Name list for the columns (may be NULL) */
167 // float **data; /* The data itself (dense) */
168 //} *mneNamedMatrix,mneNamedMatrixRec;
169 };
170 
171 //=============================================================================================================
172 // INLINE DEFINITIONS
173 //=============================================================================================================
174 } // NAMESPACE MNELIB
175 
176 #endif // MNENAMEDMATRIX_H
MNESHARED_EXPORT
#define MNESHARED_EXPORT
Definition: mne_global.h:56
MNELIB::MneNamedMatrix::ConstSPtr
QSharedPointer< const MneNamedMatrix > ConstSPtr
Definition: mne_named_matrix.h:88
MNELIB::MneNamedMatrix::SPtr
QSharedPointer< MneNamedMatrix > SPtr
Definition: mne_named_matrix.h:87
MNELIB::MneNamedMatrix
Matrix specification with a channel list.
Definition: mne_named_matrix.h:84