The Library

- Algorithms
- API Wrappers
- Bayesian Nets
- Compression
- Containers
- Graph Tools
- Image Processing
- Linear Algebra
- Machine Learning
- Metaprogramming
- Miscellaneous
- Networking
- Optimization
- Parsing

Help/Info

- Examples: C++
  - Assignment_Learning
  - Base64_Encoder
  - Bayesian_Network
  - Bayesian_Network_From_Disk
  - Bayesian_Network_GUI
  - Bridge
  - BSP
  - Cmd_Line_Parser
  - Compress_Stream
  - Config_File_Reader
  - Custom_Trainers
  - Directory_Navigation
  - Empirical_Kernel_Map
  - Graph_Labeling
  - GUI
  - HTTP_Server
  - Image
  - IO Socket Streams
  - IO Streams Server
  - Kernel_Centroid
  - Kernel_K-Means_Clustering
  - Kernel_Ridge_Regression
  - Kernel_RLS_Filtering
  - Kernel_RLS_Regression
  - KRR_Classification
  - Linear_Manifold_Regularizer
  - Logger
  - Logger_Advanced
  - Matrix
  - Matrix_Expressions
  - Member_Function_Pointer
  - Model_Selection
  - Multiclass_Classification
  - Multithreaded_Object
  - Neural_Network
  - Non-Linear Least Squares
  - Numerical_Integration
  - Object_Detector
  - Object_Detector_Advanced
  - One_Class_Classifiers
  - Online_SVM
  - Optimization
  - Parallel_For_Loops
  - Pipe
  - Pipe_2
  - Quantum_Computing
  - Queue
  - Rank_Features
  - Relevance_Vector_Classification
  - Relevance_Vector_Regression
  - Running_Stats
  - Sequence_Labeling
  - Sequence_Segmentation
  - Sockets
  - Sockstreambuf
  - Sparse_Vectors
  - Std_C++_Allocator
  - Structural_Support_Vector_Machines
  - Support_Vector_Machine
  - Support_Vector_Regression
  - SURF
  - SVM-Rank
  - Threaded_Object
  - Threads
  - Thread_Function
  - Thread_Pool
  - Timer
  - Train_Object_Detector
  - Using_Custom_Kernels
  - XML_Parser
- Examples: Python
  - Linear_Assignment_Problems
  - Sequence_Segmenter
  - Structural_Support_Vector_Machines
  - SVM-Rank
- FAQ
- Home
- How to compile
- How to contribute
- Index
- Introduction
- License
- Python API
- Suggested Books

Current Release

- Change Log
- Release Notes
- Version: 18.4

Last Modified: Aug 28, 2013

# Old Change Logs

Revision: 379ec08ba4f81774
Author: Davis King
Date: Jun 09, 2013 (07:59:20 UTC)

Improved the help messages cmake outputs to tell the user how to install optional dependencies such as X11, BLAS, and LAPACK.

Modified
dlib/CMakeLists.txt
dlib/cmake_find_blas.txt

Revision: 03c22d239466fa9f
Author: Davis King
Date: Jun 03, 2013 (17:20:26 UTC)

Made split() work on char* strings.

Modified
dlib/string/string.h

Revision: 4d40bef8d1aeb50d
Author: Davis King
Date: Jun 02, 2013 (19:18:32 UTC)

minor change to avoid compiler error in visual studio.

Modified
dlib/test/numerical_integration.cpp

Revision: 46376de72a05933d
Author: Davis King
Date: Jun 01, 2013 (13:33:09 UTC)

Changed the default behavior of heatmap() and jet() to use min(mat(img)) as the lower bound instead of 0 for the case where you don't give any bounds at all.

Modified
dlib/image_transforms/colormaps.h
dlib/image_transforms/colormaps_abstract.h

Revision: 22eada7229154890
Author: Davis King
Date: Jun 01, 2013 (13:25:02 UTC)

Relaxed some unnecessarily restrictive requires clauses.

Modified
dlib/svm/svm_c_linear_trainer.h
dlib/svm/svm_c_linear_trainer_abstract.h

Revision: 0e91ff35dc9470a5
Author: Davis King
Date: Jun 01, 2013 (10:30:36 UTC)

Clarified spec

Modified
dlib/statistics/cca_abstract.h

Revision: 76c04b6e908d7076
Author: Davis King
Date: Jun 01, 2013 (10:24:22 UTC)

Made add_python_module add the tools/python/src folder to the include search path.

Modified
dlib/add_python_module

Revision: 05142b285e7d9830
Author: Davis King
Date: Jun 01, 2013 (10:18:23 UTC)

Added an openmode argument to the basic_utf8_ifstream.

Modified
dlib/unicode/unicode.h
dlib/unicode/unicode_abstract.h

Revision: 250947b12a580a1c
Author: Davis King
Date: Jun 01, 2013 (10:10:59 UTC)

Minor change to avoid a compiler error in gcc 4.7

Modified
dlib/unicode/unicode.h

Revision: a414f9db869ecd5b
Author: Davis King
Date: May 26, 2013 (11:55:36 UTC)

Made cmake copy the needed boost .dll files into the output directory when python modules are built on windows.

Modified
dlib/add_python_module

Revision: f6b45327d3ed4bfb
Author: Davis King
Date: May 26, 2013 (11:54:31 UTC)

Disabled destruction of the global thread pool on program shutdown when using dlib on MS Windows since this avoids a few program shutdown bugs when dlib us used as part of a DLL. For example, when creating python modules with threading the interpreter sometimes hangs on program shutdown as a result of trying to destroy the global thread pool. Note that not destroying this resource on program shutdown is the recommended approach according to Microsoft. see http://blogs.msdn.com/b/oldnewthing/archive/2012/01/05/10253268.aspx

Modified
dlib/threads/threads_kernel_shared.cpp
dlib/threads/threads_kernel_shared.h

Revision: 8b6a2a5b8d29c9a5
Author: Davis King
Date: May 26, 2013 (10:21:02 UTC)

Starting to flesh out the python interface documentation a little more.

Modified
dlib/add_python_module
tools/python/CMakeLists.txt
Added
python_examples/compile_dlib_python_module.bat
python_examples/sequence_segmenter.py

Revision: 8f7210eb94a648ea
Author: Davis King
Date: May 24, 2013 (17:56:15 UTC)

Added missing assert

Modified
dlib/numerical_integration/integrate_function_adapt_simpson.h

Revision: c36bb0f4526a769b
Author: Davis King
Date: May 24, 2013 (17:53:05 UTC)

Added missing dlib namespace

Modified
dlib/numerical_integration/integrate_function_adapt_simpson.h
dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h

Revision: 02b31252345ccffe
Author: Davis King
Date: May 24, 2013 (17:34:24 UTC)

minor cleanup and formatting

Modified
dlib/numerical_integration.h
dlib/numerical_integration/integrate_function_adapt_simpson.h
dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h
examples/integrate_function_adapt_simp_ex.cpp
Deleted
dlib/integrate_function_adapt_simpson.h
examples/adapt_simp.cpp

Revision: 37a22177ad6a9981
Author: Davis King
Date: May 24, 2013 (17:16:50 UTC)

merged

Modified
dlib/numeric_constants.h
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/integrate_function_adapt_simpson.h
dlib/numerical_integration.h
dlib/numerical_integration/integrate_function_adapt_simpson.h
dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h
dlib/test/numerical_integration.cpp
examples/adapt_simp.cpp
examples/integrate_function_adapt_simp_ex.cpp

Revision: 9e50118e73c5a26f
Author: Steve Taylor
Date: May 24, 2013 (15:47:24 UTC)

Adjusted accuracy on the fifth unit test.

Modified
dlib/test/numerical_integration.cpp

Revision: 23d6859022293718
Author: Steve Taylor
Date: May 24, 2013 (15:33:22 UTC)

Made changes to the tolerance stopping criteria in impl_adapt_simp_stop.

Modified
dlib/numerical_integration/integrate_function_adapt_simpson.h

Revision: a994fb83b6a78769
Author: Steve Taylor
Date: May 24, 2013 (-03:02:20 UTC)

Renamed numerical integration header to dlib/numerical_integration.h. Changed relevant headers to include numerical_integration.h Fixed documentation in integrate_function_adapt_simpson_abstract.h

Modified
dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h
dlib/test/numerical_integration.cpp
examples/integrate_function_adapt_simp_ex.cpp
Added
dlib/numerical_integration.h

Revision: c193b086111599a7
Author: Steve Taylor
Date: May 22, 2013 (18:36:33 UTC)

Implemented a numerical quadrature method based on an adaptive Simpson rule. Added unit tests and supporting examples for this function.

Modified
dlib/numerical_integration/integrate_function_adapt_simpson.h
dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h
dlib/test/CMakeLists.txt
dlib/test/makefile
dlib/test/numerical_integration.cpp
examples/integrate_function_adapt_simp_ex.cpp

Revision: 9cf94e5e13e4a3c3
Author: Steve Taylor
Date: May 19, 2013 (16:52:19 UTC)

Implemented a numerical quadrature method based on an adaptive Simpson rule. Added unit tests and supporting examples for this function.

Added
dlib/integrate_function_adapt_simpson.h
dlib/numerical_integration/integrate_function_adapt_simpson.h
dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h
dlib/test/numerical_integration.cpp
examples/integrate_function_adapt_simp_ex.cpp

Revision: d31f44e2b7b23b17
Author: Steve Taylor
Date: May 04, 2013 (15:39:57 UTC)

Updated numeric_constants.h. Added a first version of a numerical integration method to /examples/adapt_simp.cpp

Modified
dlib/numeric_constants.h
Added
examples/adapt_simp.cpp

Revision: c1725b24100ff296
Author: Davis King
Date: May 22, 2013 (19:33:51 UTC)

Fixed serialization bug

Modified
dlib/svm/sequence_segmenter.h

Revision: 1aee693e35d26738
Author: Davis King
Date: May 21, 2013 (16:20:10 UTC)

Made cmake file a little more convenient when used in large projects.

Modified
dlib/cmake

Revision: 0f26f574ab8eba4b
Author: Davis King
Date: May 21, 2013 (14:41:42 UTC)

Fixed a segmentation fault in the eigenvalue_decomposition object which could occur when NaN valued inputs were given.

Modified
dlib/matrix/matrix_eigenvalue.h

Revision: f9274763b6758053
Author: Davis King
Date: May 20, 2013 (15:37:43 UTC)

Fixed a problem that caused the python interpreter to hang on program exit when the dlib GUI was used.

Modified
dlib/gui_core/gui_core_kernel_1.cpp

Revision: d7cc6faf5b69a299
Author: Davis King
Date: May 19, 2013 (16:30:33 UTC)

Fixed some #include order problems I just introduced by making some of the geometry components use the optimization tools.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/matrix/matrix_assign.h
dlib/matrix/matrix_default_mul.h
dlib/matrix/matrix_subexp_abstract.h
dlib/matrix/matrix_utilities_abstract.h

Revision: c85bdab0ac8e2a23
Author: Davis King
Date: May 19, 2013 (16:16:57 UTC)

Added point_transform_projective and find_projective_transform()

Modified
dlib/geometry/point_transforms.h
dlib/geometry/point_transforms_abstract.h
dlib/test/geometry.cpp

Revision: ac9e6d3d304767f5
Author: Davis King
Date: May 19, 2013 (14:14:02 UTC)

In a recent commit I added per label bias features but forgot to exclude them from the non-negative feature learning range. This change fixes that.

Modified
dlib/svm/sequence_segmenter.h
dlib/svm/sequence_segmenter_abstract.h
dlib/test/sequence_segmenter.cpp

Revision: 1a79a7c1f3ae5f61
Author: Davis King
Date: May 18, 2013 (11:16:30 UTC)

Added per label bias features.

Modified
dlib/svm/sequence_segmenter.h
dlib/svm/sequence_segmenter_abstract.h

Revision: 4ff648a33472a8f6
Author: Davis King
Date: May 18, 2013 (11:01:29 UTC)

Added additional validation to serialized sequence_segmenter objects. This should help catch the case where a user changes the feature extractor and then tries to load an old model.

Modified
dlib/svm/sequence_segmenter.h

Revision: b1453b122365ea5a
Author: Davis King
Date: May 18, 2013 (08:16:45 UTC)

Fixed some typos

Modified
dlib/svm/sequence_segmenter_abstract.h

Revision: 0087453c15f8f6d8
Author: Davis King
Date: May 18, 2013 (06:52:49 UTC)

Clarified spec

Modified
dlib/svm/svm_abstract.h

Revision: 25b5cb5c2076f740
Author: Davis King
Date: May 18, 2013 (06:43:57 UTC)

clarified spec

Modified
dlib/svm/svm_abstract.h

Revision: 4f35f7b58ca7222c
Author: Davis King
Date: May 18, 2013 (06:25:08 UTC)

Added global function versions of rectangle::intersect() and rectangle::area() to make the overall rectangle API more uniform.

Modified
dlib/geometry/rectangle.h
dlib/geometry/rectangle_abstract.h

Revision: 12c2241d995bbc2e
Author: Davis King
Date: May 18, 2013 (06:11:42 UTC)

Added member functions to point_rotator and point_transform to allow a user to read the state of these objects.

Modified
dlib/geometry/point_transforms.h
dlib/geometry/point_transforms_abstract.h
dlib/test/geometry.cpp

Revision: 939a568642444e5e
Author: Davis King
Date: May 18, 2013 (05:56:46 UTC)

Made the interface to fft() and ifft() a little more flexible.

Modified
dlib/matrix/matrix_fft.h
dlib/matrix/matrix_fft_abstract.h
dlib/test/fft.cpp

Revision: 1d21a258d7ff6d5f
Author: Davis King
Date: May 18, 2013 (04:01:02 UTC)

Fixed typos in spec

Modified
dlib/svm/svr_linear_trainer_abstract.h

Revision: 4e83c4e9c9b0a057
Author: Davis King
Date: May 17, 2013 (13:38:40 UTC)

Minor change to avoid false alarms in unit test.

Modified
dlib/test/svm_c_linear.cpp

Revision: ceb94cf2d0f55af0
Author: Davis King
Date: May 15, 2013 (16:52:59 UTC)

minor change to avoid compiler error in visual studio 2005

Modified
dlib/test/sequence_segmenter.cpp

Revision: 43ddfd7d1787fede
Author: Davis King
Date: May 15, 2013 (02:50:48 UTC)

clarified spec

Modified
dlib/svm/sequence_segmenter_abstract.h

Revision: 515efb669cf993ef
Author: Davis King
Date: May 14, 2013 (16:44:54 UTC)

Made image saving routines work on matrix objects in addition to array2d objects.

Modified
dlib/image_saver/image_saver.h
dlib/image_saver/image_saver_abstract.h
dlib/image_saver/save_png.h
dlib/image_saver/save_png_abstract.h

Revision: f80db3a35da0bcc9
Author: Davis King
Date: May 14, 2013 (16:27:48 UTC)

Slightly simplified the interfaces of jet() and heatmap().

Modified
dlib/image_transforms/colormaps.h
dlib/image_transforms/colormaps_abstract.h

Revision: 7726b7201c882bc5
Author: Davis King
Date: May 14, 2013 (16:21:06 UTC)

Fixed a bug in hysteresis_threshold() that caused it to produce incorrect outputs sometimes.

Modified
dlib/image_transforms/thresholding.h

Revision: 77a7b833cdbed541
Author: Davis King
Date: May 14, 2013 (16:15:46 UTC)

Minor change to avoid compiler error in visual studio.

Modified
dlib/timing.h

Revision: e04b177191624208
Author: Davis King
Date: May 14, 2013 (16:12:00 UTC)

Added an option to learn just non-negative weights.

Modified
dlib/svm/sequence_segmenter.h
dlib/svm/sequence_segmenter_abstract.h
dlib/test/sequence_segmenter.cpp

Revision: f3b39ce20b02bc68
Author: Davis King
Date: May 13, 2013 (18:50:31 UTC)

Made the sequence_segmenter work with both BIO and BILOU tagging models.

Modified
dlib/svm/sequence_segmenter.h
dlib/svm/sequence_segmenter_abstract.h
dlib/svm/structural_sequence_segmentation_trainer.h
dlib/test/sequence_segmenter.cpp

Revision: 5cd17241616f0a24
Author: Davis King
Date: May 13, 2013 (15:33:11 UTC)

Refined the definition of a sequence segmentation problem.

Modified
dlib/svm/svm.h
dlib/svm/svm_abstract.h

Revision: 40970cd3ec66e12c
Author: Davis King
Date: May 13, 2013 (15:13:22 UTC)

Clarified spec

Modified
dlib/svm/sequence_segmenter_abstract.h

Revision: d3ff1ff9b852457b
Author: Davis King
Date: May 12, 2013 (15:29:15 UTC)

Changed svm_c_linear_trainer stopping epsilon to something a little more reasonable.

Modified
dlib/svm/svm_c_linear_trainer.h
dlib/svm/svm_c_linear_trainer_abstract.h

Revision: bed0ad875e2a69a0
Author: Davis King
Date: May 12, 2013 (14:05:32 UTC)

Added unit tests for sequence segmentation tools.

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/sequence_segmenter.cpp

Revision: e81c0667206d6aac
Author: Davis King
Date: May 12, 2013 (14:05:14 UTC)

Clarified spec.

Modified
dlib/svm/sequence_segmenter_abstract.h

Revision: b1d0efa58c3baec5
Author: Davis King
Date: May 12, 2013 (13:58:33 UTC)

A minor change to avoid a compiler warning

Modified
dlib/svm/sequence_segmenter.h

Revision: 89b3b631107751c8
Author: Davis King
Date: May 12, 2013 (13:45:09 UTC)

Added missing assert

Modified
dlib/svm/sequence_segmenter.h

Revision: 6061b692e305d327
Author: Davis King
Date: May 12, 2013 (13:44:41 UTC)

Added more asserts and a version number to the serialization format for sequence_segmenter objects.

Modified
dlib/svm/sequence_segmenter.h

Revision: 368e3f1621e71007
Author: Davis King
Date: May 12, 2013 (13:06:57 UTC)

Added structural_sequence_segmentation_trainer, test_sequence_segmenter(), and cross_validate_sequence_segmenter()

Modified
dlib/svm.h
Added
dlib/svm/cross_validate_sequence_segmenter.h
dlib/svm/cross_validate_sequence_segmenter_abstract.h
dlib/svm/structural_sequence_segmentation_trainer.h
dlib/svm/structural_sequence_segmentation_trainer_abstract.h

Revision: 227393c6fedc6a28
Author: Davis King
Date: May 12, 2013 (12:19:36 UTC)

Added is_sequence_segmentation_problem()

Modified
dlib/svm/svm.h
dlib/svm/svm_abstract.h

Revision: 100ab38c35a15d1c
Author: Davis King
Date: May 12, 2013 (06:19:06 UTC)

Added the sequence_segmenter object.

Modified
dlib/svm.h
Added
dlib/svm/sequence_segmenter.h
dlib/svm/sequence_segmenter_abstract.h

Revision: b1e75a761c78b202
Author: Davis King
Date: May 09, 2013 (19:11:19 UTC)

Clarified spec

Modified
dlib/svm/sequence_labeler_abstract.h

Revision: f6093557d1fe71ab
Author: Davis King
Date: May 09, 2013 (16:42:58 UTC)

Clarified spec

Modified
dlib/svm/assignment_function_abstract.h
dlib/svm/sequence_labeler_abstract.h

Revision: 0aa70bd655309137
Author: Davis King
Date: May 04, 2013 (08:44:30 UTC)

Added the svr_linear_trainer.

Modified
dlib/svm.h
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/svm/svr_linear_trainer.h
dlib/svm/svr_linear_trainer_abstract.h
dlib/test/svr_linear_trainer.cpp

Revision: f1b7fba969e05c16
Author: Davis King
Date: May 04, 2013 (06:14:39 UTC)

This is a minor change. All it does is slightly change the stopping condition used by the svm_c_linear_trainer so that the epsilon value is not implicitly scaled by the C values given by the user. This should make this object slightly easier to use.

Modified
dlib/svm/svm_c_linear_trainer.h
dlib/svm/svm_c_linear_trainer_abstract.h
dlib/test/svm_c_linear.cpp

Revision: 95544aeb42b3ed6c
Author: Davis King
Date: May 02, 2013 (15:57:53 UTC)

Changed test_ranking_function() and cross_validate_ranking_trainer() slightly to avoid a run time error in gcc 4.7.

Modified
dlib/svm/ranking_tools.h
dlib/test/ranking.cpp

Revision: 4c5e42cf3d2769a5
Author: Davis King
Date: Apr 29, 2013 (14:57:37 UTC)

Fixed incorrect search paths on windows.

Modified
dlib/add_python_module

Revision: 99d789ab6cbc8572
Author: Davis King
Date: Apr 28, 2013 (13:55:56 UTC)

Fixed cmake build problem on windows

Modified
dlib/add_python_module

Revision: e342086f26475aed
Author: Davis King
Date: Apr 28, 2013 (11:44:01 UTC)

Fixed typo in spec

Modified
dlib/svm/sparse_vector_abstract.h

Revision: b1c21984e391a3e1
Author: Davis King
Date: Apr 27, 2013 (04:34:47 UTC)

Added cmake script to simplify making python modules

Added
dlib/add_python_module

Revision: 71c5a113fae085fe
Author: Davis King
Date: Apr 26, 2013 (19:59:56 UTC)

Improved how we try to link against the Intel MKL. In particular, this change avoids a runtime linking error bug in the MKL that happens when you make a shared library and try to use it from python.

Modified
dlib/cmake_find_blas.txt

Revision: c019a101de1f4bf1
Author: Davis King
Date: Apr 23, 2013 (18:23:31 UTC)

Added the jet color scheme.

Modified
dlib/image_transforms/colormaps.h
dlib/image_transforms/colormaps_abstract.h

Revision: de263bd42ff72a70
Author: Davis King
Date: Apr 21, 2013 (17:06:05 UTC)

Changed code to avoid HSI/RGB conversions entirely.

Modified
dlib/test/serialize.cpp

Revision: 4084800249d4f8b2
Author: Davis King
Date: Apr 21, 2013 (16:51:39 UTC)

Changed tests slightly to make it more robust to rounding error in the HSI/RGB transform.

Modified
dlib/test/serialize.cpp

Revision: 3c57430cbe81db50
Author: Davis King
Date: Mar 03, 2013 (14:49:51 UTC)

made test a little more robust

Modified
dlib/test/linear_manifold_regularizer.cpp

