function [ c ] = pnNumRecordings(data, featStr)
%PNNUMRECORDINGS	calculate various stats on the time stamps in the data
%	[ c ] = pnNumRecordings(data) calculates the number of recordings for
%	the given feature.
%
%	Inputs:
%		data	- Cell array of data.
%				Column 1 - Subject IDs
%				Column 2 - Time stamp vectors for each subject
%				Column 3 - Feature name vectors for each subject
%				Column 4 - Data value vectors for each subject
%		
%       featStr - String of single field used to extract features
%       
%	Outputs:
%		c    - A cell of the same size as data in standard format (above)
%           There exist multiple feature labels in Column 3.
%		
%
%	Example
%		bpath = './set-a/';
%		data = pnLoadTextFilesCell(bpath);
%		c = pnNumRecordings(data(1,:)) %	
%	See also PNGENERATEFEATURES

%	References:
%		Physionet Challenge 2012

%	Copyright 2012 Alistair Johnson

%	$LastChangedBy: alistair $
%	$LastChangedDate: 2012-06-18 10:41:11 -0400 (Mon, 18 Jun 2012) $
%	$Revision: 98 $
%	Originally written on GLNXA64 by Alistair Johnson, 11-May-2012 09:12:20
%	Contact: alistairewj@gmail.com

N = size(data,1);
c = cell(N,4);
c(:,1) = data(:,1);

%=== First, get number of recordings
c(:,4) = cellfun(@(x) numel(x), data(:,2),'UniformOutput',false);
idxExist = cellfun(@(x) ~isempty(x), c(:,4));

Nexist = sum(idxExist);

%=== Handle feature labels
featStrCell = {[featStr,'NumRecordings']}; % create feature label
c(idxExist,3) = repmat({featStrCell},Nexist,1);

%=== Time stamps
c(idxExist,2) = repmat({0},Nexist,1);

N_notexist = N - Nexist;
c(~idxExist,4) = repmat({NaN},N_notexist,1);
c(~idxExist,2) = repmat({0},N_notexist,1);
c(~idxExist,3) = repmat({featStrCell},N_notexist,1);

end