We have currently implemented only the traditional Heeger's method.
The original method uses twelve Gabor quadrature-pair filters to compute Gabor energies for every voxel in the image. Comparing the measured energies with theoretical energy responses for certain movement velocity, the method can find the velocity which induces the most similar theoretical energy responses.
We have extended and modified the original method to provide better accuracy on tested biomedical image data. The changes were:
The original method, althought the class can use more filters, is represented with the class OFHeeger. The changes A) and B) are implemented in the derived class OFHeegerANI. The class OFHeegerANI_DC, which is derived from OFHeegerANI, adds the C) functionality. The functionality D) is driven at compile time and is either turned on or off for all classes by changing/toggling the NORMALIZATION macro in the file libof/ofHeeger.cc.
There is the whole documentation module devoted to this approach, Optical flow according to Heeger.
We also provide a sample commented C++ source code, at http://cbia.fi.muni.cz/user_dirs/of_doc/examples/ComputeOF_Heeger.cc , that uses the Heeger's method. On Linux, one may compile it with the command:
g++ -Wall -o ComputeOF_Heeger ComputeOF_Heeger.cc -I/usr/local/include -L/usr/local/lib -li3dcore -lLinearFilters -lOpticalFlow -lm -Xlinker -defsym -Xlinker MAIN__=main
supposing both the i3dlibs and the optical flow lib are installed into /usr/local directory.
This branch of optical flow computation methods is a part of the library called OpticalFlow. It is property of the CBIA.
It is licensed under The GNU General Purpose License. It can be downloaded from the CBIA web pages: http://cbia.fi.muni.cz/projects/optical-flow-downloads.html .
The OpticalFlow library is written in pure C++. It is directly dependent on the i3dalgo ( http://cbia.fi.muni.cz/user_dirs/i3dlib_doc/i3dalgo/ ), LinearFilters ( Fast spatial image filtering ) and libraries both i3dalgo and LinearFilters further depends on. See the Software map.
This part of the library was developed by Vladimír Ulman.