Fast Fourier Transformation Algorithm/Library for Motion Data? (EDITED REPOST)

edited December 2013 in How To...

I posted earlier about using Processing combined with the Leap Motion in order to build an application that could detect hand tremor. I believe I will need to perform a FFT for this to work. Only one I know of in Processing is Minim but that is for sound data. I am fairly ignorant on this topic as of now (I have been watching youtube tutorials explaining how FFTs work all day I swear I'll be dreaming about it but from what I know so far I don't think Minim will work for my motion data.

So far I have used the Leap Motion api to record the following data into a csv file:

palmVelocity — The speed of the palm in millimeters per second. palmPosition — The center of the palm measured in millimeters from the Leap origin. palmNormal — A vector perpendicular to the plane formed by the palm of the hand. The vector points downward out of the palm. direction — A vector pointing from the center of the palm toward the fingers. Time - in milliseconds From the little I have gained from the FFT tutorials and lurking stackoverflow, I believe this is all the data I need to do analysis (there are a bunch of other hand position data I could get too but I think these are all I need for this problem). So my specific questions are as follows:

Do I need to do FFT in order to measure the changing hand movements to detect tremor (involuntary muscles movements usually caused by physical disabilities). Please explain why. The only FFT library in Processing is Minin that I know of, its designed for sound, so it will not work for my situation right? Recommend a library that could work for my situation. Someone mentioned to me about Kiss FFT which is not audio-specific, but it's written in C which I would like to avoid at all cost lol (I'm already confused enough as it is).

Thanks in advance


  • I also just came across this

    Which is doing exactly what I want to do but in Java and its only doing it in 2d but mine would be in 3d. Since processing is java based, isn't there a way I can use the same functions/libraries?

  • edited December 2013

    There is the open source JTransforms library which offers 3D FFT in Java.

    I have not tested it, so you are on your own.

Sign In or Register to comment.