MNE-CPP  beta 1.0
fiff_info_base.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef FIFF_INFO_BASE_H
37 #define FIFF_INFO_BASE_H
38 
39 //*************************************************************************************************************
40 //=============================================================================================================
41 // INCLUDES
42 //=============================================================================================================
43 
44 #include "fiff_global.h"
45 #include "fiff_types.h"
46 #include "fiff_id.h"
47 #include "fiff_ch_info.h"
48 #include "fiff_dig_point.h"
49 #include "fiff_ctf_comp.h"
50 #include "fiff_coord_trans.h"
51 #include "fiff_proj.h"
52 
53 
54 //*************************************************************************************************************
55 //=============================================================================================================
56 // Qt INCLUDES
57 //=============================================================================================================
58 
59 #include <QList>
60 #include <QStringList>
61 #include <QSharedPointer>
62 
63 
64 //*************************************************************************************************************
65 //=============================================================================================================
66 // DEFINE NAMESPACE FIFFLIB
67 //=============================================================================================================
68 
69 namespace FIFFLIB
70 {
71 
72 
73 //*************************************************************************************************************
74 //=============================================================================================================
75 // USED NAMESPACES
76 //=============================================================================================================
77 
78 
79 //=============================================================================================================
86 {
87 public:
88  typedef QSharedPointer<FiffInfoBase> SPtr;
89  typedef QSharedPointer<const FiffInfoBase> ConstSPtr;
91  //=========================================================================================================
95  FiffInfoBase();
96 
97  //=========================================================================================================
103  FiffInfoBase(const FiffInfoBase& p_FiffInfoBase);
104 
105  //=========================================================================================================
109  ~FiffInfoBase();
110 
111  //=========================================================================================================
115  void clear();
116 
117  //=========================================================================================================
125  QString channel_type(qint32 idx) const;
126 
127  //=========================================================================================================
133  inline bool isEmpty() const;
134 
135  //=========================================================================================================
149  static RowVectorXi pick_channels(const QStringList& ch_names, const QStringList& include = defaultQStringList, const QStringList& exclude = defaultQStringList);
150 
151  //=========================================================================================================
163  FiffInfoBase pick_info(const RowVectorXi* sel = NULL) const;
164 
165  //=========================================================================================================
181  RowVectorXi pick_types(const QString meg, bool eeg = false, bool stim = false, const QStringList& include = defaultQStringList, const QStringList& exclude = defaultQStringList) const;
182 
183  //=========================================================================================================
200  RowVectorXi pick_types(bool meg, bool eeg = false, bool stim = false, const QStringList& include = defaultQStringList, const QStringList& exclude = defaultQStringList) const;
201 
202 public: //Public because it's a mne struct
203  QString filename;
204  QStringList bads;
206  fiff_int_t nchan;
207  QList<FiffChInfo> chs;
208  QStringList ch_names;
211 };
212 
213 //*************************************************************************************************************
214 //=============================================================================================================
215 // INLINE DEFINITIONS
216 //=============================================================================================================
217 
218 inline bool FiffInfoBase::isEmpty() const
219 {
220  return this->nchan <= 0;
221 }
222 
223 } // NAMESPACE
224 
225 #endif // FIFF_INFO_BASE_H
FiffProj class declaration.
Old fiff_type declarations - replace them.
Universially unique identifier.
Definition: fiff_id.h:78
FiffCoordTrans ctf_head_t
QSharedPointer< const FiffInfoBase > ConstSPtr
FiffChInfo class declaration.
FiffCtfComp class declaration.
#define FIFFSHARED_EXPORT
Definition: fiff_global.h:58
QList< FiffChInfo > chs
Fiff library export/import macros.
Definition: fiff.h:98
FiffCoordTrans dev_head_t
FiffId class declaration.
Coordinate transformation description.
FiffDigPoint class declaration.
light measurement info
FiffCoordTrans class declaration.
QSharedPointer< FiffInfoBase > SPtr