function [trackingMethods] = findTrackingMethods()
%INITIALIZE Summary of this function goes here
%   Detailed explanation goes here

%% Find all tracking methods
[filePath, ~, ~] = fileparts(mfilename('fullpath'));
filePath = fullfile(filePath, '..', '..', '..');

trackingMethods = dir(fullfile(filePath, 'plugins', 'tracking', '*.m'));

plugins = {};
for oTrackingMethods = 1:size(trackingMethods)
    if (trackingMethods(oTrackingMethods).isdir)
        continue;
    end
    plugins{end + 1} = fullfile( ...
        trackingMethods(oTrackingMethods).folder, ...
        trackingMethods(oTrackingMethods).name ...
    );
end

trackingHandles = function_handle(plugins);

%% Convert them to struct
trackingMethods = struct();
if ~iscell(trackingHandles)
    trackingMethods.(func2str(trackingHandles)) = trackingHandles;
    return;
end

for i = 1:length(trackingHandles)
    trackingMethods.(func2str(trackingHandles{i})) = trackingHandles{i};
end

end