Looking ahead
Posted in Activity 1 year, 7 months ago
As I’m only taking only one course next term, you might be
wondering what I’m upto. I’ll be working at the Medical Imaging
Analysis Lab (MIAL) for the next eight months. To be specific,
I’ll be working in the field of Computational Anatomy, which is
“the use of mathematical analysis to learn how tissues grow, assume
new shapes and morph into mature structures.”
My supervisor, Dr. Faisal Beg’s PhD thesis was on an innovative method to compute large deformations metric mappings via the geodesic flows of diffeomorphisms. The algorithm is called Large Deformation Diffeomorphic Metric Mapping (LDDMM) and is in use in a number of places around the world.
Let me give an example: As we are growing up, doctors draw growth curves. These are curves of height and weight as a function of age. We can then compare this with a population average to see if everything is alright. Large deviations from the population statistics is an indication of a problem, like putting on too much weight (obesity), or growing too tall without putting on enough weight.
Dr. Beg’s long term vision is to do the same thing for other organs in the body. Height and weight are metrics in a vector space, and therefore are easy to compare. What about metrics about the size of the hippocampus, or the average orientation of ventricular myocardium fibers?
Why does this excite me so much?
At the center of LDDMM is a semi-Lagrangian numerical scheme borrowed from the weather simulation community. Semi-Lagrangian methods enable the use of large timesteps without affecting stability. Given my interest in turbulence models and fluid dynamics, this is going to be a treat.
We have our own Itanium 2 supercomputer. Because of the huge MRI datasets that we work on, a non-significant amount of time will be spent in communication. We can either come up with an elegant solution to reduce communication and make use of a beowulf-style cluster, or just throw the “right” hardware at the problem in the form of a shared memory multi-processor system. I think our computer has 100 processors and can be scaled upto 512 processors without much trouble.
We can leverage different high performance technologies at each level - SSE at the processor level, OpenMP between processors, and MPI above that. Doesn’t make much sense to use GCC on an Itanium, but we can definitely play with the new OpenMP support in GCC 4.2. I’ll once again get to visit the problem with computing inner products efficiently with SSE. Stay tuned.
Tricks. I’ve never had a chance to play with a VLIW architecture like the Itanium before. This opens up a wealth of opportunities to use tricks. What’s the fastest way to add two diffusion tensors?
Math. The metric “distance” is computed via the Euler-Lagrange PDE that arises from the variational problem setting. I have only done this in Euclidean and Polar manifolds. It should be interesting to see the E-L equation being solved for arbitrary diffeomorphism groups. Yes, the method has strong roots in group theory.
More math. The E-L equation arises from the minimization of the variational problem. This is an optimization problem. The naive cost function is not convex, so we are trying to do some work here. Maybe a manifold transformation? I don’t know.
Tons of applications to medical devices, surgery and analysis. One of the reasons I decided to take on this offer is because of the many connections and similarities we came up with when discussing some of my other path-planning projects with Dr. Beg.
Bring it on, I say!
to
due to the use of the Fast Fourier Transform.
, then
Nyquist’s
we can represent any function as an infinite
sum:

.
norm
minimization. It also talks about how cutting down the number
of samples required has profound advantages — savings in money,
time or even tissue damage (as in the case of X-rays.) It also has an example of a numerical experiment where they perfectly
reconstruct a 512×512 image from just 512 Fourier coefficients,
that is with over 95% of the data missing.
