How do I more accurately measure retinal fundus vessel movement in infrared images?

1 次查看(过去 30 天)
Hi,
I have been working on a problem for some time that involves quantifying the displacement of retinal vessels in infrared fundus images. Specifically, given a before and after image, I would like to plot, with as much granularity as possible, a vector map of before-after movements superimposed onto the "before" image (example shown below).
Before Picture with Vector Map Superimposed:
After Picture:
My algorithm currently:
(1) Registers both images (done manually)
(2) Segments the vessels (example below is of the "before" picture segmented)
(2) Tiles both images (a 6 x 6 subgrid for each image, for example)
(3) For each subgrid, measures the centroid (using regionprops Centroid of the largest connected component, which I am assuming is the largest vein in the tile)
(4) Plots the before and after centroid coordinates using quiver.
I would like to (significantly) improve this method. Specifically, is there some way I can:
(1) Isolate only the thickest few veins. For example, in the segmentation above, the clutter in the middle is unnecessary; I can do with only the couple of veins on top and bottom. I have tried the branch trimming here: https://www.mathworks.com/matlabcentral/answers/351171-retinal-fundus-image-branch-issue but it did not work even after adjusting the trimming threshold.
(2) Avoid a tiling mechanism altogether, and instead identify which vein is which and plot arrows only on the veins themselves. That is, instead of a symmetric 6 x 6 grid, I would have several arrows on the veins that tell me where that portion has distorted/moved, and none in areas where there is little movement/no veins.
Thank you very much in advance.

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Segmentation and Analysis 的更多信息

产品


版本

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by