The tracker module contains tracker related functions. The toolkit is highly flexible in
terms of integration of existing trackers that can be run as external programs
that communicate with the toolkit using a special protocol. For more information
on the integration, please read the integration document or look
at the examples in the examples
directory.
Each tracker is described using a tracker descriptor structure. The structure contains the following fields:
- identifier (string): Each tracker has a unique identifier, i.e. a string that is used to identify that particular tracker within the evaluation system. Because of the simplicity there are certain limitations to the type of characters that can be used in the identifier. See valid_identifier function for more details.
- command (string): The tracker executable command with all command line arguments. Since
- directory (string): The directory where the results of the tracker are stored. This path is workspace dependent.
- label (string): Human friendly label of the tracker, less restricted than tracker identifier.
- metadata (structure): Additional metadata of the tracker.
- autogenerated (boolean): If the structure was autogenerated (the description file was not found).
- linkpath (structure): A cell array of paths that are used to set the system library path before executing the tracker. This way you can solve many linking issues.
- interpreter (string): Type of interpreter used, empty string by default.
- version (string, optional): Version of the tracker.
- family (string, optional): Family of the tracker.
- run (function): Function handle for the appropriate execution wrapper, either trax_wrapper or system_wrapper.
Most of the values in the descriptor are loaded from a tracker
definition file. The definition file is a Matlab/Octave script with the
name tracker_<identifier>.m
that has to be visible to the interpreted
(located in path). The file should define the following variables that
are used by tracker_load to construct the descriptor structure:
- tracker_command (string): The executable command that is used to invoke the tracker program. Contains the full path to the executable and optional input arguments.
- tracker_label (string, optional): Human friendly label of the tracker. There are no restrictions to the format of the tracker label, but please try to keep it similar to the tracker identifier. If no value is given, the identifier is used instead.
- tracker_linkpath (cell, optional): An optional cell array of additional search-paths to be set before executing the tracker.
- tracker_interpreter (string, optional): The type of interpreter used or empty string. If you are using Matlab, enter
matlab
here. - tracker_metadata (structure, optional): A structure of additional tracker information.
- tracker_parameters (structure, optional): Additional parameters that are passed to the tracker using the TraX protocol.
- tracker_create - Create a new tracker configuration file
- tracker_load - Create a new tracker descriptor structure
- tracker_list - Create a set of tracker descriptor structures
- generate_matlab_command - Generate command line for Matlab trackers
- generate_python_command - Generate command line for Python trackers
- generate_octave_command - Generate command line for Octave trackers
- tracker_evaluate - Evaluates a tracker on a given sequence for experiment
- tracker_run - Executes a single tracker run with a callback
These functions are used to manipulate visualization information for trackers.
- set_trackers_visual_identity - Generate visual identity information
- change_trackers_visual_identity - Modify the visualization properties
General utility functions for trackers.
- estimate_completion_time - Estimates completion time for a tracker
- calculate_results_fingerprint - Calculate results hash
- find_tracker - Find a tracker by its identifier
- is_deterministic - Test if a tracker is deterministic
- order_trackers - Change the order of trackers
- valid_identifier - Verifies tracker identifier
- write_manifest - Write a manifest file for the tracker
- benchmark_hardware - Perform a simple benchmark
- tracker_test - Test support for TraX protocol
- benchmark_native - A MEX function that performs several native benchmarks