1

Hi there,

first of great thanks for the awesome Software! Great Job - I love it.

I'm doing video-recs of contracting muscles and want to correlate those with recordings I do from motor-neurons. The neuron-recording is done in a different software which cannot handle video-data. However, I can import spread-sheets and matlab files and so on... So my plan is, to autotrack muscle-movements in Kinovea, export the tracks as txt file, and import that into my recording-software.
The problem is however, that Kinovea exports only the timestamp to each event

0:00:00:00    0    0
0:00:00:06    3    -15
0:00:00:13    3    -14

0:00:00:19    3    -14
0:00:00:26    3    -15
0:00:00:33    3    -14
0:00:00:39    3    -15
0:00:00:46    3    -15
0:00:00:53    3    -16
0:00:00:59    2    -17

thus, I don't have a continuous timeline, which means I cannot import it into the other software. Is it possible to export the tracking-data w/ a continuous timeline, so it looks like this?

0:00:00:00    0    0
0:00:00:01    0    0
0:00:00:02    0    0
0:00:00:03    0    0
0:00:00:04    0    0
0:00:00:05    0    0
0:00:00:06    3    -15
0:00:00:07    3    -15
0:00:00:08    3    -15
0:00:00:09    3    -15
0:00:00:10    3    -15
0:00:00:11    3    -15
0:00:00:12    3    -15
0:00:00:13    3    -14
.
.
.
.

thanks a bunch!

Sincerely,
F.D.

2 (edited by joan 2010-08-31 10:28:31)

Hi,
You may switch to frame numbers for the time representation, that should take care of the problem. However, if the frame are really not evenly spaced in time, you will loose some accuracy.
In any case, when working with the spreadsheet exports, you should generally use numeric time representation like frame numbers or ten thousanth of an hour, etc. ("Total milliseconds" will be added in the future).

edit:
Looking better at your second example, yes, it would be possible to interpolate the missing bits, and even get subpixel positions. That deserves some more thinking smile

3

edit:
Looking better at your second example, yes, it would be possible to interpolate the missing bits, and even get subpixel positions. That deserves some more thinking smile

darn it. I was afraid of more thinking ;-)

Anyway, maybe I'm missing something, but wouldn't it be easie to write the continuous timeline of the file into one row of the exported spreadsheet, and just write the X/Y coordinates along that timeline, and all the other times (when the tracker does not move) it is set to 0 ?

thanks a lot for the quick reply...

4

Probably some people will only want the actual values as it is now, which means a configuration window needs to be added somewhere. Also, you may want to set the "granularity" of the target timescale (hundredth, thousandth…)

The continuous timeline has to be rebuilt from code. The internal time representation doesn't align with hundredth of seconds or anything. To build it, it will be possible to loop over all the positions of the target representation and figure out how far we are of the two adjacent actual positions.
Interpolating the spatial position to subpixel will be straightforward, but some people may prefer integer values… (Also I think we can get subpixel accuracy from the automatic tracking.) So another option or checkbox somewhere.

All in all, to do things properly, a new page in the preferences is probably needed. (and it could host the "coordinate system origin" button).

Or… Or this could be the standard behavior and no options to change it need to be added. Currently the export is dependent on the framerate because it's the fundamental unit of time of the video…
Ah…

5

Harrr...OK, a little more complicated than I thought... No worries, I'll think about scripting something in Matlab in order to "fill" in the missing timelines...
Interpolation of the spatial position might be a problem, since the change from one position to the next will be instantaneous, but that's not such a big problem I don't think...