MATLAB在生物工程中的應(yīng)用論文_第1頁
MATLAB在生物工程中的應(yīng)用論文_第2頁
MATLAB在生物工程中的應(yīng)用論文_第3頁
MATLAB在生物工程中的應(yīng)用論文_第4頁
MATLAB在生物工程中的應(yīng)用論文_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、計(jì)算機(jī)在生物工程中的應(yīng)用GUI界面的設(shè)計(jì)學(xué)校:中南大學(xué)班級:生技0801姓名:bing學(xué)號:xxxxxxxx一、 綜述在學(xué)習(xí)數(shù)學(xué)建模之時(shí),我就經(jīng)常聽到老師對MATLAB的介紹,隨著建模課程的深入,我逐漸應(yīng)用到了一些初級MATLAB編程,解矩陣、算模型等一系列應(yīng)用,當(dāng)進(jìn)入到計(jì)算機(jī)在生物工程中的應(yīng)用這門課后,我真正認(rèn)識到了MATLAB實(shí)用價(jià)值。MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡稱,是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級技術(shù)計(jì)算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB由

2、一系列工具組成。這些工具方便用戶使用MATLAB的函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動(dòng)畫和表達(dá)式作圖??捎糜诳茖W(xué)計(jì)算和工程繪圖。新版本的MATLAB對整個(gè)圖形處理功能作了很大的改進(jìn)和完善,使它不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對于一些其他軟件所沒有的功能(

3、例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時(shí)對一些特殊的可視化要求,例如圖形對話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對這方面有特殊要求的用戶也可以得到滿足。二、實(shí)驗(yàn)?zāi)康?.掌握MATLAB程序設(shè)計(jì)的基本知識,熟悉MATLAB語言及其在科學(xué)及其在科學(xué)計(jì)算中的運(yùn)用; 2. 學(xué)習(xí)科學(xué)計(jì)算的可視化,圖象分析技術(shù);3. 掌握MATLAB的應(yīng)用軟件GUI設(shè)計(jì);4. 掌握生物工程中的數(shù)據(jù)處理;5. 全面了解MATLAB在生物工程專業(yè)有關(guān)課程中的應(yīng)用。三、解

4、題過程通過對GUI界面的編輯可以得到如下的一副綜合界面圖片:對彩色圖像取任一顏色分量的圖像或轉(zhuǎn)換成灰度圖像進(jìn)行分析,可以測定白色區(qū)域的個(gè)數(shù)、面積和平均面積。 根據(jù)原題要求,利用GUI界面完成上述操作首先是對彩色圖像轉(zhuǎn)變成灰度圖像的操作,為了更好的完善此功能,我分別對彩圖能夠進(jìn)行灰度的轉(zhuǎn)換以及藍(lán)色、紅色、綠色像素的提取,而且還加入了彈出對話框的功能,如果原圖已經(jīng)是彩色圖像,則會出現(xiàn)對話框提醒。具體圖像顯示如下: 原圖 灰度 blue green red如果已經(jīng)是灰度圖像了,在對其進(jìn)行灰度化或者是提取像素,則會跳出對話框,顯示原圖像以是灰度圖像,不能再進(jìn)行轉(zhuǎn)化。第一題:增加細(xì)菌圖象處理軟件GUI界

5、面的功能,使得可以測量照片1(fig0.jpg)中藍(lán)色區(qū)域的個(gè)數(shù)與平均面積(以像素為單位),給出測量結(jié)果及截圖。(照片1是癌癥Hela 細(xì)胞藍(lán)色DNA, 紅色微管蛋白,綠色核有絲分裂器蛋白)照片1癌癥Hela 細(xì)胞由于所需藍(lán)色區(qū)域極為目標(biāo)區(qū)域,所以只需對藍(lán)色區(qū)域提取像素,從而就能夠分析得到它的個(gè)數(shù)和平均面積, 利用我制作的GUI界面中,我們可以按如下步驟得到所需的數(shù)據(jù),一下用圖片來示意具體過程:第一步:打開圖像第二步:圖像轉(zhuǎn)換(取藍(lán)色部分)第三步:黑白圖片(閾值100)第四步:目標(biāo)測量由第四步目標(biāo)測量,我們可以得到,白色區(qū)域的個(gè)數(shù)為168個(gè),即藍(lán)色部分個(gè)數(shù)為168個(gè),平均面積由目標(biāo)面積/個(gè)數(shù)所

