Heat
Kernel Smoothing on Anatomical Manifolds
(c) Moo K. Chung mkchung@wisc.edu
Department of Biostastics and Medical Infomatics
Waisman Laboratory for Brain Imaging and Behavior
University of Wisconsin-Madison
Description
May 26, 2010
Gaussian kernel smoothing has been widely used
in 3D brain images to increase the signal-to-noise ratio.
The Gaussian kernel weights observations according to their
Euclidean distance. When the observations lie on a
convoluted brain surface; however, it is more natural to
assign the weight based on the geodesic distance along the
surface [1] [2]. On the curved manifold, a straight
line between two points is not the shortest distance so one
may incorrectly assign less weights to closer observations.
Therefore, smoothing data residing on manifolds requires
constructing a kernel that is isotropic along the geodesic
curves. With this motivation in mind, we constructed the
kernel of a heat equation on manifolds that should be
isotropic in the local conformal coordinates, and develop a
framework for heat kernel smoothing on
cortical manifolds. The
codes have been tested under MATLAB 7.5.
If you are using the Matlab
codes/sample data for your publication, please
reference [1] or [2] in Referenes.
Gaussian kernel
smoothing
August 16, 2011
Heat
kernel smoothing genearlizes Gaussian kernel smoothing.
Here we present a 2D version of Gaussian kernel smoothing
as an example. The original image toy-key.tif
is contaminated with
Gaussian white noise N(0,2^2).
signal=
imread('toy-key.tif');
signal=(double(signal)-219)/36;
% makes the image into real numbers between 0 and
1.
figure;
imagesc(signal); colormap('bone'); colorbar
noise=
normrnd(0, 2, 596, 368);
f
= signal + noise;
figure;
imagesc(f); colormap('bone'); caxis([0 1]);
colorbar
The noisy image went
though Gaussian kernel smoothing with 10 and 20 FWHM to recover the
signal.
F = gaussblur(f,100);
figure;
imagesc(F); colormap('bone'); caxis([0 1]);
colorbar

Figure 1. The orignal binary
image was contaminated with Gaussian white noise N(0,2^2). Gaussian
kernel smoothing with 10 and 20mm FWHM were performed to recover the
original image.
Heat kernel
smoothing
May 26, 2010
The reason
that the code is short and simple is that it has been
implemented as iterative kernel smoothing with very small
bandwidth. For small bandwidth, a heat kernel converges to
a Gaussian kernel. If you are using the
following MATLAB codes in your research, please reference
[1] or [2].
- For MNI
format, use the following lines to load a mesh into
MATLAB. For this, you need to download the following codes:
- [tri,coord,nbr,normal]=mni_getmesh('outersurface.obj');
- surf.vertices = coord;
- surf.faces=tri;
- coord (3x40962) gives the x,y,z
coordinates of nodes.
- nbr (40962x6) gives neighboring node
indices. Each node has up to 6 neighboring nodes.
- normal (3x40962) gives the normal
vectors of the cortex.
- tri (81920x3) gives three node
indices that forms each of 81920 triangles.
For FreeSurfer
format, use the following code to load a mesh into
MATLAB. FreeSurfer mesh data into
MATLAB. The FreeSurfer package produces cortical meshes with
different mesh topology for different subjects. The FreeSufer
mesh format starts the face indexing from zero while the
MATLAB can not handle zero indexing so we need to inrease the
indexing by one.
mesh='lh.pial'
[surf.vertices, surf.faces] = read_surf(mesh);
surf.faces=surf.faces+1;
figure_wire(surf,'white','white');
To perform heat kernel smoothing, we generate 134506 uniform
random numbers between 2 and 6mm. This simulated cortical thickness is smoothed out
using heat kernel smoothing with bandwidth 1 and 20
iterations.
input=random('unif',2,6,[134506,1]);
figure_trimesh(surf,input,'rwb')
output=hk_smooth(input,surf,1,20);
figure_trimesh(surf,output,'rwb')

Figure 2. Heat kernel
smoothing of real (top) and simulated (bottom) data with different
number of iteratations. Simulation detail is given in [1].
References
January 6, 2008
- Chung, M.K., Robbins,S., Dalton, K.M., Davidson, Alexander,
A.L., R.J., Evans, A.C. 2005. Cortical
thickness
analysis
in
autism via heat kernel smoothing. NeuroImage 25:1256-1265
- Chung, M.K., Robbins, S., Evans, A.C. 2005. Unified
statistical
approach
to
cortical thickness analysis. Information Processing in
Medical Imaging (IPMI). Lecture Notes in Computer Science (LNCS)
3565:627-638. Springer-Verlag.
- Chung, M.K. 2004. Heat
kernel
smoothing
and
its application to cortical manifolds. University of
Wisconsin-Madison, Department of Statistics, Technical Report
1090.
- Chung, M.K., Dalton, K.M., Davidson, R.J. 2008. Tensor-based
cortical
surface
morphometry
via
weighed spherical harmonic representation. IEEE Transactions
on Medical Imaging. 27:1143-1151.
- Chung, M.K., Dalton, K.M., Shen, L., L., Evans,
A.C., Davidson, R.J. 2007. Weighted
Fourier
series
representation
and
its application to quantifying the amount of gray matter.
IEEE Transactions on Medical Imaging. 26:566-581.
Created 02/05/2005. Update history 01/13/2006, 11/28/2006,
09/05/2007, 09/22/2007
05/26/2010 it can now smooth FreeSurfer mesh format.