function [ labels, valid_ids, filenames ] = extract_UNBC_labels( UNBC_dir, recs, aus ) %EXTRACT_SEMAINE_LABELS Summary of this function goes here % Detailed explanation goes here UNBC_dir = [UNBC_dir, '/Frame_Labels/FACS/']; aus_UNBC = [4, 6, 7, 9, 10, 12, 20, 25, 26, 43]; inds_to_use = []; for i=1:numel(aus) inds_to_use = cat(1, inds_to_use, find(aus_UNBC == aus(i))); end aus_UNBC = aus_UNBC(inds_to_use); labels_all = {}; valid_ids_all = {}; filenames_all = {}; for i=1:numel(recs) % get all the dirs, etc. sessions = dir([UNBC_dir, recs{i}]); sessions = sessions(3:end); num_sessions = numel(sessions); labels = cell(num_sessions, 1); valid_ids = cell(num_sessions, 1); filenames = cell(num_sessions, 1); for s=1:numel(sessions) frames = dir([UNBC_dir, '/', recs{i}, '/', sessions(s).name, '/*.txt']); labels_c = zeros(numel(frames), numel(aus)); for f=1:numel(frames) file = [UNBC_dir, '/', recs{i}, '/', sessions(s).name, '/', frames(f).name]; fileID = fopen(file); C = textscan(fileID,'%d %d %d %d\n'); fclose(fileID); % OCC = csvread(file); %import annotations for one video file for au = 1:numel(C{1}) labels_c(f, aus_UNBC == C{1}(au)) = C{2}(au); end end labels{s} = labels_c; filenames(s) = {sessions(s).name}; valid_ids{s} = true(size(labels_c,1),1); end labels_all = cat(1, labels_all, labels); valid_ids_all = cat(1, valid_ids_all, valid_ids); filenames_all = cat(1, filenames_all, filenames); end labels = labels_all; valid_ids = valid_ids_all; filenames = filenames_all; end