%
% Copyright (c) 2011, Kai Guo, Prakash Ishwar, and Janusz Konrad. All
% rights reserved.
%
% Redistribution and use in source and binary forms, with or without
% modification, are permitted provided that the following conditions are
% met:
%
% 1) Redistributions of source code must retain the above copyright
%    notice, this list of conditions and the following disclaimer.
%
% 2) Redistributions in binary form must reproduce the above copyright
%    notice, this list of conditions and the following disclaimer in the
%    documentation and/or other materials provided with the distribution.
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
% "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
% LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
% A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
% HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
% SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
% LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
% DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
% THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
% (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
% OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%

% calculate video distance based on hor_ver_dis_boundary

function [CM,MU]=video_3D_hor_ver_dis_bounday_single(S)
S=double(S);
[h1,v1,cube_length1]=size(S);

M=zeros(h1,v1,cube_length1,11);
MM=zeros(h1,v1,cube_length1+2,11);
M(:,:,:,11)=S;

% Distance in the x-y slice
% Distance in the x-y slice
for u=1:cube_length1
  [M(:,:,u,1),M(:,:,u,2),M(:,:,u,3),M(:,:,u,4)]=hor_ver_dis_boundary_fast(S(:,:,u));
  [M(:,:,u,5),M(:,:,u,6),M(:,:,u,7),M(:,:,u,8)]=diag_dis_boundary_fast(S(:,:,u));
end
% end: distance in the x-y slice


% Distance in the x-t and y-t slices: FOR S
SS=cat(3,zeros(h1,v1),S,zeros(h1,v1));

for ii=1:h1
    [MM(ii,:,:,9),MM(ii,:,:,10),W,V]=hor_ver_dis_boundary_fast(squeeze(SS(ii,:,:)));
end

MM(:,:,cube_length1+2,:)=[];
MM(:,:,1,:)=[];

M(:,:,:,9:10)=MM(:,:,:,9:10);

% End: distance in the x-t and y-t slices: FOR S

[CM,MU]=cov_mask_3D_feature_single(M);

%%%%%%%%