Revision: c12425b02cb74775
Author: Davis King
Date: Mar 01, 2013 (-02:00:05 UTC)

Fixed a bug I introduced a few minutes ago.

Modified
dlib/float_details.h

Revision: a1f0385430e6b464
Author: Davis King
Date: Mar 01, 2013 (-03:29:54 UTC)

Fixing yet more compiler warnings on older versions of gcc

Modified
dlib/image_transforms/segment_image.h
dlib/test/object_detector.cpp

Revision: 186758c81025f134
Author: Davis King
Date: Mar 01, 2013 (-03:21:49 UTC)

Another cast to avoid a compiler warning

Modified
dlib/image_transforms/segment_image.h

Revision: c2e6e11c06b81592
Author: Davis King
Date: Mar 01, 2013 (-04:45:06 UTC)

Added a cast to avoid a compiler warning

Modified
dlib/float_details.h

Revision: 0b07a8fbd84d35a7
Author: Davis King
Date: Apr 21, 2013 (07:33:52 UTC)

Clarified spec

Modified
dlib/image_processing/object_detector_abstract.h

Revision: dfd52cc0376bbc69
Author: Davis King
Date: Apr 21, 2013 (06:01:48 UTC)

Removed cruft

Modified
dlib/image_processing/scan_image_boxes.h

Revision: f33721ce6d7331ae
Author: Davis King
Date: Apr 21, 2013 (05:56:45 UTC)

Permanently enabled the asserts in the object detector test functions since it's easy to mix up the adjust threshold and epsilon arguments and these checks will usually catch that. The checks are also very low cost.

Modified
dlib/svm/cross_validate_object_detection_trainer.h

Revision: 2295bd1f84b55260
Author: Davis King
Date: Apr 20, 2013 (18:03:25 UTC)

clarified spec

Modified
dlib/lsh/create_random_projection_hash_abstract.h

Revision: 8dce5c2eb27c72cc
Author: Davis King
Date: Apr 20, 2013 (17:55:45 UTC)

Added create_max_margin_projection_hash()

Modified
dlib/lsh/create_random_projection_hash.h
dlib/lsh/create_random_projection_hash_abstract.h

Revision: 2bb38f9dcb6bcd0d
Author: Davis King
Date: Apr 20, 2013 (10:35:58 UTC)

Fixed another minor visual studio compiler error.

Modified
dlib/matrix/matrix_fft.h

Revision: 36d022b9046aceab
Author: Davis King
Date: Apr 20, 2013 (10:27:40 UTC)

Minor change to avoid a compiler error in visual studio.

Modified
dlib/image_processing/scan_image_boxes.h

Revision: dc151452e8a6b96f
Author: Davis King
Date: Apr 20, 2013 (10:17:18 UTC)

Added float_details documentation

Modified
dlib/float_details.h

Revision: bc45fb832a05fb0f
Author: Davis King
Date: Apr 20, 2013 (10:13:42 UTC)

Added more comments

Modified
dlib/serialize.h

Revision: ce2abac417fd0578
Author: Davis King
Date: Apr 20, 2013 (09:45:20 UTC)

Added image_window::get_next_keypress()

Modified
dlib/gui_widgets/widgets.cpp
dlib/gui_widgets/widgets.h
dlib/gui_widgets/widgets_abstract.h

Revision: 15f004baf97dcf4a
Author: Davis King
Date: Apr 20, 2013 (09:08:34 UTC)

clarified spec

Modified
dlib/matrix/matrix_fft_abstract.h

Revision: 18c88b369983a0d9
Author: Davis King
Date: Apr 20, 2013 (09:01:03 UTC)

Updated CMakeLists.txt so it tries to link with fftw if it is installed.

Modified
dlib/CMakeLists.txt

Revision: 9734afa8f4fb0e0f
Author: Davis King
Date: Apr 20, 2013 (08:57:24 UTC)

Added fft() and ifft()

Modified
dlib/matrix.h
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/matrix/matrix_fft.h
dlib/matrix/matrix_fft_abstract.h
dlib/test/fft.cpp

Revision: 2878c6d3c827f025
Author: Davis King
Date: Apr 13, 2013 (17:18:21 UTC)

Made both versions of load_image_dataset() support the skip_empty_images option

Modified
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h

Revision: 2029c82a150f4732
Author: Davis King
Date: Apr 13, 2013 (14:48:52 UTC)

fixed linker error

Modified
dlib/image_processing/remove_unobtainable_rectangles.h

Revision: 5f1fd27cc74753d3
Author: Davis King
Date: Apr 13, 2013 (14:22:49 UTC)

minor cleanup

Modified
dlib/image_processing/remove_unobtainable_rectangles_abstract.h

Revision: 753b1b191364110e
Author: Davis King
Date: Apr 13, 2013 (14:21:17 UTC)

fixed grammar

Modified
dlib/image_processing/remove_unobtainable_rectangles_abstract.h

Revision: 45d3da502d2453c6
Author: Davis King
Date: Apr 13, 2013 (14:15:46 UTC)

Added remove_unobtainable_rectangles()

Modified
dlib/image_processing.h
Added
dlib/image_processing/remove_unobtainable_rectangles.h
dlib/image_processing/remove_unobtainable_rectangles_abstract.h

Revision: 5a11fbd986b297c7
Author: Davis King
Date: Apr 13, 2013 (08:53:11 UTC)

Made the serialization formats for scan_image_boxes and scan_image_pyramid include some extra data to validate the state of the object.

Modified
dlib/image_processing/scan_image_boxes.h
dlib/image_processing/scan_image_pyramid.h

Revision: 1a823c057cce9488
Author: Davis King
Date: Apr 13, 2013 (08:52:45 UTC)

Added unit tests for scan_image_boxes

Modified
dlib/test/object_detector.cpp

Revision: 6bb967808f138f36
Author: Davis King
Date: Apr 12, 2013 (17:47:57 UTC)

Changed the serialization formats for the matrix and array2d objects so that they are compatible. This was done in a way that is backwards compatible with previous versions of dlib. That is, we can still load data serialized by previous dlib versions. However, older versions of dlib can't load the new serialization format.

Modified
dlib/array2d/array2d_kernel.h
dlib/array2d/array2d_kernel_abstract.h
dlib/array2d/serialize_pixel_overloads.h
dlib/matrix/matrix.h
dlib/matrix/matrix_abstract.h
dlib/test/serialize.cpp

Revision: 541b4bf0145c8897
Author: Davis King
Date: Apr 12, 2013 (16:28:25 UTC)

Fixed the hash_similar_angles_* hash functions so they also work on matrices of float values.

Modified
dlib/lsh/hashes.h
dlib/test/linear_manifold_regularizer.cpp

Revision: 275b908032896b62
Author: Davis King
Date: Apr 12, 2013 (16:25:14 UTC)

Gave array a constructor that takes an initial size parameter

Modified
dlib/array/array_kernel.h
dlib/array/array_kernel_abstract.h
dlib/test/array.cpp

Revision: 65820e148f684d0b
Author: Davis King
Date: Apr 12, 2013 (15:51:24 UTC)

Added documentation for the other overload of is_graph_labeling_problem().

Modified
dlib/svm/structural_svm_graph_labeling_problem_abstract.h

Revision: 5a6f0d750b1817fe
Author: Davis King
Date: Apr 12, 2013 (15:48:55 UTC)

Added additional documentation to the code block timing tools.

Modified
dlib/timing.h

Revision: bc138ef332ff753d
Author: Davis King
Date: Apr 12, 2013 (15:44:00 UTC)

Clarified some requires clauses

Modified
dlib/image_transforms/equalize_histogram.h
dlib/image_transforms/equalize_histogram_abstract.h
dlib/image_transforms/thresholding_abstract.h

Revision: 49ff472ccb3e317b
Author: Davis King
Date: Apr 12, 2013 (15:35:20 UTC)

Gave point_transform_affine member functions so the user can find out what the transformation matrix is.

Modified
dlib/geometry/point_transforms.h
dlib/geometry/point_transforms_abstract.h

Revision: 8d254ac425119749
Author: Davis King
Date: Apr 09, 2013 (13:44:24 UTC)

Fixed the ranking test functions so they correctly compute the MAP values for ranking functions which output constant values.

Modified
dlib/svm/ranking_tools.h
dlib/svm/ranking_tools_abstract.h

Revision: 8d1654100272104e
Author: Davis King
Date: Apr 07, 2013 (18:53:14 UTC)

made spec more accurate

Modified
dlib/image_saver/image_saver_abstract.h

Revision: 08dd68d5cfe8aece
Author: Davis King
Date: Mar 03, 2013 (12:41:25 UTC)

made test more robust

Modified
dlib/test/linear_manifold_regularizer.cpp

Revision: 39bbae367c654e85
Author: Davis King
Date: Mar 03, 2013 (12:30:10 UTC)

made test more robust

Modified
dlib/test/image.cpp

Revision: 101a549fc914616a
Author: Davis King
Date: Apr 06, 2013 (16:47:39 UTC)

Added serialization unit tests to cover the new format

Modified
dlib/test/serialize.cpp

Revision: 1d05eb083f71fd05
Author: Davis King
Date: Apr 06, 2013 (16:22:32 UTC)

added more tests

Modified
dlib/test/image.cpp

Revision: 0204b9e37e1b2fbe
Author: Davis King
Date: Apr 06, 2013 (16:16:55 UTC)

Added some unit tests for the new floating point DNG formats

Modified
dlib/test/image.cpp

Revision: 673cd2bf27f55a6c
Author: Davis King
Date: Apr 06, 2013 (15:50:49 UTC)

Upgraded the dng image format so it can natively store floating point pixel types without any information loss.

Modified
dlib/image_loader/image_loader.h
dlib/image_saver/dng_shared.h
dlib/image_saver/image_saver.h
dlib/image_saver/image_saver_abstract.h

Revision: f414d411adfdc417
Author: Davis King
Date: Apr 06, 2013 (14:16:14 UTC)

Another minor refinement

Modified
dlib/serialize.h

Revision: 54df43626b9f546b
Author: Davis King
Date: Apr 06, 2013 (14:15:57 UTC)

refined a little

Modified
dlib/float_details.h

Revision: 406203ca45aeb86a
Author: Davis King
Date: Apr 06, 2013 (11:54:02 UTC)

Fixed a bug in save_dng() that happened sometimes when saving images with unsigned char pixels.

Modified
dlib/image_saver/image_saver.h
dlib/test/image.cpp

Revision: 4af935e890deea8f
Author: Davis King
Date: Apr 06, 2013 (10:43:54 UTC)

Changed the format dlib uses when it serializes a floating point value. Previously, we used an ASCII based format. It now uses a much more efficient binary format. The deserialization routines have been made backwards compatible with the previous format. So dlib can still deserialize older data but older software won't be able to read the new format.

Modified
dlib/serialize.h
Added
dlib/float_details.h

Revision: 66f31f05e8d85313
Author: Davis King
Date: Apr 02, 2013 (17:45:46 UTC)

Changed the scan_image_pyramid serialization version number since the recent changes make its feature representation incompatible with previous versions.

Modified
dlib/image_processing/scan_image_pyramid.h

Revision: a58f65df6a285d57
Author: Davis King
Date: Apr 02, 2013 (17:43:28 UTC)

Fixed a bug I just introduced into the scan_image_pyramid.

Modified
dlib/image_processing/scan_image_pyramid.h

Revision: 71d924810a90cd62
Author: Davis King
Date: Apr 02, 2013 (16:32:31 UTC)

Added an additional threshold for each detection template. This is useful since some detection templates may be larger than others and therefore naturally accumulate larger scores, therefore necessitating larger threshold values.

Modified
dlib/image_processing/scan_image_pyramid.h

Revision: 4ea38915cfd199fa
Author: Davis King
Date: Apr 02, 2013 (16:04:59 UTC)

Fixed a bug which was introduced a few days ago. The problem was that the validation routines set the detection threshold to negative infinity in an attempt to elicit all the possible detections for the purpose of computing mean average precision scores. This works fine when using the scan_image_boxes object but causes the detection quality to degrade when the scan_image_pyramid is used since this object performs random subsampling to avoid producing an excessive number of detections. The fix is to allow the user to set the adjust_threshold parameter themselves to whatever value they feel is reasonable rather than hard coding it to negative infinity.

Modified
dlib/svm/cross_validate_object_detection_trainer.h
dlib/svm/cross_validate_object_detection_trainer_abstract.h

Revision: 7dea8ed0ce76f51b
Author: Davis King
Date: Apr 02, 2013 (15:54:53 UTC)

Upgraded the object_detector so that you can use the adjust_threshold argument for all versions of the operator() method.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h

Revision: 96a3a9df4fa35960
Author: Davis King
Date: Apr 02, 2013 (15:44:29 UTC)

clarified spec

Modified
dlib/image_processing/scan_image_pyramid_abstract.h

Revision: 86ace370bda9eae5
Author: Davis King
Date: Apr 02, 2013 (14:03:25 UTC)

Made separable_3x3_filter_block_grayscale() a little more general.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: 38b69ec17cd560f4
Author: Davis King
Date: Apr 01, 2013 (19:09:14 UTC)

fixed compiler error in clang

Modified
dlib/image_processing/setup_hashed_features.h
dlib/image_processing/setup_hashed_features_abstract.h

Revision: 7c6b3e7d7689da48
Author: Davis King
Date: Apr 01, 2013 (18:59:33 UTC)

Added the binned_vector_feature_image.

Modified
dlib/image_keypoint.h
dlib/image_processing/setup_hashed_features.h
dlib/image_processing/setup_hashed_features_abstract.h
Added
dlib/image_keypoint/binned_vector_feature_image.h
dlib/image_keypoint/binned_vector_feature_image_abstract.h

Revision: f7c78f495368d7eb
Author: Davis King
Date: Apr 01, 2013 (18:03:03 UTC)

Fixed typo in spec

Modified
dlib/image_keypoint/hashed_feature_image_abstract.h

Revision: 8d4f1b680ed1d5dd
Author: Davis King
Date: Mar 31, 2013 (11:37:26 UTC)

updated unit test to work with new object detector validation interface

Modified
dlib/test/object_detector.cpp

Revision: 5bfa3b7316d78542
Author: Davis King
Date: Mar 31, 2013 (11:33:51 UTC)

Made the object detector validation functions also output the mean average precision measure.

Modified
dlib/svm/cross_validate_object_detection_trainer.h
dlib/svm/cross_validate_object_detection_trainer_abstract.h

Revision: db325aec1a7df284
Author: Davis King
Date: Mar 31, 2013 (11:21:00 UTC)

clarified spec

Modified
dlib/image_processing/object_detector_abstract.h

Revision: 5fd8f46e7eab7945
Author: Davis King
Date: Mar 31, 2013 (11:18:24 UTC)

Changed the object_detector interface slightly. In particular, it now handles the adjust_threshold argument slightly differently in that it does not add it to the output detection score anymore.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h

Revision: 11f27d7427139a65
Author: Davis King
Date: Mar 31, 2013 (07:12:43 UTC)

Changed average_precision() to use interpolated precision. So now it uses the same metric as the one used by the Pascal VOC.

Modified
dlib/statistics/average_precision.h
dlib/statistics/average_precision_abstract.h
dlib/test/statistics.cpp

Revision: 77401159aaa32104
Author: Davis King
Date: Mar 30, 2013 (13:35:16 UTC)

Added features to model different detection box sizes.

Modified
dlib/image_processing/scan_image_boxes.h

Revision: 0742025a91533d40
Author: Davis King
Date: Mar 30, 2013 (13:12:34 UTC)

Added missing template arguments.

Modified
dlib/image_processing/setup_hashed_features.h
dlib/image_processing/setup_hashed_features_abstract.h

Revision: 8c9d16afac4e5f20
Author: Davis King
Date: Mar 30, 2013 (12:51:27 UTC)

Added linpiece()

Modified
dlib/matrix/matrix_utilities.h
dlib/matrix/matrix_utilities_abstract.h
dlib/test/matrix4.cpp

Revision: 3ca1173750945b45
Author: Davis King
Date: Mar 28, 2013 (15:21:52 UTC)

Gave load_image_dataset() the ability to skip images that don't have any ground truth boxes.

Modified
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h

Revision: cb7b2aa0fb6378cf
Author: Davis King
Date: Mar 27, 2013 (16:21:44 UTC)

Refined this object's interface slightly.

Modified
dlib/image_processing/scan_image_boxes.h
dlib/image_processing/scan_image_boxes_abstract.h

Revision: c4db739a7a1f05c6
Author: Davis King
Date: Mar 25, 2013 (18:37:56 UTC)

made code slightly more robust

Modified
dlib/image_processing/scan_image_boxes.h

Revision: 77ba467015f9ab7a
Author: Davis King
Date: Mar 24, 2013 (12:29:39 UTC)

Added a version of setup_hashed_features() for scan_image_boxes objects.

Modified
dlib/image_processing/setup_hashed_features.h
dlib/image_processing/setup_hashed_features_abstract.h

Revision: 192383ab28bcda55
Author: Davis King
Date: Mar 24, 2013 (12:16:07 UTC)

Moved setup_hashed_features() into its own file.

Modified
dlib/image_processing.h
dlib/image_processing/scan_image_pyramid_tools.h
dlib/image_processing/scan_image_pyramid_tools_abstract.h
Added
dlib/image_processing/setup_hashed_features.h
dlib/image_processing/setup_hashed_features_abstract.h

Revision: 340075a9e2843270
Author: Davis King
Date: Mar 24, 2013 (11:40:07 UTC)

fixed another typo in spec

Modified
dlib/image_processing/scan_image_boxes_abstract.h

Revision: af936b7b196a9a4e
Author: Davis King
Date: Mar 24, 2013 (11:36:32 UTC)

fixed typo in spec

Modified
dlib/image_processing/scan_image_boxes_abstract.h

Revision: c16afca2d2a41ad5
Author: Davis King
Date: Mar 24, 2013 (11:33:54 UTC)

Updated specs to reference both the scan_image_pyramid and scan_image_boxes objects.

Modified
dlib/image_processing/object_detector_abstract.h
dlib/svm/structural_object_detection_trainer_abstract.h
dlib/svm/structural_svm_object_detection_problem_abstract.h

Revision: e704bfac16920e10
Author: Davis King
Date: Mar 24, 2013 (11:18:12 UTC)

Simplified code slightly and filled out the spec

Modified
dlib/image_processing/scan_image_boxes.h
dlib/image_processing/scan_image_boxes_abstract.h

Revision: 706e702f894129f0
Author: Davis King
Date: Mar 24, 2013 (10:10:14 UTC)

clarified spec

Modified
dlib/image_processing/scan_image_pyramid_abstract.h

Revision: 5b3aa7001612fcd2
Author: Davis King
Date: Mar 24, 2013 (08:13:39 UTC)

Added initial version of scan_image_boxes object.

Modified
dlib/image_processing.h
Added
dlib/image_processing/scan_image_boxes.h
dlib/image_processing/scan_image_boxes_abstract.h

Revision: 922f206add5afb68
Author: Davis King
Date: Mar 24, 2013 (06:57:40 UTC)

Filled out spec for find_candidate_object_locations()

Modified
dlib/image_transforms/segment_image.h
dlib/image_transforms/segment_image_abstract.h

Revision: fe320dba83289420
Author: Davis King
Date: Mar 23, 2013 (15:49:42 UTC)

Moved the responsibility for automatically filling out a test_box_overlap object from the structural_object_detection_trainer to the structural_svm_object_detection_problem. This allows us to use image scanners which require an image be loaded before get_best_matching_rect() can be called. I also made it so that the scanner loading (and therefore feature extraction) is threaded. Previously, it only used a single core.

Modified
dlib/svm/structural_object_detection_trainer.h
dlib/svm/structural_svm_object_detection_problem.h
dlib/svm/structural_svm_object_detection_problem_abstract.h

Revision: d0f686a1555417c1
Author: Davis King
Date: Mar 23, 2013 (14:08:17 UTC)

These templates ostensibly allowed a user to supply their own version of the test_box_overlap object. However, one place in the code assumed the test_box_overlap object was used and so this feature has actually been broken for some time. Moreover, it's probably just confusing and excessively complex to have this level of user modifiability so I removed the option and hard coded everything to use the test_box_overlap object. This makes the code significantly clearer.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h
dlib/svm/structural_object_detection_trainer.h
dlib/svm/structural_object_detection_trainer_abstract.h
dlib/svm/structural_svm_object_detection_problem.h
dlib/svm/structural_svm_object_detection_problem_abstract.h

Revision: 4d058f9a83e68488
Author: Davis King
Date: Mar 23, 2013 (10:49:32 UTC)

fixed spelling in comment

Modified
dlib/algs.h

Revision: 43e33082375f926e
Author: Davis King
Date: Mar 21, 2013 (16:08:51 UTC)

Added a regularization parameter to cca()

Modified
dlib/statistics/cca.h
dlib/statistics/cca_abstract.h

Revision: 5df81f9e2ea50b77
Author: Davis King
Date: Mar 18, 2013 (18:12:01 UTC)

Slightly changed unit test to avoid false alarms.

Modified
dlib/test/svm_c_linear_dcd.cpp

Revision: b5ca1973c9b4a332
Author: Davis King
Date: Mar 15, 2013 (16:37:08 UTC)

Added code to avoid a potential division by zero

Modified
dlib/image_processing/box_overlap_testing.h

Revision: 029d5cab72d5031c
Author: Davis King
Date: Mar 17, 2013 (11:21:21 UTC)

Fixed a bug I just introduced. It caused the verbose parallel_for() methods to not print updates after the first print.

Modified
dlib/threads/parallel_for_extension.h

Revision: 62f876df9ef96f9e
Author: Davis King
Date: Mar 17, 2013 (10:43:02 UTC)

moved remove_duplicates() from dlib::impl to dlib namespace.

Modified
dlib/image_transforms/segment_image.h

Revision: 1a00bc15f7286f4b
Author: Davis King
Date: Mar 17, 2013 (10:39:05 UTC)

Changed the verbose parallel_for() methods so that they only print the final newline if any of the verbose messages printed.

Modified
dlib/threads/parallel_for_extension.h

Revision: 141e0a08fa96b4ff
Author: Davis King
Date: Mar 17, 2013 (10:38:15 UTC)

Made the console_progress_indicator::print_status() method return a bool indicating if it actually printed anything.

Modified
dlib/console_progress_indicator.h

Revision: f6e79512e084b66a
Author: Davis King
Date: Mar 17, 2013 (10:37:32 UTC)

Removed unneeded declarations of the constant pi

