function f = flipfeat(f)
% Horizontally flip HOG features (or filters).
%   f = flipfeat(f)
% 
%   Used for learning models with mirrored filters.
%
% Return value
%   f   Output, flipped features
%
% Arguments
%   f   Input features

% disp('Size of feautures')
% disp(size(f))

% flip permutation
p = [10  9  8  7  6  5  4  3  2 ... % 1st set of contrast sensitive features
      1 18 17 16 15 14 13 12 11 ... % 2nd set of contrast sensitive features
     19 27 26 25 24 23 22 21 20 ... % Contrast insensitive features
     30 31 28 29 ...                % Gradient/texture energy features
     32];                           % Boundary truncation feature
 
 
 if size(f,3)==64
     f = f(:,end:-1:1,[p p+32]);
 elseif size(f,3)==32
     f = f(:,end:-1:1,p);
 elseif size(f,3)<32
     f = f(:,end:-1:1,end:-1:1);
 elseif size(f,3)>32
     f = f(:,end:-1:1,end:-1:1);
 end


% disp('Size of feautures after flip')
% disp(size(f))
% 
% keyboard