WaveForm DataBase Toolbox for MATLAB and Octave
Ikaro Silva1
1Laboratory for Computational PhysiologyMassachusetts Institute of Technology
February 25, 2014
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 1 / 37
Outline
1 MATLAB, Octave, and the WFDB ToolboxOrigins of MATLAB and OctaveWhat are the advantages of using MATLAB/Octave ?User communityWhat is the WFDB Toolbox for MATLAB/Octave?
2 Getting StartedInstallationExploring the toolboxGetting helpPhysioNet Tools (Alpha)
3 Future work
4 Getting involved
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 2 / 37
Outline
1 MATLAB, Octave, and the WFDB ToolboxOrigins of MATLAB and OctaveWhat are the advantages of using MATLAB/Octave ?User communityWhat is the WFDB Toolbox for MATLAB/Octave?
2 Getting StartedInstallationExploring the toolboxGetting helpPhysioNet Tools (Alpha)
3 Future work
4 Getting involved
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 3 / 37
Origins of MATLAB and OctaveMATLAB
MATrix LABoratory ( MATLAB ).
Developed by Cleve Moler in the 1970s.
Purpose: teach matrix theory at University of New Mexico.
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 4 / 37
Origins of MATLAB and OctaveOctave
Octave is an open source (GPL) project that is similar to MATLAB
Developed by John W. Eaton in 1988 for chemical reactor designcourse
Named after his professor, Octave Levenspiel
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 5 / 37
What is MATLAB/Octave ?Characteristics of the language
Scripting language (not strongly typed), biased towards high precisionnumerical computations:
x=1 (defaults to 64 bit double)
Integrated development environment with debugger & compiler
Heavy use of linear algebra libraries
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 6 / 37
Outline
1 MATLAB, Octave, and the WFDB ToolboxOrigins of MATLAB and OctaveWhat are the advantages of using MATLAB/Octave ?User communityWhat is the WFDB Toolbox for MATLAB/Octave?
2 Getting StartedInstallationExploring the toolboxGetting helpPhysioNet Tools (Alpha)
3 Future work
4 Getting involved
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 7 / 37
What are the advantages of using MATLAB/Octave ?Outline
Language syntax and libraries suitable for applying signal processingand linear algebra techniques
Graphics
Highly portable and very well documented
Strong user community
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 8 / 37
What are the advantages of using MATLAB/Octave ?Language syntax and libraries
Very concise and intuitive syntax for developing linear algebra andsignal processing algorithms:
y= Axx= A\y
Libraries for filter design, wavelets, control systems, neural networks,image processing, statistics ... etc
Ideal for quickly developing, testing, and cross validating
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 9 / 37
What are the advantages of using MATLAB/Octave ?Graphics
Easy to use and well documented graphics library
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 10 / 37
Outline
1 MATLAB, Octave, and the WFDB ToolboxOrigins of MATLAB and OctaveWhat are the advantages of using MATLAB/Octave ?User communityWhat is the WFDB Toolbox for MATLAB/Octave?
2 Getting StartedInstallationExploring the toolboxGetting helpPhysioNet Tools (Alpha)
3 Future work
4 Getting involved
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 11 / 37
MATLAB/Octave User Community
Used by students, researchers, government, and industry
Academic textbooks (Over 5k books in Amazon)
Active forum, magazine, developer blogs, and code repository(MATLAB Central)
Ranked 14th most popular programming language ( tiobe.com )
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 12 / 37
MATLAB/Octave User CommunityTIOBE Index : Ranked 14th
Increasing trend in user base
Ahead of: PL/SQL, Scala, Lisp, and R
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 13 / 37
Outline
1 MATLAB, Octave, and the WFDB ToolboxOrigins of MATLAB and OctaveWhat are the advantages of using MATLAB/Octave ?User communityWhat is the WFDB Toolbox for MATLAB/Octave?
2 Getting StartedInstallationExploring the toolboxGetting helpPhysioNet Tools (Alpha)
3 Future work
4 Getting involved
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 14 / 37
WFDB Toolbox for MATLAB/Octave DescribedDescription
MATLAB/Octave/Java functions for accessing and processingphysiologic signals in the formats used by PhysioBank databases
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 15 / 37
WFDB Toolbox for MATLAB/Octave DescribedContributors
Contributors:Sahar Alkhairy, Fernando Andreotti, Joachim Behar, Thomas Brennan,Eudald Bogatell, Gari D. Clifford, Michael Craig, Mohammad Ghassemi,Li-wei Lehman, Erina Katsumata, Sara Mariani, Louis Mayaud, BlaMerela, Benjamin Moody, George Moody, Shamin Nemati, Bryann Tripp,Daniel J. Scott, Ikaro Silva, Gabriel Squillace
www.against-the-grain.com
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 16 / 37
WFDB Toolbox for MATLAB/Octave DescribedGeneral Information
Beta release 0.9.6.1 (February 10, 2014)
31 M-functions
Provides access to over 3 TB of physiological signals
Interface to LightWave (annotation visualization tool)
Multicore processing at JVM level (alpha)
Unit tested on 64-bit Windows, Mac, and Linux
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 17 / 37
How is the WFDB Toolbox is built?
Let’s take a look inside
www.vintageprintable.com
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 18 / 37
How is the WFDB Toolbox is built?Structure of the WFDB Toolbox
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 19 / 37
How is the WFDB Toolbox is built?Example
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 20 / 37
Outline
1 MATLAB, Octave, and the WFDB ToolboxOrigins of MATLAB and OctaveWhat are the advantages of using MATLAB/Octave ?User communityWhat is the WFDB Toolbox for MATLAB/Octave?
2 Getting StartedInstallationExploring the toolboxGetting helpPhysioNet Tools (Alpha)
3 Future work
4 Getting involved
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 21 / 37
InstallationWeb install
www.physionet.org/physiotools/matlab/wfdb-app-matlab/
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 22 / 37
Outline
1 MATLAB, Octave, and the WFDB ToolboxOrigins of MATLAB and OctaveWhat are the advantages of using MATLAB/Octave ?User communityWhat is the WFDB Toolbox for MATLAB/Octave?
2 Getting StartedInstallationExploring the toolboxGetting helpPhysioNet Tools (Alpha)
3 Future work
4 Getting involved
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 23 / 37
Exploring the toolboxDemo
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 24 / 37
Exploring the toolboxTable of Contents
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 25 / 37
Exploring the toolboxTable of Contents
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 26 / 37
Outline
1 MATLAB, Octave, and the WFDB ToolboxOrigins of MATLAB and OctaveWhat are the advantages of using MATLAB/Octave ?User communityWhat is the WFDB Toolbox for MATLAB/Octave?
2 Getting StartedInstallationExploring the toolboxGetting helpPhysioNet Tools (Alpha)
3 Future work
4 Getting involved
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 27 / 37
MATLAB DocGeneral Toolbox Info
>>doc
%Browse to -> Supplemental Software
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 28 / 37
MATLAB DocFunction list help
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 29 / 37
Outline
1 MATLAB, Octave, and the WFDB ToolboxOrigins of MATLAB and OctaveWhat are the advantages of using MATLAB/Octave ?User communityWhat is the WFDB Toolbox for MATLAB/Octave?
2 Getting StartedInstallationExploring the toolboxGetting helpPhysioNet Tools (Alpha)
3 Future work
4 Getting involved
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 30 / 37
Exploring data basesPrinting database list
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 31 / 37
Exploring data basesDatabase list webview
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 32 / 37
Exploring data basesPrinting & Downloading signals
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 33 / 37
Calling LightWaveDisplaying data in LightWave (Alpha!)
>>wfdbtool(’challenge/2013/set-a/a01’,[],[],1);
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 34 / 37
Future WorkNear Horizon
Adding unit testing, documentation, tutorial
Improving JVM performance and memory efficiency
Testing on MATLAB 2014a, Octave 3.8, WFDB 10.5.23, and Java 1.8
Dropping support to MATLAB 2013a and Java 1.6
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 35 / 37
Future WorkLong term development
Read/write user annotation from LightWave
Upload & download data from PhysioNetWorks
Have a parallel and distributed computing framework using Hadoop
Document and release Java API
Suggestions ?
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 36 / 37
In conclusionWays to get involved
Use the toolbox and submit open-source code to PhysioNet
Join the community:www.physionet.org/physiotools/matlab/wfdb-app-matlab/
Report any bugs, fixes, and enhancement requests:[email protected]
Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 37 / 37