Modified
dlib/image_keypoint/fine_hog_image.h
dlib/image_keypoint/hog.h
dlib/image_keypoint/surf.h
dlib/test/geometry.cpp

Revision: b1bf9f8bef6d8bb9
Author: Davis King
Date: Mar 17, 2013 (10:00:32 UTC)

Made algs.h include numeric_constants.h since it adds essentially no overhead to the compilation process but makes these convenient constants always available.

Modified
dlib/algs.h

Revision: 8f2ce2e78af65cf8
Author: Davis King
Date: Mar 17, 2013 (09:38:25 UTC)

Removed the max_n feature from the running_stats object since it's actually been broken for a while and I doubt anyone ever used it (this also simplifies it's interface). Note that this change, along with the previous change by Steven breaks backwards compatibility with the previous serialization format for running_stats object.

Modified
dlib/statistics/statistics.h
dlib/statistics/statistics_abstract.h
dlib/test/statistics.cpp

Revision: a0cc8fff88be5882
Author: Steve Taylor
Date: Mar 17, 2013 (09:32:30 UTC)

Added a numerical constants file numeric_constants.h. Expanded the running_stats object in statistics.h by including two functions that compute the unbiased empirical skewness and kurtosis of a set of real numbers. Added unit tests for these functions in statistics.cpp.

Modified
dlib/statistics/statistics.h
dlib/statistics/statistics_abstract.h
dlib/test/statistics.cpp
examples/CMakeLists.txt
Added
dlib/numeric_constants.h
examples/running_stats_ex.cpp

Revision: b0ec124c5b9c31d4
Author: Davis King
Date: Mar 14, 2013 (17:33:32 UTC)

Made graph_utils_threaded.h #include graph_utils.h

Modified
dlib/graph_utils_threaded.h

Revision: 63b58ad5ade9d156
Author: Davis King
Date: Mar 14, 2013 (17:23:41 UTC)

fixed typo in spec

Modified
dlib/lsh/hashes_abstract.h

Revision: 9c3ef2952cc980b3
Author: Davis King
Date: Mar 14, 2013 (17:10:08 UTC)

Added unit tests for the find_k_nearest_neighbors_lsh() method and related tools.

Modified
dlib/test/linear_manifold_regularizer.cpp

Revision: 4e6957320a89e19e
Author: Davis King
Date: Mar 14, 2013 (17:09:35 UTC)

A minor change to avoid a compiler warning from clang

Modified
dlib/graph_utils/find_k_nearest_neighbors_lsh.h

Revision: 29218d4883e4b5a0
Author: Davis King
Date: Mar 14, 2013 (17:05:17 UTC)

removed cruft

Modified
dlib/graph_utils/find_k_nearest_neighbors_lsh.h

Revision: 9e84e2e803251533
Author: Davis King
Date: Mar 14, 2013 (16:36:48 UTC)

Added find_k_nearest_neighbors_lsh() and hash_samples()

Added
dlib/graph_utils/find_k_nearest_neighbors_lsh.h
dlib/graph_utils/find_k_nearest_neighbors_lsh_abstract.h
dlib/graph_utils_threaded.h

Revision: 8d0624bf56734ecc
Author: Davis King
Date: Mar 14, 2013 (16:01:30 UTC)

Added a set of new LSH based hashing functions meant for use with larger vectors and high bit sizes than the current LSH tool. These are the new hash_similar_angles_xxx objects.

Modified
dlib/lsh.h
Added
dlib/lsh/hashes.h
dlib/lsh/hashes_abstract.h

Revision: 375edae4bf4145af
Author: Davis King
Date: Mar 13, 2013 (17:18:00 UTC)

Added initial version of find_candidate_object_locations()

Modified
dlib/image_transforms/segment_image.h

Revision: 7ba630c18ce194f9
Author: Davis King
Date: Mar 13, 2013 (14:11:18 UTC)

Added missing #include

Modified
dlib/sqlite/sqlite.h

Revision: 84832f1a3e5dbffa
Author: Davis King
Date: Mar 12, 2013 (14:39:13 UTC)

Added database::last_insert_rowid()

Modified
dlib/sqlite/sqlite.h
dlib/sqlite/sqlite_abstract.h

Revision: e3df7856310cd459
Author: Davis King
Date: Mar 09, 2013 (04:07:36 UTC)

This doesn't change the behavior of segment_image(). I just refactored it to avoid duplicate code and generally cleaned things up a little.

Modified
dlib/image_transforms/segment_image.h

Revision: 387c55f385021f50
Author: Davis King
Date: Mar 04, 2013 (13:59:44 UTC)

Made the console output from the verbose parallel for routines a little nicer.

Modified
dlib/threads/parallel_for_extension.h

Revision: f32e25ad1be0e97d
Author: Davis King
Date: Mar 03, 2013 (12:16:05 UTC)

Added draw_surf_points().

Added
dlib/image_keypoint/draw_surf_points.h
dlib/image_keypoint/draw_surf_points_abstract.h

Revision: a330e1c1efb85630
Author: Davis King
Date: Mar 03, 2013 (11:49:19 UTC)

Set a default value for the max number of points argument for get_surf_points().

Modified
dlib/image_keypoint/surf.h
dlib/image_keypoint/surf_abstract.h

Revision: 37aa4949821fbf0a
Author: Davis King
Date: Mar 03, 2013 (11:28:10 UTC)

removed unused variable

Modified
dlib/image_keypoint/hessian_pyramid.h

Revision: dcc0250862426be2
Author: Davis King
Date: Mar 03, 2013 (09:59:21 UTC)

Made the detection threshold an argument to get_surf_points() rather than having it hard coded. I also increased the default threshold to a more reasonable value. The previous value hardly excluded any points and gave a slightly worse average precision on a standard test dataset.

Modified
dlib/image_keypoint/surf.h
dlib/image_keypoint/surf_abstract.h

Revision: 60d196f6d8b49c41
Author: Davis King
Date: Mar 03, 2013 (09:36:59 UTC)

Made get_surf_points() set the integral image pixel type automatically based on the input pixel type rather than always using long.

Modified
dlib/image_keypoint/surf.h

Revision: e8e2e14c8dd681dc
Author: Davis King
Date: Mar 03, 2013 (05:40:33 UTC)

Added scope qualifiers to dlib::array so there isn't a name conflict on C++11 compilers.

Modified
dlib/test/array.cpp
dlib/test/object_detector.cpp
dlib/test/scan_image.cpp
dlib/test/sockets2.cpp
examples/object_detector_advanced_ex.cpp
examples/object_detector_ex.cpp
examples/train_object_detector.cpp

Revision: 106b5b5ed8b5ae02
Author: Davis King
Date: Mar 02, 2013 (06:46:30 UTC)

Added an overload of cca() that can take random_subset_selector objects.

Modified
dlib/statistics/cca.h
dlib/statistics/cca_abstract.h

Revision: e805cdfbcc9ce2c6
Author: Davis King
Date: Mar 02, 2013 (06:32:21 UTC)

Added to_std_vector() to the random_subset_selector.

Modified
dlib/statistics/random_subset_selector.h
dlib/statistics/random_subset_selector_abstract.h

Revision: 3adf387a5a98484c
Author: Davis King
Date: Mar 02, 2013 (06:12:22 UTC)

clarified cca spec

Modified
dlib/statistics/cca_abstract.h

Revision: d20b6915ebbb5d23
Author: Davis King
Date: Mar 02, 2013 (06:08:15 UTC)

Clarified spec

Modified
dlib/threads/parallel_for_extension_abstract.h

Revision: c218ff5fd5b4f138
Author: Davis King
Date: Mar 01, 2013 (17:45:56 UTC)

To work around a bug in visual studio 2012, I changed the iosockstream from using iostream::tie() to implement its "auto flush on read" feature to use the sockstreambuf's own auto flushing mode instead.

Modified
dlib/iosockstream/iosockstream.h
dlib/iosockstream/iosockstream_abstract.h

Revision: 5864645f389ef2b8
Author: Davis King
Date: Mar 01, 2013 (17:44:08 UTC)

Added an option for a sockstreambuf to automatically flush its output buffers before performing any network reads.

Modified
dlib/sockstreambuf/sockstreambuf.cpp
dlib/sockstreambuf/sockstreambuf.h
dlib/sockstreambuf/sockstreambuf_abstract.h
dlib/sockstreambuf/sockstreambuf_unbuffered.h

Revision: 7acdd459483e0077
Author: Davis King
Date: Feb 28, 2013 (14:59:18 UTC)

fixed grammar in comment

Modified
dlib/matrix/matrix_la_abstract.h

Revision: f493de1bee962d9a
Author: Davis King
Date: Feb 28, 2013 (14:07:43 UTC)

Added more parallel_for() unit tests and changed code to suppress compiler warnings.

Modified
dlib/test/parallel_for.cpp

Revision: 4cb261770105fecf
Author: Davis King
Date: Feb 28, 2013 (13:45:10 UTC)

Changed the file and directory objects to not be reference counted. This is so they are safer to use in threaded programs.

Modified
dlib/dir_nav/dir_nav_kernel_1.cpp
dlib/dir_nav/dir_nav_kernel_1.h
dlib/dir_nav/dir_nav_kernel_2.cpp
dlib/dir_nav/dir_nav_kernel_2.h
dlib/dir_nav/dir_nav_kernel_abstract.h

Revision: d110c06e41330540
Author: Davis King
Date: Feb 28, 2013 (13:09:37 UTC)

Added unit tests for segment_image()

Modified
dlib/test/image.cpp

Revision: 98dbd799a16e982c
Author: Davis King
Date: Feb 28, 2013 (13:07:12 UTC)

Made segment_image() use the fast version for uint16 pixels.

Modified
dlib/image_transforms/segment_image.h

Revision: e9705fbfc1f4bf8d
Author: Davis King
Date: Feb 27, 2013 (18:43:26 UTC)

Generalized segment_image() so it works on any pixel type or array of vectors. I also changed it's interface slightly. In particular, I removed the min_diff parameter and replaced it with an explicit min_size parameter.

Modified
dlib/image_transforms/segment_image.h
dlib/image_transforms/segment_image_abstract.h

Revision: 4ab0c4017384e3ba
Author: Davis King
Date: Feb 26, 2013 (18:33:17 UTC)

Fixed some compiler errors when using certain versions of the verbose parallel_for routines.

Modified
dlib/threads/parallel_for_extension.h

Revision: 6bfc49671b556f3f
Author: Davis King
Date: Feb 26, 2013 (18:25:45 UTC)

Added parallel_for_blocked_verbose() and also slightly improved verbose time remaining estimation.

Modified
dlib/threads/parallel_for_extension.h
dlib/threads/parallel_for_extension_abstract.h

Revision: f71611c448265519
Author: Davis King
Date: Feb 23, 2013 (17:36:19 UTC)

Fixed a bug in parallel_for() and added unit tests for it.

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
dlib/threads/parallel_for_extension.h
Added
dlib/test/parallel_for.cpp

Revision: 0503669bb26b70e2
Author: Davis King
Date: Feb 23, 2013 (13:31:49 UTC)

Added parallel_for_verbose()

Modified
dlib/threads/parallel_for_extension.h
dlib/threads/parallel_for_extension_abstract.h

Revision: 1b05f1d4853d02ab
Author: Davis King
Date: Feb 23, 2013 (12:41:26 UTC)

Changed default parallel_for chunk size to 8 instead of 4.

Modified
dlib/threads/parallel_for_extension.h
dlib/threads/parallel_for_extension_abstract.h

Revision: 17f6a9b780658091
Author: Davis King
Date: Feb 18, 2013 (14:47:40 UTC)

Switched randomly_color_image() to use the non-pointer based version of murmur_hash3() to avoid violation of the strict aliasing rule. In particular, the previous version didn't work correctly in gcc 4.7.2 when optimizations were enabled.

Modified
dlib/image_transforms/colormaps.h

Revision: b6ec5512175e72da
Author: Davis King
Date: Feb 18, 2013 (12:37:49 UTC)

Added a non-uniform weighting to each SURF bin. This improves the mean average precision when matching SURF descriptors by about 2%.

Modified
dlib/image_keypoint/surf.h

Revision: 84851325f45e82d7
Author: Davis King
Date: Feb 17, 2013 (17:28:15 UTC)

Changed the hessian_pyramid so that it has a slightly smaller border region and therefore finds more interest points.

Modified
dlib/image_keypoint/hessian_pyramid.h
dlib/image_keypoint/hessian_pyramid_abstract.h

Revision: 8214380d01c5a670
Author: Davis King
Date: Feb 17, 2013 (16:25:52 UTC)

Changed how the surf descriptor is computed slightly to improve its accuracy.

Modified
dlib/image_keypoint/surf.h
dlib/image_keypoint/surf_abstract.h

Revision: 1f682a74098ce582
Author: Davis King
Date: Feb 17, 2013 (05:44:55 UTC)

Made average_precision() a little more generalized.

Modified
dlib/statistics/average_precision.h
dlib/statistics/average_precision_abstract.h

Revision: 6a91917ab0d7e096
Author: Davis King
Date: Feb 14, 2013 (18:35:14 UTC)

Changed ranking evaluation functions to return the mean average precision in addition to just raw ranking accuracy. This changes their return types from double to matrix<double,1,2>.

Modified
dlib/svm/ranking_tools.h
dlib/svm/ranking_tools_abstract.h
dlib/test/ranking.cpp

Revision: d7f8cd49117baadf
Author: Davis King
Date: Feb 14, 2013 (17:58:47 UTC)

Added tests for average_precision()

Modified
dlib/test/statistics.cpp

Revision: 8a132179ce3adc2b
Author: Davis King
Date: Feb 14, 2013 (17:53:41 UTC)

Added average_precision()

Modified
dlib/statistics.h
Added
dlib/statistics/average_precision.h
dlib/statistics/average_precision_abstract.h

Revision: e05d5c2e2724a081
Author: Davis King
Date: Feb 11, 2013 (13:03:16 UTC)

All I did was put an "if (NOT TARGET dlib)" around the main body of the CMakeLists.txt so that we avoid a common cmake warning.

Modified
dlib/CMakeLists.txt

Revision: 6b143fbfb77613fd
Author: Davis King
Date: Feb 10, 2013 (09:46:57 UTC)

simplified cmake file

Modified
dlib/test/blas_bindings/CMakeLists.txt

Revision: cc680a94b9eb814c
Author: Davis King
Date: Feb 10, 2013 (09:14:33 UTC)

Simplified cmake scripts

Modified
dlib/test/CMakeLists.txt
dlib/test/gui/CMakeLists.txt
examples/CMakeLists.txt

Revision: 135232b38fc2aae9
Author: Davis King
Date: Feb 10, 2013 (08:54:29 UTC)

Added a simple cmake script users can use to simplify their own CMakeLists.txt scripts

Modified
tools/imglab/CMakeLists.txt
Added
dlib/cmake

Revision: 3fcf14f58847dadb
Author: Davis King
Date: Feb 10, 2013 (08:27:59 UTC)

Added unit tests for new matrix operator>> and fixed a bug in it.

Modified
dlib/matrix/matrix_read_from_istream.h
dlib/test/matrix3.cpp

Revision: 77e10683cff86dd8
Author: Davis King
Date: Feb 10, 2013 (07:50:00 UTC)

Added an operator>> for matrix objects which allows you to read in ASCII matrices using the format used by operator<<.

Modified
dlib/matrix.h
dlib/matrix/matrix.h
dlib/matrix/matrix_abstract.h
Added
dlib/matrix/matrix_read_from_istream.h

Revision: aac323c300a52374
Author: Davis King
Date: Feb 04, 2013 (12:43:06 UTC)

clarified spec

Modified
dlib/svm/structural_svm_problem_threaded_abstract.h

Revision: f2a2fb6a94e969f8
Author: Davis King
Date: Feb 02, 2013 (11:50:57 UTC)

Fixed a bug in the image_window and image_display GUI tools which caused them to not redraw overlay lines correctly in certain cases involving non-default zoom levels.

Modified
dlib/gui_widgets/widgets.cpp

Revision: 61737e68d210d3c2
Author: Davis King
Date: Feb 02, 2013 (09:06:48 UTC)

A minor change to avoid a compiler warning in visual studio.

Modified
dlib/svm/svm.h

Revision: 3455b2f17c038424
Author: Davis King
Date: Feb 01, 2013 (14:32:56 UTC)

Added a pipe test that catches the bug I just fixed.

Modified
dlib/test/pipe.cpp

Revision: 8aa4feeebdb47635
Author: Davis King
Date: Feb 01, 2013 (13:42:46 UTC)

Fixed a bug in the Windows implementation of the signaler object, which was found by Isaac Peterson. The bug caused the program to deadlock if signal() or broadcast() was called at exactly the same time a wait_or_timeout() funciton timed out.

Modified
dlib/threads/threads_kernel_1.h

Revision: c7a809aa5d09d72d
Author: Davis King
Date: Jan 30, 2013 (17:50:40 UTC)

There was a bug in the version of draw_line() that draws directly onto an array2d type image (not the one that draws onto a GUI canvas object). The bug triggered whenever a perfectly horizontal or vertical line that extended outside the image was drawn. This has been fixed.

Modified
dlib/image_transforms/draw.h

Revision: 7538c2bf9404b3b2
Author: Davis King
Date: Jan 27, 2013 (13:49:04 UTC)

Clarified spec with regards to infinite weight edges.

Modified
dlib/clustering/chinese_whispers_abstract.h
dlib/clustering/modularity_clustering_abstract.h

Revision: d7c819e628eabe15
Author: Davis King
Date: Jan 27, 2013 (11:05:25 UTC)

Added negative_dot_product_distance and also clarified spec regarding thread safety.

Modified
dlib/graph_utils/function_objects.h
dlib/graph_utils/function_objects_abstract.h

Revision: fb7ce604d65a5f21
Author: Davis King
Date: Jan 27, 2013 (08:13:49 UTC)

Added cosine_distance.

Modified
dlib/graph_utils/function_objects.h
dlib/graph_utils/function_objects_abstract.h

Revision: 4aad7a943093958f
Author: Davis King
Date: Jan 27, 2013 (06:59:47 UTC)

Added missing asserts

Modified
dlib/threads/parallel_for_extension.h

Revision: 4a109eacc9f393c7
Author: Davis King
Date: Jan 27, 2013 (06:26:37 UTC)

Simplified the code a little by replacing some stuff with calls to parallel_for_blocked()

Modified
dlib/svm/structural_svm_distributed.h
dlib/svm/structural_svm_problem_threaded.h

Revision: 960c68eaf7717061
Author: Davis King
Date: Jan 27, 2013 (06:11:04 UTC)

Added more notes to spec

Modified
dlib/threads/parallel_for_extension_abstract.h

Revision: dad0fbfd0d746fad
Author: Davis King
Date: Jan 27, 2013 (05:55:18 UTC)

Added parallel_for() and parallel_for_blocked().

Modified
dlib/threads.h
Added
dlib/threads/parallel_for_extension.h
dlib/threads/parallel_for_extension_abstract.h

Revision: 10fe30a7268898dd
Author: Davis King
Date: Jan 26, 2013 (15:20:52 UTC)

made test more robust

Modified
dlib/test/sequence_labeler.cpp

Revision: f42464d8d9137a4c
Author: Davis King
Date: Jan 26, 2013 (12:49:43 UTC)

Made the distributed structural svm tools use the same improved job/buffering rules as I recently added to the structural_svm_problem_threaded object.

Modified
dlib/svm/structural_svm_distributed.h

Revision: 38e642167fef9120
Author: Davis King
Date: Jan 26, 2013 (12:25:12 UTC)

Made svm_struct_controller_node support network_address objects.

Modified
dlib/svm/structural_svm_distributed.h
dlib/svm/structural_svm_distributed_abstract.h
dlib/test/svm_struct.cpp

Revision: e7a9f43a09274518
Author: Davis King
Date: Jan 26, 2013 (12:23:39 UTC)

Added comparison operators for network_address.

Modified
dlib/sockets/sockets_extensions.h
dlib/sockets/sockets_extensions_abstract.h

Revision: 8a0532a0647a7517
Author: Davis King
Date: Jan 26, 2013 (06:24:42 UTC)

Fixed bug in the axpy/scpy BLAS bindings which triggered when empty matrices were assigned to each other.

Modified
dlib/matrix/matrix_blas_bindings.h

Revision: 4d2d7ab56f8945bf
Author: Davis King
Date: Jan 26, 2013 (05:28:44 UTC)

Fixed a bug introduced yesterday

Modified
dlib/optimization/optimization_oca.h

Revision: d062fa5caa85a699
Author: Davis King
Date: Jan 26, 2013 (-04:52:00 UTC)

Made tests more robust

Modified
dlib/test/sequence_labeler.cpp

Revision: ef46b80703c5586b
Author: Davis King
Date: Jan 26, 2013 (-04:51:28 UTC)

Changed code to avoid unnecessary cutting plane copying. This makes the optimizer noticeably faster in some cases.

Modified
dlib/optimization/optimization_oca.h

Revision: 9a49086901dfb228
Author: Davis King
Date: Jan 26, 2013 (-04:01:47 UTC)

Added missing const keywords

Modified
dlib/svm/structural_svm_problem.h
dlib/svm/structural_svm_problem_threaded.h

Revision: 5ad8f9bd814d5203
Author: Davis King
Date: Jan 26, 2013 (-05:44:58 UTC)

Modified structural_svm_problem_threaded to reduce the amount of copying overhead.

Modified
dlib/svm/structural_svm_problem_threaded.h

Revision: 130b5d6315cbc757
Author: Davis King
Date: Jan 26, 2013 (-05:20:03 UTC)

Added BLAS bindings for xscal and xaxpy routines.

Modified
dlib/matrix/matrix.h
dlib/matrix/matrix_assign.h
dlib/matrix/matrix_blas_bindings.h
dlib/test/blas_bindings/CMakeLists.txt
Added
dlib/test/blas_bindings/blas_bindings_scal_axpy.cpp

Revision: 716e1c3b17c8e6c8
Author: Davis King
Date: Jan 23, 2013 (15:08:29 UTC)

Added another folder to blas search paths

Modified
dlib/cmake_find_blas.txt

Revision: 4cfee580bbd58c48
Author: Davis King
Date: Jan 23, 2013 (13:49:31 UTC)

Changed the code so that each worker thread gets more things to do for each job. This should give better overall CPU utilization than the previous smaller job sizes.

Modified
dlib/svm/structural_svm_problem_threaded.h

Revision: 004aa351fcf813dc
Author: Davis King
Date: Jan 22, 2013 (13:57:22 UTC)

