function [cs, cm, cmaps] = ccc3d(x, y, ws)
% Focal Correlation Coefficient for 3D images/arrays (m*n*z)
% 27/01/2013 - Version 1.0
% Author: Aristidis D. Vaiopoulos
if nargin == 2
ws = 8;
end
% Find dimensions
sizex = size(x);
sizey = size(y);
if ~isequal(sizex,sizey)
error('Images must have equal dimensions.')
end
% Number of bands
nb = size(x,3);
% Preallocate mean cs
cs = zeros(nb,1);
if nargout == 3
% Preallocate cmaps (memory voracious)
cmaps = single(zeros(sizex));
for b = 1:nb
[cs(b), cmaps(:,:,b)] = ccc_fs( x(:,:,b),y(:,:,b),ws);
end
else
for b = 1:nb
cs(b) = ccc_fs( x(:,:,b),y(:,:,b),ws );
end
end
% Average quality
cm = mean(cs);
end