6、得,最終為256.654個(gè)像素。第二題:照片2(fig1.jpg)中標(biāo)尺的最小刻度是5毫米,請測量照片2中病變區(qū)域(白色)的個(gè)數(shù)、平均面積和占脾臟的面積百分?jǐn)?shù)(使用自動(dòng)閾值轉(zhuǎn)變成黑白圖像,不要進(jìn)行腐蝕與膨脹處理)。照片2 曲霉菌侵襲的脾臟病變照片該要求可以通過具體對GUI的操作來實(shí)現(xiàn),但由于所給圖片較為復(fù)雜,需要處理過后求出整塊肝臟的面積和病變面積,才能夠算出脾臟的病變率,所以需要多不才能完成。具體步驟如下:打開圖片-黑白圖片(閾值120)-手工充填-反色負(fù)像-手工充填-反色負(fù)像-求得病變面積、病變區(qū)域面積和平均面積 由圖可以看到所得病變面積為8903.625,病變個(gè)數(shù)為607個(gè),目標(biāo)面積為8

7、903.625,平均面積為14.6682。按照同樣的方法,具體步驟如下:打開圖片-黑白圖片(閾值120)-手工充填-反色負(fù)像-自動(dòng)充填-反色負(fù)像-求得肝臟總面積最終處理候的圖片如下:因?yàn)橐呀?jīng)得到肝臟總面積和病變面積,所以得到病變率=病變面積/肝臟總面積,計(jì)算結(jié)果如下圖:為了加強(qiáng)結(jié)果的直觀性,我設(shè)定了一個(gè)彈出框來獨(dú)立顯示結(jié)果,由圖中可知,GUI界面輸出病變率為9.9296%第三題:在GUI界面增加自動(dòng)連續(xù)腐蝕并計(jì)數(shù)的功能,使得可以不斷用4-鄰域腐蝕操作腐蝕照片病變區(qū)域,同時(shí)測量腐蝕病變區(qū)域個(gè)數(shù),一直腐蝕到病變區(qū)域消失為止,在可編輯文本框中輸出腐蝕次數(shù)與剩余病變區(qū)域個(gè)數(shù)的測量結(jié)果。由于要使用4-鄰

8、域的腐蝕操作,我們必須現(xiàn)在復(fù)選框中選定4-鄰域選項(xiàng),然后再使用連續(xù)腐蝕按鈕,具體步驟如下:打開圖片-黑白圖片(閾值120)-手工充填-反色負(fù)像-手工充填-反色負(fù)像-連續(xù)腐蝕最終效果如圖:圖中的原始數(shù)據(jù)顯示為(前面一位為腐蝕次數(shù),后面一位為剩余病變個(gè)數(shù))· 0-607· 1-286· 2-133· 3-55· 4-15· 5-2· 6-1· 7-0第四題:在GUI界面中增加一元非線性模型的建模的功能,軟件可自動(dòng)讀取在可編輯文本框中輸入的建模數(shù)據(jù)來建模,模型參數(shù)從另外的可編輯文本框輸出,要求可以選擇不少于兩種的模型形式

9、,其中要包含多項(xiàng)式回歸模型,并能繪圖表現(xiàn)原始數(shù)據(jù)點(diǎn)和模型曲。為了能夠解決該題,我設(shè)置了兩個(gè)函數(shù)分別為logistic函數(shù)和polyfit函數(shù),通過圖區(qū)文本框中的數(shù)字,兩個(gè)函數(shù)可以擬合出相應(yīng)的曲線,并且通過plot繪制出圖形在GUI界面中顯示出來。下面就以polyfit函數(shù)和logistic函數(shù)來舉例具體說該按鈕的功能。具體步驟如下:輸入數(shù)據(jù)-求解方式和曲線形式-數(shù)學(xué)建模通過輸入一組數(shù)據(jù),分別利用logistic函數(shù)和polyfit函數(shù)擬合,得出如下圖:Logistic函數(shù) Polyfit函數(shù)在進(jìn)行多項(xiàng)式回歸擬合前,先確定所需要的擬合次數(shù),已達(dá)到最佳的擬合效果。在這里我輸入3,即以三次方程來對改

