At Codamotion, we pride ourselves on our ability to help customers combine other data streams with our product. In most cases and with most types of sensor, we are able to provide a satisfactory solution, but the nature of the data stream available from the third-party device has an impact on the strategy we would normally adopt to provide a solution.
Data streams (for example, from force plates, EMG and other sensor types) can be connected through Codamotion's combination of A/D channels on the CodaHub and ODIN software. That's the easy bit. The usefulness of this data depends on the ability to synchronise the time sequences of data from these devices. Different devices from third party manufacturers provide different challenges. The flexibility of the Codamotion system and software offers a range of alternatives to help the user synchronise and combine data from multiple sources in real time or in post-treatment depending on the particular type of third party device.
OPTION 1 - Integration
Integration means that the data from your third party device is streamed in real time into the same data base as the 3D data measured by the Codamotion system. The data is available for display in real time (or with minimal latency) within the ODIN software suite.
Most force plate data (and data from certain types of EMG system) are handled by this 'Integration' approach. It allows, for example, the force vector recorded by a force plate to be projected in real time into the 3-D stick figure view during a motion capture trial.
For a third party device to be integrated in this fashion, it needs to provide the following:
- An analogue output that can be connected to the A/D channels of the CodaHub
- Either the device has a trigger input with a known latency between trigger signal and start of data output, or the device produces a continuous data stream with a known latency.
In the case of some popular devices with digital outputs, Codamotion provides optional software modules in its ODIN suite that allow 'integration' as described above to be achieved with digital outputs.
OPTION 2- Data Combination
The ODIN software suite provides a function that allows time series data produced on a third party device to be imported into a trial after the trial has been completed. An unlimited number of columns of data can be imported within the time series, and individual data can be delimited with a number of different delimiter characters (e.g. comma separated etc.) One of the channels in the time series data must contain a synchronisation signal, generally a 'clapperboard' pulse that allows the ODIN software to align the incoming data with the data already in the trial.
This 'Data Combination' method is generally used for third party devices where there is a variable latency in their data stream output, and/or no reliable digital trigger is available. In the experimental set up, the Codamotion system sends a signal, generally a small pulse, that can be recorded on one of the sensor or auxiliary channels of the third party device (for example, one channel of an EMG system may be used. The Codamotion software can later use this recorded signal to synchronise the time series data of the third party device with its own recorded 3D data.
For data from a third party device to be combined in this fashion, it needs to provide the following:
- The ability to record a trigger pulse sent by the Codamotion system on one channel of its time series data.
- The ability to export a time series data file of recorded data with a suitable delimiter separating data points.
OPTION 3- Synchronisation
Some third party sensors are provided with specialized software for displaying the recorded data (for example, pressure pads for measuring foot pressure often provide a coloured pressure map of the foot as their preferred output). In these cases, the user may prefer to run both the ODIN software and the third-party software simultaneously, displaying time-synchronised data in both software displays.
The 'CODASync' module allows programmers with access to the SDK of third party devices to easily arrange such display synchronisation. The module provides three key features:
- During acquisition, the Codamotion system sends a signal, generally a small pulse, that provides a hardware synchronised marker of the beginning a trial. This can be recorded by the third party device and used to calculate a time offset between the recorded data.
- When a trial in a third party device is 'associated' with a Codamotion trial, the 'CODASync' module asks for information on this time offset, which can be entered manually or automatically sent from the third party device.
- During any playback of the trial within ODIN, the 'CODASync' module provides information about where to put the pointer in the third party trial to remain synchronised with the pointer in ODIN.
This allows programmers using the SDK of the third party device to ensure that the playback in the third party device always remains synchronised with the ODIN playback.
Using this method, it is possible, for example, to play back the stick figure of a run or walk in an ODIN display window, including pressure plate and EMG data, while showing a synchronised foot pressure map alongside in a separate window on the same screen (or perhaps on an extended desktop).
For data from a third party device to be synchronised in this fashion, it needs to provide the following:
- The ability to run its software suite on the same platform as ODIN (currently WIndows XP or above.)
- The ability to record a trigger pulse sent by the Codamotion system and later return information about the 'time stamp' of that pulse to the CODASync module
- The ability to set the pointer of a trial in its software suite, based on a pointer location passed to it from the CODASync module.
Some of the manufacturers whose sensor systems we have already integrated or synchronised within our software are listed below.