Biyomedikal cihazlar ve Biyomedikal görüntüleme cihazları günümüzde tıp biliminin; tanı, teşhis ve tedavide en büyük yardımcılarıdır. Biyomedikal görüntüleme cihazları



Yüklə 2,1 Mb.
səhifə5/5
tarix21.01.2017
ölçüsü2,1 Mb.
#6214
1   2   3   4   5

AUTOBRIGHT: Aydınlık ayarının, gelen görüntülerde otomatik olarak ayarlanmasını sağlayacak kodlardır.

% AUTOBRIGHT:Automatically adjusts the brightness level of images

function autobright

warning off

%

[FileName,PathName] = uigetfile('*.jpg','Select any image');



y= [PathName,FileName];

img=imread(y);

[m1 n1 r1]=size(img);

%

if(r1==3)



a=rgb2ntsc(img);

end


if(r1==1)

a=double(img)./255;

end

[m1 n1 r1]=size(a);



limit=mean(mean(a(:,:,1)));

my_limit=0.5;

limca=my_limit-limit;

%

for(i=1:m1)



for(j=1:n1)

if(limca<0)

if(a(i,j,1)<=0.92)

a(i,j,1)=a(i,j,1)+limca;

end

end


if(a(i,j,1)>1)

a(i,j,1)=1;

end

if(a(i,j,1)<0)



a(i,j,1)=0;

end


end

end


%

if(r1==3)

image=ntsc2rgb(a);

end


if(r1==1)

image=a;


end

image=image.*255;

image=round(image);

image=uint8(image);

%

[FileName,PathName] = uiputfile('*.jpg','Select any name for its image');



FileName=[FileName '.jpg'];

y= [PathName,FileName];

imwrite(image,y);

imshow(image)

%


  • GAMMACORRECTION: Görüntülerdeki gama yansıması özelliklerini optimum düzeye getirilmesini sağlaytacak kaynak kodlardır.

function Correction = gammacorrection(Image,GammaValue)

% GammaDoğrulaması

Err = 0;


if nargin < 2

GammaValue = 1;

disp('Default value for gamma = 1');

else if nargin ==2 & GammaValue < 0

GammaValue = 1;

disp('GammaValue < 0, Default value considered, Gammavalue = 1');

else if nargin > 2

disp('Error : Too many input parameters');

Err = 1;

end


if Err == 1

x = imread(Image);

x = double(x);

Correction = 255 * (x/255).^ GammaValue;

end;


  • AUTOCONTRAST: Görüntülerdeki zıtlık ayarını otomatik olarak yaparak daha iyi görüntüler eldesini sağlayan programın kaynak kodlarıdır.

% AUTOCONTRAST Automatically adjusts the contrast of images to the optimum level.


function autocontrast

warning off


%--------------------------------------------------------------------------

[FileName,PathName] = uigetfile('*.jpg','Select any image');

y= [PathName,FileName];

img=imread(y);

[m1 n1 r1]=size(img);

img2=double(img);

%--------------------calculation of vmin and vmax--------------------------

for(k=1:r1)

arr=sort(reshape(img2(:,:,k),m1*n1,1));

vmin(k)=arr(ceil(0.008*m1*n1));

vmax(k)=arr(ceil(0.992*m1*n1));

end


%--------------------------------------------------------------------------

if(r1==3)

v_min=rgb2ntsc(vmin);

v_max=rgb2ntsc(vmax);

end

if(r1==1)



v_min=vmin;

v_max=vmax;

end

%--------------------------------------------------------------------------



for(i=1:m1)

for(j=1:n1)

for(k=1:r1)

img2(i,j,k)=255*(img2(i,j,k)-v_min(1))/(v_max(1)-v_min(1));

end

end


end

%--------------------------------------------------------------------------

img2=uint8(img2);

%--------------------------------------------------------------------------

[FileName,PathName] = uiputfile('*.jpg','Give any name to the enhanced image');

FileName=[FileName '.jpg'];

y=[PathName,FileName];

imwrite(img2,y);