10、組數(shù)據(jù)進(jìn)行擬合第五題:用3題的測量結(jié)果和4題增加的功能,以腐蝕次數(shù)為自變量,剩余病變區(qū)域個(gè)數(shù)為因變量,用不少于兩種的模型形式分別建立數(shù)學(xué)模型,并繪圖給出原始數(shù)據(jù)點(diǎn)和模型曲線,比較不同數(shù)學(xué)模型的好壞(可以用剩余標(biāo)準(zhǔn)差判斷),選出最好的數(shù)學(xué)模型。由題意可知,我們需要利用第三題中分析得到的兩個(gè)變量結(jié)合第四題中的建模功能,分析出兩種模型曲線的優(yōu)劣,而判定優(yōu)劣的標(biāo)準(zhǔn)我們利用剩余標(biāo)準(zhǔn)差判斷,即殘差平方來確定。Logistic函數(shù)Polyfit函數(shù)在進(jìn)行多項(xiàng)式回歸擬合前,先確定所需要的擬合次數(shù),已達(dá)到最佳的擬合效果。在此,我們優(yōu)化得到次數(shù)為3。擬合后所得圖像如下:由殘差的平方和我們看到當(dāng)函數(shù)logistic

11、時(shí),殘差平方為11481.9331,當(dāng)函數(shù)polyfit時(shí),殘差的平方為2879.3812,因此,我們可以確定polyfit擬合出來的函數(shù)更加的接近真實(shí)情況,該模型更好。四、學(xué)習(xí)心得通過一個(gè)學(xué)期對MATLAB的學(xué)習(xí),我不僅學(xué)到了MATLAB的基礎(chǔ)應(yīng)用,還能夠?qū)^低端的GUI界面進(jìn)行編輯,應(yīng)用到實(shí)際工程中去。通過GUI界面的了解,我認(rèn)識到了他在工程應(yīng)用中的價(jià)值,特別是對生物工程,記起曾經(jīng)在實(shí)驗(yàn)室顯微鏡下數(shù)菌的慘相,我深刻感受到GUI界面的價(jià)值,如果當(dāng)時(shí)能有GUI界面來對照片進(jìn)行編輯,那就可以直接利用電腦來對菌落進(jìn)行計(jì)數(shù),這不僅能夠在實(shí)驗(yàn)中減少人為的誤差,還能夠節(jié)約實(shí)驗(yàn)時(shí)間,大大的提高實(shí)驗(yàn)效率,而

12、時(shí)間在現(xiàn)代的社會生活中的地位是無可替代的,誰能夠掌握時(shí)間誰就能夠獲得更多的成績。在學(xué)習(xí)的過程中,我從跟著老師一起模仿學(xué)習(xí)編輯GUI界面,將完整的函數(shù)程序按部就班的放入到M文件中,并且不斷的對簡單的灰度圖象進(jìn)行處理,如對米粒圖象的處理,先將其取輪廓線,然后自動(dòng)充填,對封閉的區(qū)域進(jìn)行填充,再利用手動(dòng)切割功能,將連在一起的米粒切開,然后腐蝕膨脹,最后利用計(jì)數(shù)功能將單個(gè)的米粒計(jì)算出來。在整個(gè)實(shí)驗(yàn)過程中,最復(fù)雜的要算是數(shù)學(xué)模型的建立了,在這一按鈕設(shè)計(jì)中,不僅要對游離的數(shù)據(jù)自動(dòng)讀取進(jìn)行建模,還要畫出擬合圖像,并且對其的殘差平方進(jìn)行比較得出較好的模型。而在編程中,自動(dòng)讀取讓我百思不得其解,經(jīng)過與同學(xué)的交流,

