Lecture 5: Transforms, Fourier and Wavelets

Slides:



Advertisements
Similar presentations
3D Geometry for Computer Graphics
Advertisements

Wavelets Fast Multiresolution Image Querying Jacobs et.al. SIGGRAPH95.
11/11/02 IDR Workshop Dealing With Location Uncertainty in Images Hasan F. Ates Princeton University 11/11/02.
Lecture 15 Orthogonal Functions Fourier Series. LGA mean daily temperature time series is there a global warming signal?
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
University of Ioannina - Department of Computer Science Wavelets and Multiresolution Processing (Background) Christophoros Nikou Digital.
DFT/FFT and Wavelets ● Additive Synthesis demonstration (wave addition) ● Standard Definitions ● Computing the DFT and FFT ● Sine and cosine wave multiplication.
Extensions of wavelets
Spatial and Temporal Data Mining
Image Indexing and Retrieval using Moment Invariants Imran Ahmad School of Computer Science University of Windsor – Canada.
Fingerprint Imaging: Wavelet-Based Compression and Matched Filtering Grant Chen, Tod Modisette and Paul Rodriguez ELEC 301 : Rice University, Houston,
CS5540: Computational Techniques for Analyzing Clinical Data Lecture 7: Statistical Estimation: Least Squares, Maximum Likelihood and Maximum A Posteriori.
Time and Frequency Representations Accompanying presentation Kenan Gençol presented in the course Signal Transformations instructed by Prof.Dr. Ömer Nezih.
Time-Frequency and Time-Scale Analysis of Doppler Ultrasound Signals
Short Time Fourier Transform (STFT)
Wavelet Transform A very brief look.
Wavelet Transform. What Are Wavelets? In general, a family of representations using: hierarchical (nested) basis functions finite (“compact”) support.
Basic Concepts and Definitions Vector and Function Space. A finite or an infinite dimensional linear vector/function space described with set of non-unique.
Multi-Resolution Analysis (MRA)
Previously Two view geometry: epipolar geometry Stereo vision: 3D reconstruction epipolar lines Baseline O O’ epipolar plane.
ECE Spring 2010 Introduction to ECE 802 Selin Aviyente Associate Professor.
Introduction to Wavelets
1 Computer Science 631 Lecture 4: Wavelets Ramin Zabih Computer Science Department CORNELL UNIVERSITY.
Back Projection Reconstruction for CT, MRI and Nuclear Medicine
Transforms: Basis to Basis Normal Basis Hadamard Basis Basis functions Method to find coefficients (“Transform”) Inverse Transform.
Multiscale transforms : wavelets, ridgelets, curvelets, etc.
CS 450: Computer Graphics 2D TRANSFORMATIONS
The Frequency Domain Sinusoidal tidal waves Copy of Katsushika Hokusai The Great Wave off Kanagawa at
Linear Algebra Review By Tim K. Marks UCSD Borrows heavily from: Jana Kosecka Virginia de Sa (UCSD) Cogsci 108F Linear.
Linear Algebra and Image Processing
ENG4BF3 Medical Image Processing
Image Representation Gaussian pyramids Laplacian Pyramids
Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 2: Review of Basic Math
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5409 T-R 10:30am – 11:50am.
Linear Algebra Review 1 CS479/679 Pattern Recognition Dr. George Bebis.
Wavelets: theory and applications
The Wavelet Tutorial: Part3 The Discrete Wavelet Transform
CSE &CSE Multimedia Processing Lecture 8. Wavelet Transform Spring 2009.
The Story of Wavelets.
Transforms. 5*sin (2  4t) Amplitude = 5 Frequency = 4 Hz seconds A sine wave.
Texture. Texture is an innate property of all surfaces (clouds, trees, bricks, hair etc…). It refers to visual patterns of homogeneity and does not result.
WAVELET (Article Presentation) by : Tilottama Goswami Sources:
Axial Flip Invariance and Fast Exhaustive Searching with Wavelets Matthew Bolitho.
Wavelet transform Wavelet transform is a relatively new concept (about 10 more years old) First of all, why do we need a transform, or what is a transform.
ECE472/572 - Lecture 13 Wavelets and Multiresolution Processing 11/15/11 Reference: Wavelet Tutorial
Elementary Linear Algebra Anton & Rorres, 9th Edition
Signal Processing and Representation Theory Lecture 3.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5403 T-R 3:00pm – 4:20pm.
Wavelets and Multiresolution Processing (Wavelet Transforms)
CCN COMPLEX COMPUTING NETWORKS1 This research has been supported in part by European Commission FP6 IYTE-Wireless Project (Contract No: )
Class 26: Question 1 1.An orthogonal basis for A 2.An orthogonal basis for the column space of A 3.An orthogonal basis for the row space of A 4.An orthogonal.
Dr. Scott Umbaugh, SIUE Discrete Transforms.
Quantum Two 1. 2 Angular Momentum and Rotations 3.
Wavelet Transform Yuan F. Zheng Dept. of Electrical Engineering The Ohio State University DAGSI Lecture Note.
Week 11 – Spectral TV and Convex analysis Guy Gilboa Course
CS 376b Introduction to Computer Vision 03 / 17 / 2008 Instructor: Michael Eckmann.
Computer Graphics & Image Processing Chapter # 4 Image Enhancement in Frequency Domain 2/26/20161.
Wavelets Chapter 7 Serkan ERGUN. 1.Introduction Wavelets are mathematical tools for hierarchically decomposing functions. Regardless of whether the function.
Digital Image Processing Lecture 8: Fourier Transform Prof. Charlene Tsai.
Singular Value Decomposition and its applications
Wavelet Transform Advanced Digital Signal Processing Lecture 12
CSE 167 [Win 17], Lecture 2: Review of Basic Math Ravi Ramamoorthi
Discrete Fourier Transform (DFT)
Multi-resolution image processing & Wavelet
Wavelets : Introduction and Examples
T. Chernyakova, A. Aberdam, E. Bar-Ilan, Y. C. Eldar
CS Digital Image Processing Lecture 9. Wavelet Transform
Researchlab 4 Presentation
Introduction To Wavelets
Wavelet transform Wavelet transform is a relatively new concept (about 10 more years old) First of all, why do we need a transform, or what is a transform.
Presentation transcript:

