Open Access Dataset and Toolbox of High-Density Surface Electromyogram Recordings 1.0.0

File: <base>/toolbox/function/load_pr.m (1,387 bytes)
function [data,label]=load_pr(path,subject,session,task_type,sig_type)

file_name=dir([path,'/pr_dataset/subject',subject,'_session',num2str(session),'/',task_type,'_',sig_type,'*.dat']);

for i=1:length(file_name)
    Fname = [path,'/pr_dataset/subject',subject,'_session',num2str(session),'/',task_type,'_',sig_type,'_sample',num2str(i),'.dat'];         % Name with path.
    fid = fopen(Fname,'r','n');            % Open for reading.
    if fid<0, error(['Failed to open: ' Fname]); end
    data_tmp = fread(fid, [256,inf], 'int16');  % Read.
    fclose(fid);
    data_tmp=data_tmp';
    
    Fname = [path,'/pr_dataset/subject',subject,'_session',num2str(session),'/',task_type,'_',sig_type,'_sample',num2str(i),'.hea'];         % Name with path.
    head_info=textread(Fname,'%s');
    idx = find( strcmp( head_info , [task_type,'_',sig_type,'_sample',num2str(i),'.dat'] ));
    
    for j=1:length(idx)
        str_tmp=head_info(idx(j)+2);
        idx2=strfind( str_tmp , '(' );
        gain=str2num(str_tmp{1,1}(1:(idx2{1,1}-1)));
        idx3=strfind( str_tmp , ')' );
        baseline=str2num(str_tmp{1,1}((idx2{1,1}+1):(idx3{1,1}-1)));
        
        data_tmp(:,j)=(data_tmp(:,j)-baseline)/gain;
    end
    data{1,i}=data_tmp;
end

label=importdata([path,'/pr_dataset/subject',subject,'_session',num2str(session),'/label_',task_type,'.txt']);