Expanded the set of folder we search when looking for BLAS and LAPACK.

Modified
dlib/cmake_find_blas.txt

Revision: efa30ea7d525c6d6
Author: Davis King
Date: Jan 21, 2013 (13:02:05 UTC)

clarified spec

Modified
dlib/graph_utils/edge_list_graphs_abstract.h

Revision: 5c6dc8d628cba456
Author: Davis King
Date: Jan 21, 2013 (12:06:27 UTC)

Added count_bits() and hamming_distance()

Modified
dlib/hash.h
dlib/test/hash.cpp
Added
dlib/general_hash/count_bits.h
dlib/general_hash/count_bits_abstract.h

Revision: 172e1bdb7f4e45ec
Author: Davis King
Date: Jan 20, 2013 (18:50:44 UTC)

Changed general_hash so it uses dlib::hash to hash integers rather than returning them unmodified.

Modified
dlib/general_hash/general_hash.h

Revision: d1bee67418ebce21
Author: Davis King
Date: Jan 20, 2013 (09:21:10 UTC)

made unit test more robust

Modified
dlib/test/cca.cpp

Revision: 9da1ff49871c0a9c
Author: Davis King
Date: Jan 20, 2013 (09:01:43 UTC)

clarified spec

Modified
dlib/statistics/cca_abstract.h

Revision: 76c92ecb5c7ee889
Author: Davis King
Date: Jan 20, 2013 (08:43:50 UTC)

Added more cca() unit tests.

Modified
dlib/test/cca.cpp

Revision: 2abc154398721de7
Author: Davis King
Date: Jan 20, 2013 (06:50:01 UTC)

Made svd_fast() accept a wider range of matrices as arguments.

Modified
dlib/matrix/matrix_la.h
dlib/matrix/matrix_la_abstract.h

Revision: 236f552445bc619a
Author: Davis King
Date: Jan 19, 2013 (-05:35:43 UTC)

Made some of this code a little more general.

Modified
dlib/test/cca.cpp

Revision: 1b10d232681e9f82
Author: Davis King
Date: Jan 19, 2013 (-05:35:19 UTC)

Increased the default number of power iterations done by svd_fast() from 0 to 1.

Modified
dlib/matrix/matrix_la.h
dlib/matrix/matrix_la_abstract.h

Revision: 4f1618ccd9b71f35
Author: Davis King
Date: Jan 19, 2013 (-05:15:29 UTC)

Made the svd_fast() code a little more readable and memory efficient. Also added the orthogonalize() function.

Modified
dlib/matrix/matrix_la.h
dlib/matrix/matrix_la_abstract.h

Revision: 144096949d8d2bd3
Author: Davis King
Date: Jan 18, 2013 (18:17:56 UTC)

Added a version of get_q() to qr_decomposition that allows the user to get the Q matrix by reference rather than by value.

Modified
dlib/matrix/lapack/ormqr.h
dlib/matrix/matrix_la_abstract.h
dlib/matrix/matrix_qr.h

Revision: 246f7e7857bf4be6
Author: Davis King
Date: Jan 18, 2013 (17:10:42 UTC)

Added make_sparse_vector_inplace()

Modified
dlib/svm/sparse_vector.h
dlib/svm/sparse_vector_abstract.h
dlib/test/sparse_vector.cpp

Revision: 5a3784b36563f89d
Author: Davis King
Date: Jan 17, 2013 (15:43:16 UTC)

refined spec a little

Modified
dlib/svm/svm.h
dlib/svm/svm_abstract.h

Revision: b9d3f17af0655bf9
Author: Davis King
Date: Jan 17, 2013 (15:30:04 UTC)

renamed function

Modified
dlib/svm/svm.h
dlib/svm/svm_abstract.h

Revision: d53442f3bf2c7505
Author: Davis King
Date: Jan 17, 2013 (15:22:44 UTC)

Refactored the Platt scaling code a little. Now there is a function, learn_platt_scaling(), that allows you to directly call the Platt scaling code without supplying a trainer object.

Modified
dlib/svm/svm.h
dlib/svm/svm_abstract.h

Revision: 0a3892bb17be32e5
Author: Davis King
Date: Jan 16, 2013 (15:59:27 UTC)

fixed a typo

Modified
dlib/gui_widgets/widgets.h

Revision: 455f0196fca21fbb
Author: Davis King
Date: Jan 16, 2013 (15:59:18 UTC)

Switch a DLIB_CASSERT to DLIB_ASSERT

Modified
dlib/optimization/optimization_solve_qp_using_smo.h

Revision: a0671deac64c00ef
Author: Davis King
Date: Jan 16, 2013 (15:38:58 UTC)

Added an overload of get_next_double_click() that allows the user to find out which mouse button was double clicked.

Modified
dlib/gui_widgets/widgets.cpp
dlib/gui_widgets/widgets.h
dlib/gui_widgets/widgets_abstract.h

Revision: 985c18065f70ee6c
Author: Davis King
Date: Jan 16, 2013 (13:24:56 UTC)

Fixed a problem where the pixel click location reported by image_window::get_next_double_click() was slightly off.

Modified
dlib/gui_widgets/widgets.cpp

Revision: e3f6dd2fee851aca
Author: Davis King
Date: Jan 16, 2013 (13:18:45 UTC)

Changed the image_window so it doesn't try to adjust the size or position when set_image() is called with an image the same size as the one currently being displayed.

Modified
dlib/gui_widgets/widgets.h

Revision: 7f548588f3ad097b
Author: Davis King
Date: Jan 16, 2013 (12:42:35 UTC)

Fixed a bug which could potentially occur when empty std::vector<char> or std::vector<unsigned char> were serialized.

Modified
dlib/serialize.h
dlib/test/serialize.cpp

Revision: e72edda758fce893
Author: Davis King
Date: Jan 16, 2013 (12:30:10 UTC)

Added serialization support for std::vector<bool>.

Modified
dlib/serialize.h
dlib/test/serialize.cpp

Revision: e61a54581a54f730
Author: Davis King
Date: Jan 15, 2013 (13:51:12 UTC)

Minor change to avoid a compiler error in 4.1

Modified
dlib/statistics/cca.h

Revision: 255abf4b8c3f9799
Author: Davis King
Date: Jan 15, 2013 (13:03:29 UTC)

Added some missing includes that only triggered a compiler error in clang and also fixed a function call ambiguity.

Modified
dlib/matrix/matrix_la.h
dlib/pixel.h
dlib/statistics/cca.h

Revision: 6c3ddac68945683b
Author: Davis King
Date: Jan 14, 2013 (18:46:54 UTC)

made tests more robust

Modified
dlib/test/cca.cpp

Revision: 8e691f6e7e48c573
Author: Davis King
Date: Jan 14, 2013 (18:19:52 UTC)

Added unit tests for cca() and svd_fast()

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/cca.cpp

Revision: 7aae1f5ce16e564a
Author: Davis King
Date: Jan 14, 2013 (17:55:39 UTC)

Made cca() more numerically robust.

Modified
dlib/statistics/cca.h

Revision: 9d9d51e91d5a67dd
Author: Davis King
Date: Jan 14, 2013 (14:33:43 UTC)

Added missing asserts

Modified
dlib/statistics/cca.h

Revision: 7186b93046ced741
Author: Davis King
Date: Jan 13, 2013 (18:06:52 UTC)

Added cca()

Modified
dlib/statistics.h
Added
dlib/statistics/cca.h
dlib/statistics/cca_abstract.h

Revision: cb151fd7d1ed86b9
Author: Davis King
Date: Jan 13, 2013 (17:59:18 UTC)

Added svd_fast()

Modified
dlib/matrix/matrix_la.h
dlib/matrix/matrix_la_abstract.h

Revision: eb0b4aaaa9295f51
Author: Davis King
Date: Jan 07, 2013 (16:18:58 UTC)

clarified spec

Modified
dlib/gui_widgets/widgets_abstract.h

Revision: c3c064f3351a01f6
Author: Davis King
Date: Jan 07, 2013 (16:17:44 UTC)

Added some features to the image display widgets to let the user easily get information about where the user is clicking.

Modified
dlib/gui_widgets/widgets.cpp
dlib/gui_widgets/widgets.h
dlib/gui_widgets/widgets_abstract.h

Revision: 8851dccea2374726
Author: Davis King
Date: Jan 07, 2013 (16:13:44 UTC)

Fixed spelling error in comment

Modified
dlib/gui_widgets/drawable.h

Revision: 7319f070b057a728
Author: Davis King
Date: Jan 07, 2013 (14:49:47 UTC)

Fixed an endianness bug in the PNG I/O functions which occurred when 16bit grayscale PNGs were used. libpng doesn't automatically convert from host endianness to big endian as the PNG standard demands. You have to explicitly tell it to do this or it will write out the 16bit pixel data in host order which result in the wrong thing happening on little endian chips. Similarly for reading PNGs.

Modified
dlib/image_loader/png_loader.cpp
dlib/image_saver/save_png.cpp

Revision: 176d221533d72e80
Author: Davis King
Date: Jan 06, 2013 (10:28:09 UTC)

Fixed a bug pointed out by Joel Nelson in the version of md5() that took an istream. The bug caused the function to crash on strings longer than 56 characters.

Modified
dlib/md5/md5_kernel_1.cpp
dlib/test/md5.cpp

Revision: 73f0ac47dea0572c
Author: Davis King
Date: Jan 05, 2013 (04:59:35 UTC)

Made test more robust and also added more print_spinner() calls.

Modified
dlib/test/timer.cpp

Revision: 9a5b6a9df32e3ab5
Author: Davis King
Date: Jan 04, 2013 (18:55:43 UTC)

clarified spec

Modified
dlib/image_transforms/label_connected_blobs_abstract.h

Revision: 63b06558dec37696
Author: Davis King
Date: Jan 03, 2013 (17:17:10 UTC)

Added more unit tests for the forces_last_weight_to_1 stuff.

Modified
dlib/test/ranking.cpp
dlib/test/svm_c_linear_dcd.cpp

Revision: 9172cf246a02ff8d
Author: Davis King
Date: Jan 03, 2013 (17:15:27 UTC)

Added the forces_last_weight_to_1() option to the svm_c_linear_trainer.

Modified
dlib/svm/svm_c_linear_trainer.h
dlib/svm/svm_c_linear_trainer_abstract.h

Revision: 1b895293e9309e3c
Author: Davis King
Date: Jan 03, 2013 (17:02:16 UTC)

Changed svm_c_linear_dcd_trainer so that when the user forces the last weight to 1 it automatically disables use of the bias since that is almost certainly what the user will want to do.

Modified
dlib/svm/svm_c_linear_dcd_trainer.h
dlib/svm/svm_c_linear_dcd_trainer_abstract.h

Revision: 3657bedf4f77dfa9
Author: Davis King
Date: Jan 03, 2013 (17:00:02 UTC)

Switched this code to use the oca object's ability to force a weight to 1 instead of rolling its own implementation.

Modified
dlib/svm/svm_rank_trainer.h

Revision: 5f217c9f175f64b4
Author: Davis King
Date: Jan 03, 2013 (16:55:53 UTC)

Added the option to force the last weight to 1.

Modified
dlib/optimization/optimization_oca.h
dlib/optimization/optimization_oca_abstract.h

Revision: 07fe5d8f8220a58b
Author: Davis King
Date: Jan 22, 2012 (14:51:46 UTC)

relaxed test slightly

Modified
dlib/test/active_learning.cpp

Revision: 91f6db2313534b40
Author: Davis King
Date: Aug 10, 2011 (-03:14:16 UTC)

Relaxed test slightly to avoid false alarms.

Modified
dlib/test/svm_c_linear_dcd.cpp

Revision: 80c2c0e6f9cc584f
Author: Davis King
Date: Dec 29, 2012 (-05:08:03 UTC)

A minor change to avoid a warning from gcc 4.4

Modified
dlib/gui_widgets/widgets.cpp

Revision: e248635e6fa260d6
Author: Davis King
Date: Dec 28, 2012 (18:39:49 UTC)

These changes don't actually change what the code does, but they avoid some silly warnings from gcc 4.4 and 4.5.

Modified
dlib/matrix/matrix_data_layout.h
dlib/matrix/matrix_eigenvalue.h

Revision: 5eae79820af9af54
Author: Davis King
Date: Dec 28, 2012 (14:33:43 UTC)

Fixed a double unlock bug.

Modified
dlib/gui_core/gui_core_kernel_1.cpp

Revision: 67d90ba5d9b39c7c
Author: Davis King
Date: Dec 28, 2012 (14:19:00 UTC)

Fixed spelling error in comment.

Modified
dlib/threads/auto_mutex_extension_abstract.h

Revision: dab238356df03eb6
Author: Davis King
Date: Dec 28, 2012 (14:14:31 UTC)

Changed the spec for mutex::unlock() to say that it is illegal for a thread to unlock a dlib::mutex it doesn't own. This is technically a non-backwards compatible change to the API but it has always been implemented in a way that didn't allow this kind of double unlock() on non-Windows platforms. Additionally, the recent change to the dlib::mutex implementation on windows also no longer allows this kind of double unlock.

Modified
dlib/threads/threads_kernel_abstract.h

Revision: 2ebc3014dd3618af
Author: Davis King
Date: Dec 28, 2012 (14:02:38 UTC)

Changed the thread_pool so it uses auto_mutex::unlock() in the appropriate places instead of mutex::unlock().

Modified
dlib/threads/thread_pool_extension.cpp
dlib/threads/thread_pool_extension.h

Revision: b7916099077b26a3
Author: Davis King
Date: Dec 28, 2012 (14:01:10 UTC)

Added auto_mutex::unlock()

Modified
dlib/threads/auto_mutex_extension.h
dlib/threads/auto_mutex_extension_abstract.h

Revision: b7e911c3a25e875c
Author: Davis King
Date: Dec 28, 2012 (10:22:02 UTC)

Added some polynomial drawing to the testing gui

Modified
dlib/test/gui/main.cpp

Revision: 4db188d04cab990e
Author: Davis King
Date: Dec 28, 2012 (09:50:30 UTC)

Improved unit test repeatability.

Modified
dlib/test/svm_c_linear_dcd.cpp

Revision: f0efd5c68b02d25f
Author: Davis King
Date: Dec 28, 2012 (09:38:15 UTC)

Switched the windows implementation of dlib::mutex to use a CRITICAL_SECTION instead of a "mutex" (i.e. the thing made by CreateMutex()) since a critical section does the same thing but faster.

Modified
dlib/threads/threads_kernel_1.h

Revision: 0ebce655ed55e5b7
Author: Davis King
Date: Dec 28, 2012 (06:49:41 UTC)

changed the array2d overloads to read/write all the data in one block.

Modified
dlib/array2d/serialize_pixel_overloads.h

Revision: 645b86e4fc908e96
Author: Davis King
Date: Dec 28, 2012 (05:23:39 UTC)

clarified spec

Modified
dlib/statistics/statistics_abstract.h

Revision: 72c5f30110ff678d
Author: Davis King
Date: Dec 28, 2012 (05:22:42 UTC)

Added a bunch of THREAD SAFETY blocks to the specs for various machine learning function objects. In general, I noted that in most cases they are safe to use from multiple threads so long as they are not modified.

Modified
dlib/graph_cuts/graph_labeler_abstract.h
dlib/svm/assignment_function_abstract.h
dlib/svm/function_abstract.h
dlib/svm/kernel_abstract.h
dlib/svm/one_vs_all_decision_function_abstract.h
dlib/svm/one_vs_one_decision_function_abstract.h
dlib/svm/sequence_labeler_abstract.h
dlib/svm/sparse_kernel_abstract.h

Revision: 0833e09ac3cb0891
Author: Davis King
Date: Dec 28, 2012 (04:10:57 UTC)

Relaxed test slightly to avoid false alarm in visual studio 2005

Modified
dlib/test/svm_c_linear_dcd.cpp

Revision: 7b5f60843171d7e6
Author: Davis King
Date: Dec 28, 2012 (03:27:20 UTC)

A minor change to avoid a warning in visual studio.

Modified
dlib/assert.h

Revision: 006c0af1cb0e80b8
Author: Davis King
Date: Dec 27, 2012 (11:23:54 UTC)

relaxed test a little

Modified
dlib/test/svm_c_linear_dcd.cpp

Revision: 46559705402bc562
Author: Davis King
Date: Dec 27, 2012 (10:58:43 UTC)

Renamed a variable to avoid a name conflict in visual studio 2005

Modified
dlib/matrix/matrix_expressions.h

Revision: 0da5cbe2a43d66ee
Author: Davis King
Date: Dec 27, 2012 (10:56:56 UTC)

Changed how murmur hash was used in find_max_factor_graph_nmplp to avoid a violation of the strict aliasing rule. This fixes a bug which caused find_max_factor_graph_nmplp() to not work properly on some compilers.

Modified
dlib/optimization/find_max_factor_graph_nmplp.h

Revision: 4916690820e4fc86
Author: Davis King
Date: Dec 27, 2012 (10:28:55 UTC)

Relaxed test slightly

Modified
dlib/test/svm_c_linear_dcd.cpp

Revision: 85343a10899bbe46
Author: Davis King
Date: Dec 27, 2012 (10:06:51 UTC)

Changed to avoid compiler errors in visual studio

Modified
dlib/general_hash/random_hashing.h

Revision: 0ee2574847ffeeaf
Author: Davis King
Date: Aug 09, 2011 (14:08:46 UTC)

Added some casts to avoid warnings in gcc 4.1.2

Modified
dlib/gui_widgets/canvas_drawing.h

Revision: 2d1e26de33dbd246
Author: Davis King
Date: Aug 09, 2011 (14:07:39 UTC)

Changed slightly to avoid compiler error in gcc 4.1.2

Modified
dlib/general_hash/random_hashing.h

Revision: 6cc6b0853c3a0f3d
Author: Davis King
Date: Dec 27, 2012 (09:43:13 UTC)

Made tests more robust

Modified
dlib/test/active_learning.cpp

Revision: f22c56b0c4186a48
Author: Davis King
Date: Dec 27, 2012 (09:09:20 UTC)

Added unit tests for rank_unlabeled_training_samples()

Modified
dlib/svm/active_learning.h
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/active_learning.cpp

Revision: aa784cf7f60900be
Author: Davis King
Date: Dec 27, 2012 (06:52:06 UTC)

Added rank_unlabeled_training_samples()

Modified
dlib/svm.h
Added
dlib/svm/active_learning.h
dlib/svm/active_learning_abstract.h

Revision: 76113c7d044cd71a
Author: Davis King
Date: Dec 27, 2012 (06:47:01 UTC)

Made the matrix_exp iterator a proper iterator

Modified
dlib/matrix/matrix_exp.h

Revision: a097c936b0ac3bbc
Author: Davis King
Date: Dec 25, 2012 (05:22:06 UTC)

Added a mat() overload for cv_image.

Modified
dlib/opencv/cv_image.h
dlib/opencv/cv_image_abstract.h

Revision: fa4a5a835e1973b9
Author: Davis King
Date: Dec 25, 2012 (04:59:07 UTC)

Added a config.h file that can be used to permanently enable or disable asserts when creating a shared library for dlib.

Modified
dlib/assert.h
Added
dlib/config.h

Revision: ec66d50f9c663536
Author: Davis King
Date: Dec 24, 2012 (-05:15:34 UTC)

Added another mat() overload for Eigen matrices.

Modified
dlib/matrix/matrix_mat.h
dlib/matrix/matrix_mat_abstract.h

Revision: 018d6e708e0de84b
Author: Davis King
Date: Dec 23, 2012 (18:43:53 UTC)

Added a mat() overload that works with Armadillo matrices.

Modified
dlib/matrix/matrix_mat.h
dlib/matrix/matrix_mat_abstract.h

Revision: 47fcd1c3f712f7db
Author: Davis King
Date: Dec 23, 2012 (18:06:34 UTC)

Added unit tests for matrix iterators.

Modified
dlib/test/matrix4.cpp

Revision: ac475701f59270a4
Author: Davis King
Date: Dec 23, 2012 (17:06:18 UTC)

Added STL style begin() and end() methods to matrix and matrix_exp.

Modified
dlib/matrix/matrix.h
dlib/matrix/matrix_abstract.h
dlib/matrix/matrix_exp.h
dlib/matrix/matrix_exp_abstract.h

Revision: ad0ab0d468069919
Author: Davis King
Date: Dec 23, 2012 (09:03:36 UTC)

All I did in this change was rename calls to array_to_matrix(), vector_to_matrix(), pointer_to_column_vector(), and pointer_to_matrix() to mat() (in addition to adding a few more mat() overloads for certain things).