Lecture 5: Transforms, Fourier and Wavelets Ashish Raj, PhD Co-Director, Image Data Evaluation and Analytics Laboratory (IDEAL) Department of Radiology Weill Cornell Medical College New York Email: ashish@med.cornell.edu Office: Rhodes Hall Room 528 Website: www.ideal-cornell.com

Outline Talk involves matrices and vector spaces What are Transforms You will not be tested on it What are Transforms = change of basis Linear or non-linear (will focus on linear) Fourier Transforms Wavelet Transforms Why?? Because a transform or a change in basis may allow you to see things differently, see things that couldn’t be seen before, to get a different “perspective”

What are transforms? T is orthogonal if Tt T = diagonal matrix Vectorize a signal (ECG, MR image, …) into vector x A linear transform on this vector is defined as a matrix operation y = Tx Linearity: T(x1 + x2) = T x1 + T x2 Matrix examples T is generally a square, full-rank matrix If T is a “wide” matrix, then the transform does not have a unique inverse Also known as overcomplete transform T is orthogonal if Tt T = diagonal matrix T is orthonormal if Tt T = Identity matrix Orthonormal transforms retain signal energy ||Tx|| = ||x||

Transforms Examples: A good property of a transform is invertibility Fourier transform is an orthonormal transform Wavelet transform is generally overcomplete, but there also exist orthonormal wavelet transforms A good property of a transform is invertibility Both Fourier and wavelet transforms are invertible Many other image-based processes are not invertible E.g. Distance transform, JPEG compression, edge detection, blurring

Transforms A transform (with full rank T) is a change of basis Definition: A basis on a vector space is a set of linearly independent vectors that are able to express any other vector of the space as a linear combination of them. Example: standard basis of Rn is simply the set of vectors e1 … en where ek = [0 … 0 1 0 … 0]t | kth position v c1 e1 c2 e2 v = c1 e1 + c2 e2

Basis and basis vectors A set of such vectors can be expressed as a matrix T = [t1 | t2 | … tn], where each tk is a column vector Basis matrix Basis vectors Any subset of the vectors TK = {tk}k=1:K then defines a subspace of Rn Technically we say the subspace is spanned by the vectors {tk} or equivalently by the matrix TK Many basis matrices can span the same space

Basis Example in R2: a pair of vectors rotated by 45 degree: If you want to change any vector in standard space to this new basis, just left-multiply it by R-1 Note: R is orthonormal: R-1 = Rt

Transform = change of basis T is a basis if its columns are linearly independent i.e. it is a full rank matrix Orthonormality simply makes everything easier T-1 = Tt or for complex vectors, T-1 = TH So computing the inverse transform is very easy: If y = Tx, then x = TH y This is why search for (useful) orthonormal transforms is such a huge deal

Other examples in medical imaging Radon transform widely used to turn raw CT data into CT images X-ray absorption is a line integral Funk-Radon is an extension of it, and is used to reconstruct orientation distribution function (ODF) from diffusion MRI data Another transform (spherical harmonic transform) is used to clean up ODF

High Angular Resolution Diffusion Imaging 10

MR Diffusion Imaging Diffusion MRI measures the directionally varying diffusion properties of water in tissue D-MRI involves taking several directional diffusion imaging measurements Then we fit a 3D shape to these measurements

