MATLAB File Help: maprecord View code for maprecord WFDB Contents
maprecord



function varargout=maprecord(varargin)

 [mapvalues,recList]=maprecord(names,executeCommand,stopTime,startTime,Nthreads)

 
 Performs multithreaded batch processing of WFDB records usin the executable
 command 'executeCommand'. The MAPRECORD reads WFDB records in multithreaded mode,
 passing the data as a matrix to the standard input of 'executeCommand' 
 getting the results back as a vector for each record from the standard output of
 the 'executeCommand' (see examples below for detail). The
 'executeCommand' should ouput Mx1 doubles for each record processed, if
 the command does not return any outputs (ie if it writes to file), than
 NaNs are returned.


 Required Parameters:

 names
       If a single string, specifies a PhysioNet database name in which to 
       do the processing. The PhysioNet database has to be a valid one as 
       give by the ouput of PHYSIONETDB. If names is a Nx1 cell, each cell
       should represent a record name (with the databse path) that can be 
       read directly by RDSAMP.

 executeCommand
       The full path and name of the executable installed on your system
       that will be run on each record data. The 'executeCommand' 
       should ouput Mx1 doubles for each record processed.


 Optional Parameters are:

 stopTime 
       String specifying the stop time in WFDB format (default is end of
       record).

 startTime 
       String specifying the stop time in WFDB format (default is end of
       record).

 Nthreads
       A 1x1 integer specifying the number of threads to use for 
       processing (between 1 and the number of processors in your system).
        Default is the number of processor on your system. 


 Ouput parameters:

 mapvalues
       A NxM matrix of doubles. Where each row is the ouput of running the
       'executeCommand' on a single record from 'names' (N records) and
       the columns are from obtained from the standard output 'executeCommand' 
       (which gives Mx1 doubles for each record processed). 

 recList (Optional)
       A Nx1 char array of strings correspoding to the record names
       processed by MAPRECORD.
        
 Written by Ikaro Silva, 2013
 Last Modified: 
 Version 1.0

 Since 0.9.1

 See also RDSAMP, PHYSIONETDB, WFDBTIME, WFDBDESC

 %The examples below assume you have an executable called 'max'
 %in a Linux machinhe under '/usr/lib/max' that calculates the maximum
 %value for each column in matrix and returns the ouput of each column
 %on a separate line
%Example 1- Single thread execution of DFA on the 'aami-ec13' database
tic;[mapvalues,recList]=maprecord('aami-ec13','/usr/lib/max',[],[],1);toc

 %Example 2- Maximum Multi-thread execution
tic;[mapvalues,recList]=maprecord('aami-ec13','/usr/lib/max');toc