Modified
dlib/clustering/modularity_clustering.h
dlib/filtering/rls_filter.h
dlib/gui_widgets/widgets_abstract.h
dlib/image_keypoint/fine_hog_image.h
dlib/image_keypoint/fine_hog_image_abstract.h
dlib/image_keypoint/hog.h
dlib/image_keypoint/hog_abstract.h
dlib/image_processing/scan_image.h
dlib/image_transforms/assign_image.h
dlib/image_transforms/assign_image_abstract.h
dlib/image_transforms/integral_image_abstract.h
dlib/image_transforms/interpolation.h
dlib/image_transforms/label_connected_blobs_abstract.h
dlib/image_transforms/spatial_filtering.h
dlib/lsh/create_random_projection_hash.h
dlib/optimization/find_max_factor_graph_nmplp.h
dlib/optimization/max_cost_assignment.h
dlib/optimization/max_sum_submatrix.h
dlib/optimization/optimization_bobyqa.h
dlib/optimization/optimization_least_squares.h
dlib/optimization/optimization_least_squares_abstract.h
dlib/optimization/optimization_oca.h
dlib/optimization/optimization_solve_qp2_using_smo.h
dlib/optimization/optimization_solve_qp2_using_smo_abstract.h
dlib/sliding_buffer/circular_buffer.h
dlib/sliding_buffer/circular_buffer_abstract.h
dlib/statistics/random_subset_selector.h
dlib/statistics/random_subset_selector_abstract.h
dlib/statistics/statistics.h
dlib/statistics/statistics_abstract.h
dlib/svm/cross_validate_object_detection_trainer.h
dlib/svm/empirical_kernel_map.h
dlib/svm/empirical_kernel_map_abstract.h
dlib/svm/feature_ranking.h
dlib/svm/feature_ranking_abstract.h
dlib/svm/kcentroid.h
dlib/svm/kkmeans.h
dlib/svm/kkmeans_abstract.h
dlib/svm/krls.h
dlib/svm/krr_trainer.h
dlib/svm/krr_trainer_abstract.h
dlib/svm/linearly_independent_subset_finder.h
dlib/svm/linearly_independent_subset_finder_abstract.h
dlib/svm/pegasos.h
dlib/svm/ranking_tools.h
dlib/svm/rbf_network.h
dlib/svm/rbf_network_abstract.h
dlib/svm/reduced.h
dlib/svm/reduced_abstract.h
dlib/svm/roc_trainer.h
dlib/svm/roc_trainer_abstract.h
dlib/svm/rr_trainer.h
dlib/svm/rr_trainer_abstract.h
dlib/svm/rvm.h
dlib/svm/rvm_abstract.h
dlib/svm/sort_basis_vectors.h
dlib/svm/sort_basis_vectors_abstract.h
dlib/svm/sparse_vector.h
dlib/svm/sparse_vector_abstract.h
dlib/svm/structural_svm_problem.h
dlib/svm/structural_svm_sequence_labeling_problem.h
dlib/svm/svm.h
dlib/svm/svm_abstract.h
dlib/svm/svm_c_ekm_trainer.h
dlib/svm/svm_c_ekm_trainer_abstract.h
dlib/svm/svm_c_linear_dcd_trainer.h
dlib/svm/svm_c_linear_dcd_trainer_abstract.h
dlib/svm/svm_c_linear_trainer.h
dlib/svm/svm_c_linear_trainer_abstract.h
dlib/svm/svm_c_trainer.h
dlib/svm/svm_c_trainer_abstract.h
dlib/svm/svm_multiclass_linear_trainer.h
dlib/svm/svm_nu_trainer.h
dlib/svm/svm_nu_trainer_abstract.h
dlib/svm/svm_one_class_trainer.h
dlib/svm/svm_one_class_trainer_abstract.h
dlib/svm/svm_threaded.h
dlib/svm/svr_trainer.h
dlib/svm/svr_trainer_abstract.h
dlib/test/assignment_learning.cpp
dlib/test/find_max_factor_graph_nmplp.cpp
dlib/test/find_max_factor_graph_viterbi.cpp
dlib/test/geometry.cpp
dlib/test/image.cpp
dlib/test/kernel_matrix.cpp
dlib/test/matrix.cpp
dlib/test/matrix2.cpp
dlib/test/matrix3.cpp
dlib/test/oca.cpp
dlib/test/probabilistic.cpp
dlib/test/pyramid_down.cpp
dlib/test/ranking.cpp
dlib/test/scan_image.cpp
dlib/test/sequence_labeler.cpp
dlib/test/sldf.cpp
dlib/test/statistics.cpp
dlib/test/svm_struct.cpp

Revision: 79bd632ff29363ab
Author: Davis King
Date: Dec 23, 2012 (05:02:54 UTC)

Fixed bug in one of the new mat() functions.

Modified
dlib/matrix/matrix_mat.h

Revision: 87f6b4ec693814b9
Author: Davis King
Date: Dec 23, 2012 (04:25:10 UTC)

Added the mat() function. It rolls the array_to_matrix(), vector_to_matrix(), pointer_to_column_vector(), and pointer_to_matrix() methods all into one convenient interface. Also made stddev() slightly more general. This change also deprecates the previous matrix conversion functions.

Modified
dlib/matrix/matrix_utilities.h
dlib/matrix/matrix_utilities_abstract.h
Added
dlib/matrix/matrix_mat.h
dlib/matrix/matrix_mat_abstract.h

Revision: 4073dfa1dbca917e
Author: Davis King
Date: Dec 22, 2012 (13:24:59 UTC)

Made toMat() work with matrix object in addition to array2d style images.

Modified
dlib/opencv/to_open_cv.h
dlib/opencv/to_open_cv_abstract.h

Revision: 09fc76f2ea9b847d
Author: Davis King
Date: Dec 21, 2012 (17:27:40 UTC)

Previously, if you accidentally tried to copy between any_function instances with incompatible function signatures you got a really confusing error message from the compiler. This change makes it so you get a much more informative error message.

Modified
dlib/any/any_function_impl2.h

Revision: 00efbbb44b78de6c
Author: Davis King
Date: Dec 21, 2012 (11:13:29 UTC)

Updated cmake file so it can find the new version of the Intel MKL on linux.

Modified
dlib/cmake_find_blas.txt

Revision: bbf5edc4e95ed042
Author: Davis King
Date: Dec 19, 2012 (18:00:53 UTC)

Added unit tests for svm_rank_trainer::force_last_weight_to_1()

Modified
dlib/test/ranking.cpp

Revision: bf43e7207690eebe
Author: Davis King
Date: Dec 19, 2012 (17:33:28 UTC)

Fixed a bug introduced in the last commit.

Modified
dlib/svm/svm_rank_trainer.h

Revision: 40916ee9008dc699
Author: Davis King
Date: Dec 19, 2012 (17:21:50 UTC)

Added the option to force the last weight element to be 1 to the svm_rank_trainer.

Modified
dlib/svm/svm_rank_trainer.h
dlib/svm/svm_rank_trainer_abstract.h

Revision: 749bfebfa7adac1a
Author: Davis King
Date: Dec 19, 2012 (15:01:10 UTC)

Added a pragma to avoid an inappropriate warning from visual studio 2012

Modified
dlib/iosockstream/iosockstream.h

Revision: 7ddf617ccbf16a34
Author: Davis King
Date: Dec 19, 2012 (14:40:42 UTC)

Relaxed the tests slightly to avoid false alarms in visual studio 2010

Modified
dlib/test/svm_c_linear_dcd.cpp

Revision: 1420ccfc3f6c2d50
Author: Davis King
Date: Dec 18, 2012 (14:53:49 UTC)

fixed grammar in a comment

Modified
dlib/server/server_http_abstract.h

Revision: 3840f23b14d24718
Author: Davis King
Date: Dec 17, 2012 (17:42:52 UTC)

clarified spec

Modified
dlib/svm/svm_c_linear_dcd_trainer_abstract.h

Revision: e4b56931f6b4771c
Author: Davis King
Date: Dec 17, 2012 (17:27:18 UTC)

Filled out some assert error messages and the spec file.

Modified
dlib/svm/svm_c_linear_dcd_trainer.h
dlib/svm/svm_c_linear_dcd_trainer_abstract.h

Revision: ec033be93dae1fe5
Author: Davis King
Date: Dec 17, 2012 (16:41:14 UTC)

fixed some variables not being initialized.

Modified
dlib/svm/svm_c_linear_dcd_trainer.h

Revision: 1cc74d9f8e04f07f
Author: Davis King
Date: Dec 17, 2012 (16:37:59 UTC)

Added unit tests for the new svm_c_linear_dcd_trainer object.

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/svm_c_linear_dcd.cpp

Revision: 6597f75cac2b941f
Author: Davis King
Date: Dec 17, 2012 (15:33:34 UTC)

Fixed a bug which triggered when the last weight was forced to 1.

Modified
dlib/svm/svm_c_linear_dcd_trainer.h

Revision: a931a2dc74ff85d2
Author: Davis King
Date: Dec 17, 2012 (14:15:47 UTC)

updated svm.h

Modified
dlib/svm.h

Revision: 0fa11f169a794287
Author: Davis King
Date: Dec 16, 2012 (18:10:00 UTC)

Fixed bugs in new object.

Modified
dlib/svm/svm_c_linear_dcd_trainer.h

Revision: dd7e4c6c0a17a437
Author: Davis King
Date: Dec 16, 2012 (18:00:56 UTC)

Made the optimizer_state serializable.

Modified
dlib/svm/svm_c_linear_dcd_trainer.h

Revision: 1bfcff8ccfc1359a
Author: Davis King
Date: Dec 16, 2012 (17:56:30 UTC)

Made this object properly warm-startable

Modified
dlib/svm/svm_c_linear_dcd_trainer.h

Revision: d34a20bb1e6b4755
Author: Davis King
Date: Dec 16, 2012 (14:24:39 UTC)

added a method to enable or disable shrinking

Modified
dlib/svm/svm_c_linear_dcd_trainer.h

Revision: 639199756d5cbe12
Author: Davis King
Date: Dec 16, 2012 (13:51:36 UTC)

Added initial implementation of the svm_c_linear_dcd_trainer.

Added
dlib/svm/svm_c_linear_dcd_trainer.h
dlib/svm/svm_c_linear_dcd_trainer_abstract.h

Revision: d8dbea30aceda18d
Author: Davis King
Date: Dec 16, 2012 (03:30:47 UTC)

Updated the normalized_function so that it also works with routines expecting something that looks like a multiclass decision function.

Modified
dlib/svm/function.h
dlib/svm/function_abstract.h

Revision: bc31dc15b99cdb7e
Author: Davis King
Date: Dec 12, 2012 (15:53:50 UTC)

Added a group name feature to the command line parser. Now it is possible to make print_options() print related options so that they are grouped together.

Modified
dlib/cmd_line_parser/cmd_line_parser_kernel_1.h
dlib/cmd_line_parser/cmd_line_parser_kernel_abstract.h
dlib/cmd_line_parser/cmd_line_parser_print_1.h
dlib/interfaces/cmd_line_parser_option.h

Revision: 1573cc66ac74a769
Author: Davis King
Date: Dec 12, 2012 (14:57:59 UTC)

Made cmd_line_parser::print_options() print out some new lines at the end so that the user doesn't have to print them.

Modified
dlib/cmd_line_parser/cmd_line_parser_print_1.h

Revision: cd67c410034c4064
Author: Davis King
Date: Dec 11, 2012 (18:16:17 UTC)

Added on_view_changed() callback to zoomable_region and scrollable_region gui widgets.

Modified
dlib/gui_widgets/base_widgets.cpp
dlib/gui_widgets/base_widgets.h
dlib/gui_widgets/base_widgets_abstract.h

Revision: 9d0eddab8db0d2ec
Author: Davis King
Date: Dec 11, 2012 (16:34:13 UTC)

Added the find_affine_transform() routine.

Modified
dlib/geometry/point_transforms.h
dlib/geometry/point_transforms_abstract.h
dlib/test/geometry.cpp

Revision: aadb135541a243a9
Author: Davis King
Date: Dec 11, 2012 (16:21:54 UTC)

fixed typo in spec

Modified
dlib/geometry/point_transforms_abstract.h
docs/docs/linear_algebra.xml

Revision: 5d958a801f3beee2
Author: Davis King
Date: Dec 11, 2012 (16:18:57 UTC)

Moved the point/vector rotation/transformation code into its own file.

Modified
dlib/geometry.h
dlib/geometry/vector.h
dlib/geometry/vector_abstract.h
Added
dlib/geometry/point_transforms.h
dlib/geometry/point_transforms_abstract.h

Revision: c19cce2467ab661e
Author: Davis King
Date: Dec 11, 2012 (15:16:27 UTC)

Made the functions for scaling, rotating, and generally transforming images more general. Previously they required the user to use the same type of image for both input and output. This has been relaxed so now different typed images can be used.

Modified
dlib/image_transforms/interpolation.h
dlib/image_transforms/interpolation_abstract.h

Revision: 56b4dfbd75d61f69
Author: Davis King
Date: Dec 11, 2012 (14:33:44 UTC)

fixed typo in a comment

Modified
dlib/pixel.h

Revision: 128b019e759d6ae5
Author: Davis King
Date: Dec 10, 2012 (18:25:17 UTC)

A minor change that makes the svm_multiclass_linear_trainer a little bit faster.

Modified
dlib/svm/svm_multiclass_linear_trainer.h

Revision: c085243e588d4594
Author: Davis King
Date: Dec 10, 2012 (17:32:08 UTC)

Added an overload of draw_image() that's useful for drawing images and doing interpolation at the same time.

Modified
dlib/gui_widgets/canvas_drawing.h
dlib/gui_widgets/canvas_drawing_abstract.h

Revision: 6f5506a567eddf7e
Author: Davis King
Date: Dec 09, 2012 (10:22:37 UTC)

fixed grammar in a comment

Modified
dlib/gui_widgets/canvas_drawing.h

Revision: f1d0b42480becc67
Author: Davis King
Date: Dec 09, 2012 (10:21:18 UTC)

updated a comment

Modified
dlib/gui_widgets/canvas_drawing.h

Revision: de0ee5b754b1cf70
Author: Davis King
Date: Dec 09, 2012 (10:16:55 UTC)

Added draw_solid_convex_polygon()

Modified
dlib/gui_widgets/canvas_drawing.h
dlib/gui_widgets/canvas_drawing_abstract.h

Revision: 545fa6e5e43d51a6
Author: Davis King
Date: Dec 09, 2012 (09:01:17 UTC)

A minor change to avoid unnecessary work when not using a cutting plane cache.

Modified
dlib/svm/structural_svm_problem.h

Revision: 007f97d3fc955629
Author: Davis King
Date: Dec 05, 2012 (18:14:20 UTC)

Fixed confusing error message.

Modified
dlib/cmd_line_parser/cmd_line_parser_kernel_c.h

Revision: e60b3e5c8338db37
Author: Davis King
Date: Dec 05, 2012 (18:11:55 UTC)

Changed the feature extraction interfaces for the sequence labeling and assignment problem learning tools to also include an optional num_nonnegative_weights() method. This method can be used to tell any machine learning tools which elements of the learned parameter vector should be non-negative. As part of this change, I also removed the previous methods for doing this from the structural_assignment_trainer since they are now redundant.

Modified
dlib/svm/assignment_function_abstract.h
dlib/svm/sequence_labeler_abstract.h
dlib/svm/structural_assignment_trainer.h
dlib/svm/structural_assignment_trainer_abstract.h
dlib/svm/structural_sequence_labeling_trainer.h
Added
dlib/svm/num_nonnegative_weights.h

Revision: 1834fdc86fb92f7c
Author: Davis King
Date: Dec 05, 2012 (14:36:30 UTC)

Added a version of print_options() that doesn't take an ostream but just prints to cout.

Modified
dlib/cmd_line_parser/cmd_line_parser_kernel_abstract.h
dlib/cmd_line_parser/cmd_line_parser_print_1.h

Revision: 32ce2c714b77646d
Author: Davis King
Date: Dec 05, 2012 (14:29:38 UTC)

Added some code to workaround a bug in certain versions of gcc.

Modified
dlib/std_allocator.h

Revision: 52fef20f9cece389
Author: Davis King
Date: Nov 27, 2012 (16:37:36 UTC)

Added missing requirement

Modified
dlib/general_hash/hash_abstract.h

Revision: 5b83a84ddc0d43e0
Author: Davis King
Date: Nov 27, 2012 (16:28:00 UTC)

Added hash() overloads for uint32, uint64, and std::pair as well as some more unit tests.

Modified
dlib/general_hash/hash.h
dlib/general_hash/hash_abstract.h
dlib/test/hash.cpp

Revision: de14feb67c6efe93
Author: Davis King
Date: Nov 27, 2012 (16:24:23 UTC)

Added murmur_hash3_3()

Modified
dlib/general_hash/murmur_hash3.h
dlib/general_hash/murmur_hash3_abstract.h

Revision: 06669a963bb34381
Author: Davis King
Date: Nov 27, 2012 (15:45:35 UTC)

Added murmur_hash3_2()

Modified
dlib/general_hash/murmur_hash3.h
dlib/general_hash/murmur_hash3_abstract.h
dlib/test/hash.cpp

Revision: 596ead76f4aa7519
Author: Davis King
Date: Nov 25, 2012 (14:52:32 UTC)

Added a pragma to disable a warning from visual studio 2012.

Modified
dlib/vectorstream/vectorstream.h

Revision: be7345d9a0e5ccfc
Author: Davis King
Date: Nov 25, 2012 (11:47:25 UTC)

Reduced the number of tests because otherwise we get really close to the limit on the number of TCP connections in the TIME_WAIT state on Windows XP. This results in the tests failing if you run them multiple times within the TIME_WAIT timeout period. So this change makes the tests less likely to false alarm when run on Windows XP.

Modified
dlib/test/iosockstream.cpp

Revision: 691b5e5fdc1b9a43
Author: Davis King
Date: Nov 25, 2012 (11:41:12 UTC)

Made test a little more robust

Modified
dlib/test/iosockstream.cpp

Revision: f0c59862f12e1485
Author: Davis King
Date: Nov 25, 2012 (11:32:11 UTC)

Minor changes to avoid a compiler error and warning in visual studio

Modified
dlib/iosockstream/iosockstream.h
dlib/vectorstream/vectorstream.h

Revision: 6879e1aa596848f1
Author: Davis King
Date: Nov 24, 2012 (11:37:04 UTC)

clarified spec

Modified
dlib/svm/sparse_vector_abstract.h

Revision: f013c32b020f1fd8
Author: Davis King
Date: Nov 24, 2012 (11:20:10 UTC)

Added some sparse_matrix_vector_multiply() unit tests.

Modified
dlib/test/sparse_vector.cpp

Revision: f41e00d0f9b24197
Author: Davis King
Date: Nov 24, 2012 (11:15:12 UTC)

Added an overload of sparse_matrix_vector_multiply() that multiplies a dense matrix with a sparse vector.

Modified
dlib/svm/sparse_vector.h
dlib/svm/sparse_vector_abstract.h

Revision: b3f7cd63e3f2139d
Author: Davis King
Date: Nov 24, 2012 (10:59:13 UTC)

Added overloads of sparse_matrix_vector_multiply() that return their result like normal rather than passing it back by reference.

Modified
dlib/svm/sparse_vector.h
dlib/svm/sparse_vector_abstract.h

Revision: 34d4e1e8e8ca4491
Author: Davis King
Date: Nov 24, 2012 (10:07:20 UTC)

Clarified spec

Modified
dlib/svm/sparse_vector_abstract.h

Revision: fa2a44d572f26e58
Author: Davis King
Date: Nov 24, 2012 (09:48:27 UTC)

Added missing assert

Modified
dlib/matrix/matrix_utilities.h

Revision: 8517bee062b3b294
Author: Davis King
Date: Nov 24, 2012 (09:46:13 UTC)

Added gaussian_randm()

Modified
dlib/matrix/matrix_utilities.h
dlib/matrix/matrix_utilities_abstract.h

Revision: e54fbba4df6ea27e
Author: Davis King
Date: Nov 24, 2012 (08:57:25 UTC)

Added unit tests for uniform_random_hash() and gaussian_random_hash().

Modified
dlib/test/rand.cpp

Revision: 41af195898c891c2
Author: Davis King
Date: Nov 24, 2012 (08:41:29 UTC)

Added uniform_random_hash() and gaussian_random_hash().

Modified
dlib/hash.h
Added
dlib/general_hash/random_hashing.h
dlib/general_hash/random_hashing_abstract.h

Revision: c1fa2f3bd048ff22
Author: Davis King
Date: Nov 24, 2012 (04:59:40 UTC)

Fixed compiler warning in gcc 4.4

Modified
dlib/test/hash.cpp

Revision: 669fda431a7d43e7
Author: Davis King
Date: Nov 24, 2012 (04:54:26 UTC)

Added test_murmur_hash_128_3(). Also fixed an endianness error in the hashing unit test code.

Modified
dlib/general_hash/murmur_hash3.h
dlib/general_hash/murmur_hash3_abstract.h
dlib/test/hash.cpp

Revision: c6def413d5ca0c22
Author: Davis King
Date: Nov 24, 2012 (04:02:39 UTC)

Made the svm_c_linear_trainer use the risk gap to decide when to stop. So now it interprets its epsilon parameter the same way the other OCA based SVM tools in dlib do. It also has a more intuitive interpretation than the previous stopping condition.

Modified
dlib/svm/svm_c_linear_trainer.h
dlib/svm/svm_c_linear_trainer_abstract.h

Revision: 1aabf27c94aec401
Author: Davis King
Date: Nov 23, 2012 (12:05:51 UTC)

Added unit tests for the new svm_rank_trainer.

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/ranking.cpp

Revision: 276712fb4dcc4601
Author: Davis King
Date: Nov 23, 2012 (12:03:54 UTC)

Fixed some compile time errors related to sparse vector use.

Modified
dlib/svm/ranking_tools.h

Revision: 5cdc8260bcef7e82
Author: Davis King
Date: Nov 23, 2012 (11:06:38 UTC)

clarified spec

Modified
dlib/svm/svm_rank_trainer_abstract.h

Revision: 1874b4a764a04558
Author: Davis King
Date: Nov 23, 2012 (10:44:57 UTC)

Added another overload of test_ranking_function() that takes a single ranking_pair. Also improved wording of comment in svm_rank_trainer_abstract.h

Modified
dlib/svm/ranking_tools.h
dlib/svm/ranking_tools_abstract.h
dlib/svm/svm_rank_trainer_abstract.h

Revision: ab65d120591c63c4
Author: Davis King
Date: Nov 23, 2012 (07:58:49 UTC)

Filled out the svm_rank_trainer's spec

Modified
dlib/svm/svm_rank_trainer.h
dlib/svm/svm_rank_trainer_abstract.h

Revision: 6e350c74e1c00f1d
Author: Davis King
Date: Nov 23, 2012 (07:18:15 UTC)

Fleshed out the spec and cleaned up a few minor things.

Modified
dlib/svm/ranking_tools.h
dlib/svm/ranking_tools_abstract.h

Revision: e95c9f4049c2dbd4
Author: Davis King
Date: Nov 22, 2012 (06:51:41 UTC)

Added svm_rank_trainer. Need to flesh out abstracts and unit tests next.

Modified
dlib/svm.h
Added
dlib/svm/ranking_tools.h
dlib/svm/ranking_tools_abstract.h
dlib/svm/svm_rank_trainer.h
dlib/svm/svm_rank_trainer_abstract.h

Revision: 47690f2c2103f594
Author: Davis King
Date: Nov 21, 2012 (07:46:56 UTC)

Changed oca solver to only call the problem's get_num_dimensions() routine once since it might be expensive to call depending on how the user implements it.

Modified
dlib/optimization/optimization_oca.h

Revision: 656846a6f6d48470
Author: Davis King
Date: Nov 21, 2012 (05:03:26 UTC)

Made parse_trees_to_string() and parse_trees_to_string_tagged() a little more user friendly.

Modified
dlib/optimization/find_max_parse_cky.h
dlib/optimization/find_max_parse_cky_abstract.h
dlib/test/parse.cpp

Revision: 01b859d70b340101
Author: Davis King
Date: Nov 18, 2012 (12:16:29 UTC)

Switched the bsp tools from using stringstream to vectorstream for serialization.

Modified
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h

