Log of Changes
- Version 1.1.5 (7 Oct 1998)
- In trackFeatures.c, renamed _sumFloatWindow to _sumAbsFloatWindow
(I thought this had been done before in version 1.1.1).
Two bugs in the function were fixed:
- Now, the absolute value is taken of the individual pixels before
summing them.
- The 'for' loop over 'width' now works correctly.
Note: As a result of this bug fix, the default value of tc->max_residue
was changed to 10.
-- Thanks to Pedro Felzenszwalb
- Version 1.1.4 (18 Sep 1998)
- To make code work for Win32 systems, forced fopen() to
use binary rather than text file. (In Unix, default is
to open as binary, whereas in Win32, default is to open as
text).
-- Thanks to Johan, Fredje Helderweirt, and LiYunhao
- In convolve.c: Simplified formula for maximum of Gaussian
and Gaussian derivative.
- In selectFeatures.c, changed the errors to warnings, when
checking window size.
- Changed indentation for improved readability.
- Minor changes to eliminate compiler warnings:
- In selectGoodFeatures.c: Changed _quicksort to return void,
and wrapped _comparePoints() with #ifdef KLT_USE_QSORT.
- In trackFeatures.c: Changed _computeIntensityDifference
and _computeGradientSum to return void; removed
search_range_max, nlevels, and ixx, which were not being used.
- In pnmio.c: Type conversion made explicit in malloc().
- In selectFeatures.c: moved _quicksort() to top of file to
obviate need for prototype.
- In writeFeatures.c: _readHeader() now returns a structureType,
instead of an int (A structureType is an int, but some
compilers are really picky).
- Version 1.1.3 (3 Mar 1998)
- Fixed bug in
KLTTrackFeatures()
. In the
conditional just after the call to _trackFeature()
,
KLT_OOB
is now properly handled.
- Slightly improved bounds-checking by introducing an epsilon,
and by giving back an extra pixel along the border that had
been taken away unnecessarily.
- If tc->window_[width,height] is unacceptable,
a warning is now generated and the value is corrected.
Previously an error was generated.
- In Example 5, changed search range from 20 to 15. As a
result, if the window size is changed to 5 the number of
pyramid levels remains 2, which prevents the border from
increasing dramatically.
- In Makefile, change example dependencies from lib to libklt.a.
Unfortunately, changing the library source code (such as
trackFeatures.c
) and then calling make
example1 does not work properly, but at least
changing example1.c and then calling make
example1 does work. The latter case is probably more
important, so we will have to live with the current tradeoff.
- Version 1.1.2 (24 Feb 1998)
- Fixed major bug: Added an explicit check to ensure that feature
does not drift out of bounds during tracking. This removes the
problem of occasional crashes.
-- Thanks to Rainer Stiefelhagen
- Speeded up sorting by replacing qsort() with Manolis Lourakis'
_quicksort() function.
-- Thanks to Manolis Lourakis, Luis Rivera
- Added KLTSetVerbosity() to klt.c (It should have already been there)
- Changed ppmWriteFile() to ppmWriteFileRGB()
- Fixed minor bug: assert() statement in line 314 of convolve.c
-- Thanks to Rainer Stiefelhagen
- In Makefile, change example dependencies from libklt.a to lib
- Version 1.1.1 (18 Dec 1997)
- Fixed minor syntax bug: Changed 'if feof(fp)' to 'if (feof(fp))'
in writeFeatures.c
-- Thanks to Matt Last
- Fixed major bug: When tracking features, 'max_residue' was not
being computed correctly. Therefore, feature windows that changed
a lot in intensity were not being detected. Specifically, in
trackFeatures.c, I changed _sumFloatWindow to _sumAbsFloatWindow.
- Version 1.1
- (16 Oct 1997)
- Fixed bug in pgmReadFile(). It was not skipping over the
last return character.
- Example 1 was updated to include binary files.
- Changed KLTWriteFeature...() and KLTReadFeature...()
to allow binary files, as well as text files.
- (15 Oct 1997)
- Posted
- Fixed obscure bug in KLTChangeTCPyramid() and
improved readability of that function
- Fixed incorrect assert() statement in _interpolate() function
- Version 1.1 (beta)
- (21 Feb 1997)
- Renamed as Version 1.1 (beta)
- (15 Feb 1997)
- Posted as Version 1.2
(This was a mistake; it should have been named Version 1.1 (beta).)
- Fixed obscure bug that sometimes caused infinite loop
(bug was in _enforceMinimumDistance() function of
selectGoodFeatures.c)
- Amended KLTPrintTrackingContext() to print all the new
fields that were added in Version 1.1
- Version 1.1 (alpha)
- (21 Feb 1997)
Renamed as Version 1.1 (alpha)
- (10 Feb 1997)
- Posted as Version 1.1
(This was a mistake; it should have been named Version 1.1 (alpha).)
- Features are lost when residue exceeded
- KLTSelectGoodFeatures() only accepts features whose minimum
eigenvalue is at least
tc->min_eigenvalue
- User allowed to output internal images
- comments allowed in data files
- Default for
tc->smooth_sigma_fact
changed from 0.5 to 0.1
- Simplified _minEigenvalue() routine in selectGoodFeatures.c
- Version 1.0 (beta)
- (10 Feb 1997)
- Posted
- Print statements are prefaced by "(KLT) "
- Version 1.0 (alpha)
- (28 Jan 1997)
- Removed '#include "pyramid.h"' from "klt.h"
- Changed '_KLT_Pyramid' in "klt.h" to 'void *'
- Forced coercion of 'void *' to '_KLT_Pyramid' in other files
- (27 Jan 1997)
- Removed 'makedepend' from Makefile, along with dependencies
below '# DO NOT DELETE'
- (24 Jan 1997)
- Posted