Data Acquisition Strategy Gs Gx Gy RF qx qy qz HARDI adopts a more general representation in order to allow the intravoxel diffusion function to take on more complex morphologies. Data acquisition is similar to DTI, where large diffusion gradients are applied on both sides of the 180 degree pulse in a spin-echo EPI sequence. Unlike DTI, however, dozens or even hundreds of diffusion directions are obtained with large b values often exceeding 1000. The excitation for each diffusion gradient direction produces an image which encodes the mobility of water parallel to that direction. By cycling the diffusion gradients in each dimension, these images are effectively acquired on the surface of a sphere in diffusion space. The images are then combined to generate a three-dimensional reconstruction of diffusion in each voxel.

Reconstruction Problem Basic Approach Construct a function on the unit sphere characterizing the angular structure of diffusion in each voxel. S(φ,θ) F(φ,θ) Recon using spherical harmonic basis Let f and s be vectors representing functions S(.) and F(.). Then f = [SH transform] [F-R transform] s HARDI aims to overcome the limitations of the tensor model by describing the angular dispersion of diffusion. The goal can be stated as defining the likelihood of diffusion in any particular direction in spherical coordinates, phi and theta, representing azimuth and elevation, respectively. With HARDI, raw data are acquired along the surface of a sphere in q-space. Data are heavily diffusion-weighted in order to interrogate diffusion on a smaller spatial scale, with b values usually greatly exceeding 1000. The HARDI reconstruction problem can then be defined as one of mapping one function on the sphere in the measurement space S into another function on the sphere F, where F acts as a surrogate for the angular probability distribution function. Several methods have been proposed to synthesize HARDI measurements, including model-based techniques, generalized tensor methods, and persistent angular structure. The proposed method combines features of the three final approaches: spherical harmonic ADC, spherical deconvolution, and Q-ball imaging. Represents ODF as linear mix of spherical harmonics Transforms raw MR data to function on unit sphere

High Angular Resolution Diffusion Imaging: Spherical Harmonic Transform Example ODFs Point Spread Functions = Basis functions or vectors t1 t2 t3 t4 A linear combination of these (and their rotated versions) can construct an arbitrary ODF on the unit sphere

Hess CP, Mukherjee P, Han ET, Xu D, Vigneron DB Middle cerebellar peduncle (MCP) Superior cerebellar peduncle (SCP) Pyramidal tract (PT) Trans pontocerebellar fibers (TPF) Additional results in the brainstem with higher spatial resolution will be presented tomorrow by my colleague, Dr. Mukherjee. One example in the pons is shown here, where the transverse pontocerebellar fibers are known to interdigitate with the pyramidal tract in histologic studies. On this color-coded anisotropy map, the up-down orientation of the pyramidal tract fibers is depicted in blue and the transversely-oriented pontocerebellar fibers are closer to red. With HARDI, we can resolve the 2-way crossing of fibers at the boundaries of these two tracts. Again, where there is a single fiber orientation as in the medial lemniscus or superior cerebellar peduncle, HARDI produces a unimodal surface. Hess CP, Mukherjee P, Han ET, Xu D, Vigneron DB Magn Reson Med 2006; 56:104-117 15

Fourier Transforms - Audio example Audio signals like music have various frequencies You can change the contribution of various frequency bands by using a band equalizer Each frequency band is represented by a pure tone at frequency k Hz Lets say its captured in a vector ek The contribution of this band = the dot product sk = <ek, x> = ekH x

Fourier Transforms (FT) Now do this for each k, and collect the sk‘s in vector s, we have: s = FH x This is called the Fourier Transform Basis vectors Complex exponentials (like sinusoids) Class task: show that F is an orthonormal basis Therefore, FT is easily invertible: x = F X FT = change of basis from standard space to Fourier space

What is Fourier space and why does anyone need it? Fourier basis is a collection of harmonics Note that complex exponentials are simply sines and cosines Therefore the FT simply decomposes a signal into its harmonic components FT gives direct information about the sharpness and oscillations present in the data An “alternate view” of the data

FT Demo See how a unit pulse signal is constructed from Fourier basis vectors Fourier coefficients Basis vectors Reconstructed signal

Fast Fourier Transform The computation of FT requires n2 mult operations Can get pretty expensive for large n An efficient algorithm exists which can do the job in O(n log(n)) operations This is extremely fast vs original FT for large n Most programming languages have a FFT library In C++ use FFTW, in MATLAB, built-in function fft.m

FT in images FT is defined on 1D, 2D or nD data. In 2D for instance you do FT along image rows, then do FT along columns Again, the FT coefficients are dot products of the image with complex exponential basis vectors Basis vectors represent frequency (spatial frequency, or how “sharp things are) The FT coefficients represent the contribution of each spatial frequency Fourier space in 2D is sometimes called “k-space”

k-space and image-space k-space & image-space are related by the 2D FT