Revision: 56b90726453d08fa
Author: Davis King
Date: Nov 18, 2012 (11:26:46 UTC)

Added unit tests for the vectorstream.

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/vectorstream.cpp

Revision: 7d4539b632a02791
Author: Davis King
Date: Nov 18, 2012 (11:20:38 UTC)

Added seekg() and made vectorstream more robust.

Modified
dlib/vectorstream/vectorstream.h
dlib/vectorstream/vectorstream_abstract.h

Revision: be374b2407f13fc0
Author: Davis King
Date: Nov 18, 2012 (10:53:55 UTC)

Added the vectorstream object.

Added
dlib/vectorstream.h
dlib/vectorstream/vectorstream.h
dlib/vectorstream/vectorstream_abstract.h

Revision: 63077d5707baa12b
Author: Davis King
Date: Nov 18, 2012 (08:09:07 UTC)

Removed cruft

Modified
dlib/gui_widgets/base_widgets.h
dlib/gui_widgets/widgets.h
dlib/test/gui/main.cpp
dlib/test/timer.cpp
dlib/timeout/timeout.h

Revision: fdd929b2913c00c8
Author: Davis King
Date: Nov 18, 2012 (07:58:21 UTC)

Added a comment explaining why timer_heavy exists.

Modified
dlib/timer/timer_heavy.h

Revision: d5a7fb0313c6f362
Author: Davis King
Date: Nov 18, 2012 (07:54:23 UTC)

Just renamed the timer source files.

Modified
dlib/all/source.cpp
dlib/timer.h
Added
dlib/timer/timer.cpp
dlib/timer/timer.h
dlib/timer/timer_abstract.h
dlib/timer/timer_heavy.h
Deleted
dlib/timer/timer_kernel_1.h
dlib/timer/timer_kernel_2.cpp
dlib/timer/timer_kernel_2.h
dlib/timer/timer_kernel_abstract.h

Revision: 2e9a19590d9bf919
Author: Davis King
Date: Nov 18, 2012 (07:48:19 UTC)

Converted the timer component into two single implementation components. These are the timer and timer_heavy objects now.

Modified
dlib/timer.h
dlib/timer/timer_kernel_1.h
dlib/timer/timer_kernel_2.cpp
dlib/timer/timer_kernel_2.h

Revision: 1916c86f34c0fb9a
Author: Davis King
Date: Nov 18, 2012 (07:07:38 UTC)

Converted the bound_function_pointer into a single implementation component.

Modified
dlib/bound_function_pointer.h
dlib/bound_function_pointer/bound_function_pointer_kernel_1.h
Deleted
dlib/bound_function_pointer/bound_function_pointer_kernel_c.h

Revision: 75c8e1881092d60a
Author: Davis King
Date: Nov 18, 2012 (06:46:53 UTC)

Added another constructor to the linker that lets you link two connections right away.

Modified
dlib/linker/linker_kernel_1.cpp
dlib/linker/linker_kernel_1.h
dlib/linker/linker_kernel_abstract.h

Revision: 1f544acca6195cf8
Author: Davis King
Date: Nov 18, 2012 (06:33:56 UTC)

Made the linker's destructor behavior a little more reasonable.

Modified
dlib/linker/linker_kernel_1.cpp

Revision: 391ac53237e3ad8b
Author: Davis King
Date: Nov 18, 2012 (05:56:51 UTC)

fixed spelling error in comment

Modified
dlib/linker/linker_kernel_1.cpp

Revision: 932a51ffb1aad55e
Author: Davis King
Date: Nov 18, 2012 (05:47:59 UTC)

Turned linker into a single implementation component.

Modified
dlib/linker.h
dlib/linker/linker_kernel_1.cpp
dlib/linker/linker_kernel_1.h
dlib/linker/linker_kernel_abstract.h
Deleted
dlib/linker/linker_kernel_c.h

Revision: 3def8fcd90905b47
Author: Davis King
Date: Nov 18, 2012 (-05:29:51 UTC)

Added the parse_xml() routines

Modified
dlib/xml_parser/xml_parser_kernel_1.h
dlib/xml_parser/xml_parser_kernel_abstract.h
examples/xml_parser_ex.cpp

Revision: ba179c911f941913
Author: Davis King
Date: Nov 17, 2012 (18:53:33 UTC)

simplified code

Modified
dlib/data_io/image_dataset_metadata.cpp

Revision: 2ba184972080b3f0
Author: Davis King
Date: Nov 17, 2012 (18:51:24 UTC)

Turned the xml_parser into a single implementation component.

Modified
dlib/xml_parser.h
dlib/xml_parser/xml_parser_kernel_1.h
Deleted
dlib/xml_parser/xml_parser_kernel_c.h

Revision: 1ec4227edd0df5ae
Author: Davis King
Date: Nov 17, 2012 (18:31:26 UTC)

Simplified member_function_pointer declarations.

Modified
dlib/bound_function_pointer/bound_function_pointer_kernel_1.h
dlib/gui_widgets/base_widgets.h
dlib/gui_widgets/widgets.cpp
dlib/logger/logger_kernel_1.h
dlib/server/server_kernel.cpp
dlib/threads/multithreaded_object_extension.h
dlib/threads/thread_pool_extension.h
dlib/threads/threads_kernel_shared.cpp
dlib/threads/threads_kernel_shared.h

Revision: 911945c605c0ebe9
Author: Davis King
Date: Nov 17, 2012 (18:16:55 UTC)

Turned the member_function_pointer into a single implementation component.

Modified
dlib/member_function_pointer.h
dlib/member_function_pointer/make_mfp.h
dlib/member_function_pointer/make_mfp_abstract.h
dlib/member_function_pointer/member_function_pointer_kernel_1.h
dlib/test/member_function_pointer.cpp
Deleted
dlib/member_function_pointer/member_function_pointer_kernel_c.h

Revision: afa9c043d9515c41
Author: Davis King
Date: Nov 17, 2012 (17:43:08 UTC)

Added lambda function support to the timeout object.

Modified
dlib/timeout/timeout.h
dlib/timeout/timeout_abstract.h

Revision: e3d02c303210702f
Author: Davis King
Date: Nov 17, 2012 (12:51:41 UTC)

Removed cruft

Modified
dlib/http_client/http_client.cpp
dlib/iosockstream/iosockstream.h
dlib/sockets/sockets_extensions.cpp

Revision: 188bf09acd2cca95
Author: Davis King
Date: Nov 17, 2012 (12:47:35 UTC)

Turned timeout into a single implementation style object. Therefore, now it can be declared as a type timeout rather than timeout::kernel_1a.

Modified
dlib/timeout.h
Added
dlib/timeout/timeout.h
dlib/timeout/timeout_abstract.h
Deleted
dlib/timeout/timeout_kernel_1.h
dlib/timeout/timeout_kernel_abstract.h

Revision: ba3efe1d6142927c
Author: Davis King
Date: Nov 17, 2012 (11:39:31 UTC)

Added a method to the server object that lets a user set the graceful close timeout time to something other than the default of 500ms.

Modified
dlib/server/server_kernel.cpp
dlib/server/server_kernel.h
dlib/server/server_kernel_abstract.h

Revision: a81ac2e38a049783
Author: Davis King
Date: Nov 17, 2012 (11:19:44 UTC)

Added more tests

Modified
dlib/test/iosockstream.cpp

Revision: 7903c8fa36cc3ee0
Author: Davis King
Date: Nov 17, 2012 (11:08:30 UTC)

Removed more cruft

Modified
dlib/server/server_iostream.h

Revision: 5f5ccd41b579890f
Author: Davis King
Date: Nov 17, 2012 (10:59:05 UTC)

Added unit test for iosockstream.

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/iosockstream.cpp

Revision: 40e3989d7eba7269
Author: Davis King
Date: Nov 17, 2012 (10:58:51 UTC)

removed cruft

Modified
dlib/test/sockstreambuf.cpp

Revision: d0957716394d45bd
Author: Davis King
Date: Nov 17, 2012 (10:53:24 UTC)

Changed name of private logger to avoid name conflicts in derived classes.

Modified
dlib/server/server_iostream.cpp
dlib/server/server_iostream.h

Revision: bb77e1b501613f5d
Author: Davis King
Date: Nov 17, 2012 (09:21:20 UTC)

Added an iosockstream object.

Added
dlib/iosockstream.h
dlib/iosockstream/iosockstream.h
dlib/iosockstream/iosockstream_abstract.h

Revision: f1af2dce062bb3f8
Author: Davis King
Date: Nov 17, 2012 (07:52:43 UTC)

Made close_gracefully() into a noop if called on a null pointer.

Modified
dlib/sockets/sockets_extensions.cpp
dlib/sockets/sockets_extensions_abstract.h

Revision: 14e1405282b67fc9
Author: Davis King
Date: Nov 17, 2012 (07:02:16 UTC)

Just renamed some files and turned the sockstreambuf into a single implementation component. So no real functional code changes in this commit.

Modified
dlib/all/source.cpp
dlib/sockstreambuf.h
Added
dlib/sockstreambuf/sockstreambuf.cpp
dlib/sockstreambuf/sockstreambuf.h
dlib/sockstreambuf/sockstreambuf_abstract.h
dlib/sockstreambuf/sockstreambuf_unbuffered.cpp
dlib/sockstreambuf/sockstreambuf_unbuffered.h
Deleted
dlib/sockstreambuf/sockstreambuf_kernel_1.cpp
dlib/sockstreambuf/sockstreambuf_kernel_1.h
dlib/sockstreambuf/sockstreambuf_kernel_2.cpp
dlib/sockstreambuf/sockstreambuf_kernel_2.h
dlib/sockstreambuf/sockstreambuf_kernel_abstract.h

Revision: a473bec289d5410c
Author: Davis King
Date: Nov 17, 2012 (07:01:15 UTC)

minor cleanup

Modified
dlib/bsp/bsp.cpp

Revision: 01151069bb40a979
Author: Davis King
Date: Nov 15, 2012 (14:05:37 UTC)

Added parse_trees_to_string() and parse_trees_to_string_tagged(). Also made the output slightly nicer looking.

Modified
dlib/optimization/find_max_parse_cky.h
dlib/optimization/find_max_parse_cky_abstract.h
dlib/test/parse.cpp

Revision: 87d803f1dc300d3c
Author: Davis King
Date: Nov 12, 2012 (14:52:55 UTC)

clarified the BSP spec

Modified
dlib/bsp/bsp_abstract.h

Revision: 97e23ff575e2bebb
Author: Davis King
Date: Aug 08, 2011 (14:28:46 UTC)

A minor change to avoid a compiler warning in gcc 4.1

Modified
dlib/optimization/find_max_parse_cky.h

Revision: 6fa93b5aa6796e5a
Author: Davis King
Date: Nov 12, 2012 (11:52:37 UTC)

Fixed compiler error with the cmd_line_parser and global swap() introduced in the last change.

Modified
dlib/cmd_line_parser.h

Revision: da2a611e91f8ee42
Author: Davis King
Date: Nov 12, 2012 (10:58:24 UTC)

Turned the cmd_line_parser into a single implementation component (from the user perspective anyway).

Modified
dlib/cmd_line_parser.h
dlib/cmd_line_parser/cmd_line_parser_check_1.h
dlib/cmd_line_parser/cmd_line_parser_kernel_abstract.h
dlib/cmd_line_parser/cmd_line_parser_print_1.h
Deleted
dlib/cmd_line_parser/cmd_line_parser_check_abstract.h
dlib/cmd_line_parser/cmd_line_parser_print_abstract.h

Revision: 7f031b6b03e42fe1
Author: Davis King
Date: Nov 12, 2012 (10:25:02 UTC)

Added the command_line_parser and wcommand_line_parser typedefs.

Modified
dlib/cmd_line_parser.h

Revision: cf5eb2b1057d67d7
Author: Davis King
Date: Nov 12, 2012 (07:59:04 UTC)

Added unit tests for find_max_parse_cky().

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/parse.cpp

Revision: 81c150eb74e50d91
Author: Davis King
Date: Nov 12, 2012 (07:33:08 UTC)

Simplified find_max_parse_cky() by making it only output a single tree. Also added find_trees_not_rooted_with_tag().

Modified
dlib/optimization/find_max_parse_cky.h
dlib/optimization/find_max_parse_cky_abstract.h

Revision: 1b0c3121c55ec3c3
Author: Davis King
Date: Nov 12, 2012 (06:25:03 UTC)

Added missing #include

Modified
dlib/optimization/find_max_parse_cky_abstract.h

Revision: 41101528f4c10d7b
Author: Davis King
Date: Nov 12, 2012 (06:23:39 UTC)

filled out spec

Modified
dlib/optimization/find_max_parse_cky_abstract.h

Revision: eaa07c1607ae03c0
Author: Davis King
Date: Nov 11, 2012 (18:03:13 UTC)

made code a little clearer

Modified
dlib/optimization/find_max_parse_cky.h
dlib/optimization/find_max_parse_cky_abstract.h

Revision: 97af7819a9ad6d7b
Author: Davis King
Date: Nov 11, 2012 (17:10:16 UTC)

Added serialization support to constituent and parse_tree_element.

Modified
dlib/optimization/find_max_parse_cky.h
dlib/optimization/find_max_parse_cky_abstract.h

Revision: b8f613c8c01d2772
Author: Davis King
Date: Nov 11, 2012 (16:37:56 UTC)

updated spec

Modified
dlib/optimization/find_max_parse_cky_abstract.h

Revision: 13aae51f5c39d2c5
Author: Davis King
Date: Nov 11, 2012 (16:28:04 UTC)

added missing #include

Modified
dlib/optimization/find_max_parse_cky_abstract.h

Revision: f56d70d821808006
Author: Davis King
Date: Nov 11, 2012 (16:10:16 UTC)

Added find_max_parse_cky() and its supporting tools.

Modified
dlib/optimization.h
Added
dlib/optimization/find_max_parse_cky.h
dlib/optimization/find_max_parse_cky_abstract.h

Revision: 0b981b3ccf4e2f32
Author: Davis King
Date: Nov 08, 2012 (17:32:14 UTC)

Made the default distances of sample_pair and ordered_sample_pair objects 1 instead of infinity.

Modified
dlib/graph_utils/ordered_sample_pair.h
dlib/graph_utils/ordered_sample_pair_abstract.h
dlib/graph_utils/sample_pair.h
dlib/graph_utils/sample_pair_abstract.h

Revision: 89a971a53fc6c03d
Author: Davis King
Date: Nov 08, 2012 (16:57:11 UTC)

Fixed clang compiler error

Modified
dlib/graph_utils/edge_list_graphs.h

Revision: 5e2f5e6c985894ac
Author: Davis King
Date: Nov 08, 2012 (16:56:47 UTC)

Fixed clang warnings

Modified
dlib/server/server_http.cpp

Revision: 66062e91bccdbfd6
Author: Davis King
Date: Nov 07, 2012 (17:22:10 UTC)

clarified spec

Modified
dlib/graph_utils/sample_pair_abstract.h

Revision: d6045498cc2e7f7b
Author: Davis King
Date: Nov 07, 2012 (16:49:10 UTC)

Fixed typo in spec

Modified
dlib/server/server_kernel_abstract.h

Revision: 034e780fb77f045a
Author: Davis King
Date: Nov 07, 2012 (16:28:28 UTC)

Moved function definitions into cpp files and also updated the server_http's spec appropriately.

Modified
dlib/all/source.cpp
dlib/server/server_http.h
dlib/server/server_http_abstract.h
dlib/server/server_iostream.h
dlib/server/server_iostream_abstract.h
dlib/server/server_kernel.h
dlib/server/server_kernel_abstract.h
Added
dlib/server/server_http.cpp
dlib/server/server_iostream.cpp
dlib/server/server_kernel.cpp

Revision: a2a1bdecb9d35e50
Author: Davis King
Date: Nov 07, 2012 (14:40:57 UTC)

Just renamed these files

Modified
dlib/server.h
Added
dlib/server/server_http.h
dlib/server/server_iostream.h
dlib/server/server_kernel.h
Deleted
dlib/server/server_http_1.h
dlib/server/server_iostream_1.h
dlib/server/server_kernel_1.h

Revision: c05a0dd4d9eb23d6
Author: Davis King
Date: Nov 07, 2012 (14:39:09 UTC)

Converted server tools into regular classes so you don't have to say ::kernel or anything to instantiate them. Still need to move their method implementations into cpp files.

Modified
dlib/server.h
dlib/server/server_http_1.h
dlib/server/server_iostream_1.h
dlib/server/server_kernel_1.h
Deleted
dlib/server/server_kernel_c.h

Revision: fe529b6245309b5f
Author: Davis King
Date: Nov 07, 2012 (13:17:52 UTC)

code cleanup

Modified
dlib/server/server_kernel_abstract.h
dlib/server/server_kernel_c.h

Revision: bc9714d5ecaeeb52
Author: Davis King
Date: Nov 07, 2012 (13:12:40 UTC)

Added a missing mutex

Modified
dlib/server/server_http_1.h

Revision: 5c780ad758b4d515
Author: Davis King
Date: Nov 07, 2012 (13:10:05 UTC)

Refactored the code in the http server so that it will be more reusable by other tools.

Modified
dlib/server/server_http_1.h
dlib/server/server_http_abstract.h

Revision: 58103d7d7f39fe5f
Author: Davis King
Date: Nov 06, 2012 (17:42:37 UTC)

Set the default max number of connections a server will accept at a time to 1000 rather than the previous default of infinity.

Modified
dlib/server/server_kernel_1.h
dlib/server/server_kernel_abstract.h

Revision: 6d0fdfa9d78aaba8
Author: Davis King
Date: Nov 06, 2012 (17:34:51 UTC)

Merged and simplified the code a little.

Modified
dlib/server/server_http_1.h
dlib/server/server_http_abstract.h

Revision: 33c65dcc913e00f7
Author: William Sobel
Date: Oct 12, 2012 (03:23:38 UTC)

Added the output stream and protocol support in the http server. This allows the server to handle pass the request type and handle streaming connections as well. Added a read_with_limit method that makes the server secure against attackes with buffer overflow and the like.

Modified
dlib/server/server_http_1.h
dlib/server/server_http_abstract.h

Revision: b344175aade192b2
Author: Martin Müllenhaupt
Date: Nov 06, 2012 (12:59:26 UTC)

