annotate functions/funcsMobilab/read_annotation_develop.m @ 0:2fadb31a9d55 tip

Import code by Vuegen et al
author Dan Stowell <dan.stowell@elec.qmul.ac.uk>
date Fri, 11 Oct 2013 12:02:43 +0100
parents
children
rev   line source
dan@0 1 function [startStop labels] = read_annotation_develop(directory, fileID)
dan@0 2 %% Open corresponding textfile
dan@0 3 fid=fopen([directory filesep fileID], 'r');
dan@0 4 text = fread(fid, '*char');
dan@0 5 fclose(fid);
dan@0 6 %% Preallocation
dan@0 7 % Find rows (separated by enter) and is equal by the nr of Events
dan@0 8 posEnter = strfind(text', char(10));
dan@0 9 nrEvents = length(posEnter);
dan@0 10 % Preallocation for speed
dan@0 11 startStop = zeros(nrEvents,2);
dan@0 12 labels = cell(nrEvents,1);
dan@0 13 %% Extract data from the script
dan@0 14 %First event
dan@0 15 subText = text(1:posEnter(1,1)-1)';
dan@0 16 %Find tab positions
dan@0 17 tabs = strfind(subText, char(9));
dan@0 18 startStop(1,1) = str2num(subText(1:tabs(1)-1));
dan@0 19 startStop(1,2) = str2num(subText(tabs(1)+1:tabs(2)-1));
dan@0 20 labels{1,1} = subText(tabs(2)+1:length(subText));
dan@0 21
dan@0 22 %All remaining events
dan@0 23 for(eventNr=2:nrEvents)
dan@0 24 subText = text(posEnter(1,eventNr-1)+1:posEnter(1,eventNr)-1)';
dan@0 25 %Find tab positions
dan@0 26 tabs = strfind(subText, char(9));
dan@0 27 startStop(eventNr,1) = str2num(subText(1:tabs(1)-1));
dan@0 28 startStop(eventNr,2) = str2num(subText(tabs(1)+1:tabs(2)-1));
dan@0 29 labels{eventNr,1} = subText(tabs(2)+1:length(subText));
dan@0 30 end,
dan@0 31 end