当前位置:网站首页>【图像检测】基于高斯过程和Radon变换实现血管跟踪和直径估计附matlab代码
【图像检测】基于高斯过程和Radon变换实现血管跟踪和直径估计附matlab代码
2022-06-25 22:23:00 【Matlab科研工作室】
1 简介
. Extraction of blood vessels in retinal images is an important step for computer-aided diagnosis of ophthalmic pathologies. We propose an approach for blood vessel tracking and diameter estimation. We hypothesize that the curvature and the diameter of blood vessels are Gaussian processes (GPs). Local Radon transform, which is robust against noise, is subsequently used to compute the features and train the GPs. By learning the kernelized covariance matrix from training data, vessel direction and its diameter are estimated. In order to detect bifurcations, multiple GPs are used and the difference between their corresponding predicted directions is quantified. The combination of Radon features and GP results in a good performance in the presence of noise.
The proposed method successfully deals with typically difficult cases such as bifurcations and central arterial reflex, and also tracks thin vessels with high accuracy. Experiments are conducted on the publicly available DRIVE, STARE, CHASEDB1, and high-resolution fundus databases evaluating sensitivity, specificity, and Matthew’s correlation coefficient (MCC). Experimental results on these datasets show that the proposed method reaches an average sensitivity of 75.67%, specificity of 97.46%, and MCC of 72.18% which is comparable to the
state-of-the-art.
2 部分代码
function [output] = GP_input_dir(input_image, seed_point_position, vessel_radius,previous_direction)% extract data from image for vessel tracking using radon transformzoom = 4;[a b] = size(input_image);[X,Y] = meshgrid(1:b,1:a);i=1;[grid_xx,grid_yy] = meshgrid(seed_point_position(1)-vessel_radius(i):1/zoom:seed_point_position(1)+vessel_radius(i) , ...seed_point_position(2)-vessel_radius(i):1/zoom:seed_point_position(2)+vessel_radius(i));square_mask = uint8(interp2(X,Y,input_image,grid_xx,grid_yy,'cubic'));square_mask = double(square_mask);min_mask = min(square_mask(:))/255;max_mask = max(square_mask(:))/255;square_mask = double(imadjust(uint8(square_mask),[min_mask max_mask], [0 1]));Mask_Size = size(square_mask);Mask_center = (Mask_Size(1)+1)/2;[yy,xx] = ndgrid( (1:Mask_Size(1)),(1:Mask_Size(2)));circle_mask= double((xx-Mask_center).^2+(yy-Mask_center).^2 <= (zoom*vessel_radius(i))^2);image_circle_mask = square_mask.*circle_mask;sigma_2= -Mask_center^2/log(.15);[x,y] = meshgrid(-Mask_center+1:1:Mask_center-1);z= exp(-((x).^2)/sigma_2 - ((y).^2)/sigma_2);circle_mask_gaussian= z.*image_circle_mask;rotated_circle_mask = imrotate(circle_mask_gaussian,-previous_direction);[a b]= size(rotated_circle_mask);seed_point_center = (a+1)/2;mask_radius = seed_point_center - 1;[XX,YY] = meshgrid(-mask_radius:mask_radius);integral_radius = [0: mask_radius/100:mask_radius];theta_int = [89:-1:-89];grid_x(theta_int+90,:) = cosd(theta_int)'*integral_radius;grid_y(theta_int+90,:) = sind(theta_int)'*integral_radius;ZI = interp2(XX,YY,rotated_circle_mask,grid_x,grid_y,'cubic');integral_179 = sum(ZI');integral_179 = integral_179 - min(integral_179);integral_179_normal = integral_179/max(integral_179);output((i-1)*179+1:i*179) = integral_179(179:-1:1)/max(integral_179);end
3 仿真结果

4 参考文献
[1]马歌. 基于Canny算子和Radon变换的证件图像倾斜校正[J]. 中国新技术新产品, 2014(15):2.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
猜你喜欢
![[advanced ROS] Lecture 1 Introduction to common APIs](/img/25/85e8c55605f5cc999a8e85f0a05f93.jpg)
[advanced ROS] Lecture 1 Introduction to common APIs

(Reprint) visual explanation of processes and threads

10.2.3、Kylin_kylin的使用,维度必选

元宇宙中的法律与自我监管

鼠标拖拽围绕某个物体旋转展示

CaMKIIa和GCaMP6f是一樣的嘛?

Research and development practice of Kwai real-time data warehouse support system

Redis memory elimination mechanism

10.4.1 données intermédiaires

EasyConnect连接后显示未分配虚拟地址
随机推荐
ffmpeg 版本切换
Servlet response下载文件
网络连接验证
19c installing PSU 19.12
Display unassigned virtual address after easyconnect connection
Frequently asked questions about redis
linux安装redis
What do SMT operators do? operating duty?
Mysql5.7.31自定义安装详细说明
86.(cesium篇)cesium叠加面接收阴影效果(gltf模型)
10.2.2、Kylin_kylin的安装,上传解压,验证环境变量,启动,访问
Explain the synchronize keyword
每日刷题记录 (四)
Xiaohongshu microservice framework and governance and other cloud native business architecture evolution cases
Regular expression introduction and some syntax
Solution to SMT grape ball phenomenon
Installing redis on Linux
14.1.1 promethues monitoring, four data types metrics, pushgateway
电路板去板边—V-Cut分板机注意事项
Analysis and comparison of common test methods for PCBA in SMT chip processing industry