Truncation Just as the number of frequency bands determines the highest pitch in an audio signal, the number of k-space points determines the sharpest features of an image Truncation = sampling central part of k-space

Ringing Example

Further Reading Lots of reading material online A great set of lectures given by Dr Kathy Davis at UT Austin Homework: do at least a couple exercises from below Basis change: http://www.ma.utexas.edu/users/davis/reu/ch2/basis/basis.pdf Fourier Transform: http://www.ma.utexas.edu/users/davis/reu/ch2/exponentials/exponentials.pdf FFT: http://www.ma.utexas.edu/users/davis/reu/ch2/fft/fft.pdf FFT application to heartbeat analysis: http://www.ma.utexas.edu/users/davis/reu/ch2/heart/heart.pdf

Wavelet Transform FTs are great, but they capture global features Harmonic components of the entire signal They are obtained by dot-producting the WHOLE signal Problem1: local features can get lost Problem2: if signal is not stationary (features change with time or in space) then this is not captured by FT Therefore need a transform that provides frequency information LOCALLY

Wavelet Transforms - motivation For example consider the following signal x(t)=cos(2*pi*10*t)+cos(2*pi*25*t)+cos(2*pi*50*t)+cos(2*pi*100*t) Has frequencies 10, 25, 50, and 100 Hz at any given time instant stationary signal, FT can provide full info Non-stationary, frequency content changes with time FT CANNOT provide full info http://users.rowan.edu/~polikar/WAVELETS/WTpart1.html

Time-frequency, time-scale analysis What we need is a time-frequency analysis Do FT in a local time window time scale generalization of local frequency time frequency Note different tiling of t-s space Insight: time window depends on scale

Basis functions in WT Basis functions are called “wavelets” Important wavelet property: All basis functions are scaled, shifted copies of the same mother wavelet By clever construction of mother wavelet, these scaled, shifted copies can be made either orthonormal, or at least linearly independent Wavelets form a complete basis, and wavelet transforms are designed to be easily invertible Online wavelet tutorial: http://cnx.org/content/m10764/latest/ Haar Mexican Hat Daubechies (orthonormal)

WT in images Images are piecewise smooth or piecewise constant Stationarity is even rarer than in 1D signals FT even less useful (nnd WT more attractive) 2D wavelet transforms are simple extensions of 1D WT, generally performing 1D WT along rows, then columns etc Sometimes we use 2D wavelets directly, e.g. orthonormal Daubechies 2D wavelet

2D generalization of scale-time decomposition WT on images Scale 0 Scale 1 Scale 2 H V H-V time scale 2D generalization of scale-time decomposition Successive application of dot product with wavelet of increasing width. Forms a natural pyramid structure. At each scale: H = dot product of image rows with wavelet V = dot product of image rows with wavelet H-V = dot product of image rows then columns with wavelet

Wavelet Applications Many, many applications! Audio, image and video compression New JPEG standard includes wavelet compression FBI’s fingerprints database saved as wavelet-compressed Signal denoising, interpolation, image zooming, texture analysis, time-scale feature extraction In our context, WT will be used primarily as a feature extraction tool Remember, WT is just a change of basis, in order to extract useful information which might otherwise not be easily seen

WT in MATLAB MATLAB has an extensive wavelet toolbox Type help wavelet in MATLAB command window Look at their wavelet demo Play with Haar, Mexican hat and Daubechies wavelets

Project Ideas Idea 1: use WT to extract features from ECG data use these features for classification Idea 2: use 2D WT to extract spatio-temporal features from 3D+time MRI data to detect tumors / classify benign vs malignant tumors Idea 3: use 2D WT to denoise a given image

Idea 3: Voxel labeling from contrast-enhanced MRI Can segment according to time profile of 3D+time contrast enhanced MR data of liver / mammography Temporal models used to extract features Typical plot of time-resolved MR signal of various tissue classes Instead of such a simple temporal model, wavelet decomposition could provide spatio-temporal features that you can use for clustering

Liver tumour quantification from DCE-MRI

Further Reading on Wavelets A Linear Algebra view of wavelet transform http://www.bearcave.com/misl/misl_tech/wavelets/matrix/index.html Wavelet tutorial http://users.rowan.edu/~polikar/WAVELETS/WTpart1.html http://users.rowan.edu/~polikar/WAVELETS/WTpart2.html http://users.rowan.edu/~polikar/WAVELETS/WTpart3.html Wavelets application to EKG R wave detection: http://www.ma.utexas.edu/users/davis/reu/ch3/wavelets/wavelets.pdf

Lecture 5: Transforms, Fourier and Wavelets Ashish Raj, PhD Image Data Evaluation and Analytics Laboratory (IDEAL) Department of Radiology Weill Cornell Medical College New York Email: ashish@med.cornell.edu Office: Rhodes Hall Room 528 Website: www.ideal-cornell.com