This month the development was split in two parts:
- Design of the new pipeline mechanism
- Reverse-engineering on the QTM file format (Qualisys)
###New pipeline mechanism in development### Since the beginning of the project, the data processing is done using a succession of algorithms. This creates a pipeline which in theory is able to manage the given inputs and outputs, but most importantly updates automatically every algorithm when needed. This pipeline behavior is not new and was inspired by the one used in the projects VTK and ITK. However, compared to these project the implemented pipeline mechanism was simplified to keep only the basis (check if inputs are modified. If yes, then update first the source associated with each input). The management of inputs and outputs was done manually by each algorithm (i.e. the developer has to implement it each time). Different types were used and hardcoded for the inputs and outputs. This limits the development of complex pipeline were some part needed to be updated manually to have access to information needed by other part of the algorithm.
The new pipeline mechanism will be able to tackle all of these limitations. For example, only one generic type for inputs and outputs will be available. The concrete data needed or generated by each algorithm will be stored inside. Each algorithm would also contain information regarding the requested and optional inputs needed as well as generated output(s). Finally, the execution of the pipeline will be distributed as before between each algorithm but extendable to support different execution mechanism (e.g. trial by trial, composite trials, trial part only, etc.).
The new pipeline mechanism is in early development and will be finalized in the next months. This will be one of the cornerstones in the next major release of the project.
###Reverse-engineering on the QTM file format### This work was started one year ago, but I delayed it due to more priority works on the models. However, due to the growing number of users having a Qualisys motion capture system, I decided to rework on this part.
At this point, the first version of the parser is mostly finalized. It will be able to extract:
- Makers data
- Analog data (EMG channels and Analog channels)
- Force platform configuration
Currently, the parts missing are related to the association of samples frequencies with time series and the number of force platforms. Lots of tests still need to be done to check the quality of the parser to manage correctly the internal binary structure for various data setup.
I would like to acknowledge the Qualisys development team for the information given during the development. Without them, the parser will not be so advanced.