Cross posted from stackoverflow at the suggestion of a commenter.
I have a series of CSV files of timestamped coordinates (X, Y, and Z in mm). What would be the simplest way to extract motion data from them?
Measurables
The information I'd like to extract includes the following:
- Number of direction changes
- Initial acceleration of the first and last movements
- Bearing (angle) of these movements
- Average speed whilst non-stationary
Ideally, I'd eventually like to be able to categorise patterns of motion, so bonus points for anyone who can suggest a way of doing this. It strikes me that one way I could do this would be to generate pictures/videos of the motion from the coordinates and ask humans to categorise them - suggestions as to how I'd do this are very welcome.
Noise
A complication is the fact that the readings are polluted with noise. In order to overcome this, each recording is prefaced with at least 20 seconds of stillness which can serve as a sort of "noise profile". I'm not sure how to implement this though.
Specifics
If it helps, the motion being recorded is that of a persons hand during a simple grabbing task. The data is generated using a magnetic motion tracker attached to the wrist. Also, I'm using C#, but I guess the maths is language agnostic.
- Magnetic tracker spec: http://www.ascension-tech.com/realtime/RTminiBIRD500_800.php
- Sample data file: http://tdwright.co.uk/sample.csv
Bounty
There is a bounty open on the original question, so feel free to post your answers there as well as here.