MNE-CPP  0.1.9
A Framework for Electrophysiology
networknode.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef NETWORKNODE_H
37 #define NETWORKNODE_H
38 
39 //=============================================================================================================
40 // INCLUDES
41 //=============================================================================================================
42 
43 #include "../connectivity_global.h"
44 
45 //=============================================================================================================
46 // QT INCLUDES
47 //=============================================================================================================
48 
49 #include <QObject>
50 #include <QSharedPointer>
51 
52 //=============================================================================================================
53 // EIGEN INCLUDES
54 //=============================================================================================================
55 
56 #include <Eigen/Core>
57 
58 //=============================================================================================================
59 // FORWARD DECLARATIONS
60 //=============================================================================================================
61 
62 //=============================================================================================================
63 // DEFINE NAMESPACE CONNECTIVITYLIB
64 //=============================================================================================================
65 
66 namespace CONNECTIVITYLIB {
67 
68 //=============================================================================================================
69 // CONNECTIVITYLIB FORWARD DECLARATIONS
70 //=============================================================================================================
71 
72 class NetworkEdge;
73 
74 //=============================================================================================================
82 {
83 
84 public:
85  typedef QSharedPointer<NetworkNode> SPtr;
86  typedef QSharedPointer<const NetworkNode> ConstSPtr;
88  //=========================================================================================================
95  explicit NetworkNode(qint16 iId, const Eigen::RowVectorXf& vecVert);
96 
97  //=========================================================================================================
103  const QList<QSharedPointer<NetworkEdge> >& getFullEdges() const;
104 
105  //=========================================================================================================
111  QList<QSharedPointer<NetworkEdge> > getThresholdedEdges() const;
112 
113  //=========================================================================================================
119  QList<QSharedPointer<NetworkEdge> > getFullEdgesIn() const;
120 
121  //=========================================================================================================
127  QList<QSharedPointer<NetworkEdge> > getThresholdedEdgesIn() const;
128 
129  //=========================================================================================================
135  QList<QSharedPointer<NetworkEdge> > getFullEdgesOut() const;
136 
137  //=========================================================================================================
143  QList<QSharedPointer<NetworkEdge> > getThresholdedEdgesOut() const;
144 
145  //=========================================================================================================
151  const Eigen::RowVectorXf& getVert() const;
152 
153  //=========================================================================================================
159  qint16 getId() const;
160 
161  //=========================================================================================================
167  qint16 getFullDegree() const;
168 
169  //=========================================================================================================
175  qint16 getThresholdedDegree() const;
176 
177  //=========================================================================================================
183  qint16 getFullIndegree() const;
184 
185  //=========================================================================================================
191  qint16 getThresholdedIndegree() const;
192 
193  //=========================================================================================================
199  qint16 getFullOutdegree() const;
200 
201  //=========================================================================================================
207  qint16 getThresholdedOutdegree() const;
208 
209  //=========================================================================================================
215  double getFullStrength() const;
216 
217  //=========================================================================================================
223  double getThresholdedStrength() const;
224 
225  //=========================================================================================================
231  double getFullInstrength() const;
232 
233  //=========================================================================================================
239  double getThresholdedInstrength() const;
240 
241  //=========================================================================================================
247  double getFullOutstrength() const;
248 
249  //=========================================================================================================
255  double getThresholdedOutstrength() const;
256 
257  //=========================================================================================================
263  void setHubStatus(bool bIsHub);
264 
265  //=========================================================================================================
271  bool getHubStatus() const;
272 
273  //=========================================================================================================
279  void append(QSharedPointer<NetworkEdge> newEdge);
280 
281 protected:
282  bool m_bIsHub;
284  qint16 m_iId;
286  Eigen::RowVectorXf m_vecVert;
288  QList<QSharedPointer<NetworkEdge> > m_lEdges;
289 };
290 
291 //=============================================================================================================
292 // INLINE DEFINITIONS
293 //=============================================================================================================
294 } // namespace CONNECTIVITYLIB
295 
296 #endif // NETWORKNODE_H
CONNECTIVITYLIB::NetworkNode::m_bIsHub
bool m_bIsHub
Definition: networknode.h:282
CONNECTIVITYLIB::NetworkNode::m_iId
qint16 m_iId
Definition: networknode.h:284
CONNECTIVITYLIB::NetworkNode::ConstSPtr
QSharedPointer< const NetworkNode > ConstSPtr
Definition: networknode.h:86
CONNECTIVITYSHARED_EXPORT
#define CONNECTIVITYSHARED_EXPORT
Definition: connectivity_global.h:54
CONNECTIVITYLIB::NetworkNode::m_lEdges
QList< QSharedPointer< NetworkEdge > > m_lEdges
Definition: networknode.h:288
CONNECTIVITYLIB::NetworkNode::m_vecVert
Eigen::RowVectorXf m_vecVert
Definition: networknode.h:286
CONNECTIVITYLIB::NetworkNode::SPtr
QSharedPointer< NetworkNode > SPtr
Definition: networknode.h:85
CONNECTIVITYLIB::NetworkNode
This class holds an object to describe the node of a network.
Definition: networknode.h:81