pedarProbe.node#

Experimental data is usually stored in a multi-layer way, which cast server difficulty to effectively aggregate them and implement analysis. In a typical pedar data folder, data separate in various files can be identified as a 5 layer structure: subject - condition - trail - foot - stance.

To formulate a universal framework for data analysis, it’s an appealing choice to build a node trees that consist of these layers to store the data.

Note

Python dictionary is very convenient for creating node tree: every dictionary object is a node in the node tree, and its branch nodes are added as a value to the dictionary, with its name as the keyword, layer by layer. In this case, any node in the node tree can be called in the format: root[subject][condition][trail][foot][stance]. However, unlike other python object, it’s not convenient to add new attributes to it. Therefore a dictionary object is not capable to realise all required features of a node tree, in respect to the classical computer science’s view.

For this reason, various classes are developed supporting for construction of the data analysis workflow:

  • Node class is derived from the dictionary class Dict to realised the basic node’s features.

  • DynamicNode is derived from Node to realised the layer layout restructuring feature.

  • PedarNode is derived from DynamicNode conveying pedar data analysis and result aggregation through the whole node tree.

  • DataNode is derived from PedarNode which is actually the leaf node of the node tree, storing the raw data prepared for analysis.

Tip

Such framework can be easily transferred for other data analysis task, especially the Node and DynamicNode which were developed in a highly generalisable way.

Classes

DataNode

Derived from PedarNode which is actually the leaf node of the node tree, storing the raw data prepared for analysis.

DynamicNode

Derived from Node to realised the layer layout restructuring feature (restructure()).

Node

Node class is derived from the dictionary class Dict to realised the basic node's features.

PedarNode

Derived from DynamicNode to provide pedar data analysis feature.

Inheritance diagram of pedarProbe.node

Inheritance Relationship#