The Library
Help/Info
Current Release
|
|
Last Modified:
Nov 10, 2008
|
|
Release notes
Release 17.12
Release date: Nov 10, 2008 Major Changes in this Release:
|
New Stuff:
- Added user settable styles to most of the gui widgets
- Added the diagm(), svd2() and svd3() matrix functions
- Added the thread_pool object
Non-Backwards Compatible Changes:
- Removed the arrow_button widget and moved its functionality into the
button widget.
- Renamed the dragable class to draggable
- Removed the confusing and unnecessary hidden bool argument to the
gui widget style drawing functions.
- Changed some of the events that are about the mouse leaving a widget so
that they still trigger even if the widget has been disabled or hidden.
Bug fixes:
- Added some missing mutex locks to the scroll_bar widget
- Fixed a bug in the fill_gradient_rounded() function. It didn't always
draw the entire rectangle.
- Fixed a compile time bug in the pinv() function. It didn't compile
when used on statically sized matrices when they weren't square.
Other:
- The member_function_pointer object now never calls new or delete.
So it is safe to use in a real time environment.
|
Release 17.11
Release date: Oct 20, 2008 Major Changes in this Release:
|
New Stuff:
- Added the sort_columns() and rsort_columns() functions
- Added the vector_normalizer object
- Added the normalized_function object.
- Added a tensor_product() function for the matrix object.
Non-Backwards Compatible Changes:
Bug fixes:
- Made it so that the gui event handler thread isn't created at all
unless some part of an application calls some of the gui_core code.
In the previous release the event handler thread was executed
briefly during program termination and could cause problems if no
windowing environment was available.
- Fixed an #include statement in the matrix utilities so that it works
even if you don't specify an include path argument to your compiler.
Other:
|
Release 17.10
Release date: Oct 09, 2008 Major Changes in this Release:
|
New Stuff:
- Added a thread safe shared pointer object
- Added the popup_menu_region widget.
Non-Backwards Compatible Changes:
- The on_wheel_up() and on_wheel_down() gui events now take an unsigned long
argument.
- Removed the register_program_ending_handler() function from the threading
API and also changed the dlib thread pool so that it no longer causes
a terminating program to wait for any outstanding threads to finish
before allowing the application to end.
- Changed the serialization format of the linearly_independent_subset_finder
class.
- Changed all the font pointers in the gui API's interfaces
to shared_ptr_thread_safe objects.
Bug fixes:
- Made the kkmeans class actually use the min_change parameter.
- Fixed a bug in the linearly_independent_subset_finder object. Also
added a way to set a minimum tolerance.
- Fixed a bug in the scrollable_region widget that caused it to scroll in an
unpleasant way when the horizontal and vertical scroll increments weren't
set to the same value.
- Made one of the arguments to font::draw_string() not be a reference because
some versions of gcc don't end up doing the right thing when -O3 is
supplied.
- Fixed a bug in the covariance() function that prevented it from compiling
sometimes.
Other:
- Changed the gui core code around so that it should be safe to make window
objects at the global scope.
- Added more control over how the scrollable_region scrolls its region.
You can now adjust how much it scrolls when the mouse wheel is scrolled
as well as enabling scrolling via a mouse drag.
- Modified the library so that it compiles with the Intel compiler.
- Added some example programs that use the relevance vector machine
|
Release 17.9
Release date: Sep 06, 2008 Major Changes in this Release:
|
New Stuff:
Non-Backwards Compatible Changes:
Bug fixes:
- Fixed a bug in the tooltip widget
- Fixed the cmake option to toggle the ENABLE_ASSERTS macro
- Fixed some bugs in the rvm
- Fixed the serialization code for the kkmeans object so that it actually
works
- Fixed a bug that can trigger when the thread_specific_data object is
destructed
- Fixed a bug in the directory navigation gui. If you tried to go
into a drive on windows that wasn't mounted you got an error.
This is now fixed.
Other:
- Made the dir_nav stuff work with std::vector and dlib::std_vector_c
as well as dlib::queue objects.
- Generally cleaned up a bunch of things
|
Release 17.8
Release date: Aug 14, 2008 Major Changes in this Release:
|
New Stuff:
- Added relevance vector machine regression and classification support.
- Added the cross_validate_trainer_threaded() function
- Added the length and length_squared matrix functions.
Non-Backwards Compatible Changes:
Bug fixes:
- Changed gui code a little so that windows don't popup in funny
places when used with the cygwin X windows system.
Other:
- Made it easier to use the scoped_ptr with the TCP connection object
- Optimized the matrix object a little
|
Release 17.7
Release date: Jul 25, 2008 Major Changes in this Release:
|
New Stuff:
- Machine Learning
- Added the ability to compare kcentroid objects to each other
- Added the rank_features() function
- Added the distance_function object
- Added the reduced_decision_function_trainer object and
reduced() function
- Added the reduced_decision_function_trainer2 object and
reduced2() function
- Added a radial basis function network trainer
- Added the linearly_independent_subset_finder object
- Added the sigmoid_kernel
- Matrix Utilities
- Added the inv_upper_triangular() and inv_upper_triangular()
functions.
Non-Backwards Compatible Changes:
- Refactored a bunch of the kernel learning code into a much cleaner form.
But this does change the interface to all the training functions.
Bug fixes:
- Fixed a bug in the min and max calculation in the running_stats object
- Removed a bug in the sum() and variance() functions that
caused them to seg fault when they were used on certain
matrix of matrix objects.
- Added a missing check for division by zero to the conjugate gradient
optimization functions.
- Added some missing member variables to the .swap and serialization
functions for the kcentroid object. So now they should work right.
Other:
- Added an option to the cmake file to toggle the DLIB_ASSERT macro
- Added an option to the cmake file to toggle the dlib stack trace macros
- Made the library compile in Cygwin
|
Release 17.6
Release date: Jun 22, 2008 Major Changes in this Release:
|
New Stuff:
- Merged in Keita Mochizuki's unicode patches to the GUI components. So
the dlib GUI now has better unicode support.
- Added the remove_row and remove_col matrix functions. Also made all
three of the above functions capable of taking arguments at run time
as well as compile time.
- Added the ability to cap the number of dictionary vectors used by the krls
and kcentroid object at a user specified number.
- Added the pick_initial_centers() function
- Added the running_stats object
Non-Backwards Compatible Changes:
- Changed the interface to the krls and kcentroid objects somewhat.
- All of the style objects in the GUI part of the library now use
dlib::ustring instead of std::string. This only matters to you if
you have made your own style objects.
- Changed the serialization format of the krls, kcentroid, and
directed_graph_drawer objects. Note that is also means that the
files saved by previous versions of the bayes_net_gui_ex program
won't load with the current version.
Bug fixes:
- Fixed an aliasing bug in the set_subm(), set_rowm(), and set_colm()
functions. It was possible that you could get incorrect results
if you used these functions to copy one part of a matrix to another
part of the same matrix if the two areas overlapped.
- Fixed a minor numerical error in the krls code so now it gets slightly
better results.
Other:
- Made the types generated by the matrix operations a lot shorter. This
avoids some compiler warnings from visual studio and even some potential
internal compiler errors in some instances.
|
Release 17.5
Release date: Jun 2, 2008 Major Changes in this Release:
|
New Stuff:
- Added some macros that allow dlib to create a stack trace
- Added the wrap_function and is_function templates.
- Added two new events to the text_field object. One for detecting when the
user hits enter and another for detecting when input focus is lost.
- Machine Learning
- Added a kernel based centroid estimator/novelty detector
- Added a kernel based k-means clustering algorithm
- Numerical
- Added an identity_matrix() function that can take a runtime defined size.
- Added a bunch of unconstrained optimization stuff to the library.
It now has a conjugate gradient optimization algorithm as well as
a quasi-newton algorithm.
- Added the set_subm, set_rowm, and set_colm functions.
Non-Backwards Compatible Changes:
- In the krls object: Added a requires clause to the set_tolerance() member
function and renamed clear() to clear_dictionary().
Bug fixes:
- Fixed a bug in the requires clause of the subm() function. It was
more restrictive than it should have been.
Other:
- Added example programs for the krls object as well as the new
kcentroid and kkmeans objects.
|
Release 17.4
Release date: May 12, 2008 Major Changes in this Release:
|
New Stuff:
- Added an implementation of the kernel recursive least squares algorithm
Non-Backwards Compatible Changes:
- Broke backwards compatibility in the directed_graph_drawer's serialization
format when I fixed the bug below.
Bug fixes:
- Fixed two bugs in the directed_graph_drawer widget. First, it sometimes
threw a dlib::fatal_error due to a race condition. Second, the color of
the nodes wasn't being serialized when save_graph() was called.
- Made vector_to_matrix() work for std::vector objects that have non-default
allocators.
Other:
- Added some stuff to make people get a really obvious error message
when they set up the include path incorrectly.
|
Release 17.3
Release date: Apr 28, 2008 Major Changes in this Release:
|
New Stuff:
- Added the vector_to_matrix() function.
- Added a cholesky_decomposition() function.
- Added the toggle_button GUI widget
- Added a default toggle button style as well as check box and
radio button styles.
- Added a single click event to list_box
- Added a save_file_box() and open_existing_file_box() function.
Non-Backwards Compatible Changes:
- Changed the check_box and radio_button widgets to be specializations of
the new toggle_button object. This is a nearly backwards compatible
change except that the events registered to check_box and radio_button
clicks must now take the form void event(toggle_button&) or
void event(void) instead of the previous void event(check_box&) and
void event(radio_button&).
- Removed the is_mouse_over bool from the button_style::draw_button()
function.
Bug fixes:
- Fixed a compiler error in mingw.
- Changed the preprocessor checks for the wchar_t overload of
is_built_in_scalar_type so that it works properly with visual studio.
Other:
- Added a Bayesian Network GUI that allows you to create a network
and serialize it to disk.
|
Old Release Notes
|