1 (edited by MiLe 2020-Jul-29 21:54:19)

Topic: Showing distance in "linear Kinematics", not single points?


I try to analyse the suspension beahviour of a motorcycle with a Gopro hero8 mounted on the frame, so there's a lot of movement all around. (Kamera moving on the frame and suspension moving relative to the frame). Kinovea Version is 0.9.2.
I can measure the changing distance between two moving points (line/distance measurement" - start tracking"- it's visible in the video.
But when i switch to "linear Kinematics" - "total vertical displacemet", i get two graphs showing the movement of each end point of the distance line, not the distance between the two points.

Is there a way to show directly the graph with the distance between the points?

As workaround, i've found two ways:
1. Exporting data to Excel, adding the two movements (just vertical movement matters) and plotting a graph in Excel.
2. Stabilizing the Clip with magix video software with stabilizing focus on the area of one of the two endpoints.
Both solutions work but are'nt really comfortable or quick.

So ist here a way to plot the distance and not the two `moving endpoints?

Thanks a lot and kind regards, Michael

Re: Showing distance in "linear Kinematics", not single points?

Maybe one way to do what you are looking for would be to have one tracked point be the origin of the coordinate system, and the other being a regular trajectory or tracked point.

You can show the coordinate system from menu Tools > Coordinate system, it is trackable. Normally if you track the coordinate system itself the other tracked points will be expressed in the moving coordinate system.

Re: Showing distance in "linear Kinematics", not single points?

Hi Joan,

great software, but awesome support!! smile
It took some minutes to understand what you mean cause i was'nt familiar with the coordinate system, but: It works !!
If i understand right, the coordinate system is the "zero point" for all other measurements and if i track this "zero point" to a moving subject, the second measured point refers to the moving "zero point"
In "linear kinematics", both graphs are shown (but i can eliminate the coordinate system graph) and as result, the second graph shows the distance.

Thanks a lot for your help - you made my day!!

Re: Showing distance in "linear Kinematics", not single points?

Yes that's it, the measurements of the second point will be relative to the first.

Thanks for reporting that the coordinate system point is itself visible in the Linear Kinematics graphs, it doesn't really make sense to show it here since it's always zero by definition, I'll note to remove it for future versions.

5 (edited by MiLe 2020-Jul-30 08:05:28)

Re: Showing distance in "linear Kinematics", not single points?

Thanks for your further comment smile
The visibility of the coordinate system grap does'ne hurt and can be easily switched off. wink

While the distance graph works fine now pixel based, i get strange distance graphs "total vertical displacement" after i made a calibration with a separate, calibrated line. Deleting the calibration line does'nt solve the problem, so i have to discard the project and restart from scratch. A calibration - once made - seems to stay in memory.
Perhaps i found a bug (or i did'nt really understand the function). Sometimes, it works fine and the next time not.
Is it perhaps important if i do the calibration first and the tracking after or vice versa? Does perhaps the direction of the calibration line matter (horizontally or vertically?

example: i track a point wich is vertically moving 50 pixels and horizontally 5 pixels. In linear kinematics - total vertical displacement - it's shown correctly.
Then i add a vertical line of 50 pixels and calibrate it to 50 mm. After that, in linear kinematics, the total vertical displacement is shown much smaller then the horizontal displacement. Sometimes, after calibration a formerly sinus style curve becomes a constant ascending line after hafing calibrated.

Re: Showing distance in "linear Kinematics", not single points?

When you calibrate a line it will redefine the origin of the coordinate system to the start point of that line, maybe that's the trouble? You can move the origin away from the line by dragging the axes but if the line itself is tracked this might interfere. I haven't tested tracking both the calibration line and the coordinate system origin, this probably won't work well. It's possible there is a bug between the interaction of the coordinate system and the calibration line because this was changed recently.

The calibration stays in memory and is saved in the KVA file. If you make a new one it should overwrite it. At the moment you can't really reset to the uncalibrated state (short of editing the KVA file manually), this would be nice to have though!

There is a bug that was fixed recently but is not fixed in 0.9.3, is that the Linear kinematics dialog will show values in pixels instead of the calibrated unit, until some internal flag is triggered somewhere else. The easiest way to work around this is to go to the preferences and save them without changing anything and it should make the values display in the calibrated unit.

You can also right click a point and do "Display measurement" to show the coordinates directly on the screen, it should be easier for experimenting.

7 (edited by MiLe 2020-Jul-30 11:18:28)

Re: Showing distance in "linear Kinematics", not single points?

Thanks a lot again for your support, i will try your sugestions soon and give feedback if i find anything interesting.

With your great and kind support and software, you've just won a new patron;)
Just a small one as i use Kinovea just to optimise my bike suspension 'til it works as it should. So it will be not be a great support but a sign of my respect for your work.

Re: Showing distance in "linear Kinematics", not single points?

Thanks :-)

I think you're right, the total displacement doesn't take into account the moving origin. I'll make more experiments.

Edit: OK there is definitely a bad interference between the coordinate system and the calibration line that follows from recent changes.

Re: Showing distance in "linear Kinematics", not single points?

Hi Joan,

i played a bit around with a short clip, perhaps my toughts can help a little bit:

- I experienced this kind of problems still in earlier versions where - as far as i know - it still was'nt possible to manually rotate the grid (coordinate system). and at this time, i did'nt use the grid by myself at all, so i even did'nt use the grid tracking

- The grid tracking and correspondig tracking of another point seems to works fine in linear kinematics - horizontal displacement.

- The problem starts when i calibrate a line. It seems that this action rotates the grid by 90 degrees.
In my example, the clip shows a strong vertical movement with a bit of horizontal movement. After calibrating a line, in linear kinematics exactly the opposite is shown.

- So i did rotate the coordinate system as last step 90° and now the graph corresponds better to the movement shown in the clip.

Kind regards, Michael

Re: Showing distance in "linear Kinematics", not single points?

Is it a vertical video? If you go to menu Image > Rotation does it say that it's rotated 90° already?

Re: Showing distance in "linear Kinematics", not single points?

The last Video i tested was indeed vertically, but i think i had the same effect in horizontally clips. Will test ad report asap.

12 (edited by MiLe 2020-Aug-01 11:59:31)

Re: Showing distance in "linear Kinematics", not single points?

I took a horizontal video from my Smartphone Huawei P30, 1920*1080@60 fps .mp4. Kinovea is 0.9.3 beta
edit: I repeated with a horizontal 1920*1080@50 fps mp4-clip from my Gopro Hero8 - same results..

Then i made a trackpoint on a point that is moving vertically strong and horizontally weak. The tracking is clean.
I did'nt touch the coordinate system in this little test.
So i get in linear kinematics  a vertical displacement from -101 to +12 pixels, horizontally -2 to +24 pixels. Seems to be OK.

Then i added on the same frame a vertical line and scaled it to 50 mm.
After doing that, i get completely wrong values in linear kinematics. While Acceleration seems to be correct, i get now
a vertical displacement from -1 to +15 mm and a horizontal displacement from -7 to 58 mm - so the orientation has obiously switched.

After that, i made the coordinate system visible. The Zero point moved from the middle of the image to the starting point of the scaled line - OK. I can see the orientation of the coordinate system is'nt 0/180° anymore but a bit tilted. I cannot recognize, if this tilt is 5° or 95° as i see no difference between x- and y-axis.
Regarding the wrong values in linear kinematics, i suppose it's rather 95°.
The light tilt of the coordinate system does'nt seem to follow the movement direction of the tracked point and not the direction of the drawed line wich was strictly vertically, it seems rather to be randomly.

Again: I did'nt touch the coordinate system and i did'nt track it.

I repeated this little test by drawing the calibrated line not vertically like in the first test but now horizontally. In this case, the plotted horizontally and vertically curves in linear kinematics seem to be more plausible. So obviously, the direction of a calibrated line influences the rotation of the coordinate system but not exactly 90°. I think, it should not do this?

Hope, this short story can help.

Kind regards, Michael

edit 2: Just did the same procedure in Kinovea 08.27: Here, defining a calibrated line, does'nt affect the coordinate system, independent of the orientation of the line.  Not the zero point and not the rotation. In 8.27, the graphs shown in linear kinematics seem to be pretty ok. So the effect came oblivioulsly between 8.27 and 9.93
When i additionally try to track the coordinate system, Kinovea 8.27 crashes when calling "linear Kinematics", so i can't say if this will affect the graphs.

Crash report says:
"unknown exception in the software"

Re: Showing distance in "linear Kinematics", not single points?

OK, thanks. Yes when you use line calibration the line becomes the X axis of the coordinate system. This is new in the latest version. I have just recently added code so that you can now choose to assign the vertical axis to the line instead, or ignore the line direction altogether and use a coordinate system aligned with image axes as it was in previous versions. There are still two issues to address though, what to do when the line is tracked, the coordinate system origin is tracked, or both, and fix the displacement values in the kinematics dialog.

Re: Showing distance in "linear Kinematics", not single points?

Sounds like a solution smile I will try this as soon as it's available.

Thanks a lot!!!!!!!!!!