» Fighting Noise with the 1€ Filter
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Fighting Noise with the 1€ Filter


here is a supasmall thing. But it can be supausefull. So i thought you should know rightaway: We're all familiar with noisy signals coming from sensors and the simplest thing in vvvv to do to calm such a signal always was to use a Damper (Animation). But of course that introduces a lag, which is sometimes unwanted.

Enter the 1€ Filter: A Simple Speed-based Low-pass Filter for Noisy Input in Interactive Systems
All credits to its creators: Géry Casiez, Nicolas Roussel, Daniel Vogel and Mitsuru Furuta from which we borrowed the C# implementation.

Available now with more details in the helppatch in the latest alpha.

joreg, Thursday, Dec 4th 2014 Digg | Tweet | Delicious 13 comments  
vux 04/12/2014 - 23:37

Does it fix ui lag too? ;)

mrboni 05/12/2014 - 00:52

excellent. thank you

mediadog 13/12/2014 - 04:29

I've been using this filter for a while to filter head tracking data for VR (got it off the VRGeeks list), but never made it into a proper plugin because it is stateful, and couldn't decide how best to handle that in the case of changing spreads. Does this implementation handle spreads, and if so what happens if the spread count changes?

joreg 13/12/2014 - 14:10

well, it behaves like all the other filters (linear, damper, oscillator) do.

mediadog 13/12/2014 - 23:35

To clarify, that behavior is to always use the slice history, regardless of slice count changes, yes? I tried making wrappers that bang a reset when the spread count changes, but that is still not great.

I've been thinking it would be helpful for all of those animation filter nodes to have a version that took a spread of IDs as well to maintain behavior, since in tracking applications you frequently do have an ID associated with the data. That way the correct history would apply wherever in the spread the data moved to. One of these days...

joreg 14/12/2014 - 00:03

yes. and see here for a discussion on the topic: damper-issues-when-spread-count-changes

sebl 14/12/2014 - 00:05

@mediadog hehe, i had the exact same idea some days ago. maybe some clever id-creation nodes can make such ID-ized nodes even more multipurpose

elliotwoods 11/02/2015 - 04:21

this is amazing news!
is it using some kind of Kalman based approach?

joreg 11/02/2015 - 14:46

in their paper they argue how that outsmarts kalman: http://www.lifl.fr/~casiez/publications/CHI2012-casiez.pdf

Mooney 23/02/2015 - 19:03

Hey guys.
This seems like exactly what I need right now, but I can't seem to find it anywhere in the alpha pack?
Am I missing something obvious?

joreg 23/02/2015 - 19:14

@mooney it already comes with the latest regular download now. no more alpha needed.

Mooney 23/02/2015 - 20:00

Hey, thanks for the reply.
I actually came across this a while ago, re downloaded the add on pack to make sure. Still couldn't find it. Kind of forgot about then and tried to make a work around.
Any chance you have the file path to where it should be?

joreg 23/02/2015 - 21:05

i am not sure why you ask about a filepath.. just doubleclick in a patch to popup the nodebrowser and type "oneeuro.." to make it come up. if it does not show up like this you are not running the latest version of vvvv.

in case you're asking for the source, it is here: https://github.com/vvvv/vvvv-sdk/blob/develop/vvvv45/src/nodes/plugins/Animation/OneEuroFilter/OneEuroFilterNode.cs

  • 1

anonymous user login


~2d ago

karistouf: i m searching for a solution on a cylinder end and 3 Hittest... tx https://discourse.vvvv.org/t/hitest-on-a-cylinder-end-in-3d/20725

~20d ago

mediadog: @schlonzo Oh just wait - see how far we have already come: http://old.noirflux.com/VideoFiles/FireAndIce-1.m4v

~21d ago

schlonzo: it is really hot here

~2mth ago

Joanie_AntiVJ: I have an issue with some reflection calculations, any vector expert may know the secret of mirrors ? :) https://discourse.vvvv.org/t/help-to-mirror-a-vector/20523/4

~2mth ago

Joanie_AntiVJ: I have an issue with some reflection calculations, any vector expert may know the secret of mirrors ? :) https://discourse.vvvv.org/t/help-to-mirror-a-vector/20523/4