WaveForm DataBase Toolbox for MATLAB and Octave€¦ · WaveForm DataBase Toolbox for MATLAB and...

Preview:

Citation preview

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:wfdb-matlab-support@physionet.org

Ikaro Silva (MIT) WaveForm DataBase Toolbox for MATLAB and Octave February 25, 2014 37 / 37

Recommended