Forums

FFT of a video? (Caterpillars involved!)

Started by Alex Vaughan January 31, 2005
Hi,

I'm trying to track the periodic movements of a caterpillar; in one
behavior, it compresses its entire body regularly (period: 4s), and in
another it has a peristaltic wave of compression that moves from tail
to head (period:20 sec).

I'd like to observe this by taking video, and doing a frequency
analysis across time; the caterpillar itself doesn't move (much), so
we're only looking at the periodicity of its contractions.

I'm looking for:
- software that can do this with reasonable memory requirements
(unlike, say, matlab)
- any advice from folks who have done this.  Is this even possible?
Thanks!
alex

Alex Vaughan wrote:
> Hi, > > I'm trying to track the periodic movements of a caterpillar; in one > behavior, it compresses its entire body regularly (period: 4s), and in > another it has a peristaltic wave of compression that moves from tail > to head (period:20 sec). > > I'd like to observe this by taking video, and doing a frequency > analysis across time; the caterpillar itself doesn't move (much), so > we're only looking at the periodicity of its contractions. > > I'm looking for: > - software that can do this with reasonable memory requirements > (unlike, say, matlab) > - any advice from folks who have done this. Is this even possible? > Thanks! > alex >
Have you tried a search for "bug tracking tools"? <insert rimshot> You might want to consider putting some easily identified markers at key points on the caterpiller. e.g. by putting a blue dot on the tail end, you could normalize the video so that the tail stayed in the same place in the images. (one way is to cross-correlate against a previous image of the blue dot, then shift by the delay with peak magnitude) If you put a different color dot on the head, you could rotate the frames so the worm always had consistent orientation. This simplifies the problem into 1 dimension. Matlab might work well enough for frame-by-frame computations. You should consider your design time as well as running time. If you want some FFT tools that can do multiple dimensions, try kissfft.sourceforge.net (disclosure: I am the author) * small, simple * probably fast enough * can be used in open or closed source software www.fftw.org * very fast: about 2x-4x faster than kissfft * GPL