figure,imshow(img),title('THIS IS THE ORIGINAL IMAGE');

figure,imshow(img2),title('THIS IS THE ENHANCED IMAGE');

%--------------------------------------------------------------------------


  • ROIHISTOGRAM: Görüntülerin Roi histogramını hesaplayan programın kaynak kodlarıdır.

function [Ieq, c, r, npix] = roihisteq(I, c, r)

% Generate the binary mask image.

if nargin == 3

B = roipoly(I, c, r);

else


[x,y,B,c,r] = roipoly;

end
Ieq = I;

% Compute the localized histogram equalization of the pixels in the ROI.

Ieq(B) = histeq(I(B));


% Obtain the number of pixels in the ROI if requested in the output.

if nargout > 3

npix = sum(B(:));

end



  • KUAN FİLTRELEME: Görüntü verilerinin üzerine binmiş olan gürültüyü elimine etmede kullanılan yöntemin kaynak kodları aşağıda verilmiştir.

%Kuan filter for speckle noise reduction

%Usage - kuan(I)

%I is the noisy image (gray level image m x n x 1)


function [kn]=kuan(I)

[x y z]=size(I)

I=double(I);

for i=1:x

i

for j=1:y



% Checking first and last pixel of first row%

if (i==1 & j==1)

mat(1)=0;

mat(2)=0;

mat(3)=0;

mat(4)=0;

mat(5)=I(i,j);

mat(6)=I(i,j+1);

mat(7)=0;

mat(8)=I(i+1,j);

mat(9)=I(i+1,j+1);

end


if (i==1 & j==y)

mat(1)=0;

mat(2)=0;

mat(3)=0;

mat(4)=I(i,j-1);

mat(5)=I(i,j);

mat(6)=0;

mat(7)=I(i+1,j-1);

mat(8)=I(i+1,j);

mat(9)=0;

end

% Checking first and last pixel of last row%



if (i==x & j==1)

mat(1)=0;

mat(2)=I(i-1,j);

mat(3)=I(i-1,j+1);

mat(4)=0;

mat(5)=I(i,j);

mat(6)=I(i,j+1);

mat(7)=0;

mat(8)=0;

mat(9)=0;

end

if (i==x & j==y)



mat(1)=I(i-1,j-1);

mat(2)=I(i-1,j);

mat(3)=0;

mat(4)=I(i,j-1);

mat(5)=I(i,j);

mat(6)=0;

mat(7)=0;

mat(8)=0;

mat(9)=0;

end


% Checking rest of the image%

