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:
Yorum Gönder