spacer.png, 0 kB
  spacer.png, 0 kB
spacer.png, 0 kB
spacer.png, 0 kB
Optical Flow downloads PDF Print
Article Index
Optical Flow downloads
Requirements and Options
Sources and ChangeLog
Current Binaries

Current version

The exported SVN repository of this optical flow related collection of libraries and tools can be downloaded hereSource tarball. If one is interrested only in, say, the LinearFilters library, he or she may change the configure options via CMake to build only the desired library. The configuration options were explained on the previous page.

A copy of current version's documentation is available here . A sample commented source code for the Heeger's optical flow method is available here .

Note that we don't provide any warranty or similar. It is licensed under the GNU GPL. The libraries and tools belong to the CBIA.

History of changes

2nd February 2010

This "release" brings the preliminary implementations of the Heeger's method for computation of optical flow as well as its advanced version. The latter should provide better flow fields on biomedical image data. More on this in the docs.

The arbitrary Gabor bank filtering was under further development. Besides staged versions (modulation, Gaussian and demodulation), direct filtering versions (via 1D IIR Gabor convolutions) were added. Some bugs were removed. Special attention was given to filtering near image boundary in all variant of Gaussian and Gabor filtering in the library.

The optimized bank filtering was finished and is now considered stable. One should call the PrepareGaborBank() to compute "the convolution recipes" for the given Gabor bank. The recipes provide information for convolution routines how to convolve very effectively. The recipes can be then processed with ApplyGaborBank2_DC().

Since even-phase Gabor filtering is influenced with the DC offset present in the filtered image, functions to either remove DC from input image or to convolve and remove DC from outputs are made available.

We won't provide binary versions of this release until the Heeger's method is complete. Sorry for that.

6th August 2009

Changes were only in the LinearFilters library, mostly only Gabor filtering related stuff has changed.

The most important is the change of the GaborFilter structure which original content proved not be a lucky choice. The structure's semantics have changed. Now it should encode users wishes about a motion to be detected. A precise specification of general 3D and 4D Gabor filters are now carried out with GaborFilter3D and GaborFilter4D structures. A conversion routine exists.

As a result many functions had to be changed. Fortunatelly, mostly only their interface has changed because they now listen to the GaborFilter3D structure.

Some new functions were implemented, among these: "Gabors in the Fourier spectrum" related functions, the Staged4GaborFiltering() for effective simultaneous convolution with 4 Gabor filters and ApplyGaborBank() for fast convolution with bank of Gabor filters. More on this in the new Gabor Filters module .

The ApplyBaseConvolution2() was added. It corrects bug a in the ApplyBaseConvolution(). The latter was decided to be kept even with the bug for the backward compatibility.

23rd March 2009

The first official release of the Optical Flow collection under GNU GPL.

The i4dcore, an extension of i3dcore to uniquely store and manipulate 3D timelapse images (4D = 3D + time), was considered complete and production ready. It also defined an internal CBIA standard to storing a sequence of 3D images on a hard drive through functions Image4d.ReadSequence() and Image4d.SaveSequence(). The related portion of documentation is this module .

The LinearFilters library implemented 1D convolution routines along x,y,z and time axes as well as along arbitrary (dx,dy,dz) axis. These were targeted for spatial image filtering using separable convolutions. Most of these functions were modified to conduct Gaussian filtering with IIR filters. Finally, 3D Gaussian and Gabor filtering separated into three to six 1D convolutions was implemented in functions ApplyANIGaussL(), ApplyANIGaussU2() and StagedGaborFiltering().

The OpticalFlow library includes PDE-based methods based on full bidirectional multi grid framework . Some image statistics functions are included in the library as well.

The development of the Ground-truth generator and the GUI demo was stopped, considered as beta though not final.

Written by Vladimír Ulman   
Last Updated ( Wednesday, 15 February 2012 )
spacer.png, 0 kB
spacer.png, 0 kB
spacer.png, 0 kB