Biosignal and Biomedical Image Processing MATLAB based Applications - John L. Semmlow
.pdftopics. My only excuse for any omissions is that classroom experience with this approach seems to work: students end up with a working knowledge of a vast array of signal and image processing tools. A few of the classic or major books on these topics are cited in an Annotated bibliography at the end of the book. No effort has been made to construct an extensive bibliography or reference list since more current lists would be readily available on the Web.
TEXTBOOK PROTOCOLS
In most early examples that feature MATLAB code, the code is presented in full, while in the later examples some of the routine code (such as for plotting, display, and labeling operation) is omitted. Nevertheless, I recommend that students carefully label (and scale when appropriate) all graphs done in the problems. Some effort has been made to use consistent notation as described in Table 1. In general, lower-case letters n and k are used as data subscripts, and capital letters, N and K are used to indicate the length (or maximum subscript value) of a data set. In two-dimensional data sets, lower-case letters m and n are used to indicate the row and column subscripts of an array, while capital letters M and N are used to indicate vertical and horizontal dimensions, respectively. The letter m is also used as the index of a variable produced by a transformation, or as an index indicating a particular member of a family of related functions.* While it is common to use brackets to enclose subscripts of discrete variables (i.e., x[n]), ordinary parentheses are used here. Brackets are reserved to indicate vectors (i.e., [x1, x2, x3 , . . . ]) following MATLAB convention. Other notation follows standard conventions.
Italics (“) are used to introduce important new terms that should be incorporated into the reader’s vocabulary. If the meaning of these terms is not obvious from their use, they are explained where they are introduced. All MATLAB commands, routines, variables, and code are shown in the Courier typeface. Single quotes are used to highlight MATLAB filenames or string variables. Textbook protocols are summarized in Table 1.
I wish to thank Susanne Oldham who managed to edit this book, and provided strong, continuing encouragement and support. I would also like to acknowledge the patience and support of Peggy Christ and Lynn Hutchings. Professor Shankar Muthu Krishnan of Singapore provided a very thoughtful critique of the manuscript which led to significant improvements. Finally, I thank my students who provided suggestions and whose enthusiasm for the material provided much needed motivation.
*For example, m would be used to indicate the harmonic number of a family of harmonically related sine functions; i.e., fm(t) = sin (2 π m t).
Copyright 2004 by Marcel Dekker, Inc. All Rights Reserved.
TABLE 1 Textbook Conventions
Symbol |
Description/General usage |
|
|
x(t), y(t) |
General functions of time, usually a waveform or signal |
k, n |
Data indices, particularly for digitized time data |
K, N |
Maximum index or size of a data set |
x(n), y(n) |
Waveform variable, usually digitized time variables (i.e., a dis- |
|
creet variable) |
mIndex of variable produced by transformation, or the index of
|
specifying the member number of a family of functions (i.e., |
|
fm(t)) |
X(f), Y(f) |
Frequency representation (complex) of a time function |
X(m), Y(m) |
Frequency representation (complex) of a discreet variable |
h(t) |
Impulse response of a linear system |
h(n) |
Discrete impulse response of a linear system |
b(n) |
Digital filter coefficients representing the numerator of the dis- |
|
creet Transfer Function; hence the same as the impulse re- |
|
sponse |
a(n) |
Digital filter coefficients representing the denominator of the dis- |
|
creet Transfer Function |
Courier font |
MATLAB command, variable, routine, or program. |
Courier font |
MATLAB filename or string variable |
|
|
John L. Semmlow
Copyright 2004 by Marcel Dekker, Inc. All Rights Reserved.
Contents
Preface
1Introduction
Typical Measurement Systems Transducers
Further Study: The Transducer Analog Signal Processing Sources of Variability: Noise
Electronic Noise Signal-to-Noise Ratio
Analog Filters: Filter Basics Filter Types
Filter Bandwidth Filter Order
Filter Initial Sharpness
Analog-to-Digital Conversion: Basic Concepts Analog-to-Digital Conversion Techniques
Quantization Error
Further Study: Successive Approximation Time Sampling: Basics
Further Study: Buffering and Real-Time Data Processing
Copyright 2004 by Marcel Dekker, Inc. All Rights Reserved.
Data Banks
Problems
2Basic Concepts
Noise
Ensemble Averaging MATLAB Implementation
Data Functions and Transforms Convolution, Correlation, and Covariance
Convolution and the Impulse Response Covariance and Correlation
MATLAB Implementation
Sampling Theory and Finite Data Considerations Edge Effects
Problems
3Spectral Analysis: Classical Methods
Introduction
The Fourier Transform: Fourier Series Analysis Periodic Functions
Symmetry
Discrete Time Fourier Analysis Aperiodic Functions
Frequency Resolution
Truncated Fourier Analysis: Data Windowing Power Spectrum
MATLAB Implementation Direct FFT and Windowing
The Welch Method for Power Spectral Density Determination Widow Functions
Problems
4Digital Filters
The Z-Transform
Digital Transfer Function MATLAB Implementation
Finite Impulse Response (FIR) Filters FIR Filter Design
Copyright 2004 by Marcel Dekker, Inc. All Rights Reserved.
Derivative Operation: The Two-Point Central Difference
Algorithm
MATLAB Implementation
Infinite Impulse Response (IIR) Filters
Filter Design and Application Using the MATLAB Signal
Processing Toolbox
FIR Filters
Two-Stage FIR Filter Design
Three-Stage Filter Design
IIR Filters
Two-Stage IIR Filter Design
Three-Stage IIR Filter Design: Analog Style Filters
Problems
5Spectral Analysis: Modern Techniques
Parametric Model-Based Methods MATLAB Implementation
Non-Parametric Eigenanalysis Frequency Estimation MATLAB Implementation
Problems
6Time–Frequency Methods
Basic Approaches
Short-Term Fourier Transform: The Spectrogram Wigner-Ville Distribution: A Special Case of Cohen’s Class Choi-Williams and Other Distributions
Analytic Signal MATLAB Implementation
The Short-Term Fourier Transform Wigner-Ville Distribution Choi-Williams and Other Distributions
Problems
7The Wavelet Transform
Introduction
The Continuous Wavelet Transform Wavelet Time—Frequency Characteristics MATLAB Implementation
Copyright 2004 by Marcel Dekker, Inc. All Rights Reserved.
The Discrete Wavelet Transform
Filter Banks
The Relationship Between Analytical Expressions and
Filter Banks
MATLAB Implementation
Denoising
Discontinuity Detection
Feature Detection: Wavelet Packets
Problems
8Advanced Signal Processing Techniques: Optimal and Adaptive Filters
Optimal Signal Processing: Wiener Filters MATLAB Implementation
Adaptive Signal Processing Adaptive Noise Cancellation MATLAB Implementation
Phase Sensitive Detection AM Modulation
Phase Sensitive Detectors MATLAB Implementation
Problems
9Multivariate Analyses: Principal Component Analysis and Independent Component Analysis
Introduction
Principal Component Analysis Order Selection
MATLAB Implementation Data Rotation
Principal Component Analysis Evaluation Independent Component Analysis
MATLAB Implementation Problems
10Fundamentals of Image Processing: MATLAB Image Processing Toolbox
Image Processing Basics: MATLAB Image Formats General Image Formats: Image Array Indexing
Copyright 2004 by Marcel Dekker, Inc. All Rights Reserved.
Data Classes: Intensity Coding Schemes
Data Formats
Data Conversions
Image Display
Image Storage and Retrieval
Basic Arithmetic Operations
Advanced Protocols: Block Processing
Sliding Neighborhood Operations
Distinct Block Operations
Problems
11Image Processing: Filters, Transformations, and Registration
Spectral Analysis: The Fourier Transform MATLAB Implementation
Linear Filtering MATLAB Implementation
Filter Design Spatial Transformations
MATLAB Implementation Affine Transformations
General Affine Transformations Projective Transformations
Image Registration
Unaided Image Registration Interactive Image Registration
Problems
12Image Segmentation
Pixel-Based Methods Threshold Level Adjustment MATLAB Implementation
Continuity-Based Methods MATLAB Implementation
Multi-Thresholding Morphological Operations
MATLAB Implementation Edge-Based Segmentation
MATLAB Implementation Problems
Copyright 2004 by Marcel Dekker, Inc. All Rights Reserved.
13Image Reconstruction
CT, PET, and SPECT Fan Beam Geometry
MATLAB Implementation Radon Transform
Inverse Radon Transform: Parallel Beam Geometry
Radon and Inverse Radon Transform: Fan Beam Geometry Magnetic Resonance Imaging
Basic Principles
Data Acquisition: Pulse Sequences Functional MRI
MATLAB Implementation
Principal Component and Independent Component Analysis Problems
Annotated Bibliography
Copyright 2004 by Marcel Dekker, Inc. All Rights Reserved.
Annotated Bibliography
The following is a very selective list of books or articles that will be of value of in providing greater depth and mathematical rigor to the material presented in this text. Comments regarding the particular strengths of the reference are included.
Akansu, A. N. and Haddad, R. A., Multiresolution Signal Decomposition: Transforms, subbands, wavelets. Academic Press, San Diego CA, 1992. A modern classic that presents, among other things, some of the underlying theoretical aspects of wavelet analysis.
Aldroubi A and Unser, M. (eds) Wavelets in Medicine and Biology, CRC Press, Boca Raton, FL, 1996. Presents a variety of applications of wavelet analysis to biomedical engineering.
Boashash, B. Time-Frequency Signal Analysis, Longman Cheshire Pty Ltd., 1992. Early chapters provide a very useful introduction to time–frequency analysis followed by a number of medical applications.
Boashash, B. and Black, P.J. An efficient real-time implementation of the Wigner-Ville Distribution, IEEE Trans. Acoust. Speech Sig. Proc. ASSP-35:1611–1618, 1987. Practical information on calculating the Wigner-Ville distribution.
Boudreaux-Bartels, G. F. and Murry, R. Time-frequency signal representations for biomedical signals. In: The Biomedical Engineering Handbook. J. Bronzino (ed.) CRC Press, Boca Raton, Florida and IEEE Press, Piscataway, N.J., 1995. This article presents an exhaustive, or very nearly so, compilation of Cohen’s class of time-frequency distributions.
Bruce, E. N. Biomedical Signal Processing and Signal Modeling, John Wiley and Sons,
Copyright 2004 by Marcel Dekker, Inc. All Rights Reserved.
New York, 2001. Rigorous treatment with more of an emphasis on linear systems than signal processing. Introduces nonlinear concepts such as chaos.
Cichicki, A and Amari S. Adaptive Bilnd Signal and Image Processing: Learning Algorithms and Applications, John Wiley and Sons, Inc. New York, 2002. Rigorous, somewhat dense, treatment of a wide range of principal component and independent component approaches. Includes disk.
Cohen, L. Time-frequency distributions—A review. Proc. IEEE 77:941–981, 1989. Classic review article on the various time-frequency methods in Cohen’s class of time–frequency distributions.
Ferrara, E. and Widrow, B. Fetal Electrocardiogram enhancement by time-sequenced adaptive filtering. IEEE Trans. Biomed. Engr. BME-29:458–459, 1982. Early application of adaptive noise cancellation to a biomedical engineering problem by one of the founders of the field. See also Widrow below.
Friston, K. Statistical Parametric Mapping On-line at: http://www.fil.ion.ucl.ac.uk/spm/ course/note02/ Through discussion of practical aspects of fMRI analysis including pre-processing, statistical methods, and experimental design. Based around SPM analysis software capabilities.
Haykin, S. Adaptive Filter Theory (2nd ed.), Prentice-Hall, Inc., Englewood Cliffs, N.J., 1991. The definitive text on adaptive filters including Weiner filters and gradientbased algorithms.
Hyva¨rinen, A. Karhunen, J. and Oja, E. Independent Component Analysis, John Wiley and Sons, Inc. New York, 2001. Fundamental, comprehensive, yet readable book on independent component analysis. Also provides a good review of principal component analysis.
Hubbard B.B. The World According to Wavelets (2nd ed.) A.K. Peters, Ltd. Natick, MA, 1998. Very readable introductory book on wavelengths including an excellent section on the foyer transformed. Can be read by a non-signal processing friend.
Ingle, V.K. and Proakis, J. G. Digital Signal Processing with MATLAB, Brooks/Cole, Inc. Pacific Grove, CA, 2000. Excellent treatment of classical signal processing methods including the Fourier transform and both FIR and IIR digital filters. Brief, but informative section on adaptive filtering.
Jackson, J. E. A User’s Guide to Principal Components, John Wiley and Sons, New York, 1991. Classic book providing everything you ever want to know about principal component analysis. Also covers linear modeling and introduces factor analysis.
Johnson, D.D. Applied Multivariate Methods for Data Analysis, Brooks/Cole, Pacific Grove, CA, 1988. Careful, detailed coverage of multivariate methods including principal components analysis. Good coverage of discriminant analysis techniques.
Kak, A.C and Slaney M. Principles of Computerized Tomographic Imaging. IEEE Press, New York, 1988. Thorough, understandable treatment of algorithms for reconstruction of tomographic images including both parallel and fan-beam geometry. Also includes techniques used in reflection tomography as occurs in ultrasound imaging.
Marple, S.L. Digital Spectral Analysis with Applications, Prentice-Hall, Englewood Cliffs, NJ, 1987. Classic text on modern spectral analysis methods. In-depth, rigorous treatment of Fourier transform, parametric modeling methods (including AR and ARMA), and eigenanalysis-based techniques.
Rao, R.M. and Bopardikar, A.S. Wavelet Transforms: Introduction to Theory and Appli-
Copyright 2004 by Marcel Dekker, Inc. All Rights Reserved.