13、最終將這個(gè)函數(shù)優(yōu)化了出來,并且能夠正常地運(yùn)行,得到所需要的數(shù)據(jù)與所需圖形。在編輯完程序后,我還將界面進(jìn)行了修飾,力求將界面美化,便于自己能夠清晰的利用界面進(jìn)行一些常規(guī)的操作。五、 附錄打開圖像global I I0FileName,PathName=uigetfile('*.*','open files');FileName=strcat(PathName,FileName);I0=imread(FileName);I=I0;imshow(I);取輪廓線global Ialgorithm=get(findobj('Tag','popupm

14、enu4'),'string');n=get(findobj('Tag','popupmenu4'),'value');I=edge(I,algorithmn,:);imshow(I);圖像轉(zhuǎn)換global I I0t=get(findobj('Tag','popupmenu8'),'string');n=get(findobj('Tag','popupmenu8'),'value');t=tn,:; if strcmp(t,&

15、#39;gray')&isrgb(I) I=rgb2gray(I);imshow(I);elseif strcmp(t,'red')&isrgb(I) I=I(:,:,1);imshow(I);elseif strcmp(t,'green')&isrgb(I) I=I(:,:,2);imshow(I);elseif strcmp(t,'blue')&isrgb(I) I=I(:,:,3);imshow(I);elseif strcmp(t,'color') I=I0;imshow(I);el

16、se msgbox('It is the gray one already!','Note');end反色負(fù)像global II=I;imshow(I);分割連體global II=improline(I);function I=improline(I,n)if nargin=2,n=8;elseif n=4,n=8;endCX,CY,C=improfile;while length(CX)>1 k=1; Xk=round(CX(k); Yk=round(CY(k); C=I(Yk,Xk); while k<length(CX) k=k+1; if

17、abs(CX(k)-Xk)>0.5 Xk=Xk+sign(CX(k)- Xk); if n=8,I(Yk,Xk)=C;end end if abs(CY(k)-Yk)>0.5 Yk=Yk+sign(CY(k)-Yk); if n=8,I(Yk,Xk)=C;end end if n=4,I(Yk,Xk)=C;end end imshow(I); CX,CY,C=improfile;end自動(dòng)補(bǔ)洞global II=imfill(I,'holes');imshow(I);手工填充global II=imfill(I);imshow(I);腐蝕圖像global ISE=z

18、eros(3);for k=1:9SE(k)=get(findobj('Tag',strcat('checkbox',num2str(k),'value');endI= imerode(I,SE);imshow(I);膨脹圖像global ISE=zeros(3);for k=1:9SE(k)=get(findobj('Tag',strcat('checkbox',num2str(k),'value');endI= imdilate(I,SE);imshow(I);異或圖像global I I0I

19、= xor(I,I0);imshow(I);暫存圖像global I I0I0=I;imshow(I);黑白圖像global Ilevel=str2num(get(findobj('Tag','edit28'),'String');if (level>0)&(level<255) level=level/255;else level=graythresh(I);endI=im2bw(I,level);imshow(I);像素標(biāo)定global I lL=str2num(get(findobj('Tag','

20、;edit22'),'string');x,y=getline;l=L/sqrt(x(2)-x(1)2+(y(2)-y(1)2);set(findobj('Tag','edit23'),'string',num2str(l);set(findobj('Tag','edit24'),'string',num2str(l*l);目標(biāo)測量global I N=bweuler(I,4)A=bwarea(I) set(findobj('Tag','edit27&

21、#39;),'string',num2str(N);set(findobj('Tag','edit26'),'string',num2str(A);set(findobj('Tag','edit25'),'string',num2str(A/N);輸入數(shù)據(jù)global ay=get(findobj('Tag','edit17'),'string');x=get(findobj('Tag','edit32'

22、),'string');if isempty(a) a=strcat(x,'-',y);else a(end+1)=strcat(x,'-',y);endset(findobj('Tag','listbox4'),'string',a);連續(xù)腐蝕global b ai=0;pushbutton35_Callback();a=get(findobj('Tag','edit27'),'string');n=str2num(a);a=strcat(num2s

23、tr(i),'-',a);b=a;while (n>0), i=i+1; pushbutton24_Callback();pushbutton35_Callback(); a=get(findobj('Tag','edit27'),'string'); n=str2num(a); a=strcat(num2str(i),'-',a); b(end+1)=a;endset(findobj('Tag','listbox4'),'string',b);、清除數(shù)據(jù)glo

24、bal aa=;set(findobj('Tag','listbox4'),'string',a);數(shù)學(xué)建模data=get(findobj('Tag','listbox4'),'string');l=length(data);for i=1:1:l str=datai,:; k=strfind(str,'-'); x(i)=str2num(str(1:k-1); y(i)=str2num(str(k+1:end);endM=get(findobj('Tag',

25、9;popupmenu6'),'string');M=Mget(findobj('Tag','popupmenu6'),'value'),:;if strcmp(M,'Logistic') abc0=1,1,0.5;abc=lsqcurvefit(fun,abc0,x,y);factor=abc; elseif strcmp(M,'polynomial') prompt='Input Number'title='Input Number'numlines=1;answer=inputdlg(prompt);m=str2num(answer1); factor=polyfit(x,y,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論