医工互联

 找回密码
 注册[Register]

手机动态码快速登录

手机号快速登录

微信登录

微信扫一扫,快速登录

QQ登录

只需一步,快速开始

查看: 231|回复: 0
收起左侧

210918-放疗gamma通过率matlab代码

[复制链接]

  离线 

发表于 2022-9-24 10:51:57 | 显示全部楼层 |阅读模式 <
引文:放疗中常用通过率,一种是使用matrixx软件(比较平面),ArcCheck软件(比较探头所在平面),另一种是使用代码,这里仍然来自Niubi高,做此记录,不然下次就找不到了。

gamma2.m
  1. function [Ir,r] = gamma2(img,I,ra,dta,ps)
  2. %绝对剂量伽马分析;img为参考剂量分布图,I为计算剂量分布,Ir为gamma因子分布,r为通过率,ps为pixelspacing
  3. maximg=double(max(img(:))); %小数除以整数会得到错误结果
  4. [sx,sy]=size(img);
  5. img=double(img);I=double(I);ra=double(ra);dta=double(dta);ps=double(ps);
  6. %Ir=zeros(512,512);
  7. Ir=zeros(sx,sy);
  8. detaD=ra*0.01;   %剂量差异标准3%
  9. detad=dta;      %DTA标准3mm
  10. area=img>maximg*0.05;  %统计有剂量的区域,排除体表外区域  5%
  11. %img=1/max(img(:))*img;  %相对分布
  12. %I=1/max(I(:))*I;
  13. %for i=1:512
  14.     %for j=1:512
  15. for i=1:sx
  16.    for j=1:sy
  17.         
  18.         if area(i,j)==1
  19.                       %对10个像素内的计算,ms,md行的起止处,ns,nd列的起止处
  20.             if i-10<1
  21.                 ms=1;  
  22.             else
  23.                 ms=i-10;
  24.             end
  25.             if j-10<1
  26.                 ns=1;
  27.             else
  28.                 ns=j-10;
  29.             end
  30.            % if i+10>512
  31.                % md=512;
  32.             if i+10>sx
  33.                 md=sx;
  34.             else
  35.                 md=i+10;
  36.             end
  37.             %if j+10>512
  38.               %  nd=512;
  39.             if j+10>sy
  40.                 nd=sy;
  41.             else
  42.                 nd=j+10;
  43.             end
  44.             d=zeros(md-ms+1,nd-ns+1);
  45.             D=zeros(md-ms+1,nd-ns+1);
  46.             ga=zeros(md-ms+1,nd-ns+1);
  47.             
  48.             for k=ms:md
  49.                 for p=ns:nd
  50.                     kk=k-ms+1;pp=p-ns+1;
  51.                     %d(kk,pp)=sqrt((k-i)^2+(p-j)^2)*0.7828;    %pixelspacing:0.7828mm
  52.                     d(kk,pp)=sqrt((k-i)^2+(p-j)^2)*ps;
  53.                     %D(kk,pp)=(I(k,p)-img(i,j))/img(i,j);%global or local
  54.                     D(kk,pp)=(I(k,p)-img(i,j))/maximg;
  55.                     ga(kk,pp)=sqrt(d(kk,pp)^2/detad^2+D(kk,pp)^2/detaD^2);
  56.                 end
  57.             end
  58.          
  59.           Ir(i,j)=min(ga(:));
  60.         end
  61.         
  62.     end
  63. end
  64. r=length(find(Ir>1))/sum(area(:));
  65. r=1-r;
复制代码
来源:https://blog.csdn.net/csdnxiekai/article/details/120362826
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

提醒:禁止复制他人回复等『恶意灌水』行为,违者重罚!
您需要登录后才可以回帖 登录 | 注册[Register] 手机动态码快速登录 微信登录

本版积分规则

发布主题 快速回复 收藏帖子 返回列表 客服中心 搜索
简体中文 繁體中文 English 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french

QQ|RSS订阅|小黑屋|处罚记录|手机版|联系我们|Archiver|医工互联 |粤ICP备2021178090号 |网站地图

GMT+8, 2024-11-5 19:37 , Processed in 0.254408 second(s), 61 queries .

Powered by Discuz!

Copyright © 2001-2023, Discuz! Team.

快速回复 返回顶部 返回列表