APS Excellence in Physics Education Award
November 2019

Science SPORE Prize
November 2011

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

## Smoothing algorithm for x & y data post and replies

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
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
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