# FFT of a video? (Caterpillars involved!)

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

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