*** RELEASE 2.0.0, 7 APRIL 2010 *** CORE - Add Stopwatch ability to pull CPU time or Calendar time. - Add name() method to VW exceptions to stringify the exception type. - Add general.tmp_directory config file key. - Fix mutex lock inside Condition::timed_wait(). - Add concurrent-safe queue class (ThreadQueue). - Remove TerminationHandler, it was really fragile. - Change Warning/ErrorMessage behavior; they prepend "Warning: " or "Error: " - Change ProgressBars to use a *.progress log namespace. - Change ProgressBars to enforce 80-char width. - Change values of ErrorMessage and InfoMessage, swapping them back to the beta1 way. - Change vwrc log filters to support limited wildcarding. MATH - Extend AffineFittingFunctor, SimilarityFittingFunctor, TranslationRotationFittingFunctor, and TranslationFittingFunctor to work in N-dimensions. - Add Homogeneous error metric. - Add CDFAccumulator. - Rename SparseSkylineMatrix to MatrixSparseSkyline. - Change MatrixSparseSkyline to inherit from MatrixBase. - Add VectorReorganize and MatrixReorganize to re-map indices. - Add Cuthill McKee ordering algorithm for MatrixSparseSkyline. - Add Fundamental Matrix solvers. - Rename Null to Nullspace. - Add Rank and Nullity matrix operations. - Fix excessive logging inside LevenbergMarquardt; improves speed. - Add function to convert XYZ Euler angles to quaternions. IMAGE - Fix rounding bug with premultipliying (bugfix from William Rucklidge) - Add alpha_to_mask() function. - Fix PixelWithAlpha to properly noop if input already has an alpha channel. FILEIO - Add DiskCacheImageView constructor parameter to choose the cache directory. - Change DiskImageResourceGDAL to turn on LZW compression by default for TIFFs. - Remove obsolete/broken JP2.h code. - Add DiskImageResourceGDAL::set_gdal_cache_size to set GDAL's internal cache size. CAMERA - Fix incorrect rotation inside AdjustCameraModel. - Add PinholeModel method to set camera projection matrix. - Add CameraMatrix fitting functor that attempts to solve for camera projection matrix. BUNDLE ADJUSTMENT - Move Bundle Adjustment code from Camera into its own module. - Add timers for internal functions; see loglevel DebugMessage namespace "ba". - Add RobustSparseKGCP, a robust BA that doesn't deweight Ground Control Points. - Add Camera Relation Network, a new perspective of Control Network. Allows for a Camera major organization. - Add efficient ControlNetworkLoader. - Refactor Sparse Bundle Adjustment to reduce speed by half and to build sparse matrix more efficiently. CARTOGRAPHY - Fix CameraBBox to work with meters per pixel on projection plane. - Add D_MOON and D_MARS datums as well known datums. MOSAIC - Add Gigapan viewer support inside image2qtree. STEREO - Change EM subpixel to switch between Newton method and Gauss-Newton for speed improvements. - Add valid_pad technique that minimizes the cuts into the disparity that happen from the pyramid correlator. - Add Disparity Transform; it transforms an image by using a Disparity Map. INTEREST POINT - Add Scaled Gradient Descriptor, a new custom and fast descriptor. - Add OBALoG detector code with help from KSU. - Add BoxFilterView which allows for arbitrary box filter application. - Add IntegralDescriptor type for descriptors that use Integral Images. - Add Scaled Gradient Descriptor 2, which is a simple descriptor that uses Integral Images for calculation. TOOLS - ipfind: culling fix for threaded detection. - ipfind: add gain setting as standard interface to all algorithms' thresholds. - correlate: modify to mimic Ames Stereo Pipeline's stereo. - colormap: Fix nodata value detection. - grassfirealpha: new tool that provides a grassfire image in the alpha channel. - all: accept -h as an alternative to --help. BUILD - Add dependency on Boost Graph library. - Switch a large number of tests to use Google Test. - Enable silent build (use --disable-silent-rules or make V=1 to revert). - Disable static libraries by default (use --enable-static to revert) - Rework Boost detection. Again. Ad infinitum? - Add support for autoconf 2.65. - Fix support for really old autoconf. - Fix TIFF-inside-GDAL detection. - Add support for enabling Google perftools' tcmalloc and libprofiler. - Many FreeBSD fixes. VW should compile on FreeBSD now thanks to Steve Wills! MISC - Add experimental GDB 7.0+ python-based pretty printers for select VW types. - Compiler warning fixes throughout the tree. - Some functions that the comments marked as deprecated will also throw compiler warnings now if you use them.