matlabtools -- a repository of generic MATLAB scripts and functions to make life
easier and more efficient.

** How to install? **

Run setup.m in MATLAB:
>> run('/path/to/matlabtools/setup.m');

This will create a default config file named .matlabtools_config in your homedir.
Configure your system by editting this file with any text editor (see "How to
configure?" below). The configuration file is for the parallel package in par/
and 3rdparty/matlab2tikz. You can skip this configuraton step if you do not need
either of them.

To clean-up the installation. Just move or delete the config file.

** How to configure? **

After the installation step, a .matlabtools_config file is now present in your home
directory. It is a json-encoded string that corresponds to the configuration struct
-  par_config()
-  m2t_config()
-  cache_config()
The most important things to change for "par":
- "par.folder" should point to a network-accessible directory where temporary job
  files will be written and read.
- "par.matlab" should point to your MATLAB binary.
All those variables can easily be altered for each par_map() call.

See par_config.m for more details about all the options, and par_map() help.
See m2t_config.m and matlab2tikz help.
See cache_config.m and cache help.

** How to use? **

After you have followed the installation and configuration steps above, you
simply need to run setup.m in MATLAB to have access to all the packages below.
>> run('/path/to/matlabtools/setup.m');

If you modify the config file while MATLAB is running, simply re-run
>> run('/path/to/matlabtools/setup.m');
to reload the configuration.

** List of packages **

array      : functions that operate on vectors and cells
cache      : memory and disk cache management
cell       : functions that operate on cell arrays
datahash   : functions to hash data into strings
default    : dealing with varargin and default parameters
dist       : distances between vectors
eval       : evaluation of prediction performance (AP, ROC, ...)
file       : functions to create/read/write/lock files and look at directory
optim      : functions for optimization
par        : toolbox to easily use clusters like SGE or Condor
plot       : functions to plot and draw
pg         : progress bars and pretty-printing
rand       : sampling/fitting/comparing distributions
save       : safe and locked saving of variables in mat-files
string     : functions that operate on strings
struct     : functions that operate on structs
util       : system and utility functions
vec        : numerical functions, dealing with vectors and/or matrices

In MATLAB, one can get a listing of functions in a package using:
>> help <package>

** Helpers **

3rdparty   : 3rd party code. Cf individual helps and licenses.
c          : helpers to make mex-files
_to_clean_ : whatever is in there needs cleanup

** License **

The provided source code is licensed under the Cecill 2.1 license
( which is similar in
spirit to GPL. A copy of the license is available in the LICENSE.txt file.