SBE I - Biomedical Data Science (580.421/721) : Ren e Vidal September 7, 2018

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

SBE I - Biomedical Data Science (580.

421/721)
René Vidal
September 7, 2018

1 Introduction
1.1 What is Biomedical Data Science?
Data −→ Machine/Algorithm −→ Prediction
(EEG/ECG, (Cell phenotype,
Calcium Imaging, dMRI, AP shape / Spiking Activity,
Surgical data, Surgeon Skill,
Electronic health records, ...) Diagnosis/Prognosis,...

1.2 Fundamental challenges


• Large variety of data modalities at different scales (cell, organ, patient, healthcare organization, etc)
• Missing/Incomplete data
• Big/Complex data
• Lack of annotations

1.3 Current research


• Cellular Level: Dictionary Learning for blood cell detection, classification, counting; Structured matrix factor-
ization for segmentation of neural activity in calcium imaging; metamorphosis for classification of embryonic
cardiomyocytes
• Organ Level: compressed sensing and Riemannian geometry for processing diffusion MRI
• Patient/Surgeon Level: assesing surgical skill, assessing children’s motions

1.4 Course background


• Signals & Systems (convolution, Fourier transform)
• Linear Algebra (eigenvalues, eigenvectors, least squares))
• Multivariate calculus (conditions for optimality, Lagrange multipliers)
• Probability & Statistics (random variables, expectation, variance, covariance matrix, maximum likelihood,
model selection)

1.5 Textbooks
• Gonzalez, Woods. Digital Image Processing, 2018.
• Vidal, Ma, Sastry. Generalized PCA, 2016.
• Bishop. Pattern Recognition and Machine Learning, 2006.

1
2 Biomedical Signal Processing
2.1 Delta function
(
1 n=0
δ[n] = (1)
0 else

2.2 Sifting property



X
x[n] = x[k]δ[n − k] (2)
k=−∞

2.3 Convolution

X
(x ∗ h)[n] = x[k]h[n − k] (3)
k=−∞

2.4 Linear Time Invariant (LTI) systems

Linearity : Ł(α1 x1 + α2 x2 ) = α1 Ł(x1 ) + α2 Ł(x2 ) (4)


T ime − invariance : y = Ł(x) =⇒ Ł(x[n − k]) = y[n − k] (5)
Example: System y[n] = Ł(x[n]) = ay[n − 1] + x[n]
• Linearity: Define y1 [n] = Ł(x1 [n]), y2 [n] = Ł(x2 [n]) and x[n] = α1 x1 [n] + α2 x2 [n].
y[n] ≡ α1 Ł(x1 ) + α2 Ł(x2 ) = α1 (ay1 [n − 1] + x1 [n]) + α2 (ay2 [n − 1] + x2 [n])
= a(α1 y1 [n − 1] + α2 y2 [n − 1]) + α1 x1 [n] + α2 x2 [n]
= ay[n − 1] + x[n] = Ł(x[n]).

• Time-invariance: Define y[n] = Ł(x[n]), x1 [n] = x[n − k] and y1 [n] = y[n − k].
y[n − k] = ay[n − k − 1] + x[n − k]
y1 [n] = ay1 [n − 1] + x1 [n] = Ł(x1 [n]).

2.5 Impulse response


The impulse response h[n] is the output of an LTI system to a delta function, i.e. x[n] = δ[n] =⇒ y[n] = h[n].
Each input can be written in terms of delta functions

X
x[n] = ak δ[n − k] where ak = x[k] (6)
k=−∞

By linearity and time invariance



X ∞
X ∞
X

Ł(x[n]) = Ł ak δ[n − k] = ak Ł(δ[n − k]) = x[k]h[n − k] = x ∗ h (7)
k=−∞ k=−∞ k=−∞

Example: System y[n] = Ł(x[n]) = ay[n − 1] + x[n]


• Impulse response. h[n] = Ł(δ[n])

y[0] = ay[−1] + δ[0] = 1


y[1] = ay[0] + δ[1] = a
y[2] = ay[1] + δ[2] = a2
..
.
y[n] = an for n ≥ 0

2
2.6 Z transform
The Z transform is defined as

X
H(z) = h[k]z −k , (8)
k=−∞

also referred to as Z{h[n]}. The response of a LTI system to exponential inputs (x[n] = z n with z ∈ C) can be written
in terms of the Z transform of the impulse response h[n] of the system

X
y[n] = Ł(x[n]) = h[k]x[n − k]
k=−∞
X∞
= h[k]z n−k
k=−∞
(9)

X
= z n
h[k]z −k
k=−∞
= z n H(z)
Example: Z transform of the delta function

X
Z{δ[n]} = δ[k]z −k
k=−∞
(10)
= δ[0]z 0 = 1

X
Z{δ[n − m]} = δ[k − m]z −k
k=−∞
(11)
m −m
= δ[m]z =z
Based on LTI properties: Z{x[n − m]} = z −m Z{x[n]}
Example: Z transform of the impulse response of system y[n] = Ł(x[n]) = ay[n − 1] + x[n].
Impulse response h[n] = an for n ≥ 0

X
Z{h[n]} = H(z) = ak u[k]z −k
k=−∞

X k (12)
= (az −1 )
k=0
1
= for |z| > |a|
1 − az −1
Example: Find the response of system y[n] = ay[n − 1] + x[n] to the input x[n] = 0.5n .
This could be done by explicit convolution, or using equation (9) as follows:
n
y[n] = Ł(0.5n ) = (0.5) H(z = 0.5)
n 1
= (0.5) a
1− (13)
n+1
0.5
(0.5)
=
0.5 − a

2.7 Applications to datascience


• Can I get rid of the noise? Denoising
• Can I find the upstroke? Edge detection
• Given a signal, can I detect when a specific pattern occurs? Template matching

3
2.7.1 Denoising
Example of average filter:
1
y[n] = (x[n − 1] + x[n − 2] + ... + x[n − K])
K
K
X 1
= x[n − k]
K (14)
k=1
X ∞
= h[k]x[n − k],
k=−∞

1
(
1≤n≤K
where the filter is h[n] = K
0 else

2.7.2 Edge detection


• Backward difference: ∆x[n] = x[n] − x[n − 1]
Backward difference with convolutions:

X
y[n] = x[n] − x[n − 1] = h[k]x[n − k], (15)
k=−∞

( 1 n=0
with h[n] = −1 n=1 .
0 else

• Forward difference: ∆x[n] = x[n + 1] − x[n]


Forward difference with convolutions:

X
y[n] = x[n + 1] − x[n] = h[k]x[n − k], (16)
k=−∞

( −1 n=0
with h[n] = 1 n = −1 .
0 else

The outcome of an edge detector based on differences can be strongly affected by noise. In general a denoising
filter (moving average, for example) is applied before computing differences.

You might also like