function Xmean = ConvMean(X,t0,t1,F);
% function Xmean = ConvMean(X,t0,t1,F);
% convolution mean
% Xmean is the running mean
% from relative times t0 to t1, e.g. -12 to 12
% if less than F (fraction of 1) of the values in an 
% average are available then the average is set to nan.

if nargin < 4,
   F = 2/3;
end

X = X(:);
zX = X;
nanX = isnan(X);
zX(nanX) = 0;

N = t1-t0+1;
sum = ones(N,1);
Xsum = conv2(zX,sum,'vaild');
Xcount = conv2(~nanX,sum,'valid');
Xmean = nan*zeros(length(Xsum),1);
f = find(Xcount >= F*N);
if ~isempty(f),
   Xmean(f) = Xsum(f)./Xcount(f);
   if F == 0,
      Xmean(Xcount(f) == 0) = nan;
   end   
end

if t0 < 0,
   Xmean = [nan*zeros(-t0,1);Xmean];
else
   Xmean = Xmean((1+t0):end);
end
if t1 > 0,
   Xmean = [Xmean;nan*zeros(t1,1)];
else
   Xmean = Xmean(1:(end+t1));
end