fixed get_max_parameter_id() (see http://www.sqlite.org/limits.html at 9.)

Modified
dlib/sqlite/sqlite.h

Revision: 4a0f35383b6309c8
Author: Davis King
Date: Nov 05, 2012 (17:00:02 UTC)

Moved more graph tools into the graph_utils folder.

Modified
dlib/graph_utils.h
dlib/manifold_regularization.h
Added
dlib/graph_utils/function_objects.h
dlib/graph_utils/function_objects_abstract.h
Deleted
dlib/manifold_regularization/function_objects.h
dlib/manifold_regularization/function_objects_abstract.h

Revision: efec9c29df7e5645
Author: Davis King
Date: Nov 05, 2012 (16:52:27 UTC)

Moved the edge list graph tools out of the manifold_regularization folder and into graph_utils.

Modified
dlib/clustering/chinese_whispers.h
dlib/clustering/chinese_whispers_abstract.h
dlib/clustering/modularity_clustering.h
dlib/clustering/modularity_clustering_abstract.h
dlib/graph_utils.h
dlib/manifold_regularization.h
dlib/svm/sparse_vector.h
dlib/svm/sparse_vector_abstract.h
Added
dlib/graph_utils/edge_list_graphs.h
dlib/graph_utils/edge_list_graphs_abstract.h
dlib/graph_utils/ordered_sample_pair.h
dlib/graph_utils/ordered_sample_pair_abstract.h
dlib/graph_utils/sample_pair.h
dlib/graph_utils/sample_pair_abstract.h
Deleted
dlib/manifold_regularization/graph_creation.h
dlib/manifold_regularization/graph_creation_abstract.h
dlib/manifold_regularization/ordered_sample_pair.h
dlib/manifold_regularization/ordered_sample_pair_abstract.h
dlib/manifold_regularization/sample_pair.h
dlib/manifold_regularization/sample_pair_abstract.h

Revision: f6d0967556d29de1
Author: Davis King
Date: Nov 05, 2012 (13:13:17 UTC)

clarified spec

Modified
dlib/manifold_regularization/graph_creation_abstract.h

Revision: a0fc2f41b2ea146b
Author: Davis King
Date: Nov 05, 2012 (12:35:02 UTC)

Minor change to avoid compiler error.

Modified
dlib/test/clustering.cpp

Revision: 49cf617cffe125a4
Author: Davis King
Date: Nov 04, 2012 (17:00:53 UTC)

fixed linker errors

Modified
dlib/clustering/chinese_whispers.h
dlib/clustering/modularity_clustering.h

Revision: ebee344e29c3a1ae
Author: Davis King
Date: Nov 04, 2012 (16:49:26 UTC)

Added unit tests for the new clustering code.

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/clustering.cpp

Revision: 5692db37eb207175
Author: Davis King
Date: Nov 04, 2012 (16:48:52 UTC)

Fixed a minor bug

Modified
dlib/clustering/chinese_whispers.h
dlib/clustering/modularity_clustering.h

Revision: bd37cb0d1a7ce9df
Author: Davis King
Date: Nov 04, 2012 (15:14:00 UTC)

Added newman_cluster(), chinese_whispers(), and modularity() routines.

Added
dlib/clustering.h
dlib/clustering/chinese_whispers.h
dlib/clustering/chinese_whispers_abstract.h
dlib/clustering/modularity_clustering.h
dlib/clustering/modularity_clustering_abstract.h

Revision: 059cadfa9a2c6c66
Author: Davis King
Date: Nov 04, 2012 (12:09:49 UTC)

Added is_ordered_by_index(), find_neighbor_ranges(), and convert_unordered_to_ordered()

Modified
dlib/manifold_regularization/graph_creation.h
dlib/manifold_regularization/graph_creation_abstract.h

Revision: f953477940b2ea5d
Author: Davis King
Date: Nov 04, 2012 (11:28:39 UTC)

Added unit tests for sparse_matrix_vector_multiply()

Modified
dlib/test/sparse_vector.cpp

Revision: 118c5c1f8116b78b
Author: Davis King
Date: Nov 04, 2012 (11:23:10 UTC)

Added sparse_matrix_vector_multiply()

Modified
dlib/svm/sparse_vector.h
dlib/svm/sparse_vector_abstract.h

Revision: 5d7ea3c132a7e869
Author: Davis King
Date: Nov 04, 2012 (10:02:44 UTC)

Gave rand a constructor that takes a seed value.

Modified
dlib/rand/rand_kernel_1.h
dlib/rand/rand_kernel_abstract.h

Revision: cac1baab4fe2feaa
Author: Davis King
Date: Nov 04, 2012 (09:57:50 UTC)

Added rand::get_random_64bit_number().

Modified
dlib/rand/rand_kernel_1.h
dlib/rand/rand_kernel_abstract.h

Revision: c0a13b50ffb1668e
Author: Davis King
Date: Nov 03, 2012 (06:40:34 UTC)

Added another constructor for sample pair objects. This one doesn't require a distance argument.

Modified
dlib/manifold_regularization/ordered_sample_pair.h
dlib/manifold_regularization/ordered_sample_pair_abstract.h
dlib/manifold_regularization/sample_pair.h
dlib/manifold_regularization/sample_pair_abstract.h

Revision: 026c22064d71ed19
Author: Davis King
Date: Nov 01, 2012 (18:40:12 UTC)

Changed to avoid a compiler warning

Modified
dlib/gui_widgets/widgets.h

Revision: c0c599f6461b0ca5
Author: Davis King
Date: Oct 29, 2012 (09:46:46 UTC)

- Added ordered_sample_pair - Simplified some of the code a bit by making it use ordered_sample_pair - Broke backwards compatibility, the syntax for passing order_by_distance and order_by_index to std::sort() is now slightly different since these functions are now templates. This allows them to work on any kind of sample_pair or ordered_sample_pair object.

Modified
dlib/manifold_regularization/graph_creation.h
dlib/manifold_regularization/graph_creation_abstract.h
dlib/manifold_regularization/sample_pair.h
dlib/manifold_regularization/sample_pair_abstract.h
dlib/test/linear_manifold_regularizer.cpp
Added
dlib/manifold_regularization/ordered_sample_pair.h
dlib/manifold_regularization/ordered_sample_pair_abstract.h

Revision: d673089410d0e574
Author: Davis King
Date: Oct 29, 2012 (07:34:25 UTC)

Added remove_duplicate_edges().

Modified
dlib/manifold_regularization/graph_creation.h
dlib/manifold_regularization/graph_creation_abstract.h

Revision: 86a0005d2a5213b2
Author: Davis King
Date: Oct 29, 2012 (07:11:55 UTC)

Switched the sample_pair object to use double to store its distance value instead of float.

Modified
dlib/manifold_regularization/graph_creation.h
dlib/manifold_regularization/graph_creation_abstract.h
dlib/manifold_regularization/linear_manifold_regularizer.h
dlib/manifold_regularization/sample_pair.h
dlib/manifold_regularization/sample_pair_abstract.h

Revision: 42a1c0683e6c44b5
Author: Davis King
Date: Oct 29, 2012 (-04:30:31 UTC)

spec cleanup

Modified
dlib/general_hash/murmur_hash3_abstract.h

Revision: 41861a4c0a50ad15
Author: Davis King
Date: Oct 29, 2012 (-04:29:16 UTC)

Added an overload of murmur_hash3_128bit() that takes 4 integers instead of a block of memory.

Modified
dlib/general_hash/murmur_hash3.h
dlib/general_hash/murmur_hash3_abstract.h
dlib/test/hash.cpp

Revision: 70bce8e2f6b6d3e9
Author: Davis King
Date: Oct 25, 2012 (16:04:10 UTC)

Added the ability to learn non-negative weight vectors to the structural_assignment_trainer object.

Modified
dlib/svm/structural_assignment_trainer.h
dlib/svm/structural_assignment_trainer_abstract.h

Revision: a470e11a10fcd6f1
Author: Davis King
Date: Oct 24, 2012 (18:58:28 UTC)

Added connect_to()

Modified
dlib/bridge/bridge.h
dlib/bridge/bridge_abstract.h

Revision: 19d3f4c13d6ab036
Author: Davis King
Date: Oct 22, 2012 (15:30:10 UTC)

Added more validation code to the BSP tools. Now they will do a little more to detect invalid serialization.

Modified
dlib/bsp/bsp.h

Revision: 117960f174de7756
Author: Davis King
Date: Oct 22, 2012 (15:28:45 UTC)

Minor change to avoid a compiler warning.

Modified
dlib/test/bsp.cpp

Revision: c6bb6e54e1aa47a0
Author: Davis King
Date: Oct 21, 2012 (16:23:17 UTC)

updated spec

Modified
dlib/bsp/bsp_abstract.h

Revision: 3342e938a41c0b3a
Author: Davis King
Date: Oct 21, 2012 (15:01:31 UTC)

Made the network_address constructor do a little more input validation.

Modified
dlib/sockets/sockets_extensions.cpp

Revision: 8ce8ae1c9e48e8ec
Author: Davis King
Date: Oct 21, 2012 (14:21:20 UTC)

Fixed a bug in the BSP code and added more tests

Modified
dlib/bsp/bsp.cpp
dlib/test/bsp.cpp

Revision: e8c79976d8e6d818
Author: Davis King
Date: Oct 21, 2012 (11:49:03 UTC)

Improved an error message

Modified
dlib/sockets/sockets_extensions.cpp

Revision: 923fd72786f75afb
Author: Davis King
Date: Oct 21, 2012 (11:34:47 UTC)

updated tests

Modified
dlib/test/bsp.cpp

Revision: f4c60e2143e91f40
Author: Davis King
Date: Oct 21, 2012 (11:34:35 UTC)

Added an implicit conversion from strings to network_address objects.

Modified
dlib/sockets/sockets_extensions.cpp
dlib/sockets/sockets_extensions.h
dlib/sockets/sockets_extensions_abstract.h

Revision: 9e0522f417c2fa0a
Author: Davis King
Date: Oct 21, 2012 (10:38:32 UTC)

Added another BSP test.

Modified
dlib/test/bsp.cpp

Revision: 85e5ebb2839deada
Author: Davis King
Date: Oct 21, 2012 (10:33:34 UTC)

Made BSP interfaces more explicit by using network_address rather than std::pair to represent hostname/port combos.

Modified
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h
dlib/bsp/bsp_abstract.h
dlib/test/bsp.cpp

Revision: 1fe81d558da660c8
Author: Davis King
Date: Oct 21, 2012 (10:20:59 UTC)

Added the network_address object.

Modified
dlib/sockets/sockets_extensions.cpp
dlib/sockets/sockets_extensions.h
dlib/sockets/sockets_extensions_abstract.h

Revision: caefb64b48dec89b
Author: Davis King
Date: Oct 21, 2012 (08:33:27 UTC)

Added try_receive() routines to the bsp_context object.

Modified
dlib/bsp/bsp.h
dlib/bsp/bsp_abstract.h
dlib/test/bsp.cpp

Revision: 9d4f279f50d491ad
Author: Davis King
Date: Oct 21, 2012 (07:29:34 UTC)

clarified spec

Modified
dlib/bsp/bsp_abstract.h

Revision: c96243b4eb6e0932
Author: Davis King
Date: Oct 20, 2012 (11:43:40 UTC)

Fixed a typo

Modified
dlib/sockets/sockets_kernel_1.cpp

Revision: b4983a8a48d9d93e
Author: Davis King
Date: Oct 20, 2012 (11:31:19 UTC)

Disabled Nagle's algorithm to reduce latency for some BSP use cases.

Modified
dlib/bsp/bsp.h

Revision: 59d2b9e28361c3ee
Author: Davis King
Date: Oct 20, 2012 (11:30:37 UTC)

Added connection::disable_nagle()

Modified
dlib/sockets/sockets_kernel_1.cpp
dlib/sockets/sockets_kernel_1.h
dlib/sockets/sockets_kernel_2.cpp
dlib/sockets/sockets_kernel_2.h
dlib/sockets/sockets_kernel_abstract.h

Revision: fc3d16d7c27e064e
Author: Davis King
Date: Oct 20, 2012 (11:16:43 UTC)

Made the tests use the bsp_listen_dynamic_port() as well as bsp_listen().

Modified
dlib/test/bsp.cpp

Revision: c50df365ed668da5
Author: Davis King
Date: Oct 20, 2012 (10:45:50 UTC)

Fixed a race condition in the BSP code and also simplified the logic somewhat.

Modified
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h

Revision: 8e0fea5784cb9f27
Author: Davis King
Date: Oct 20, 2012 (06:37:03 UTC)

Added another BSP test

Modified
dlib/test/bsp.cpp

Revision: 43afd49f385878bb
Author: Davis King
Date: Oct 19, 2012 (17:59:38 UTC)

Fixed grammar

Modified
dlib/svm/structural_svm_problem_abstract.h

Revision: bb37fa9c3987583c
Author: Davis King
Date: Oct 17, 2012 (18:27:34 UTC)

Added unit tests for the BSP tools.

Modified
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/test/bsp.cpp

Revision: bb67aa3d09707169
Author: Davis King
Date: Oct 17, 2012 (15:55:54 UTC)

Further improved the assert message.

Modified
dlib/bsp/bsp.h

Revision: b4bd37409ed72d59
Author: Davis King
Date: Oct 17, 2012 (15:55:20 UTC)

Improved assert message.

Modified
dlib/bsp/bsp.h

Revision: 6c8e19a843c3f964
Author: Davis King
Date: Oct 17, 2012 (15:54:13 UTC)

Made BSP asserts always enabled since they are not costly to execute.

Modified
dlib/bsp/bsp.h

Revision: 7220b78815638f8a
Author: Davis King
Date: Oct 17, 2012 (15:37:29 UTC)

clarified spec

Modified
dlib/bsp/bsp_abstract.h

Revision: 958e0af6822e5ecd
Author: Davis King
Date: Oct 16, 2012 (17:22:13 UTC)

fixed grammar

Modified
dlib/bsp/bsp_abstract.h

Revision: 8bf3cc8a919762bf
Author: Davis King
Date: Oct 16, 2012 (16:35:10 UTC)

Added missing asserts

Modified
dlib/bsp/bsp.h

Revision: a8f765944eeb3af8
Author: Davis King
Date: Oct 16, 2012 (16:26:19 UTC)

Filled out the BSP spec

Modified
dlib/bsp/bsp_abstract.h

Revision: f9661cf33d010e01
Author: Davis King
Date: Oct 16, 2012 (14:35:48 UTC)

Minor cleanup

Modified
dlib/bsp/bsp.h
dlib/bsp/bsp_abstract.h

Revision: fb43388aaa68178a
Author: Davis King
Date: Oct 14, 2012 (13:34:34 UTC)

Added another version of bsp_listen() called bsp_listen_dynamic_port() that has a callback to the user that tells them when a listening port has been opened and what the port number is.

Modified
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h
dlib/bsp/bsp_abstract.h

Revision: 0db03901a53e4fd3
Author: Davis King
Date: Oct 13, 2012 (15:31:39 UTC)

Clarified spec

Modified
dlib/sockets/sockets_kernel_abstract.h

Revision: 1f82e6c3b73424aa
Author: Davis King
Date: Oct 13, 2012 (15:29:05 UTC)

Made the BSP routines take their function arguments by value rather than by reference.

Modified
dlib/bsp/bsp.h
dlib/bsp/bsp_abstract.h

Revision: 1e8055fce2ea0276
Author: Davis King
Date: Oct 13, 2012 (11:49:56 UTC)

Added #pragma to avoid an inappropriate warning from visual studio 2012

Modified
dlib/any/any_function_impl.h

Revision: e9f1b823920e8bb6
Author: Davis King
Date: Oct 13, 2012 (09:30:51 UTC)

Minor changes to avoid compiler errors in visual studio 2012

Modified
dlib/std_allocator.h
dlib/test/tuple.cpp

Revision: 9025ef8192cf7881
Author: Davis King
Date: Oct 13, 2012 (08:46:12 UTC)

Minor change to avoid compiler error in visual studio 2012

Modified
dlib/bsp/bsp.cpp

Revision: 46c90bfef5217e39
Author: Davis King
Date: Oct 11, 2012 (19:24:14 UTC)

Refactored and greatly simplified the BSP implementation. This has fixed a few subtle race conditions and now the tool seems to work robustly.

Modified
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h
dlib/bsp/bsp_abstract.h

Revision: e4ff532ec6842f12
Author: Davis King
Date: Oct 11, 2012 (19:22:38 UTC)

Made the error message from connect() a little more informative.

Modified
dlib/sockets/sockets_extensions.cpp

Revision: 115e0d08c94e7af1
Author: Davis King
Date: Oct 08, 2012 (12:21:13 UTC)

More code cleanup

Modified
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h

Revision: 212ec40a28d7f0ce
Author: Davis King
Date: Oct 07, 2012 (15:46:59 UTC)

Improved error reporting.

Modified
dlib/bsp/bsp.cpp

Revision: baa2c47477eee22f
Author: Davis King
Date: Oct 07, 2012 (12:50:36 UTC)

made code a little more robust.

Modified
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h

Revision: ebce7e2e6ce2916f
Author: Davis King
Date: Oct 07, 2012 (08:55:44 UTC)

Added an overload of bsp_connect() and bsp_listen() for 4 argument functions.

Modified
dlib/bsp/bsp.h
dlib/bsp/bsp_abstract.h

Revision: 2c52e05ec9bc27fa
Author: Davis King
Date: Oct 07, 2012 (08:12:37 UTC)

Yet more code cleanup

Modified
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h
dlib/bsp/bsp_abstract.h

Revision: ab79620256536d58
Author: Davis King
Date: Oct 07, 2012 (08:01:15 UTC)

Cleaned up the API a little.

Modified
dlib/bsp/bsp.h

Revision: cc5977086b58ca2d
Author: Davis King
Date: Oct 07, 2012 (06:21:31 UTC)

Added code to allow different processing nodes to terminate at different times.

Modified
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h

Revision: c338978323b9d084
Author: Davis King
Date: Oct 06, 2012 (10:00:15 UTC)

Added a comment

Modified
dlib/bsp/bsp.h

Revision: 3bb70a2ba1453cda
Author: Davis King
Date: Oct 06, 2012 (09:54:34 UTC)

Added overloads of bsp_connect() and bsp_listen() that can pass optional arguments to the worker function.

Modified
dlib/bsp/bsp.h

Revision: eab3ade90dbf9c72
Author: Davis King
Date: Oct 06, 2012 (09:43:46 UTC)

Added initial BSP implementation.

Modified
dlib/all/source.cpp
Added
dlib/bsp.h
dlib/bsp/bsp.cpp
dlib/bsp/bsp.h
dlib/bsp/bsp_abstract.h

Revision: ec0d954030cb328c
Author: Davis King
Date: Oct 01, 2012 (17:34:10 UTC)

Added a stddev() for matrix objects.

Modified
dlib/matrix/matrix_utilities.h
dlib/matrix/matrix_utilities_abstract.h
dlib/test/statistics.cpp

Revision: 86efd3fd3a9d9982
Author: Davis King
Date: Oct 01, 2012 (17:25:31 UTC)

- Added operator+() for running_stats and running_scalar_covariance - Simplified and optimized the running_stats implementation - Clarified the spec a little

Modified
dlib/statistics/statistics.h
dlib/statistics/statistics_abstract.h
dlib/test/statistics.cpp

Revision: 33fddb0be8c070b1
Author: Davis King
Date: Oct 01, 2012 (16:32:47 UTC)

Fixed a typo which would prevent code that called running_stats::max_n() from compiling.

Modified
dlib/statistics/statistics.h

Revision: 0db3ebca32d5aaa4
Author: Davis King
Date: Oct 01, 2012 (16:17:43 UTC)

fixed typos in spec

Modified
dlib/svm/svm_abstract.h

Revision: 0380615960cd0b2c
Author: Davis King
Date: Sep 30, 2012 (10:12:12 UTC)

Made test/CMakeLists.txt set GCC's warning level to all by default.

Modified
dlib/test/CMakeLists.txt

Revision: b27b3f78696dcad8
Author: Davis King
Date: Sep 22, 2012 (13:44:26 UTC)

Backed out changeset aa751e9fd7ef Turns out this causes path conflicts on some systems.

Modified
dlib/cmake_find_blas.txt

Revision: aa751e9fd7efec14
Author: Davis King
Date: Sep 22, 2012 (12:01:00 UTC)

Improved detection of ATLAS.

Modified
dlib/cmake_find_blas.txt

Revision: e666acfa271ae8d4
Author: Davis King
Date: Sep 22, 2012 (07:32:39 UTC)

Made the cmake script for linking to BLAS and LAPACK more robust.

Modified
dlib/cmake_find_blas.txt

Revision: cfedc05abecbc212
Author: Davis King
Date: Sep 03, 2012 (15:37:05 UTC)

clarified docs

Modified
dlib/matrix/matrix_utilities_abstract.h

Revision: 5d6cef4e6246be89
Author: Davis King
Date: Sep 03, 2012 (10:02:10 UTC)

Made the matrix length() routine work with integer valued matricies when used in visual studio.

Modified
dlib/matrix/matrix_utilities.h

Revision: f8718b2fd6ac50d7
Author: Davis King
Date: Sep 03, 2012 (07:34:34 UTC)

Added serialization support to the full_object_detection.

Modified
dlib/image_processing/full_object_detection.h
dlib/image_processing/full_object_detection_abstract.h

Revision: 4e90995dadbd065a
Author: Davis King
Date: Sep 02, 2012 (05:34:32 UTC)

Fixed minor bug in image_display.

Modified
dlib/gui_widgets/widgets.h

Revision: 4661daad7c1815ef
Author: Davis King
Date: Sep 01, 2012 (19:46:18 UTC)

Added functions to easily add full_object_detections to the overlay of an image_window.

Modified
dlib/gui_widgets/widgets.h
dlib/gui_widgets/widgets_abstract.h

Revision: d652816949d9d18a
Author: Davis King
Date: Sep 01, 2012 (19:33:59 UTC)

Added the ability to put overlay circles into the image_display and image_window widgets.

Modified
dlib/gui_widgets/widgets.cpp
dlib/gui_widgets/widgets.h
dlib/gui_widgets/widgets_abstract.h

Revision: e33934a9e17bc6d2
Author: Davis King
Date: Sep 01, 2012 (18:20:50 UTC)

Added another overloaded operator() to the object_detector. This one makes it easy to get just a list of full_object_detections as output.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h

Revision: 6d1f1e5447e6cd4a
Author: Davis King
Date: Sep 01, 2012 (18:11:32 UTC)

Added an overload of load_image_dataset() that can load the part information into full_object_detections.

Modified
dlib/data_io/load_image_dataset.h
dlib/data_io/load_image_dataset_abstract.h

Revision: 4447eae69d42b060
Author: Davis King
Date: Sep 01, 2012 (-04:34:58 UTC)

Updated the embedded XSLT style sheet for image metadata XML files.

Modified
dlib/data_io/image_dataset_metadata.cpp

Revision: 538186ec3818f321
Author: Davis King
Date: Sep 01, 2012 (-04:06:29 UTC)

Fixed some minor bugs in the image_display part labeling behavior.

Modified
dlib/gui_widgets/widgets.cpp

Revision: df81503da2bb0e29
Author: Davis King
Date: Aug 31, 2012 (19:39:54 UTC)

Fixed misnamed function in image_display.

Modified
dlib/gui_widgets/widgets.h
dlib/gui_widgets/widgets_abstract.h

Revision: 1b24183dbef5e720
Author: Davis King
Date: Aug 31, 2012 (17:47:41 UTC)

Added the start_async() function to the server object.

Modified
dlib/server/server_kernel_1.h
dlib/server/server_kernel_abstract.h

Revision: 875f3124a6b16501
Author: Davis King
Date: Aug 30, 2012 (19:37:18 UTC)

Added the ability to label parts of objects with the mouse to the image_display widget.

Modified
dlib/gui_widgets/widgets.cpp
dlib/gui_widgets/widgets.h
dlib/gui_widgets/widgets_abstract.h

Revision: fb4a63b7001729d5
Author: Davis King
Date: Aug 30, 2012 (19:32:41 UTC)

Made the set_size() methods of the zoomable_region and scrollable_region widgets virtual.

Modified
dlib/gui_widgets/base_widgets.h
dlib/gui_widgets/base_widgets_abstract.h

Revision: 2824adca98b26401
Author: Davis King
Date: Aug 28, 2012 (19:08:04 UTC)

Changed the image dataset metadata XML reading tools to use a map of strings to points to represent object parts. This change also removes the old head point from a box since this information can now be represented in the parts map.

Modified
dlib/data_io/image_dataset_metadata.cpp
dlib/data_io/image_dataset_metadata.h

Revision: 1231b587dce3d46c
Author: Davis King
Date: Aug 27, 2012 (15:20:04 UTC)

Added dlib:: qualifier to something in a #define so the macro works outside the dlib namespace.

Modified
dlib/general_hash/murmur_hash3.h

Revision: b90ab60d8a18fc86
Author: Davis King
Date: Aug 26, 2012 (19:29:48 UTC)

fixed grammar

Modified
dlib/statistics/sammon_abstract.h

Revision: 371d022bde216c87
Author: Davis King
Date: Aug 26, 2012 (18:25:50 UTC)

Switched loss counting variables from integers to doubles so they can count real valued loss values correctly.

Modified
dlib/svm/cross_validate_graph_labeling_trainer.h

Revision: 16469b180cdbb5c7
Author: Davis King
Date: Aug 26, 2012 (17:41:56 UTC)

made code a little clearer

Modified
dlib/statistics/sammon.h
dlib/statistics/sammon_abstract.h

Revision: 6128fc391e25c206
Author: Davis King
Date: Aug 26, 2012 (17:36:55 UTC)

Added Sammon's algorithm.

Modified
dlib/statistics.h
dlib/test/CMakeLists.txt
dlib/test/makefile
Added
dlib/statistics/sammon.h
dlib/statistics/sammon_abstract.h
dlib/test/sammon.cpp

Revision: c21c6ff0d56a558d
Author: Davis King
Date: Aug 26, 2012 (16:13:26 UTC)

Added dpca_matrix_of_size() to discriminant_pca. It allows the user to easily get a transformation matrix of a particular size.

Modified
dlib/statistics/dpca.h
dlib/statistics/dpca_abstract.h
dlib/test/discriminant_pca.cpp

Revision: 8a50f0c342914db4
Author: Davis King
Date: Aug 26, 2012 (14:15:25 UTC)

Added more versioning information into the serialization methods for these objects.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/scan_image_pyramid.h

Revision: d9bc31bba2a3d61c
Author: Davis King
Date: Aug 26, 2012 (12:55:44 UTC)

clarified spec

Modified
dlib/timer/timer_kernel_abstract.h

Revision: 979cfd30850baa41
Author: Davis King
Date: Aug 26, 2012 (11:07:28 UTC)

updated docs and specs

Modified
dlib/image_processing/scan_image_pyramid_abstract.h
docs/docs/imaging.xml
examples/object_detector_ex.cpp

Revision: 76aa5a2445116f20
Author: Davis King
Date: Aug 26, 2012 (10:38:55 UTC)

fixed typo in spec

Modified
dlib/image_processing/full_object_detection_abstract.h

Revision: b66ff5ec92788ff6
Author: Davis King
Date: Aug 26, 2012 (10:08:48 UTC)

Added another overloaded operator() to the object_detector so that it is easy to get full_object_detections out of it.

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h

Revision: b4ac3f914c060dda
Author: Davis King
Date: Aug 26, 2012 (09:45:57 UTC)

Cleaned up the full_object_detection's interface and improved some comments here and there.

Modified
dlib/image_processing/full_object_detection.h
dlib/image_processing/full_object_detection_abstract.h
dlib/image_processing/scan_image_pyramid.h
dlib/image_processing/scan_image_pyramid_abstract.h
dlib/svm/cross_validate_object_detection_trainer.h
dlib/svm/cross_validate_object_detection_trainer_abstract.h
dlib/svm/structural_object_detection_trainer.h
dlib/svm/structural_object_detection_trainer_abstract.h
dlib/svm/structural_svm_object_detection_problem.h
dlib/svm/structural_svm_object_detection_problem_abstract.h
dlib/test/object_detector.cpp

Revision: 7ddd4ba3a853310c
Author: Davis King
Date: Aug 24, 2012 (19:09:58 UTC)

updated object detector tests to do some movable part stuff.

Modified
dlib/test/object_detector.cpp

Revision: bd247261c438e53b
Author: Davis King
Date: Aug 24, 2012 (18:35:58 UTC)

Fully qualified the references to dlib::set so they compile now that std::set is #included by the serialize header file.

Modified
dlib/test/bayes_nets.cpp
dlib/test/directed_graph.cpp
dlib/test/graph.cpp
dlib/test/set.cpp

Revision: 098a082f0a2bbf5d
Author: Davis King
Date: Aug 24, 2012 (18:13:19 UTC)

Minor interface cleanup

Modified
dlib/image_processing/object_detector.h
dlib/image_processing/object_detector_abstract.h

Revision: 7a9cab60c575d735
Author: Davis King
Date: Aug 24, 2012 (18:07:52 UTC)

Added missing requirements

Modified
dlib/svm/structural_object_detection_trainer.h
dlib/svm/structural_object_detection_trainer_abstract.h
dlib/svm/structural_svm_object_detection_problem.h
dlib/svm/structural_svm_object_detection_problem_abstract.h

Revision: 99084f5e373a7156
Author: Davis King
Date: Aug 24, 2012 (18:03:33 UTC)

refactored the scan_image_pyramid interface slightly.

Modified
dlib/image_processing/object_detector_abstract.h
dlib/image_processing/scan_image_pyramid.h
dlib/image_processing/scan_image_pyramid_abstract.h
dlib/svm/structural_svm_object_detection_problem.h
dlib/test/object_detector.cpp

Revision: 61136b513be45698
Author: Davis King
Date: Aug 24, 2012 (18:02:36 UTC)

Added overloads of the object detection test tools that work with both rectangle and full_object_detection objects.

Modified
dlib/svm/cross_validate_object_detection_trainer.h
dlib/svm/cross_validate_object_detection_trainer_abstract.h

Revision: c326b4df8cc4f245
Author: Davis King
Date: Aug 24, 2012 (16:38:50 UTC)

Implemented the movable part stuff. It all seems to be working properly now.

Modified
dlib/image_processing/scan_image_pyramid.h
dlib/image_processing/scan_image_pyramid_abstract.h

Revision: 790270220d96f98e
Author: Davis King
Date: Aug 24, 2012 (16:22:27 UTC)

fleshed the full_object_detection out a little more.

Modified
dlib/image_processing/full_object_detection.h

Revision: f0684cb73ceefca5
Author: Davis King
Date: Aug 24, 2012 (16:21:42 UTC)

Added an assert to check that the image_scanner_type is generating legit feature vectors.

Modified
dlib/svm/structural_svm_object_detection_problem.h

Revision: be763105b4ff5333
Author: Davis King
Date: Aug 12, 2012 (09:55:00 UTC)

Updated scan_image_pyramid serialization to include the movable rectangle info.

Modified
dlib/image_processing/scan_image_pyramid.h

Revision: 5737591075978b0d
Author: Davis King
Date: Aug 12, 2012 (09:41:46 UTC)

Refactored the interfaces and objects related to object detection so that they can support movable object part models. Now all that needs to be done is to implement the TODO inside the scan_image_pyramid object and the movable part model support should be up and working.

Modified
dlib/image_processing/object_detector_abstract.h
dlib/image_processing/scan_image_pyramid.h
dlib/image_processing/scan_image_pyramid_abstract.h
dlib/svm/structural_object_detection_trainer.h
dlib/svm/structural_object_detection_trainer_abstract.h
dlib/svm/structural_svm_object_detection_problem.h
dlib/svm/structural_svm_object_detection_problem_abstract.h
dlib/test/object_detector.cpp

Revision: 01fa310858b799da
Author: Davis King
Date: Aug 11, 2012 (-04:03:59 UTC)

fixed bug.

Modified
dlib/image_processing/full_object_detection.h
dlib/image_processing/full_object_detection_abstract.h

Revision: 2a5dc1044a968ed2
Author: Davis King
Date: Aug 10, 2012 (19:54:45 UTC)

Removed the implicit conversion from rectangles.

Modified
dlib/image_processing/full_object_detection.h
dlib/image_processing/full_object_detection_abstract.h

Revision: 18a23c31ac2744d4
Author: Davis King
Date: Aug 10, 2012 (17:44:38 UTC)

Added the full_object_detection object.

Added
dlib/image_processing/full_object_detection.h
dlib/image_processing/full_object_detection_abstract.h

Revision: 81b42c3a9dde02ab
Author: Davis King
Date: Aug 18, 2012 (11:28:17 UTC)

Added serialization support for std::set.

Modified
dlib/serialize.h

Revision: 2dcece94044c18dd
Author: Davis King
Date: Aug 07, 2012 (16:55:43 UTC)

Removed cruft from spec file.

Modified
dlib/graph_cuts/min_cut_abstract.h

Revision: acf26ce2454a79f7
Author: Davis King
Date: Jul 29, 2012 (16:43:59 UTC)

Added a randomize_samples() that works on three things.

Modified
dlib/svm/svm.h
dlib/svm/svm_abstract.h
dlib/test/statistics.cpp

Revision: 4a341e88fdceb0a5
Author: Davis King
Date: Jul 29, 2012 (16:13:58 UTC)

Added overloads of test_graph_labeling_function() and cross_validate_graph_labeling_trainer() that can incorporate per node loss values.

Modified
dlib/svm/cross_validate_graph_labeling_trainer.h
dlib/svm/cross_validate_graph_labeling_trainer_abstract.h

Revision: 0bdd0bb82cacde9f
Author: Davis King
Date: Jul 29, 2012 (15:38:14 UTC)

Improved the assert messages related to badly formed graph labeling problems.

Modified
dlib/svm/cross_validate_graph_labeling_trainer.h
dlib/svm/structural_graph_labeling_trainer.h
dlib/svm/structural_svm_graph_labeling_problem.h

Revision: 9711e6967443ad18
Author: Davis King
Date: Jul 29, 2012 (15:09:57 UTC)

Added a per node loss interface for the structural_graph_labeling_trainer.

Modified
dlib/svm/structural_graph_labeling_trainer.h
dlib/svm/structural_graph_labeling_trainer_abstract.h

Revision: 30f5f8c041ff436d
Author: Davis King
Date: Jul 29, 2012 (15:08:59 UTC)

Fixed grammar

Modified
dlib/svm/structural_svm_graph_labeling_problem_abstract.h

Revision: c58b21c8c0106c57
Author: Davis King
Date: Jul 29, 2012 (14:54:46 UTC)

Added a per node loss option to the structural_svm_graph_labeling_problem's interface.

Modified
dlib/svm/structural_graph_labeling_trainer.h
dlib/svm/structural_svm_graph_labeling_problem.h
dlib/svm/structural_svm_graph_labeling_problem_abstract.h

Revision: ef8c16751fce8c1e
Author: Davis King
Date: Jul 29, 2012 (14:26:48 UTC)

Refactored this code a little

Modified
dlib/svm/structural_svm_graph_labeling_problem.h

Revision: 43cfbf8dfd90eac1
Author: Davis King
Date: Jul 26, 2012 (18:54:19 UTC)

A minor change to avoid a compiler error in clang.

Modified
dlib/image_transforms/spatial_filtering.h

Revision: 41b9de801946effc
Author: Davis King
Date: Jul 25, 2012 (19:19:50 UTC)

Changed the default serialization for integer and byte types so that it runs about 3 times faster. The behavior should be exactly the same. The change is basically just a switch to using the streambuf directly.

Modified
dlib/serialize.h

Revision: e060102334ca374c
Author: Davis King
Date: Jul 15, 2012 (16:51:01 UTC)

Made this code a little more efficient.

Modified
dlib/image_processing/scan_image.h

Revision: 3592b5629256d9f7
Author: Davis King
Date: Jul 15, 2012 (16:50:41 UTC)

Added sum_filter_assign().

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h

Revision: edfb74f8edcab3d5
Author: Davis King
Date: Jul 15, 2012 (16:40:22 UTC)

Refactored code and added find_points_above_thresh()

Modified
dlib/image_processing/scan_image.h
dlib/image_processing/scan_image_abstract.h

Revision: 4ff930abc4b3ee74
Author: Davis King
Date: Jul 15, 2012 (16:24:03 UTC)

Added scan_image_movable_parts() unit tests.

Modified
dlib/test/scan_image.cpp

Revision: a1a9af2a021541a8
Author: Davis King
Date: Jul 15, 2012 (16:16:40 UTC)

Added scan_image_movable_parts()

Modified
dlib/image_processing/scan_image.h
dlib/image_processing/scan_image_abstract.h

Revision: f351fc91f0f81c37
Author: Davis King
Date: Jul 15, 2012 (11:31:41 UTC)

Changed protocol buffer serialization to use a 32bit little endian integer instead of the usual dlib variable width encoding.

Modified
dlib/serialize.h

Revision: c6fa7d27ddf7d8d6
Author: Davis King
Date: Jul 15, 2012 (10:18:43 UTC)

clarified spec

Modified
dlib/serialize.h

Revision: db772f18b576e736
Author: Davis King
Date: Jul 15, 2012 (10:02:18 UTC)

Changed code so serialization works with the lite version of protocol buffers as well as the normal version.

Modified
dlib/serialize.h

Revision: 88ad7072cd96614e
Author: Davis King
Date: Jul 15, 2012 (09:41:55 UTC)

Added overloads of serialize()/deserialize() so that they can serialize Google protocol buffer objects.

Modified
dlib/serialize.h

Revision: 0a49b21e16829cd3
Author: Davis King
Date: Jul 15, 2012 (09:38:59 UTC)

Made the bridge trap and log std::exception exceptions rather than letting them fly out and terminate the application.

Modified
dlib/bridge/bridge.h

Revision: f59ccf2b0c496bbe
Author: Davis King
Date: Jul 12, 2012 (19:08:23 UTC)

Minor change to avoid compiler errors on some compilers.

Modified
dlib/statistics/statistics.h

Revision: 50a26c24cdfac683
Author: Davis King
Date: Jul 08, 2012 (09:22:57 UTC)

Removed requirement that the filter size given to max_filter() be odd. Now it can be anything.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h
dlib/test/scan_image.cpp

Revision: 4049e085ff7a1205
Author: Davis King
Date: Jul 05, 2012 (13:47:04 UTC)

Updated find_max_factor_graph_potts() to correctly say you can use infinite weights for the factor_value_disagreement() values since the code actually supports this.

Modified
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h
dlib/test/graph_cuts.cpp

Revision: 24a1540319e3a5d9
Author: Davis King
Date: Jul 04, 2012 (10:40:04 UTC)

Made auto_threshold_image() always use 64bit integers for part of its counting to make it robust to very large images.

Modified
dlib/image_transforms/thresholding.h

Revision: a4675fd4463922d9
Author: Davis King
Date: Jun 30, 2012 (10:39:30 UTC)

Added the max_filter() routine.

Modified
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h
dlib/test/scan_image.cpp

Revision: 5899651629d8ca15
Author: Davis King
Date: Jun 30, 2012 (05:46:51 UTC)

fixed typo in spec

Modified
dlib/image_transforms/spatial_filtering_abstract.h

Revision: f1972cd4e1cea5ee
Author: Davis King
Date: Jun 26, 2012 (17:58:11 UTC)

Refined spec a little.

Modified
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h

Revision: 15d6656e2ca178d3
Author: Davis King
Date: Jun 26, 2012 (17:50:58 UTC)

Added some convenience routines for making potts grid problems.

Modified
dlib/graph_cuts/find_max_factor_graph_potts.h
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h

Revision: 59e4f5ba2f70835c
Author: Davis King
Date: Jun 20, 2012 (06:14:38 UTC)

Fixed typo in spec

Modified
dlib/image_processing/scan_image_pyramid_abstract.h

Revision: 2a76fa84599e7765
Author: Davis King
Date: Jun 23, 2012 (14:19:24 UTC)

Fixed typo in spec

Modified
dlib/image_processing/scan_image_pyramid_abstract.h

Revision: 46e6cd3304f74264
Author: Davis King
Date: Jun 23, 2012 (13:44:48 UTC)

Fixed a minor typo in the code. It shouldn't have negatively effected anything. But nevertheless, it's fixed.

Modified
dlib/svm/structural_svm_object_detection_problem.h

Revision: 70e0390c5a45c2fd
Author: Davis King
Date: Jun 23, 2012 (04:51:37 UTC)

Fixed grammar in a comment.

Modified
dlib/image_transforms/spatial_filtering.h

Revision: 167882b27a958ada
Author: Davis King
Date: Jan 21, 2012 (17:08:24 UTC)

Made test slightly more robust.

Modified
dlib/test/rand.cpp

Revision: 8710a50f69e2c765
Author: Davis King
Date: May 21, 2012 (17:13:48 UTC)

clarified spec

Modified
dlib/graph_cuts/min_cut_abstract.h

Revision: d406939a6ebabc85
Author: Davis King
Date: May 21, 2012 (16:52:30 UTC)

Clarified spec regarding infinite factor potentials and flow capacities.

Modified
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h
dlib/graph_cuts/min_cut_abstract.h

Revision: b69fd4093b9ea03f
Author: Davis King
Date: May 21, 2012 (15:22:45 UTC)

Added tests to make sure the graph cut stuff works with infinite weights on some edges.

Modified
dlib/test/graph_cuts.cpp

Revision: a2b7fa9212d4e854
Author: Davis King
Date: May 20, 2012 (19:38:55 UTC)

All I did in this change was rename a bunch of reinterpret_casts to static_casts whenever it was possilbe to do so.

Modified
dlib/binary_search_tree/binary_search_tree_kernel_c.h
dlib/cmd_line_parser/cmd_line_parser_kernel_1.h
dlib/config_reader/config_reader_kernel_1.h
dlib/config_reader/config_reader_thread_safe_1.h
dlib/gui_core/gui_core_kernel_1.cpp
dlib/gui_widgets/drawable.cpp
dlib/gui_widgets/widgets.cpp
dlib/hash_map/hash_map_kernel_c.h
dlib/hash_set/hash_set_kernel_c.h
dlib/hash_table/hash_table_kernel_c.h
dlib/linker/linker_kernel_1.cpp
dlib/map/map_kernel_c.h
dlib/memory_manager/memory_manager_kernel_1.h
dlib/memory_manager/memory_manager_kernel_2.h
dlib/memory_manager/memory_manager_kernel_3.h
dlib/server/server_kernel_1.h
dlib/set/set_kernel_c.h
dlib/test/pipe.cpp
dlib/test/sockstreambuf.cpp
dlib/threads/create_new_thread_extension.h
dlib/threads/threads_kernel_1.cpp
dlib/threads/threads_kernel_2.cpp
dlib/threads/threads_kernel_shared.cpp
dlib/type_safe_union/type_safe_union_kernel.h

Revision: 9a4023f50d999310
Author: Davis King
Date: May 20, 2012 (17:20:13 UTC)

A minor change to avoid warnings about violation of string aliasing rules.

Modified
dlib/test/graph_cuts.cpp

Revision: 91706e14a336f3c8
Author: Davis King
Date: May 20, 2012 (15:22:19 UTC)

Changed to avoid warnings in valgrind about invalid reads. The manpages seemed to indicate that the previous code was correct so I'm not sure if this was a bug or not. It's been in dlib for years without causing trouble though.

Modified
dlib/unicode/unicode.cpp

Revision: f475ea21e9198dcb
Author: Davis King
Date: May 20, 2012 (12:09:08 UTC)

Added unit tests for the grid version of find_max_factor_graph_potts().

Modified
dlib/test/graph_cuts.cpp

Revision: c53e8bb69675a10a
Author: Davis King
Date: May 20, 2012 (11:06:41 UTC)

- Made scale_by() work on dlib::matrix objects. - Added an add() and subtract() that works on sparse and dense vectors.

Modified
dlib/svm/sparse_vector.h
dlib/svm/sparse_vector_abstract.h
dlib/test/sparse_vector.cpp

Revision: 4b706042c76fbde0
Author: Davis King
Date: May 19, 2012 (19:56:38 UTC)

Changed the is_signed_type and is_unsigned_type templates to work with floating point types in addition to integer types.

Modified
dlib/algs.h

Revision: 152c6cdd5f1f459b
Author: Davis King
Date: May 19, 2012 (19:32:58 UTC)

Clarified some specs, added a missing requirement to sum_filter(), and added overloaded versions of a few image processing functions to make doing in-place operations slightly more convenient.

Modified
dlib/image_transforms/equalize_histogram.h
dlib/image_transforms/equalize_histogram_abstract.h
dlib/image_transforms/morphological_operations.h
dlib/image_transforms/morphological_operations_abstract.h
dlib/image_transforms/spatial_filtering.h
dlib/image_transforms/spatial_filtering_abstract.h
dlib/image_transforms/thresholding.h
dlib/image_transforms/thresholding_abstract.h

Revision: be71b89da276ce10
Author: Davis King
Date: May 19, 2012 (19:23:21 UTC)

A minor change to avoid a compiler warning from gcc 4.4.

Modified
dlib/matrix/matrix_utilities.h

Revision: dec0a0a2ae30fb1d
Author: Davis King
Date: May 19, 2012 (16:25:25 UTC)

Fixed a bug which caused you to get a compiler error if you tried to call dot() on two 1x1 matrices which were statically dimensioned.

Modified
dlib/matrix/matrix_utilities.h
dlib/test/matrix4.cpp

Revision: 58dc0006eca9a86d
Author: Davis King
Date: May 19, 2012 (16:03:11 UTC)

clarified spec

Modified
dlib/svm/structural_svm_graph_labeling_problem_abstract.h

Revision: 77c520fe37a47e59
Author: Davis King
Date: May 19, 2012 (15:04:41 UTC)

Clarified spec and added more tests.

Modified
dlib/graph_cuts/min_cut_abstract.h
dlib/test/graph_cuts.cpp

Revision: d2b9a1c997b5719d
Author: Davis King
Date: May 19, 2012 (14:41:41 UTC)

fixed spelling error in comment.

Modified
dlib/graph_cuts/min_cut.h

Revision: c28d29c57d8ba845
Author: Davis King
Date: May 19, 2012 (14:39:25 UTC)

Switched all the graph labeling stuff to use bool as a node label rather than the node_label type from the min_cut object. This should make the interface much less confusing.

Modified
dlib/graph_cuts/graph_labeler.h
dlib/graph_cuts/graph_labeler_abstract.h
dlib/svm/cross_validate_graph_labeling_trainer.h
dlib/svm/cross_validate_graph_labeling_trainer_abstract.h
dlib/svm/structural_graph_labeling_trainer.h
dlib/svm/structural_graph_labeling_trainer_abstract.h
dlib/svm/structural_svm_graph_labeling_problem.h
dlib/svm/structural_svm_graph_labeling_problem_abstract.h
dlib/test/graph_labeler.cpp

Revision: 2204a7dcffc14e62
Author: Davis King
Date: May 19, 2012 (13:15:59 UTC)

Added some tests to make sure the recent addition to svm_c_linear_trainer works right.

Modified
dlib/test/oca.cpp

Revision: 5f31e83ff4a3b2b1
Author: Davis King
Date: May 19, 2012 (12:56:04 UTC)

Added the ability to learn only non-negative weights to the svm_c_linear_trainer.

Modified
dlib/svm/svm_c_linear_trainer.h
dlib/svm/svm_c_linear_trainer_abstract.h

Revision: 8ca55af73a03bd30
Author: Davis King
Date: May 19, 2012 (12:18:16 UTC)

Clarified spec

Modified
dlib/optimization/optimization_oca_abstract.h

Revision: 562fde6a393c1774
Author: Davis King
Date: May 19, 2012 (11:59:57 UTC)

clarified spec

Modified
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h

Revision: 6e0ec4ddd997d68b
Author: Davis King
Date: May 19, 2012 (11:57:08 UTC)

minor cleanup

Modified
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h

Revision: 8e48a854f9b38cbc
Author: Davis King
Date: May 19, 2012 (11:24:11 UTC)

Added another overload of find_max_factor_graph_potts() that works on graphs that are regular grids.

Modified
dlib/graph_cuts/find_max_factor_graph_potts.h
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h

Revision: fa09cdc5846730d1
Author: Davis King
Date: May 19, 2012 (10:54:20 UTC)

Added missing ;

Modified
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h

Revision: c7404106cccaf07e
Author: Davis King
Date: May 19, 2012 (10:53:41 UTC)

clarified spec

Modified
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h

Revision: 7e7fbcdf3e4e2fcd
Author: Davis King
Date: May 19, 2012 (10:53:13 UTC)

Fixed typo in spec

Modified
dlib/svm/structural_svm_problem_abstract.h

Revision: 68fe2564ddf7de52
Author: Davis King
Date: May 19, 2012 (10:41:32 UTC)

clarified spec

Modified
dlib/graph_cuts/find_max_factor_graph_potts_abstract.h