Friday, June 29, 2007

Intensity ridges

For the past two weeks I have been reading a lot. Starting off from the Manniseng PhD thesis to Frangi's vesselness filter to cubic B-spline sub-voxel interpolation, I have covered topics mostly that has got to do with measuring vesselness. Right now I am looking at three different approaches for automatically identifying the pulmonary veins of the left atrium:

1) A fuzzy approach where arteries and veins can be separated using local voxel affinity and range of other factors. The technique computes a range of affinities between every pair of voxel in the image. This is a combinatorilly explosive problem, but can be optimized using efficient data structures.

2) A level-set based approach: Arteries and veins can be "presumably" separated by labelling voxles according to the time-of-arrival of two evolving fronts which start off from a point in the artery and a point in the vein. Level-sets are a pain to implement as they must be solved via partial differential equations.

3) Computing intensity ridges. I was reading the paper by Aylward et. al. and it seems like it can be very useful in atleast detecting the starting points of the pulmonary veins (from the left atrium). The ridgeness function is loaded with Frangi's vesselness function which makes it detect tubular like objects such as vessels. The ridgeness should also be computed for every candidate voxel at an appropriate scale. I have also spent a considerable amount of time reading scale-spaces. A scale-space is the domain of images produced by convolving the image with a Gaussian filter at different variances (width). This 'optimal' scale is selected by choosing the variance (of the Gaussian) which gives the maximum response to Frangi's vesselness function.

I have also been implementing the intensity ridge functions. These include Hessian matrix comptutations, Eigen-space analysis of the Hessian and calculation of the ridgeness function. Although there were a few glitches in the program, these have been fixed. Finally, my program is yielding some ridge points (1800 in total in an image). I would soon be looking at how i can go about traversing these ridge points and also applying testing the ridgeness function at appropriate scales.

1 comment:

PhD Research Paper said...

Many institutions limit access to their online information. Making this information available will be an asset to all.