CT數據中骨的等值面繪制程序的設計與實現課程設計_第1頁
CT數據中骨的等值面繪制程序的設計與實現課程設計_第2頁
CT數據中骨的等值面繪制程序的設計與實現課程設計_第3頁
CT數據中骨的等值面繪制程序的設計與實現課程設計_第4頁
CT數據中骨的等值面繪制程序的設計與實現課程設計_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章緒論1.1課題的研究內容與意義1.1.1課題的研究內容CT(ComputedTomography計算機斷層掃描技術)是指使用計算機科學中相關的手段對被檢測物體的截斷層進行掃描而得到圖像實施三維重建而得到三維斷層圖像的掃描方法,是醫(yī)學中常用的成像方式【1】。CT影像能揭示人體組織器官的三維結構與形態(tài),對于醫(yī)學診斷具有重要的參考價值。而等值面繪制是計算機圖形學中對科學計算數據的常用繪制方法,它從數值特性接近的三維點集中構建出三維網格,便于實時繪制。本課題擬針對CT數據中的骨,設計實現一個采用等值面繪制方法的三維骨形態(tài)顯示程序。本課題的目標是運用已經學過的程序設計知識,結合計算機圖形圖像處理的現有技術,設計實現一個采用等值面繪制方法的三維骨形態(tài)顯示程序。用戶可以操作該程序選擇等值面參數和繪制參數,可以讀取Dicom格式的CT影像數據進行骨的三維顯示。本課題有助于鍛煉我們的程序設計能力,尤其是對圖形圖像相結合的分析和編程能力,此外也可以拓展我們對醫(yī)學影像處理的了解和認識。為了完成本課題,需要我們具有扎實的數據結構和程序設計基礎,而且需要自主學習醫(yī)學影像處理相關的基本知識,以及醫(yī)學影像顯示方面的編程方法。在設計和實現本課題程序的過程中要遵循一般的軟件工程要求,具有比較規(guī)范的基礎文檔,具備比較完備代碼注釋,且進行了比較全面的系統(tǒng)測試。研究內容概括如下:(1)了解醫(yī)學影像處理相關基本知識。(2)理解MC算法基本原理。(3)用一種編程語言結合VTK庫實現等值面繪制程序。其中,程序的主要功能如下:(1)讀取Dicom格式的CT影像。(2)用戶可以設置等值面參數。(3)等值面繪制。(4)骨的三維顯示。1.1.2課題的研究意義 計算機斷層掃描(ComputedTomography,簡稱CT)技術及核磁共振成像(MagneticResonanceImaging,簡稱MRI)技術已普遍應用在病患的醫(yī)療領域中,然而,像這樣一些醫(yī)學設備只可提供物體內部的二維圖像。醫(yī)師需要憑借多年經驗根據很多幅二維圖像去預想病患部位的大小和形狀,這無疑給醫(yī)療診斷帶來了巨大困難【1】。隨著科學技術的不斷發(fā)展,社會的日益進步,醫(yī)學診斷的精確性與直觀程度的要求也愈來愈高。由于醫(yī)學圖像可視化的重要性日益顯著,所以在診療科學、整容美形以及外科手術、射線與化學治療等技術中已經廣泛應用【2】。1989年,美國國家圖書館根據專家的討論和建議,首先提出了一項被稱為可視人(VisibleHuman)的計劃【3】,并委托科羅拉多大學醫(yī)學院進一步研究。這項計劃的內容就是建立一個完整的男女人體的擁有詳盡剖解結構的數字化圖像庫。通過這項計劃的實施,能夠分析和重新建立出人體內部相應的器官和組織結構并將其三維顯示出來,最終構建出具有實在感覺的可視化人體三維效果,同時可以對重建出的虛擬可視人體進行各種透明處理、解剖分析等設置,便于進一步理解人體各組織器官的解剖結構。這對醫(yī)學教育及解剖分析起著非常重要的作用。不久前,一個令無數人為之激動的新聞在重慶市第三軍醫(yī)大學公布:中國第一個數字化可視人體已經在該校實驗建立完成,并且向海內外同時發(fā)布了這一系列“中國可視人”的數據集【3】,這一消息在海內外都引起了極大反響,這一成果也為我國給出了目前為止最為齊整、完備和詳盡的一套人體結構的基本數據和圖像資料,這一成果也向所有人宣布,中國已經發(fā)展為世界上除美國和韓國外,唯一具有本國可視化人體數據集的國家。1.2課題的研究現狀移動立方體(MarchingCubes)方法是目前為止最為流行的一種等值面三角化算法之一【4】,用于從三維標量場提取一個多邊形網格的等值面。它是基于基本立方體中剖分出來的體數據,隨后在每個立方體中都進行標準的三角剖分。在傳統(tǒng)方法中,MC算法是基于15個基本的三角剖分算法和由旋轉、反射、共軛等運算得出的256個基本三角剖分算法的組合。它的運算簡單高效,因為它的工作原理幾乎是完全關于查找表的【5】。但是傳統(tǒng)的MC算法中有很多缺點和需要改進的地方,許多學者對傳統(tǒng)MC算法的優(yōu)化進行了不懈的研究和創(chuàng)新。本文主要介紹了傳統(tǒng)MC算法的基本原理以及計算過程,并對傳統(tǒng)MC算法中的缺點進行了分析,列舉并比較了其他幾種改進和優(yōu)化的MC算法,包括SMC算法,MT算法,以及中點法簡化線性插值法,等值面頂點矢量平滑等方法。MC算法最主要有三個方面的問題:首先,由于移動立方體方法的原理所導致的局限性,所生成的三角面片僅僅能近似顯示出了需要求的等值面;第二點就是在體元的同一平面中,將兩條相鄰棱上的重合點采用線段隨便地連接起來只能趨于相似地表示所求等值面;另外,在移動立方體求等值面的方法中,若是體元的一個平面上的標為1和標為0的角點各處于立方體對角線的兩頭,那末就可以出現2種不同的連接形式,即出現所謂“二義性”【6】。面對移動立方體算法的這些缺陷,我們可以從以下三個方面對移動立方體算法進行改善:(1)選擇邊界跟蹤的方法確定邊界上的立方體。經過學者們的多次實驗證實,大致有九成以上的六面體都是在邊界里或邊界外,因為這樣一些六面體并不是邊界立方體,所以它們之間不存在等值面,如果只對剩下約占十分之一的邊界立方體進行處理,就能簡化算法的運算過程,從而顯著提高算法的效率。當開始選定邊界立方體時,可以利用查找每層斷面上的邊界線與之相交的立方體表面的方法,即將所有的邊界線順次操作完就能夠得到全部的邊界立方體;(2)選擇利用立方體棱邊的中點作為三角面片頂點的方法,而不是采用三次插值計算的方法,能夠節(jié)約大部分的運算時限。同時,考慮到兩相鄰斷層間的距離較小,其最大誤差只有立方體邊的長度的一半,并且一些顯示設備的分辨率比這個長度精度更小,因此該算法是可行的。(3)在知道的這幾種各不相同的鑒別和避免二義性的辦法中,漸進線法當之無愧的成為最為常用的辦法之一。當發(fā)生二義性問題時,邊界平面被雙曲線中的兩支切割成三個部分,容易得出的是,在雙曲線中兩條漸近線的重合點必定會與邊界中處于對頂線的兩個焦點落在相同的一個部分內【7】。通過此法可以消除二義性。 以下分別簡單介紹幾種MC算法的優(yōu)化。1.2.1基于CT數據的特殊MC方法(SMC法)針對標準移動立方體算法的缺陷及計算機斷層掃面技術圖像的特點,另外有一種特殊的MC算法,對原有的算法進行了一些改進,稱之為SMC算法【8】。(1)SMC算法的基本理論假設所有CT切片包含了一系列輪廓線P1,P2,?,Pn,對于體數據的每一個體素都定義了一個狀態(tài)函數f(x,y,z):fx=-1,&在通過這樣的變換后,三維空間中的數據就會轉化為三維場,每個體元頂點(x,y,z)的狀態(tài)值根據這個點與這個點位于的平面上所有輪廓線之間的關聯(lián)來判斷,即在其上、在其內或在其外。因為所有的體元都有八個角點,按照狀態(tài)值可以將體元上各個角點標為0、-1或+1,且體元的各條邊上的數值是線性變化的。所以容易得出,邊界面通過的頂點狀態(tài)值為0;假如體元上一條邊的兩個頂點分別為-1和+1,則可以得出等值邊界面與該棱相交;假如某個棱的所有頂點都是同號的,顯然有等值邊界面與該棱不存在交點。當等值邊界面與某條棱相交,則該棱的中點可以當作交點。(2)SMC算法的實現及結果SMC算法是在有序二值圖像上進行的【9】。首先在內存中讀入4張相鄰的CT二值圖像,按順序記為CT1,CT2,CT3,CT4,其中CT2和CT3是需要構建三維的斷層,而利用中心差分法計算各個頂點的法向時將會用到CT1和CT2。然后計算這4張CT中各點的狀態(tài)值,進行預處理后,可直接根據該點的灰度值:灰度0對應狀態(tài)1,灰度128對應狀態(tài)0,灰度255對應狀態(tài)+1。再根據狀態(tài)值,利用中心差分方法,可以算出CT2和CT3中各個點的法向。如果f(x,y,z)表示體素(x,y,z)的狀態(tài)值,則這個點的法向可以通過以下三個式子來表示為:NxNy=fx,yNz=只要得出這條邊上兩個端點法向的平均值,就可以得出這條邊上中點的法向。接下來用上述的方法生成體元,并在體元內重新構建出三角面。通過這個結構,重建出的三角形通過雙向鏈表的方式將數據存儲在相應內存中,而且通過J頃序的順序生成,就可以得到需要的三維幾何圖像【9】。1.2.2用中點法簡化線形插值在規(guī)范的移動立方體算法中,每一個內部包著等值面的立方體都十分有可能會有一個以上乃至更多的三角面片,如此一來就會使每一個三角片都非常小,乃至比像素更加微小,因此用中點代替頂點造成的更動對最后成像質量的影響不明顯。選擇中點法而不是兩個端點能夠躲開線形插值中的運算相重復的部分,進一步讓計算變得簡單【10】。每一次線形插值都得進行代數運算四次,想得出三個頂點就必須進行十二次運算。如果使用中點法代替頂點,確定頂點位置僅需要3次計算,進而能夠明顯減少計算量,顯著提高運算速度。中點法保留等值面的拓撲結構而僅僅變化的是產生幾何多邊形等值面的端點的位置,所以使用中點法的最大誤差小于或等于半個立方體【11】。同理對于只有兩個值的相應體數據(數據的值僅為0或1)來講,如果所求等值面為相對大的值,則此近似誤差就是最大的近似誤差;如果范圍在0到1,就沒有近似誤差。三角面片數量越多,相對誤差越小,在三角面片極多的情況下,其近似誤差是幾乎可以忽略的。另外,中點法可以縮小立方體中的三角面片的數目,進而令各立方體內部或相鄰立方體之間銜接的三角面片歸只并成一個空間幾何多邊形。1.2.3等值面頂點的矢量平滑利用MC算法重建出的三維圖像,其顯示結果的可視性和清晰度常常并不能十分令人滿意。由于體數據場中的各種噪聲往往會對立方體單元內部的三角面片的位置和方向造成影響,嚴重的情況下,會招使三維顯示的效果出現明顯的“鱗狀效應”【11】。為了獲得更加理想的三維顯示效果,可以將等值面的數據場剖化成兩部分,一部分是三維坐標,另一部分則是法向矢量場,利用對等值面剖化出的法向矢量場的矢量實施平滑操作的方法,可以獲得相對合適的平滑結果與平滑速率【12】。等值面矢量平滑方式保留了曾經等值面上三角片的坐標的位置和狀態(tài)值,還可以憑借光照模型中的濃淡繪制原理,利用增加面片上法向矢量之間連續(xù)相關性,進一步取得三維繪制的平滑效果。1.2.4MT算法簡述MC算法中,在體素的同一個平面上,若標記為1的端點和標記為0的端點(1、0分別表示位于等值面內部或者位于等值面外部),各在對角線的兩頭,就會導致表現出一對不同的銜接形式,即存在所謂“二義性”,這種結果會進一步造成沖突的拓撲流型在相交平面上產生,所生成的等值面就會出現“孔”的問題。MarchingTetrahedral(移動四面體)方法簡稱為MT算法,此算法發(fā)明時間較MC算法較晚,但已經顯示出巨大的發(fā)展?jié)摿ΑK歉鶕苿恿⒎襟w方法的基本原理和計算過程開發(fā)的,同時,它與移動立方體方法還有很多不同的地方。其一,MT算法最初會將體素立方體化解成四面體,接下來在它里面提取等值面。在四面體剖分完成后,四面體中等值面的剖分模式縮減,算法實現更加簡單。而且,MT算法生成的等值面比MC算法產生的等值面精度要高。而采用此方法最重要的原因是以其改善MC算法中存在二義性問題【1】。等值面在四面體中有重合部分時,只會產生有重合部分的三角形或有重合部分的平行四邊形,從而有效的避免了二義性問題。1.2.5MC算法的效率改進標準的MC算法需要處理和計算三維數據場中的所有立方體體素。但一般來說,等值面僅僅與三維體數據場中的個別體素有重合部分,所以這樣一來,致使白白消耗了計算的時間,也是算法效率不高的重要原因。因此,沒有必要依次處理整個數據場。以至于解決這種現象帶來的困擾,有學者提出了對MC算法效率方面的創(chuàng)新:假如立方體體素與等值面有重合部分,那么等值面必然會在這個六面體的各個面的方向上持續(xù)延長。若一個立方體與等值面有交點,則該立方體的六個面中有若干個面將與等值面有交線,且與該立方體相鄰的立方體(前后左右上下各個方向相鄰的立方體)中的三角片將會按照特定的順序延伸。綜合上述考慮,可以令數字0、3、4、5、或6來給十五種基礎等值面構造類型分別加上一個標識,以顯示該體素必需交流的周邊六面體的數量。大量實驗表明,百分之九十的等值面是由六種常見情況構成的【13】,所以上述方法可以大量節(jié)省計算時間。1.3本文的組織結構第一章,緒論。主要介紹了本課題的研究內容,研究意義,研究現狀以課題的應用和發(fā)展,并進行了本文的內容組織。第二章,詳明闡述了移動立方體算法的基本原理和計算方法。也介紹了等值面繪制程序的開發(fā)語言及開發(fā)工具等。第三章,詳細介紹了骨的等值面繪制程序的開發(fā)過程和實現過程,以及實現過程中遇到的問題和解決方法。第四章,對實驗結果進行比較分析。第五章,對本次設計進行了簡單總結,并對骨的等值面繪制程序中存在的不足提出改進方案。1.4本章小結通過調研大量文獻和相關資料,全面了解了課題的研究內容與實踐意義,并根據課題的發(fā)展現狀,考察了關于面繪制中重要算法MC算法的一些改進方法,對MC算法的優(yōu)缺點進行了對比。最后,列出了本文的組織結構。CT數據中骨的等值面繪制第二章課題相關算法及開發(fā)工具介紹第二章課題相關算法及開發(fā)工具介紹2.1MarchingCubes算法2.1.1MarchingCubes算法介紹醫(yī)學圖像的三維可視化的各種方法中,主流情況下可以分成兩種,即面繪制和體繪制。體繪制更能真實地反映對象的具體構造,但因為它的運算量巨大,即使使用高性能的計算機也不能完全滿足實際應用與工作中交互操作的需要【14】。因此,面繪制是目前醫(yī)學圖像三維可視化中的主流算法。MarchingCubes(移動立方體,簡稱MC)方法是三維等值面面繪制方法法中的傳統(tǒng)算法,它是由W.Lorensen等人在二十世紀八十年代提出來的一種體素級重建算法【15】。由于它的原理簡單,容易實現,所以得到了廣泛的應用。MC算法散布在每一個體素中都進行等值面提取,所以也被稱為分而治之的方法。在各個被操作的體數據單元中,利用三角面片來逼近表示體數據單元里面的等值面。三維體數據中的每個體素就是一個小立方體,對每個體素都“掃描”一遍來生成三角面片,似乎是一個小型的運算機在每個體數據單元上轉移一樣,MC算法的名字就是這么來的。移動立方體方法就是在產生等值面的過程當中將一套二維切片的數據看作是一個三維的體數據場,并且在里面把具備某種特定的值的結構剖分出來,再以某種特別的拓撲形式銜接成三角面片,所以MC方法有時也可以叫做“等值面提取”方法【14】。當實施在醫(yī)療領域中時,利用MC方法能夠重建出人體外面的輪廓線條、內部的組織結果甚至器官的表面褶皺,這樣醫(yī)師就可以直接在三維圖像上觀察需要觀察的部位。2.1.2MarchingCubes算法基本原理在移動立方體算法中,需要先假設原始數據相當于有規(guī)律的離散三維空間數據場,例如實施于醫(yī)學診療的計算機斷層掃描CT圖像就屬于這一類型。移動立方體方法的核心思路是依次對數據場中的每個立方體進行操作,尋找那些與等值面有重合部分的立方體,接下來利用線性插值的方法得出等值面與六面體棱的重合點【14】。然后憑借六面體上每個角點與等值面的相互坐標關系,把等值面與六面體棱上的重合點按特定的形式銜接,構造出等值面,以其成為等值面在該立方體里面的一個逼近的表示。因而,移動立方體方法中每個體數據最小單元里面的等值面生成辦法簡單分析可知有這樣幾個步驟:(1)體數據最小單元中利用三角面片逼近的等值面運算;(2)三角面片各頂點法向量計算。移動立方體方法的基本原理是:首先在三維體數據場中構造出等值面,接下來尋找通過該等值面的體數據最小單位元,再得出該體元里面的等值面并得出相應數值,這樣做十分有利于利用經常使用的工具包或圖像硬件應用程序構造出等值面【16】。在醫(yī)療領域的應用中,利用MC算法能夠有效地重建出人體外的外部輪廓、內部組織及器官,使醫(yī)師可以方便直觀地在三維圖像上考察需要的器官與相鄰組織之間的相互位置關聯(lián)。另外,MC算法可以充分、高效地使用GPU加速,不僅便于實時繪制,而且重建出的圖像質量較高【16】。移動立方體算法的基本過程如下:1)每次讀出兩張切片,形成一層。2)將上下一對切片所相呼應的總共八個點構成一個六面體,就像圖2.1所示。3)按照從左向右、從前向后的一定次序操作一層中的六面體(提取每個六面體中的等值面),然后再按從下向上的次序同上操作至n-1層【16】。上層切片上層切片下層切片圖2.1Cubes示意圖在每個體素六面體中,六面體的八個角點的值能夠通過從輸入的體數據中獲得。而需要構造的等值面的閾值則應該是由用戶設定,因為構造出來的組織的密度值就是根據等值面的閾值來構造的。例如,骨骼的密度是比較大的,所以需要設定的等值面閾值也就相應地要大一點,接下來按照體數據的信息就能夠提取出等值面中的三角面網格。2.1.3標準MC算法的計算過程移動立方體算法首先設當原始數據是有規(guī)律的離散的三維空間數據場(例如CT、MRI等圖像)時,沿立方體的棱方向上的數據場是線性的、連續(xù)變化的【16】。若六面體一條棱上的一對角點的狀態(tài)值各是大于、小于等值面的閾值,則在這條棱上有且僅有唯一的一個點是這條棱與等值面的重合點。當三維體數據場中的體元被順次依序進行移動立方體操作,即尋找等值面與這些體元的重合點,從而進一步找出體元內部的等值面,這就是移動立方體的基本算法。上述提到的體元是指由相接兩層的相接的八個體數據最小單元所形成的六面體,且八個體數據最小單元剛好組成六面體的八個頂點。如圖2.3。((i,j+1,k-1)(i,j,k)(i+1,j+1,k-1)(i+1,j+1,k)(i,j,k-1)(i+1,j,k)(i+1,j,k+1)第k+1層第k層圖2.3數據場中的一個體素三維數據場中取值相同的全部點的集合構成了等值面。它能夠用以下函數關系來表示:{(x,y,z)|f(x,y,z)=c},c為常數由上式顯然可知,等值面的值為c,所以對于每個體元來說,當體元的八個角點值都大于閾值c或者都小于閾值c時,則體元里面沒有等值面;如果有的頂點值大于c,有的頂點值小于c,體元內存在等值面。嚴格來說,等值面屬于幾何曲面,其解析表達式非常復雜。為了能更加容易地對其進行描述,我們近似地認為等值面是許許多多由三角形組合的等值面片構成的。所以,提取等值面的問題就可以等效為在每個體素內找出由三角形組合成的等值面片的問題。對于每個體元,我們把函數值大于c的頂點標為1,把值小于c的頂點標為0,則依據一條棱上兩個頂點的狀態(tài),就能夠確定等值面是否與它相交。因為所有的體元都有有八個角點,且每個角點都能夠取兩種的狀態(tài)值,所以每一個體元將有28=256個能夠出現的狀況。利用三維空間的等效對稱性,通過旋轉、平移等簡單空間操作,我們可以把這256個狀態(tài)簡化成15種互不相同的狀態(tài)【16】。圖2.4列出了能夠取到的十五種形態(tài)的等值面的分布。001234567891011121314圖2.4移動立方體算法的基本組合。黑色的圓圈代表等值面內的體素。等值面的標準三角化是在每一個立方體中進行的。通過旋轉和反射的基本原則可以得到所有可能的組合。對于立方體中的某條棱邊,假如它的兩個頂點V1、V2標記的狀態(tài)值不是相同的,那么選定的等值面必然與此棱邊有相互重合的部分。(a)當體素的一條棱邊與X軸方向相同時候,假設該邊的兩頂點分別為V1(i,j,k),V2(i+1,j,k),則等值面與體素重合點為V(x,j,k),且c是等值面值,就有以下關系:x=i+c-(b)同理,當體素這條棱邊與Y軸方向相同時候,假設這條棱邊的兩頂點分別為V1(i,j,k),V2(i,j+1,k),那么等值面與體素重合點為V(i,y,k),則有:

y=j+c-(c)當體素的這條棱與Z軸方向相同的時候,先設置這條棱的兩角點分別為V1(i,j,k),V2(i,j,k+1),那么等值面與體素重合點為V1(i,j,z),則有:

z=k+為了成功繪制出能夠直觀體現的等值面,等值面中每個三角面片的法向量都是必需的。在實際工程應用當中,因為直接計算三角面片法向量時復雜性十分巨大,所以一般不直接給出三角面片的法向,取而代之的,是給出三角面片各個頂點的法向,即實際計算時是采用中心差分方法計算的【14】。在三維體數據場中,設有一個點的取值用f(xi,yj,zk)進行運算,且在X軸、Y軸、Z軸方向上相鄰兩點間的距離分別為△x、△y、△z。則這個點的梯度矢量(gx,gy,gz)能以下面這個關系式子得出:gQUOTEgy=(fxi,yj+1,zg2.2開發(fā)語言及工具介紹本程序將采用C++語言開發(fā),界面用C#編寫,并基于VTK庫實現。本節(jié)將對C++、C#、VS2010及VTK進行簡單的介紹。2.2.1開發(fā)語言C++介紹C++是一款常用的,且應用十分普遍的計算機編程類語言。它是一種由非動態(tài)數據類型驗收的、并且支持許多種編程方法的通用計算機程序設計語言。它支持過程化程序設計、數據抽象、面向對象程序設計、泛型程序設計等多種程序設計風格。其編譯器比目前其他幾種計算機語言的編譯技術更為復雜。最新正式標準C++11【18】已于二零一一年八月十二日公布。2.2.2界面開發(fā)語言C#介紹C#(CSharp)是微軟公司在兩千年七月份開發(fā)完成的一種嶄新的、便捷的、安全的、面向對象的程序設計語言,是特意為.NET的應用程序而開發(fā)的語言【19】。它借鑒了C++、VisualBasic、Delphi、Java等各種程序設計語言的長處,歸納了VB中便捷的可視化處理機制和C++的高超運行效能。由于C#具有強大的操作能力、優(yōu)美的語法風格、獨樹一幟的語言特性和簡單快捷的面向對象編程的支持,而使它成為.NET程序開發(fā)設計的首選語言,顯示了現今最新的程序開發(fā)設計技術的功能和精髓。.NET框架也為C#提供了一個強大的、簡單易用的、邏輯結構一致的程序設計環(huán)境。另外,公共語言工作時也為C#程序提供了一個工作時可以托管的環(huán)境,使程序比以前更加穩(wěn)定、安全。2.2.3編程工具VS2010介紹由微軟公司開發(fā)設計的開發(fā)環(huán)境VisualStudio【20】是當前最為流行的Windows平臺下的應用程序開發(fā)環(huán)境。VisualStudio的2010版本于二零一零年四月份正式發(fā)行,它重新設計和構造了集成開發(fā)環(huán)境(IDE)的界面,變得更加通俗易懂。VisualStudio2010同時也帶來了NETFramework

4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP)等程序開發(fā)框架,而且它還支持開發(fā)和設計實現面向Windows7操作系統(tǒng)的各類應用程序。在連接數據庫方面,VS2010不僅支持MicrosoftSQLServer,還支持IBMDB2和Oracle數據庫。2.2.4開發(fā)工具VTK概述VTK(VisualizationToolkit可視化工具包)是一個面向對象的可視化類庫,由美國Kitware公司開發(fā)。它支持體繪制并支持提供多種不同的體繪制技術,降低了開發(fā)難度【21】。當前,使用VTK實現對醫(yī)學圖像的可視化是一個熱門。VTK是基于Windows/Unix環(huán)境下的,并支持多種編程語言,比如C++、TCL、JAVA、PYTHON。VTK采用流水線【22】機制。其中,流水線利用source當作開始來讀取源數據。接下來Filter對源數據進行預處理,同時產生數據輸出。源數據經過filter進行操作后得到所需的結果,接下來使該結果利用mapper映射成為圖形數據。當進行數據效果的體現時,利用actor作為繪制窗口的實際對象來領受mapper傳過來的已經處理好的數據相關屬性。最后使用Render來顯示最終結果的圖形。另外,就算只有一個Render,也是可以同時示范多個實際對象Actor的。使用可視化工具包VTK來實現CT圖像的可視化,根據算法和數據結構判斷,實質上是一個類似讀取數據和圖形顯示的問題【23】。對與已經給出的計算機斷層掃描CT圖像,由于這些圖像肯定與DICOM3.0標準相符,所以想要讀取它們比較容易,即在設計程序時只須設置好必需的數值,就能夠打成對一幅計算機斷層掃描CT圖像甚至計算機斷層掃描CT圖像序列的讀取。在可視化工具包VTK中,為了更加高效地操作如此巨大的類庫,我們不妨根據某一個類在類庫中的功能,將類庫中的類分成如下幾個部份:公共部分(common)、圖形處理部分(graphics)、圖像處理部分(imaging)、讀寫文件部分(I/O)、渲染繪制部分(rendering)以及數據轉換部分(filtering)等,每一個部分都已經被編譯成相應的動態(tài)鏈接庫。2.3本章小結 對面繪制中的重要算法,移動立方體(MarchingCubes)算法進行了深入學習研究,掌握了MC算法的基本原理和計算過程,并與第一章中所述的改進算法做比較,體會MC算法的中心思路。最后,介紹了關于本程序的開發(fā)語言和開發(fā)工具。CT數據中骨的等值面繪制第三章設計與實現第三章設計與實現3.1程序的總體設計3.1.1系統(tǒng)的需求分析作為三維可視化中的重要方法,面繪制有著非常重大的實際意義。該程序的目標是從本地讀取顯示Dicom格式的CT圖像,用等值面繪制的方法進行骨的三維顯示,且用戶可通過界面修改等值面參數,從而比較繪制出的不同效果。為了使該程序使用更加簡單方便、功能更加完善、執(zhí)行效能更高,則本程序設計應滿足以下需求:(1)具備完善的程序操作界面,確保應用程序能夠簡單、便捷的操作;(2)能方便地查看檢測結果以及檢測信息;(3)運行較快速,顯示直觀;(4)正常使用時避免出錯,若運行時遇到突發(fā)錯誤,程序不會影響到本地文件。3.1.2程序的總體設計思想 本程序是基于VTK庫實現的,需要對VTK的應用實例進行大量調研,包括用到的主要類和參數。首先應設計實現程序中讀取Dicom格式的CT圖像的功能(可以利用vtkDICOMImageReader、\o"讀16位的圖像文件"vtkVolume16Reader),然后調用VTK中已經實現的經典等值面三角化算法,即移動立方體算法(vtkMarchingCubes)生成三角面片,用于提取等值面。同時將生成的三角面片拼接成等值面(vtkStripper),最后建立映射(vtkPolyDataMapper),將經過的CT數據映射為多項式的幾何數據。另外,為了能使程序清晰直觀的進行骨的三維顯示,還需要創(chuàng)建一個繪制對象(vtkRenderer)和繪制窗口(vtkRenderWindow),同時創(chuàng)建一個Camera(vtkCamera),并設置視覺屬性,使用戶可以對生成的三維圖像進行旋轉、平移等簡單空間操作。 程序的界面設計方面是用C#語言編寫的,用C#編寫界面有簡單易懂,可操作性強等優(yōu)點。界面的主要功能是讓用戶可以通過界面修改等值面參數,從而通過對比不同參數的繪制結果,了解閾值不同部位的三維顯示情況,以達到應用醫(yī)療,獲取病變信息的目的。并且界面一定要簡單易懂,讓用戶可以容易操作。 界面的設計思路是在繪制程序中,將需要修改的參數(等值面參數)設為變量,通過C++中的方法將變量設為讀取一個本地文件(txt)中的數據,然后用C#設計一個界面,把界面中的等值面參數寫入本地文件(txt)中,進而實現了用戶可以通過界面修改等值面參數的功能。同時根據軟件工程的基本要求,界面中也增加了用戶退出提示。開始開始否頂點像素值>b?否頂點像素值>b?頂點在等值面下頂點在等值面下讀取Dicom格式CT圖像讀取Dicom格式CT圖像是是分別取分別取兩圖層中相對的4個體素組成一個立方體的8個頂點頂點在等值面上逐層掃描小立方體,形成三角面片逐層掃描小立方體,形成三角面片設置等值面閾值b設置等值面閾值b拼接等值面拼接等值面繪制三維圖像繪制三維圖像結束結束圖3.1程序流程圖程序流程圖如圖3.1,實現主程序步驟如下步驟1:讀取Dicom格式CT圖像;步驟2:將讀取的一套三維圖像看成是一層層的圖層,接下來從相鄰的兩個圖層中各取相對的四個體素組成一個立方體的八個頂點,從而將圖像分成若干個小立方體。步驟3:按照小立方體的每個角點與設置的閾值大小關系將立方體的角點用0或1標明狀態(tài)值,角點小于閾值的狀態(tài)值標為0,角點大于閾值的狀態(tài)值標為1。步驟4:采用線性差值的方法計算得出等值面與立方體邊的交點(重合點),然后將交點連接起來形成三角面片。步驟5:將三角面片拼接,形成等值面;步驟6:繪制三維圖像。3.2程序的實現3.2.1讀取Dicom格式的CT圖像功能的實現根據調研大量文獻的結果以及參考VTK用戶手冊,讀取圖像可以用vtkImageReader、\o"讀16位的圖像文件"vtkVolume16Reader、vtkDICOMImageReader等方式讀取,而vtkImageReader雖然讀取速度較快,但寫起來較為繁瑣;而\o"讀16位的圖像文件"vtkVolume16Reader可讀取16位圖像,優(yōu)點是不限定Dicom格式,缺點是文件后綴要以.1.2.3…來命名,操作復雜,并且無法讀取數量較多的圖片,這是因為vtkArray類沒有辦法帶動數量龐大的數據,否則會導致圖像錯位;所以我最終還是選擇了常用的vtkDICOMImageReader。部分實現代碼如下:vtkDICOMImageReader*reader=vtkDICOMImageReader::New();reader->SetDirectoryName("D:\\brain\\brain\\DICOM\\");//設置文件名前綴,即讀取文件路徑;3.2.2實現提取等值面 本程序利用VTK中已經實現的MC算法提取等值面,又因為需要用戶可以通過界面調整等值面參數,所以等值面的值需設為一個變量。再利用面繪制的經典算法MC算法,把標量屬性數據和結構化的數據集對象同時作為輸入,并輸出等值線形成的圖形(如點、線和三角形)。即vtkMarchingCubes。3.2.3視覺屬性的設置創(chuàng)建一個Camera(vtkCamera),并設置視覺屬性,包括漫反射光的顏色、鏡面光系數、鏡面光強度以及Camera位置等。視覺屬性:SetDiffuseColor(1,0.49,0.25);//設定顏色,漫反射光的顏色SetSpecular(.3);//高光反射,鏡面光系數SetSpecularPower(20);//設置鏡面光強度,高光強度相機屬性:SetViewUp(0,0,-1);//設置相機的“上”方向SetPosition(0,1,0);//位置:世界坐標系,設置相機位置SetFocalPoint(0,0,0);//焦點:世界坐標系,控制相機方向ComputeViewPlaneNormal();//設定視平面法線3.2.4界面的設計實現本程序的是用C#編寫界面,把在界面中輸入的等值面參數寫入本地文件(txt)中,當啟動繪制程序時,會重新讀取本地文件(txt)等值面參數進行繪制,從而實現用戶可以通過界面修改等值面參數的功能。同時根據軟件工程的基本要求,也根據軟件測試中要求的軟件容錯性,界面中也增加了用戶退出提示。程序界面簡單分為以下四個部分:(1)設置“設置等值面的值”按鈕,將文本框里的數據寫入設置好的本地文件(txt格式)中,如果本地文件不存在,就新建一個本地文件,然后將數據寫入。FileStreamfs=newFileStream(@"C:\Users\asus\Desktop\yl.txt",FileMode.OpenOrCreate);StreamWritersw=newStreamWriter(fs);sw.Write(this.textBox1.Text);(2)設置“重置”按鈕,先查找(1)中的文件是否存在,假如文件存在,則將(1)中文件刪除。(3)設置“開始繪制”按鈕,運行繪制主程序。(4)根據軟件工程的基本要求,同時也根據軟件測試中要求的軟件容錯性,界面中也增加了用戶退出提示。最終實現界面效果如圖3.2。在文本框中輸入等值面閾值,點擊“設置等值面的值”,再點擊“開始繪制”,則程序可根據輸入的值繪制相應的三維圖像;如需更改等值面閾值,則可點擊“重置”來重新設置。(a)原始界面(b)用戶退出提示圖3.2程序界面3.3本章小結 首先通過第一章的調研和第二章的學習,對程序進行需求分析,并構思程序的總體設計思想。然后,利用熟悉的程序語言并基于可視化工具包VTK庫,依次實現了課題要求的相關基本功能。CT數據中骨的等值面繪制第四章實驗結果第四章實驗結果程序中已經通過經典的移動立方體(MC)算法設計實現了CT數據中骨的等值面繪制。根據前面第二章的介紹,MC算法的基本思想將讀取的一套三維圖像看成是一層層的圖層,接下來從相鄰的兩個圖層中各取相對的四個體素組成一個立方體的八個頂點,從而將圖像分成若干個小立方體。然后,根據小立方體的頂點與給定閾值的大小關系將立方體的頂點以0或1標明,即頂點小于閾值標為0,頂點大于閾值標為1。進而就能夠比較出部分立方體和所選定閾值的等值面相交,接下來可以利用線性差值的方法來計算出等值面與立方體的棱邊的交點,然后將所以立方體的棱上的交點全部連接起來形成三角面片,并將三角面片拼接成等值面,最終繪出三維圖形【24】。所以,根據所選等值面閾值的不同,繪制的結果也必然不同。另外,當視覺屬性的相應參數發(fā)生變化時,繪制的效果也會有所不同。4.1等值面閾值不同時的繪制效果將繪制程序中的等值面的閾值設為200時,繪制后觀察不到三維效果,說明選取閾值過小,等值面與圖像中立方體沒有交點。將繪制程序中的等值面的閾值設為250時,繪制結果如圖4.1(a),繪制結果已經可以將骨頭完全顯示出來,但同時會將與骨頭密度接近的血管壁繪制出來。將繪制程序中的等值面的閾值設為300時,繪制結果如圖4.2(b),繪制結果可以將骨頭比較完整得顯示出來,但骨頭之間連接處密度較小的部分會出現微小孔隙。將繪制程序中的等值面的閾值設為350時,繪制結果如圖4.3(c),繪制結果也可以將骨頭顯示出來,但骨頭之間連接處密度較小的部分孔隙變大。將繪制程序中的等值面的閾值設為400時,繪制結果如圖4.4(d),骨頭之間連接處密度較小部分產生的孔隙進一步變大,已經影響了骨頭的直接觀察效果。閾值為250(b)閾值為300(c)閾值為350(d)閾值為400圖4.1等值面閾值不同時的繪制效果4.2漫反射光顏色參數不同時的繪制效果漫反射顏色的參數是根據傳統(tǒng)的RGB顏色對照表設置的。這種類型圖像僅由三種源顏色構成,我們能夠調節(jié)參數使三原色根據不同的比例互相糅合來得到不同的相應顏色。所以當RGB的值進行變化時,會使繪制結果呈現不一樣的效果,如圖4.2,三幅圖像分別是R值、G值、B值所占比重大時的繪制效果,呈現出的組織顏色分別偏紅、偏綠、偏藍。(a)R值占的比重大(b)G值占的比重大(c)B值占的比重大圖4.2漫反射光顏色參數不同時的繪制效果4.3鏡面光系數不同時的繪制效果鏡面光(高光)系數對繪制結果的直接影響主要體現在圖像的反射亮度上,進而間接對圖像的不同組織部分的對比造成影響。從圖4.3可以看出,隨著高光系數的增大,呈現出來的圖像亮度越大,反射越強烈。(a)高光系數為0(b)高光系數為0.5(c)高光系數為1.0圖4.3鏡面光系數不同時的繪制效果4.4實驗結果總結 通過比較不同等值面閾值的繪制結果,可以了解不同組織部分的密度大小,從而判斷骨頭等組織的健康情況。進一步觀察就可以大致估算出,能比較完整清晰的顯示效果的等值面閾值大約在250到300之間,具體數值通過簡單的實驗還不能精確測量,因為有很多客觀因素會干擾實驗效果,包括體數據的差異,不可避免的誤差等等。 通過設置漫反射顏色的參數,可以根據喜好調整繪制效果的顏色,本著選擇與實際骨頭較為相似的顏色的原則,我的漫反射顏色設為(1,0.49,0.25)。 通過設置鏡面光系數可以調整繪制結果的反射亮度,較大的鏡面光系數會讓繪制效果有光澤,亮度大。選擇合適的鏡面光系數可以讓顯示效果更加直觀。經過反復比對,我最終設置鏡面光系數為0.3,這樣選擇的效果既不會使亮度過大,給觀察帶來困難,也不會因為沒有光澤而顯得不美觀。 CT數據中骨的等值面繪制第五章總結第五章總結5.1總結5.1.1畢業(yè)設計所做的工作根據課題的要求,做了許多準備工作。在設計實現程序的同時,通過處理在實現過程中遇到的問題,也在不斷地學習新的知識。對于本次畢業(yè)設計過程中所做的工作,總結如下:(1)查閱相關的文獻,了解面繪制的基本內容、研究意義與國內外研究發(fā)展現狀等,同時與指導老師溝通,明確本課題的需要實現的主要功能,并且進行了用例分析。(2)學習了本課題中涉及到的核心思路方面的知識,如移動立方體算法的基本知識,C#開發(fā)語言和開發(fā)工具VisualStudio2010,以及可視化工具VTK的基本操作。(3)根據本課題的要求和特點進行了程序的總體結構設計和功能分析,并進行了各個功能模塊的詳細設計。(4)進行程序的開發(fā),對各個功能不斷地進行測試和修改。遇到問題就通過查找資料或者請教同學來解決問題。(5)程序在初步完成之后,與指導老師交流,根據指導老師的要求和建議,進行了調整和改進。(6)進一步對程序的功能進行了完善,除了完成課題要求的CT數據中骨的等值面繪制功能之外,為了方便用戶使用,設計了簡單易用的圖形界面。(7)整理在學習課題相關技術時搜集的文獻資料和在程序設計與實現過程中的開發(fā)文檔,撰寫畢業(yè)論文。5.1.2畢業(yè)設計的心得體會在本次設計過程中,通過查閱和翻譯各種文獻資料,我對課題的內容有了初步的了解和認識,之后通過認真學習思考以及指導老師和同學們的幫助,讓我對本課題中用到的相關技術和知識有了更加深入的了解,同時也讓自己的分析能力、翻譯能力、編程能力、文字表達能力等多方面的能力了有很大的提高。經歷本次畢業(yè)設計,讓我在學到了很多知識,提高了自身的能力之外,還得出了以下幾點心得體會:(1)在進行設計之前,大量的調研工作是非常重要的,包括相關中英文文獻的調研,相關參考書目的調研,相關網站幫助文檔的調研以及實例教程的調研。這樣就會使后期的工作更加得心應手。(2)設計之前要對使用到的移動立方體算法進行深入的學習,理解基本原理和計算過程,同時簡單了解關于MC算法的改進思想,這對于后邊程序的設計和實現都有很大幫助。(3)進行程序設計時,要盡量使用開發(fā)工具和各種專用處理庫所提供的各種功能,這樣不僅可以大量減少代碼量,而且減少了代碼的Bug數目,同時還提高系統(tǒng)的運行效率。(4)在課題要求的繪制程序完成后,設計一個簡單易用的界面會使程序更具有可操作性。(5)系統(tǒng)完成后,非常有必要對系統(tǒng)進行完整的測試,從而在最大程度上發(fā)現并排除系統(tǒng)中存在的Bug。5.2展望 醫(yī)學三維圖像的可視化在醫(yī)學輔助診療領域一直發(fā)揮著極其重要的作用和巨大的發(fā)展?jié)摿ΑR驗榈戎得胬L制方法的繪制速度比較快,所以在手術導航操作,虛擬內窺鏡和放射療法計劃等許多領域【25】都有著非常廣泛的應用。 在許許多多的面繪制方法中,影響最大的是二十世紀八十年代由Lorensen等人提出的MC算法【4】。MC方法運算準確、實現便捷,是目前最風行、最有效的面繪制算法之一,同時在各種商業(yè)化軟件和圖形圖像軟件當中也有它的身影。但是傳統(tǒng)的MC算法中有很多缺點和需要改進的地方,許多學者對傳統(tǒng)MC算法的優(yōu)化進行了不懈的研究和創(chuàng)新。包括SMC算法,MT算法和后來仍由Lorenson提出的剖分立方體算法(DividingCubes)【26】。此外還有簡化MC算法計算,提高運行效率,改善繪制質量的改進方法,比如中點法簡化線性插值法,等值面頂點矢量平滑等方法。在本次畢業(yè)設計中,我選擇了利用傳統(tǒng)的MC算法實現等值面的繪制,這是目前面繪制中應用非常廣泛的常用算法,并且在VTK中已經實現,可以直接調用。由于接觸C#語言和可視化工具包VTK庫的時間比較短,對它們的運用還不夠熟練,所以設計實現中花費的時間較長,完成的程序還有著可以改進提高的地方,繪制所需要的時間也偏長。此外,程序的界面也比較簡單,用戶能自己調整的參數不多。因此,我覺得該程序還可以往以下幾個方面進行擴展:(1)考慮應用調研相關文獻時了解的改進MC算法進行繪制;(2)增強程序界面的功能,讓用戶可以隨意調整更多需要用到的參數;CT數據中骨的等值面繪制第五章總結(3)優(yōu)化系統(tǒng)的設計,提高其運行效率。CT數據中骨的等值面繪制結束語結束語本程序實現CT數據中骨的等值面繪制,并設計了簡單易用的界面,方便用戶操作。感謝同學們不斷對我提供的寶貴意見和大力支持,幫助我克服了很多困難,同時也讓我擁有了敢于面對挑戰(zhàn)的勇氣。同時也非常感謝XX老師,從課題的各個部分都非常仔細認真的幫我把關,對我的畢業(yè)設計幫助很大。最后還要感謝家人對我的支持。通過本次畢業(yè)設計,發(fā)現了自己有許許多多的不足之處,同時我也深刻的認識到自己在動手實際操作經驗上的不足,明白了只有課本上的理論知識是明顯不夠的,需要更多的磨練才能真正提高自己的能力。CT數據中骨的等值面繪制參考文獻參考文獻洪鋒,梅炯,李明祿,醫(yī)學圖像三維重建技術綜述[N],中國圖像圖形學報,2003年特刊:784~791.羅述謙,周果宏.醫(yī)學圖像處理與分析[M].北京:科學出版社,2003:105~106.春光,段會龍,呂維雪.VisibleHuman計劃的發(fā)展與應用[J].國外醫(yī)學生物醫(yī)學工程分冊,1997,20(5):269~274.Lorensen,WilliamE.,andHarveyE.Cline.Marchingcubes:Ahighresolution3Dsurfaceconstructionalgorithm.[J]ACMSiggraphComputerGraphics.1987,Vol.21.No.4.ACM:5~16.單東日,陳向東,朱澤平,高復媛,基于改進MC算法的牙頜組織三維重建[N],中國圖像圖形學報,2009,14(7):1313~1318.DurstMJ.Letters:AdditionalReferenceto‘MarchingCubes’[J].ComputerGraphics,1988,22(2):34~35.NielsonGM,HamannB.TheAsymptoticDecider:ResolvingTheAmbiguityinMarchingCube[C].IEEEProceedingsofVisualization.1991:83~91.何光輝,田捷,趙明基,等.基于分割的三維醫(yī)學圖像表面重建算法[N].軟件學報,2002,13(2):221~22.楊曉冬,劉炳輝,王揚,基于等值面構造的CT圖像三維重構[J],機械設計與研究,2007,23(4):74~76.何平.剔除測量數據中異常值的若干方法[J].航空計測技術,1995,15(1):l9—22.江東,馮成德,林大全,鮑華,基于MC重建算法等值面的優(yōu)化[J],中國測試技術,2006,32(1):80~82.徐毅,李曉梅.對體可視化MarchingCube算法的改進[J].計算機工程,1999,25(11):52—54.CignoniP,GanovelliF,MontaniC,etal1Reconstructionoftopologicallycorrectandadap-tivetrilinearsurfaces[J]1ComputersandGraphics,2000,24(3):39924181.百度百科Marchingcubes[EB/OL]./link?url=9ay861WL213HnRXgSIyrnJaB98oLDs-lR7XQ3YXd1AbS3O1F-HRvmJ18XYu8VipYIUsIALT_rek3GhAodgggB_Lorensen,WilliamE.,andHarveyE.Cline.Marchingcubes:Ahighresolution3Dsurfaceconstructionalgorithm.[J]ACMSiggraphComputerGraphics.1987,Vol.21.No.4.ACM:3~4.李金,胡戰(zhàn)利,基于MC算法的CT圖像三維重建[J],應用科技,2008,35(4):30~33.Masala,GiovanniLuca,BrunoGolosio,andPiernicolaOliva.AnimprovedMarchingCubealgorithmfor3Ddatasegmentation[J].

ComputerPhysicsCommunications

184.3(2013):777-782.百度百科C++[EB/OL].\l"2"/link?url=vs3_sMpAA2txmzIP4OVK2tpSNsmy0RtD075lcKP6iCyg0u5k2XGt5BJvzGAgw7_SperYL8grwM94OmW3FlJ4SK#2,2014/5/17百度百科.C#[EB/OL]./view/1284594.htm,2011-03-13.百度百科.MicrosoftVisualStudio2010[EB/OL]./view/2950556.htm?fromId=3433001,2014/5/17苗語,師為禮,郭乃珠,基于VTK的醫(yī)學圖像三維可視化的研究與實現[N],長春理工大學學報(自然科學版),2007,30(4):120~122.AlessandroRubini.LINUX設備驅動程序[M].北京:電力出版社,2000:452~455.祁俐娜,羅述謙,基于VTK的醫(yī)學圖像三維重建[J],北京生物醫(yī)學工程,2006,25(1):1~5.唐占紅,於時才,面繪制三維重建原理及其改進算法研究[J],計算機工程與設計,2009,30(9):2225~2228.劉磊,馮前進,王文輝,陳武凡,基于GPU的醫(yī)學圖像快速面繪制[J],計算機工程與應用,2007,43(32):166~169.百度百科.等值面[EB/OL].\l"2_2"/link?url=Bl323ywo8iuC6TM1nFZBReKuRo5igPgjnhjHG53QUT_o2a4JHslHc-CWdP_0da94G_oLtEB9rrW97jbJc0bsP_#2_2,2014/5/19基于C8051F單片機直流電動機反饋控制系統(tǒng)的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現的供暖系統(tǒng)最佳啟停自校正(STR)調節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內核設計及其應用研究基于單片機的遠程抄表系統(tǒng)的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構件開發(fā)的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數字磁通門傳感器基于單片機的旋轉變壓器-數字轉換器的研究基于單片機的光纖Bragg光柵解調系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數據采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數控改造基于單片機的溫度智能控制系統(tǒng)的設計與實現基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協(xié)議轉換器基于單片機和DSP的變壓器油色譜在線監(jiān)測技術研究基于單片機的膛壁溫度報警系統(tǒng)設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監(jiān)測系統(tǒng)基于單片機網絡的振動信號的采集系統(tǒng)基于單片機的大容量數據存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術的研究及實現基于AT89S52單片機的通用數據采集系統(tǒng)H

溫馨提示

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

最新文檔

評論

0/150

提交評論