ben

OMÜ , Bilgisayar Mühendisliği, 13'

5 Mart 2014 Çarşamba

Matlab ile Radyolojik Tümör Tespiti


   Radyoloji bölümünden alınan tümörlü resim üzerindeki tümörü tespit edip, tümörün merkez koordinatlarını veren program kodları ve açıklamaları aşağıda verilmiştir

 a=imread('T1W_TSE.JPG');
 an=im2bw(a,0.39);
 Dbw = bwareaopen(an,350);

İmread ile resmi okutuldu ve 0.39 eşik değeriyle bw resme çevrildi. Bwareopen ile resim üzerindeki alanı 350 pikselden fazla olan alanlar silindi. Beyin dokusu üzerindeki küçük dokuların silinmesi için bu işlem yapıldı.

 L=bwlabel(Dbw);
 s=regionprops(L,'Area');
 allarea=[s.Area];
 dmax=max(allarea);
 idx=[s.Area]==dmax;
 L(L==idx(1))=0;

Son işlemde ortaya kafatası kemiği ile tümör kalmıştı. Burada kafatası resim piksellerini silmek için, resmi bwlabel ile etiketleyerek, en buyuk alana sahip olan alan temizlendi. Genel mantık olarak kafatası pikselleri tümörlü yapılardan her zaman büyük alana sahiptir.

 bw2=bwlabel(L);
 bbox=regionprops(double(bw2),'BoundingBox');
 bb=bbox.BoundingBox;
 x=bb(3)/2;
 y=bb(4)/2;

Resimden geriye sadece tümörlü bölge kaldı. Bu tümörün merkez koordinatlarını verebilmek için bu alanı bwlabel ile etiketleyerak BoundingBox ile kutu içine alındığında tümörün x ve y koordinatları bulunur.

xstr=strcat('X merkez kordinatı :',num2str(x));
ystr=strcat('  Y merkez kordinatı:',num2str(y));

 figure(1);
        subplot(221); imshow(a);title( 'Beyin Tümörü');
        subplot(222); imshow(Dbw);title( 'Beyin Tümörü bw');
        subplot(223);imshow(L); title(strcat(xstr,ystr)) ;

Elde edilen resimler tek bir figüre penceresinde gösterilir.

Ekran Çıktısı:


Hiç yorum yok: