APS Excellence in Physics Education Award
November 2019

Education Prize Logo
Science SPORE Prize
November 2011

NSF Logo
The Open Source Physics Project is supported by NSF DUE-0442581.

Smoothing algorithm for x & y data post and replies

Return to the Smoothing algorithm for x & y data thread
Login to post to this thread

Smoothing algorithm for x & y data
Tim Brown
4 Posts

Feature Request

Smoothing algorithm for x & y data.

There is a small amount of jitter in the x and y data positions when digitizing video motion. For small length scales and/or small image sensor size, that jitter is amplified when calculating the velocity and acceleration. This is especially noticeable in the acceleration data, and creates significant noise effects.


Replies to Smoothing algorithm for x & y data

Re: Smoothing algorithm for x & y data -
Douglas Brown Avatar
Douglas Brown
339 Posts

Hi Tim,

You made a feature request for a smoothing algorithm for position data to reduce the noise in the velocity and acceleration. I have considered this in the past but have not implemented it because of the potential for overuse by students. I think that it is important for students to grapple with the noise in order to learn about uncertainties, and smoothing algorithms that "hide" the jitter may give them a false confidence in the results.

If you really want smoothing, you can always copy and paste the raw Tracker data into a data analysis program with that feature.

I would be interested in hearing others' opinions on this question, though. How many people would use smoothing?

best regards, Doug



Re: Re: Smoothing algorithm for x & y data -
Tim Brown
4 Posts

Hi Doug,

I can see and understand your hesitation for implementing a smoothing option directly into Tracker.

What about including a framework for adding custom algorithms? I believe Tracker uses a three-point differentiation formula for the velocity calculation. With a custom algorithm a user could choose to implement (program) a different formula for differentiation, such as a five-point formula.

Other uses of a custom algorithm would allow for extrapolation and interpolation. Calculation of the n-th time derivative of the position data (jerk, jounce, etc). Various integration algorithms using the calculated velocity and/or acceleration data.

I am currently exporting the data and running a smoothing algorithm in another program. I would love to be able to keep all the calculations contained within the tracker file. It makes going back to old data much easier.

Tim



Re: Re: Re: Smoothing algorithm for x & y data -
Douglas Brown Avatar
Douglas Brown
339 Posts

Hi Tim,

Yes, I could probably make a way for users to add custom algorithms and that might be a good idea. As you probably know, there is a built-in custom "Bounce Detection" algorithm (right-click plot, choose Algorithms) so there is already the beginning of a custom algorithm framework. But this is in the tracker.jar, and you need a way to add the algorithm(s) at runtime. I will need to learn how to make this possible, but I won't have time to do that right away.

Thanks for the suggestion, it's a good one. I'll keep you apprised when I get to it.  Doug

 

Hi Doug,

I can see and understand your hesitation for implementing a smoothing option directly into Tracker.

What about including a framework for adding custom algorithms? I believe Tracker uses a three-point differentiation formula for the velocity calculation. With a custom algorithm a user could choose to implement (program) a different formula for differentiation, such as a five-point formula.

Other uses of a custom algorithm would allow for extrapolation and interpolation. Calculation of the n-th time derivative of the position data (jerk, jounce, etc). Various integration algorithms using the calculated velocity and/or acceleration data.

I am currently exporting the data and running a smoothing algorithm in another program. I would love to be able to keep all the calculations contained within the tracker file. It makes going back to old data much easier.

Tim




OSP Projects:
Open Source Physics - EJS Modeling
Tracker
Physlet Physics
Physlet Quantum Physics
STP Book