if (i>1 & i1 & j

mat(1)=I(i-1,j-1);

mat(2)=I(i-1,j);

mat(3)=I(i-1,j+1);

mat(4)=I(i,j-1);

mat(5)=I(i,j);

mat(6)=I(i,j+1);

mat(7)=I(i+1,j-1);

mat(8)=I(i+1,j);

mat(9)=I(i+1,j+1);

end


y1=I(i,j);

ybar=mean(mean(mat));

ystad=std2(mat);

ENL=(ybar/ystad)^2;

sx2=((ENL*(ystad)^2)-(ybar)^2)/(ENL+1);

xcap=ybar+(sx2*(y1-ybar))/(sx2+((ybar^2+sx2)/ENL));

N(i,j)=xcap;

end


end

kn=uint8(N);

5.2.2.1.2. Dünya Bu Çok Yeni Teknolojide Nerededir?
Halen araştırılmakta olan bu konu, dünyada birçok ünversitede ve özellikle ABD ve Çin’de büyük ciddiyetle ele alınmaktadır. Hatta bu ülkelerde yapılan araştırmalar sonucu her iki cihazın görüntülerini başarılı bir şekilde birleştirebilen ilk prototipler üretilmiştir. Bu gelişmeler; klinik anlamda çok yeni gelişmeler tanık olacağımızı işaret etmekte ve İnsanlık olarak kanbserle mücadelede daha çok ilerleyeceğimiz göstermektedir.


  1. Sonuç

Amacı; tıpta hastalıklı dokuların ve paotolojik kitlelerin teşhisinde kullanılan Radyodiyagnpstik Cihazları; özellikle Manyetik Rezonans ve Bilgisayarlı Tomografi Cihazlarını tanıtmak,detaylı incelemelerini gerçekleştirmek, birbirinden çok farklı teknolojilere sahip olan bu cihazları fiziksel ve/veya izafi anlamda birleştirerek melez bir MR – CT sistemi elde etmenin yollarını aramak ve bu uğurda hipotezler üreterek bu yöntemleri desteklemek ya da çürütmek olan bitirme projesinin sonucunda okuyucunun bu konuda muamma olmasının önüne geçilerek; klinik olarak en iyi teşhisi sağlayacak yöntemler hakkında bilgi sahibi olması sağlanmıştır.


Beşinci bölümde yapılan detaylı yöntem irdelemesi ve çürütülmesi/desteklenerek ilerletilmesi işlerinin; bu alanda tasarımlar üretmek amacındaki meslektaşlarıma yol gösterilmeye çalışılmıştır. Üretilen mantıksal ve teorik kurallar ışığında tasarımlama yöntemleri geliştirilir ve mevcut sorunları ortadan kaldırıcı yöntemler geliştirilirse; bu cihazların hali hazırdaki görüntüleme kabiliyetlerinin çok ötesine geçilerek; kanser tanısında ve kanserle savaşımda bir adım daha ileriye gidilerek hekimlere daha geniş ufuklar sunulabilir olacaktır.
sınıflandırmaları yapılmış, Radyodiyagnostik cihazların detaylı açıklamalarına yer verilmiştir. Son bölümde ise biyomedikal cihazlar için Satın Alma ve Dizayn klavuzları oluşturulmuş ve bu cihazlar için bakım ve bozulma risklerinden bahsedilmiştir.
Projenin sonucunda; proje başında amaçlanmış olduğu gibi bir ilerleme yöntemi uygulanmış ve yine amaçlandığı üzre bu konular üzerine gidilmiş ve yoğunlaşılmıştır.
Biyomedikalin yani tıp elektroniğinin önemi anlaşılacağı üzere, gayet zor şartlarda ilerleyen ve bizzat insanla uğraşan bir bilim olan tıbba yardımcı olarak, bu bilimin hayat kurtarma amacına destek olmaktadır. Mühendisler olarak; hekimlere hayat kurtarmada, tasarlanan tıbbi cihazlarla verilen destekler onur vericidir.
Sonuç olarak; biyomedikal teknolojisinde çok büyük öneme sahip olan Manyetik Rezonans ve Bilgisayarlı Tomografi Cihazları derinlemesine incelenerek okuyucuya tanıtılmış, ve referans tasarımlar irdelenerek, PET/CT teknolojisiyle ve görüntüleme kabiliyetindeki iyileşmeyle çok benzer bir yapıda MR/CT tasarımı ve üretimi incelenmiştir. Ancak unutulmamalıdır ki, üretilen referans tasarımların ve çürütülen/desteklenen yöntemlerin üzerine na kadar fazla gidilirse MR/CT gibi bir melez bir cihaz yaratma teorisinin ciddiyeti daha çok anlaşılacak ve Tıbba çok daha yeni ufuklar amacı taşıyan ilgiler artacaktır.


  1. Ek: Daha İleriki Safhalarda Projede Kullanılması Amaçlanan Prototip Interpolasyon Kaynak Kodları


#include "bjh_matrix.h"

#include

#include

=_ Trilinear interpolation. 10

_

_ Parametreler:

_ double coord[3] - Point in 3D image

_ IUS IMAGE image - 3D image

_

_ Return:

_ unsigned short - Voxel value at point in image given by coord

_

_ This implementation is an extension of the 2D interolation

_ described in \Numerical Recipes in C" 20

_=

#de_ne k3TOk1(z,y,x,Dim) (z_Dim[1]_Dim[0] + x_Dim[1] + y )

double interpolate trilinear(MATRIX4X1 _coord,

double_ image,

oat _voxRes,

int imgRes[3] )f 30

oat t, u, v;

oat omt, omu, omv;

double value = 0.0;

int oor0, ceil0, oor1, ceil1, oor2, ceil2 ;

int i ;

=_ Interpolate using tri-linear interpolation and ooring o_ at the end _=

oor0 = oor( (oat) coord��>matrix [0]);

ceil0 = ceil ( (double) coord��>matrix [0]); 40

oor1 = oor(coord��>matrix [1]);

ceil1 = ceil (coord��>matrix [1]);

oor2 = oor(coord��>matrix [2]);

ceil2 = ceil (coord��>matrix [2]);

#ifdef DEBUG

printf ("\ntrilinear interpolation: floors are %d %d %d", oor0, oor1, oor2 );

printf ("\ntrilinear interpolation: ceils are %d %d %d", ceil0, ceil1, ceil2 ); 50

#endif

=_ Calculate t, u and v => distances _=

t = (oat) ( ( (oat) (coord��>matrix [0]��oor0 ) )=( (oat) voxRes[0]) );

122

u = (oat) ( ( (oat) (coord��>matrix [1]��oor1 ) )=( (oat) voxRes[1]) );

v = (oat) ( ( (oat) (coord��>matrix [2]��oor2 ) )=( (oat) voxRes[2]) );

omt = 1.0 �� t ; =_ One Minus t _=

omu = 1.0 �� u; =_ One Minus u _=

omv = 1.0 �� v; =_ One Minus v _= 60

#ifdef DEBUG

printf ("\ninterpolate trilinear: t-values are %f %f %f", t, u, v);

printf ("\ninterpolate trilinear: inverse t-values are %f %f %f", omt, omu, omv);

#endif

if (coord->matrix[0]>=1 && coord->matrix[1]>=1 && coord->matrix[2]>=1 && coord->matrix[0]<=imgRes[0] &&

if (oor0>=0 && oor1>=0 && oor2>=0 && ceil0

i = k3TOk1(oor2,ceil1,oor0,imgRes); =_y1_=

value = omt_omu_omv_(image[ i ]);

80

i = k3TOk1(oor2,ceil1 ,ceil0,imgRes); =_y2_=

value+= t_omu_omv_(image[ i ]);

i = k3TOk1(oor2,oor1,ceil0,imgRes); =_y3_=

value+= t_u _omv_(image[ i ]);

i = k3TOk1(oor2,oor1,oor0,imgRes); =_y4_=

value+= omt_u_omv_(image[ i ]);

i = k3TOk1(ceil2,ceil1,oor0,imgRes); =_y5_= 90

value+= omt_omu_v_(image[ i ]);

i = k3TOk1(ceil2,ceil1,ceil0 ,imgRes); =_y6_=

value+= t _omu_v_(image[ i ]);

i = k3TOk1(ceil2,oor1,ceil0,imgRes); =_y7_=

value+= t _u _v_(image[ i ]);

i = k3TOk1(ceil2,oor1,oor0,imgRes); =_y8 _=

value+= omt_u _v_(image[ i ]); 100

}

elsef

value = 0.0;

}

return value;

}

Kaynaklar


[1] Siemens AG. : Eğitim Dökümanları, MR, CT, US.

[2] General Electric Inc.: Eğitim Dökümanları, MR.

[3] Introduction to Biomedical Equipment Instrumentation: CARR, Joseph – BROWN, John

[4] Fundamentals of Ultrasonics: BLITZ, Jack

[5] Elektromanyetik Dalgalar ve İnsan Sağlığı: Tübitak

[6] Magnetic Resonance Imaging: BAHADIR, Alper (Yüksek Lisans Tezi)

[7] Principles of Biomedical Instrumentation: ASTON, Richard

[8] Biomedical Engineering Handbook: BRONZİNO, Joseph D.

[9] Biomedical Technology and Devices Handbook: MOORE,J. , ZOURADAKİS

[10] Biomedical Image and Signal Processing with Matlab Tutorials: DEKKER, Marcel





Yüklə 2,1 Mb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin