糖尿病潰瘍足壓力測量軟件平臺設計與_第1頁
糖尿病潰瘍足壓力測量軟件平臺設計與_第2頁
糖尿病潰瘍足壓力測量軟件平臺設計與_第3頁
糖尿病潰瘍足壓力測量軟件平臺設計與_第4頁
糖尿病潰瘍足壓力測量軟件平臺設計與_第5頁
已閱讀5頁,還剩56頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、ABSTRACT糖尿病潰瘍足壓力測量軟件平臺設計與分析摘 要由于生活水平的提高,越來越多的人患有糖尿病。隨著病情的發展,在這些患者當中,有的會并發足部潰瘍,嚴重的情況下會發展到需要截肢手術治療1。糖尿病足會破壞人的循環系統和神經系統,造成人痛覺的喪失,從而導致足部壓力分布的改變2, 3。足部壓力異常與足底潰瘍的發生率具有顯著的相關性,適合于高壓力、足畸形的鞋襪可以顯著降低潰瘍發生發展和潰瘍的復發1, 3-5。因此,開發出一套可以反應足部壓力分布的系統,用于檢測患者壓力的改變,能為足部產品的設計提供重要依據。本文參考國外足底壓力分布測量產品 RSscan 的軟件平臺 footscan6,自主開發

2、了一套軟件系統,包含數據顯示、病人信息的存儲、圖像信息的存儲等功能,還創造性地將語音識別的經典算法 Danymic Time Warping(DTW)應用到系統中,用于自動分辨出由于測量方式不當產生的異常測量圖片,替代傳統人工剔除的煩瑣操作,也為篩選圖片提供了更加科學的依據。最后還將上海六醫院提供的一批800 多例的病人數據,從性別、年齡、體重等方面進行了統計分析。本文開發的系統針對潰瘍足足底壓力的測量設計,具有操作簡單,實用性強的特點,為足底壓力分布課題的繼續研究打下了基礎。關鍵字關鍵字:糖尿病潰瘍足,足底壓力分布,壓力顯示,DTWABSTRACTABSTRACTWith the impro

3、vement of living standards, especially with todays insulin and inappropriate diet, many people has diabetes, which affected peoples normal life. The diabetic foot will occur results in infection,amputation or even death by damaging peopless blood flow and nerves1.The loss of feeling will results in

4、a loss of feedback to control the foot perssure distribution1-2 It is proposed that high foot pressure concentration can be avoided by using some foot product3.So it is practical to develop a system to show the distribution of foot pressure, providing the basis for designing the foot product prevent

5、ing high pressure.Reference to the software platform FOOTSCAN of foreign product RSscan4, this system includs pressure display, patients basic and pressure information storing. Especially, We uesd the DTW algorithm widely used in speech recogniztion to classfiy some adnormal measurements.This method

6、 shows great conviences to replace the tedious manul operation and also provides a more specific standard to exclude some inappropriate measurements.This system for foot ulcers plantar pressure measurements has friendly user interface and important practical value. It lays a foundation for the futur

7、e work of the research in this field.Keywords: diabetic foot, ulcers, plantar pressure distribution, pressure shows, DTW目錄I目 錄第一章第一章 前言前言 .11.1 研究背景 .11.1.1. 糖尿病潰瘍足形成原因 .11.1.2. 糖尿病潰瘍與足底壓力 .21.1.3. 足底壓力分布測量技術種類 .31.1.4. 足底壓力分布測量的國內外研究進展 .31.2 項目的提出及研究意義 .41.3 本文主要工作 .5第二章第二章 足底壓力測量平臺軟件設計足底壓力測量平臺軟件設計

8、 .6 62.1 軟件系統框架設計 .62.2 數據的產生 .72.3 足底壓力分布的可視化實現 .82.3.1. RGB 顯示.92.3.2. 配色方案 .102.3.3. 足底掃描數據 RGB 顯示 .112.4 數據庫設計 .132.4.1. 開發環境 .132.4.2. 結構設計 .142.4.3. 關系模型 .152.4.4. ADO 數據模型 .172.4.5. 使用 ADO 搭建數據庫系統 .182.4.6. 圖像文件的存儲 .20第三章第三章 基于動態時間規劃算法的自動剔除異常圖片的方法基于動態時間規劃算法的自動剔除異常圖片的方法 .243.1 動態時間規劃(DTW)的基本原理

9、 .243.2 算法領域的相關工作 .253.2.1 預處理 .263.2.2 特征提取 .28目錄II3.2.3 模板匹配 .293.2.4 方法和實驗 .313.3 結果與討論 .333.3.1. DTW 距離結果.333.3.2. 聚類結果 .343.4 動態鏈接庫加載算法到平臺 .35第四章第四章 真實病人壓力數據的統計分析真實病人壓力數據的統計分析 .374.1 統計參數 .374.2 VBA 編程.384.3 各因素對足底壓力分布的影響 .384.3.1. 左右足對照 .394.3.2. 性別 .404.3.3. 年齡分析 .424.3.4. 體重分析 .464.3.5. 病情分析

10、 .47第五章 結果與展望 .485.1 本文主要完成的工作 .485.2 本文主要的創新點 .485.3 不足與展望 .49參考文獻 .51致謝 .54攻讀碩士期間取得的成果 .55電子科技大學碩士學位論文0第一章 前言1.1 研究背景自 20 世紀 80 年代以來,各國糖尿病患者患病數量在極具地增加,據設在澳大利亞墨爾本的國際糖尿病研究所在 2003 年的研究報告,估計全球已診斷糖尿病人數達到 1.94 億,預測到 2025 年將達 3.33 億,增加 72%,這就意味著全球6.3%的人患有糖尿病1,而糖尿病足病是糖尿病嚴重的并發癥,大約 1/6 的糖尿病患者患有足潰瘍2,嚴重的情況下會發

11、展到需要截肢手術治療的程度,不僅給病人帶來了很大的身體傷害,也給社會造成了很大的經濟負擔7, 8。1.1.1. 糖尿病潰瘍足形成原因一種或多種的危險因素結合在一起會引發足潰瘍,就其最主要的誘發原因主要有以下兩個:1周圍神經病變糖尿病周圍神經病變(DPN)是導致糖尿病足(DF)發生的最常見的危險因素,即糖尿病最常見的致病原因。外周神經會作用于人的肌肉、感覺神經系統,導致患者對痛覺和振動、壓力、觸覺的感覺的消失1-3,這是引起足潰瘍的重要因素。由于這些感覺的消失,患者就會對損傷的刺激或者外傷的感覺遲鈍或者全然不知,而周圍神經病變同時會影響到運動和自主神經,導致足部肌肉萎縮,從而使跖骨彎曲畸形進而導

12、致步態異常,引起壓力分布的改變和局部壓力的增加。由于保護性感覺消失,即便有外傷也感受不到,足部不該承受壓力的地方長時間受到高壓,又會使得潰瘍發展加重。潰瘍往往就是由于這些外在的因素作用于失去感覺的不敏感足而引起1, 9-11。2糖尿病周圍血管病變周圍血管病變(PVD) ,通常情況下與輕微的外傷和損傷的刺激有關,這會導致缺血性潰瘍發生。而周圍血管病變和神經病變通常會同時在一個患者身上出第一章 前言1現,這就更易使皮膚血流減少1, 11。由于大血管病變,如果此時皮膚表面又存在壓力時,血管的閉塞就更易發生。閉塞性微血管病變未必是足潰瘍發生的直接原因,但如果一有外傷、膿毒性血栓的發生或感染引起的輕微的

13、水腫都可能導致已有的病變的末端動脈閉塞9, 12, 13,進而引起趾部感染,一旦潰瘍發生感染,造成感染足,截肢的危險就大大增加。1.1.2. 糖尿病潰瘍與足底壓力正常人的足底壓力主要分布在第一趾,第二跖骨頭和足跟區域,其他部位不會承擔體重的壓力10。而糖尿病患者隨著病情的發展,足底壓力的分布會逐漸改變,一些原本沒有受過壓力的部位開始承受體重,此時如果長期穿著不合適的鞋襪,壓力會對這些區域反復刺激,導致足底毛細血管閉塞,局部的血液循環也會遭到破壞,進而導致雞眼,破潰的出現,甚至出現不可收拾的局面。由此可見,壓力的異常與足部潰瘍的發生有顯著的相關性14-17。糖尿病并發周圍神經病變者,前足壓力增加

14、,前后足足底壓力比值(F/R)增高的現象僅出現在有嚴重周圍神經病變者中,隨著神經病變的程度增加,壓力的分布越不平衡18。一旦潰瘍發生,如果潰瘍上的機械力負荷得不到解除,即使血液供應充足,也無法治愈。國內外出現了許多與壓力相關的糖尿病潰瘍足的防治研究,針對足部的高壓部位采取應對措施,如減壓鞋墊、保護鞋等產品的研制15, 19-25,可以達到緩解潰瘍部分壓力的作用。足部減壓產品的設計需要以足底壓力的分布為依據,這就需要壓力測量系統的幫助。壓力測量系統能反應出接觸面的壓力測量值的大小,提供壓力分布的細節。通過壓力分布的反應,可以及時地監測到病人足底的高壓區域,進而就可以針對這些區域做保護措施,防止潰

15、瘍的繼續發展和惡化。早在上個世紀末,足底壓力分布的測量技術26的重要應用價值就得到了人們的重視被研究和應用。傳感器技術和計算機技術的飛速發展更加推動了足底壓力測量在多個領域的研究和應用,人們對它的研究也不斷深化,出現了多種產品。市面上對壓力測量的系統的種類也多種多樣。按照測量傳感器的種類可以分為電阻式、電容式、壓電式。從測量裝置上可以將傳感器直接放在測量平臺上,也可以置于鞋內,做成鞋狀15, 27, 28。電子科技大學碩士學位論文21.1.3. 足底壓力分布測量技術種類足底壓力測量的發展主要經歷了足印技術、足底壓力掃描技術、力板、測力臺技術、壓力鞋與鞋墊技術等階段29。腳印法是利用石膏、泥、橡

16、膠或泡沫等易產生形變的特點制成表面光滑的墊子,根據人足在上面行走留下的足印和痕跡,可以對足底的壓力及分布做出定性的分析和判斷。這種方法簡單易行,結果直觀,缺點是無法反應出具體的壓力值,可靠性不高,實用性不強,現在已不再使用。足底掃描儀則是基于光學原理,將光源安置在玻璃的兩端,玻璃上放置橡膠彈性墊,當足踏上彈性墊的時候,光會在玻璃內全反射,受壓的彈性墊即可在玻璃上產生一個清晰的足印象,由于壓力和影像的光強度正比,這樣就可以根據光強度定性地分析足底壓力及分布。此方法可以實時檢測足底壓力的分布,具有空間分辨率較高的特點,但和腳印法一樣,都只能做定性分析,足底壓力的大小只能根據圖像的深淺變化作大致的判

17、斷。隨著換能器和傳感器的發展,力板與測力臺、壓力鞋和鞋墊也發展了起來。力板與測力臺可以準確地測得足或鞋底接觸部位的壓力,但對“足-鞋界面”的受力情況的評定卻顯得力不從心,這是因為力板與測力臺的面積較小,通常只能測量人體在站立時或者一個單步行進中的壓力參數。壓力鞋與鞋墊則克服了這個缺點,將傳感器的利用率提高,將壓阻材料或壓電晶體材料的微型力傳感器嵌入到鞋或鞋墊內,由于鞋或鞋墊與足底帖服,就能實時測量多步行進過程中“足-鞋界面”壓力的連續參數,并進行實時監測和反饋。1.1.4. 足底壓力分布測量的國內外研究進展盡管足底壓力分布測量技術起源很早,但是真正對于壓力進行研究還是開始于 20 世紀 50

18、年代。國外對此領域的研究已經相對成熟,市場上有形形色色的產品誕生,主要代表技術有:比利時 RSscan 公司的鞋墊式測試系統,德國 Novel公司的 Emed 測力板系統和 Pedar 測力鞋墊系統、美國 Tekscan 公司的 F-Scan 測力鞋墊系統,瑞士的 Kistler 測力臺。美國 Tescan 系統可以對接觸面進行靜態和動態測量,以二維、三維圖像的形式實時顯示足部壓力分布的輪廓以及數據,并且配有的存儲功能可以方便用戶隨時查看測力信息。德國 Novel 公司足底壓力分布測量系統能準確測量并顯示其表面承受的壓力,也是以靜態和動態兩種方式顯第一章 前言3示,并配有多元化的分析軟件,便于

19、醫生或者患者對壓力數據進行全面詳細地分析。比利時的 RSscan 公司的平板測力系統可用于赤足或者穿鞋時不同運動狀態的分析,并配備了各種兼顧醫療和研究的軟件,它的鞋墊式測量系統也可以用于多種特殊的場合,如站立,走路,跑步,滑雪等。國內的足底壓力分布測量技術的研究就滯后了很多,從上個世紀 80 年代起,隨著人們對于步態研究的日益重視,足底壓力分布測量技術得到了迅速和廣泛的應用,也取得了一些成果。但目前國內仍然處于研發階段,市面上的產品都是代理的國外的產品,如北京三捷經貿公司代理德國 Novel 系統,北京奧泰格公司代理美國 Tekscan 測量系統。1.2 項目的提出及研究意義隨著生活水平的提高

20、,越來越多的人患有糖尿病,而作為其并發癥的糖尿病潰瘍足,不僅給病人帶來身體的傷害,同時也帶來了很大的經濟負擔1。尤其是截肢會導致住院和康復時間的延長,家庭和社會負擔也需要增加。在糖尿病的低位遠端截肢中,85%是由足潰瘍開始的。僅在美國,每年就有超過 80000 糖尿病患者下肢截肢。所以對于足潰瘍有預防和護理作用的足部產品需求顯得十分迫切。足底壓力增高可用于預測糖尿病足潰瘍,是足潰瘍發生的獨立危險因素,國外對足底的高壓也進行了多方面的深層次的研究,足部產品的設計需要以足底壓力的分布為依據,尤其是對高壓部位的關注,因此開發一個能監測足底壓力分布的系統具有極高的實用意義。國內的研究起步較晚,國外的產

21、品價格十分高昂,致使很少有醫院配有壓力分布監測的系統,這就給潰瘍足的檢測發生以及監測其發展程度帶來了麻煩。因此研發一套具有自主知識產權的壓力分布測量系統,對于提高我國此項技術,彌補這方面的不足,具有重要的理論和實用意義。基于以上分析,本文提出了設計一套足底壓力分布的實時顯示系統,結合國外產品的優點,同時滿足自己的需求,對足底壓力進行實時動態與靜態顯示,能給潰瘍足足部產品的設計帶來幫助。電子科技大學碩士學位論文41.3 本文主要工作本課題的的主要內容有:1系統參考國外產品 RSScan 的軟件平臺 footscan,設計 7948 個采集點,采用圖像直觀的方式顯示足底過大的受力區域。2搭建糖尿病

22、足病人數據庫,有序地存儲病例信息和壓力數據。在圖像數據庫的基礎上開發應用文件,實現對數據庫中信息的錄入,修改和查詢。3針對實際測量中的情況,會出現由于測量失誤而造成的異常測量數據,通常在測量過程中會人工剔除這些異常數據。本文提出一種自動分類剔除該種數據的方法,替代傳統的人工剔除的煩瑣操作,同時為測量過程中篩選保留數據提供一個更加科學的標準。4對上海六醫院提供的 800 多例的病人數據進行統計分析,探討糖尿病患者的足底壓力分布特點,以及從年齡、性別、病情方面對病人進行分類,挖掘出有用信息,為該課題的后續研究和建立足底壓力異常的矯正系統打下基礎。第二章 足底壓力測量平臺軟件設計5第二章 足底壓力測

23、量平臺軟件設計壓力分布的顯示主要在 PC 機上實現,本章從用戶需求的角度出發,設計了壓力顯示的方式和數據庫的結構,并針對每一個功能模塊的實現進行具體的介紹。2.1 軟件系統框架設計為了滿足軟件所需的數據的真實性和多樣性,本文軟件采用的數據是利用matlab 依據真實足底壓力的分布規律產生的,具體包括每個通道的壓力數據和整個掃描過程中的動態數據。再利用程序將這些模擬數據讀入到系統內存中,提供給軟件運行時的操作。整個壓力測量軟件設計主要分為兩個部分:數據顯示部分和信息存儲部分。顯示的數據主要有兩種來源:一種是實時的壓力數據,用于觀察當前測量的壓力分布;另一種是從數據庫中得到的數據,用于對已有的數據

24、進行統計分析。數據庫部分包括對病人基本信息的存儲,包括病人的聯系方式,以及基本生理參數的記錄,壓力數據的存儲。在數據存取部分,我們會利用算法對數據做一個篩選,去掉一些效果不好的數據,從而提高存取數據的質量。整個系統主要框架由圖 2-1 所示:數據顯示數據存儲數據輸入糖尿病潰瘍足壓力測量平臺軟件結構圖 2-1 軟件框架設計電子科技大學碩士學位論文62.2 數據的產生為了觀察軟件的實現效果,數據是必不可少的元素。我們根據足部壓力產生的規律,同時參照 FootScan 的傳感器分布結構,利用 matlab 產生了 7948 個采樣點的壓力數據。首先需要模擬每個傳感器采集到的壓力數據,將每個傳感器作為

25、一個通道,如圖 2-2 所示,通道(x,y)表示橫坐標為 x,縱坐標為 y 的傳感器,通過設定 x 和y 就可以設置任意一個傳感器采集到的壓力數據。圖中顯示了通道為(15,10)的傳感器采集到的壓力數據。圖 2-2 Matlab 下每個采樣通道數據模擬每一次各個傳感器的采樣形成一個圖層,將行進過程中所有采樣整合起來就是一次完整的測量過程。通過每一個圖層的產生函數,可以得到某一個時刻所有傳感器采集到的數據。圖 2-3 就顯示了第 19 個采樣時刻得到的數據。第二章 足底壓力測量平臺軟件設計7圖 2-3 Matlab 下每次采樣數據模擬將所有時刻的數據整合到一起就是一次完整的測量過程,如圖 2-4

26、 所示:圖 2-4 Matlab 下完整測量過程數據模擬2.3 足底壓力分布的可視化實現本系統涉及到數據庫操作和圖形顯示等需要采用高效的編程開發工具進行開發,當今世界上流行很多優秀的編程語言,例如 Delphi,Visual Basic,Visual C+等。各種編程語言有不同特點,鑒于 Visual C+編寫工程具有高效性和靈活性的特點,電子科技大學碩士學位論文8本系統采用該種語言進行編寫。2.3.1. RGB 顯示為了能在腳部區域上顯示出壓力的差異,需要用不同顏色塊的方式表示出壓力的大小。這里需要對壓力進行配色,不同的壓力值用不同的顏色來呈現,并且能夠反應出壓力的變化情況。而要使得配色更加

27、合理和符合現實情況需要對顏色做一個深入的了解。2.1.1.1 顏色的視覺特性以及顏色的基本定義由于人眼中的椎體和桿體細胞分別執行不同的視覺功能,因而能夠產生明視覺和暗視覺。同時,人眼對不同波長的可見光的感知程度是各不相同的。在不同的光譜位置,同樣功率的輻射表現為不同的明暗程度。對于不同波長的單色光而言,要產生相同的視覺響應,所需的輻射通量是各不相同的。在明視覺條件下,人眼最明暗的光的波長為=555nm。實驗表明,可見光波長范圍內的單色光和適當比例的多色光混合能產生大部分自然界中人眼能辨別的顏色。事實上,在視場中,有許多心理因素會對視覺系統對當前景色的主觀判斷產生影響。這些因素主要分為以下三種3

28、0:1色彩對比效應當不同的顏色位于相鄰區域時,視覺系統感知的色彩會發生變化。若在一塊白色背景下放置一張白紙,如果用眼睛注視白紙中心幾分鐘,白紙上會出現綠色。這種現象就是在色彩對比中產生的,通常來說,每種顏色都會在其周圍誘導出補色。2明暗對比效應當在相鄰區域中觀察兩種對比非常強烈的顏色時,視覺系統感知的亮度會發生偏移。如在白色背景下的灰色紙片看上去發黑,而在黑色背景下同一個灰色紙片則會顯得發亮。這種現象稱為明暗對比效應。3顏色適應效應當人眼受到強刺激作用時,會使感受到的顏色飽和度產生變化。若對某一顏色適應后再觀察其他顏色,后者會發生變化,帶有原觀察色補色的成分。因而,從心理生理學角度,顏色可由色

29、彩,明度和飽和度決定,其中色彩飽和度是單色光中摻入白光多少的度量。第二章 足底壓力測量平臺軟件設計92.1.1.2 RGB 顏色模型在實際生活中,純的單色光很難找到的,通常我們所感知到的顏色都是混合色。從生理學的角度看,由于眼睛中含有三種不同類型的椎體細胞,因此對任意三種顏色進行適當混合就可以產生白光條件。但前提是這三種顏色中任意兩種的組合都不能產生第三種顏色。這三種顏色稱為三原色30, 31。RGB 顏色模型的三原色定義為紅色、綠色、藍色。RGB 顏色模型能貼近真實地繪制出圖形,在 CRT 監視器和圖形刷新設備中廣泛地使用。該模型是采用笛卡爾直角坐標系來定義顏色空間,三個坐標軸分別對應合成顏

30、色的紅色、綠色、藍色三分量。在該空間中,任一點所代表的顏色可由從坐標原點到該點的向量來表示。其中坐標原點代表黑色。若取單位向量分別表示紅色、綠色、藍色三原色,則 RGB 模型的可見顏色子空間構成了一單位正方體,其純黑色定義為(0,0,0),純白色定義為(1,1,1)。2.3.2. 配色方案為了將壓力值用顏色深淺表示出來,需要將壓力轉換為對應的色彩。在 RGB色彩空間,圖像深度與色彩的映射關系主要有真彩色、偽彩色和調配色。這里因為壓力數據是針對有限量的傳感器,壓力的范圍也比較小,而我們只關心壓力異常高的部位,所以偽彩色就可以滿足我們的要求,所以主要應用偽彩色的配色方案。為了盡可能地讓顏色反應出壓

31、力的大小,并且符合我們視覺習慣,配色的時候特別注意了顏色的過渡。本系統將圖像等級劃分為 256,如果用灰度影像來表示,則 0 為黑色,255 為白色。由于前面提到的人眼具有補色等心理因素,會把距離較近的幾個點合為一種色彩。如果我們用紅、綠、黃的順序來反應壓力由大到小,這樣如果當紅色和綠色的點離的很近的時候,就會有一條黃色的顏色帶出現,就會在視覺上產生錯覺。所以,在顏色搭配上,我們選用適應人眼對色彩分辨特性的棕、紅、橙、黃、綠、天藍、藍、深藍色的順序來表示壓力值從大到小,背景和壓力值為 0 點的壓力為白色。壓力數據范圍主要分布在 0-300,而 300 是屬于異常的高壓,一般人的壓力不會達到這么

32、大的數值,觀察已有的測量數據主要集中 0-120 ,一般足部2/N cm壓力集中在 0-70 的范圍內,如果超過 70 ,就屬于高壓部分,需要引2/N cm2/N cm起關注,這部分我們用棕色來表示,為了仔細觀察這些點的壓力值,當鼠標移動電子科技大學碩士學位論文10到這些點的上方單擊,就可以出現對應的壓力值,便于分析。而 0-70 范圍內的壓力為了區分各個區域的壓力漸變情況,我們按照每2/N cm10作了一個顏色的區分,RGB 配色如下:2/N cm0-10:從深藍色過渡到藍色,RGB 值從(0,0,128)過渡到(0,0,255);2/N cm10-20:從藍色過渡到淺藍色,RGB 值為(0

33、,0,255)到(0,255,255);2/N cm20-30:從淺藍色過渡到淺綠色,RGB 值為(0,255,255)到2/N cm(0,255,128);30-40:從淺綠色過渡到綠色,RGB 值為(0,255,128)到(0,255,0);2/N cm40-50:從綠色過渡到黃色,RGB 值為(0,255,0)到(255,255,0);2/N cm50-60:從黃色過渡到橙色,RGB 值為(255,255,0)到(255,128,0);2/N cm60-70:從橙色過渡到紅色,RGB 值為(255,128,0)到(255,0,0);2/N cm70以上的區域:從紅色過渡到棕色,RGB 值

34、為(255,0,0)到2/N cm(128,0,0);2.3.3. 足底掃描數據 RGB 顯示在顏色搭配完成之后,就將壓力值與顏色對應起來,利用顏色深淺來區別壓力的大小,鼠標移動到顏色塊上,會出現具體的壓力值,這樣就方便定性判斷和定量判斷壓力分布情況。測量平臺完成一次掃描后,將各個傳感器的每次采樣值做疊加平均,就得到掃描的靜態圖像,用于觀察壓力的分布以及各個區域的壓力水平。界面中會分別呈現出左右腳的壓力分布,軟件為每位病人保存左右腳各 5組數據,可以人為地選擇測量效果較好的圖片進行保存,如圖 2-5 所示:第二章 足底壓力測量平臺軟件設計11圖 2-5 左右足壓力分布圖為了反映掃描中足部的壓力

35、變化,還需要將整個掃描過程圖形化。軟件中的動態掃描(圖 2-2)就是將各個時間的采樣描繪出來,體現各個時刻壓力的變化。為了能夠觀察到任意掃描時刻的靜態圖,軟件設計了抓取圖片的功能,通過輸入時間,就可以抓取該時刻的圖片。為了進一步滿足我們觀察最大壓力值的需要,這里特別地將一次掃描操作完成之后,各個傳感器在掃描過程中最大的采樣值繪制出來,如圖 2-6 所示。圖 2-6 各個采樣點的最大采樣值圖像電子科技大學碩士學位論文12需要將采集信號實時地顯示出來,如果直接在屏幕上動態繪畫的話,會出現閃爍現象,為了客服這個問題,采用的是先在內存繪圖,然后拷貝到屏幕,從而實現動態繪圖不閃爍。這相當于用兩塊畫布,首

36、先設置兼容區域,這就相當于屏幕后邊的畫布,一般為當前繪圖窗口的大小,再創建兼容 DC,就是在內存的繪圖設備,還需建立兼容的位圖,把位圖選入兼容 DC 就可以畫圖了,每次畫圖前先用白色畫刷現刷新這個兼容 DC,這就相當于刷新原來的背景。接著完成繪圖的操作,畫完再將兼容 DC 的圖拷貝到屏幕上來,就實現了圖像的去抖動。CRect RectCompatible; /設置兼容區域,一般為當前窗口大小CDC DCCompatible; /建立兼容 DC,即后面那塊畫布CBitmap BitmapCompatible; /建立兼容位圖,要想在兼容 DC 上畫圖,必須給它一副圖DCCompatible.Se

37、lectObject(&BitmapCompatible);/把位圖選到兼容 DC 中,這樣才可以開始畫最后用 BitBlt 函數把兼容 DC 的內容拷貝到 pDC,完成前后交替,這樣就圖形顯示就不會抖動。dc.BitBlt(RectCompatible.left,RectCompatible.top,RectCompatible.Width(),RectCompatible.Height(),&DCCompatible,RectCompatible.left,RectCompatible.top,SRCCOPY);2.4 數據庫設計數據庫是壓力平臺系統的重要組成部分,在這一部

38、分整理出了數據庫的需求以后,再根據功能模塊設計出數據模式,最后再對每一個模式進行具體實現。本系統是為足底壓力分布測量平臺設計的軟件管理平臺,所以選用了單機模式,即數據存儲、用戶檢索和數據維護在一臺工作站上運行,這樣給數據庫系統帶來更強的可操作性。2.4.1. 開發環境當前流行的數據庫有 MySQL,Oracle。Oracle 主要針對大型數據庫,對內存的要求更高,MySQL 針對中小型數據庫,并且開源,是一個快速的、多線程、多任務和健壯的 SQL 數據庫服務器。針對 MySQL 易用性的特點,我們的數據選第二章 足底壓力測量平臺軟件設計13用 MySQL 作為開發工具。2.4.2. 結構設計

39、1需求分析構建一個針對臨床應用的軟件系統,需要從應用環境出發來考慮需求。本系統是面向具體病人信息的管理以及醫生臨床診斷應用,針對以上需求列出系統的基本技術要求:采用人機對話方式,設計友好美觀的界面,能使用戶方便、快捷、準備地查詢到信息,同時考慮數據存儲的安全性。實現病例信息的錄入、修改、查詢、刪除,方便管理信息。從應用背景角度考慮,設計存儲的信息種類。如壓力信息的存儲,病人檢測信息的存儲,醫生的診斷信息等。考慮數據的保密性,做好登錄權限的設置。2功能構架圖糖尿病足底壓力綜合平臺數據庫系統是一個典型的醫學應用的開發程序,是為數據庫管理員對足底壓力的數據庫提供操作的界面程序,由信息查詢、信息錄用、

40、圖像顯示、診斷結果等模塊組成,如圖 2-7 所示,系統的功能模塊如下所述:1)信息錄用模塊實現對新增病人信息的記錄,添加到數據庫,包括年齡、性別、身高、體重等的基本信息的記錄。2)信息查詢模塊病人信息查詢和診斷信息查詢,實現患者基本信息和病歷信息的記載,為追蹤病情以及輔助診斷提供可靠信息。3)數據顯示模塊這是從數據庫中調用已有的數據來顯示,用于在離線情況下,觀測和分析已有病人數據的足底壓力分布情況。4)病理信息模塊由于糖尿病潰瘍足是神經血管病變產生,因此為了給診斷者提供更加全面的信息,系統中添加了病理參數的記錄,包括糖尿病病程、足病程、參數的檢驗等信息。電子科技大學碩士學位論文14病人姓名年齡

41、性別體重腳尺寸郵箱病史成像時間成像醫師掃描3掃描2掃描1圖像糖尿病病程潰瘍足病程ABIVPT癥狀病理參數檢測圖 2-7 數據庫結構設計2.4.3. 關系模型關系模型是用表的集合形式來表示數據和數據間的關系。它建立在嚴格的數學理論基礎上,概念清晰簡單,用同一的結構來反應出實體集和實體之間的關系。關系數據庫的基本數據結構稱作表,即關系,每一個關系是由一張命名的二維表來表示,表的每一行稱為一條記錄,一個表中可以有多個列,每列具有唯一的列名。用戶利用(Query)來查詢數據庫中的數據。按照 E-R 圖向關系模式的轉換規則將其轉化為關系模式,并按照數據庫設計的第三范式設計對關系模式進行規范化處理,得到如

42、下模式:病人關系模式:病人信息表(病人編號(主碼) ,姓名,性別,年齡,住址,體重,腳尺寸,電子郵件) ;圖像關系模式:圖像信息表(圖像編號,病人編號(外鍵) ,圖像,成像醫生,成像時間) ;診斷關系模式:診斷信息表(診斷編號,病人編號(外碼) ,診斷醫生姓名,疾病描述,VPT 值,ABI 值,診斷時間) ;第二章 足底壓力測量平臺軟件設計15表 2-1 病人信息表字段名數據類型長度是否主鍵是否允許為空描述Patient_idInteger20是否病人編號Patient_namevarchar40否否病人姓名Patient_gendervarchar20否否性別Patient_ageInteg

43、er20否否年齡Patient_addressvarchar80否否家庭住址Patient_footsizeInteger20否否腳尺寸大小Patient_weightInteger20否否體重Patient_heightInteger20否否身高Patient_emailvarchar60否否電子郵件表 2-2 圖像信息表字段名數據類型長度是否主鍵是否允許為空描述Patient_idInteger20是否圖像編號Patient_nameInteger40否否病人編號Patient_genderImage20否否圖像信息Patient_agevarchar20否否成像醫師Patient_add

44、ressDatetime80否否成像時間表 2-3 診斷信息表字段名數據類型長度是否主鍵是否允許為空描述Patient_idInteger20是否診斷編號Patient_nameInteger40否否病人編號Doctor_gendervarchar20否否診斷醫生Diagnosis_levelInteger20否否診斷分級Diagnosis_detailvarchar80否否診斷描述Patient_DF_yearInteger40否否糖尿病病程Patient_DFU_dayInteger40否否足病程時間Patient_VPTvarchar40否否VPT 值Patient_ABIvarchar

45、40否否ABI 值電子科技大學碩士學位論文16表 2-4 用戶信息表字段名數據類型長度是否主鍵是否允許為空描述user_idvarchar20是否用戶名user_nameInteger40否否用戶姓名user_passwordvarchar20否否用戶級別user_permissionvarchar20否否用戶權限2.4.4. ADO 數據模型Visual C+ 為我們提供了豐富的數據訪問技術,如ADO,ODBC,DAO,RAO 等。其中 ADO 是最新的訪問技術,它是使用起來更加簡單,而又更加靈活的對象模型。對于新工程,應該使用 ADO 作為數據訪問接口。ADO 提供執行以下操作的方式31。

46、1創建數據源;2連接到數據源;3制定訪問數據源的命令,同時可帶變量參數或優化執行。通常涉及 ADO的 command 對象。4執行命令,例如一個 SELECT 腳本。5如果這個命令使數據按表中行的形式返回(如 SELECT 命令) ,則將這些行存儲在易于檢查,操作或者修改的緩存中。6適當的情況下,可以將緩存行的更改內容寫回數據庫中,更新數據源。7提供常規方法檢查錯誤(錯誤通常由建立連接或執行命令造成) ,涉及ADO 的 Error 對象。為了實現上述功能,ADO 編程模型提供了以下主要元素:連接:通過“連接”可以從應用程序中訪問數據源。對象模型使用Connection 對象完成連接功能。連接時

47、必須指定出被連接到的數據源名稱,以及連接所使用的用戶名和密碼等信息。命令:可以通過已經建立的連接發出命令,對數據源進行指定的操作。一般情況下,數據源中添加、修改或者刪除數據都是通過命令的方式來完成的,也可以檢索分類出滿足指定條件的數據。在對象模型中用 Command 對象來體現命令第二章 足底壓力測量平臺軟件設計17的概念。參數:在執行命令時可以指定參數,參數可以在命令發布之前進行更改。例如,可以重復發出同樣的數據檢索命令,但是每一次指定的檢索條件不同。對象模型中用 Parameter 對象來體現參數的概念。記錄集:查詢命令可以將查詢結果存儲在本地,這些數據以“行” (記錄)為單位,返回數據的

48、集合被稱為記錄集。對象模型將記錄集體現為 Recordset 對象。字段:一個記錄集行包含一個或多個字段。如果將記錄集看作二維網格,字段排列起來構成列。每一字段(列)都分別包含有名稱、數據類型和值的屬性,值中包含了數據源中的真實數據。錯誤:錯誤可能在應用程序中隨時發生,通常是由于無法建立連接、執行命令或對某種狀態的對象進行操作所引起的。屬性:每個 ADO 對象都有一組唯一的“屬性”來描述或控制對象的行為。屬性有內置和動態兩種類型。內置屬性是 ADO 對象的一部分并且隨時可用。動態屬性則由特別的數據提供者添加到 ADO 對象的屬性集合中,僅在提供者被使用時才能存在。2.4.5. 使用 ADO 搭

49、建數據庫系統1導入 ADO 庫文件在默認情況下,Visual C+不支持 ADO 對象,因此,我們在程序中需要手動添加 ADO 對象,需要使用#import 命令將 ADO 庫文件導入到工程中,具體實現代碼如下:#importC:ProgramFilesCommonFilesSystemadomsado15.dllno_namespace rename(EOF,adoEOF)支持 ADO 編程的庫文件是 msado15.dll,它的默認保存路徑為C:ProgramFilesCommonFilesSystemado。參數 no_namespace 表示不使用 ADO的名字空間,為了避免出現常量命

50、名的沖突,這里將 EOF 更名為 adoEOF,將BOF 更名為 adoBOF.2連接數據庫首先要創建一個 Connection 對象,通過它建立到數據庫的連接,通常需要在頭文件中定義一個 Connection 對象,代碼如下:電子科技大學碩士學位論文18Public:ConnectionPtr m_pConnection; /添加一個指向 Connection 對象的指針創建 Connection 對象的方法如下:m_pConnection.CreateInstance(“ADODB.Connection”);創建 Connection 對象后,還需要設置具體的屬性,連接到指定的數據庫。st

51、rConnect 設置連接字符串,指定用于建立連接數據源的信息。可以直接設置數據源的提供者和數據庫文件的方法表示連接字符串,代碼如下:strConnect=Provider=MSDASQL.1;Persist Security Info= False; Data Source=mydata;Database=plantar;uid=root;pwd=root;3訪問數據庫RecordSet 對象表示來自基本表或命令執行結果的記錄全集。使用 ADO 時,通過 Recordset 對象可以對幾乎所有數據進行操作,所有 Recordset 對象均使用記錄(行)和字段(列)進行構造。m_pRecord

52、set.CreateInstance(_uuidof(Recordset);創建一個 m_pRecordset,strSql=select * from patients;m_pRecordset-Open(_variant_t(strSql),m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);上邊的代碼完成了讀取表 patients 的記錄到 m_pRecordset 中。4查詢數據庫系統中需要用到查詢操作,接收到用戶的輸入,構造正確的 SQL 命令,然后傳給記錄集對象的 Open 函數。_Re

53、cordSetPtr pQueryRecordset; /創建查詢記錄集對象CString strSQL=”,temp=;strSQL=select * from patients where ;temp.Format(Patient_name =%s,m_name); / m_name 為綁定控件的變量,用于接收用戶的輸入strSQL+=temp1;pQueryRecordset.Open(_variant_t(strSQL),m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);圖 2-8 為數據

54、庫搭建界面:分為三個部分,條件查詢模塊,病人信息模塊,第二章 足底壓力測量平臺軟件設計19掃描信息模塊。查詢模塊設置了幾個查詢條件:按照病人 ID 查找、病人姓名查找、家庭住址查找、生日查找,可以利用幾個條件同時查找,也可以單條件查找。病人信息就包含了病人姓名、年齡、聯系方式,以及病例參數等信息;通過點擊病人信息就會出現對應病人的足底壓力的掃描信息,這些掃描的信息就可以鏈接到對應的圖像顯示的部分。圖 2-8 數據庫界面截圖2.4.6. 圖像文件的存儲數據庫的存儲技術是數據庫首要技術之一,如何有效地存儲各類數據,也成為了數據庫技術研究的一個關鍵問題。在存儲這種圖形或者文檔類型的數據時,可以選擇通

55、過一個應用程序來存儲導向該文檔的文件系統路徑信息,例如:“f:image/picture.jpg” ,將這些信息存放在 varchar 數據列中,而把實際的文檔保留到文件系統;另一種方法是將實際圖像直接放到一個二進制或圖像類型的數據電子科技大學碩士學位論文20列里。如果只將文件的路徑保存在數據庫中,這樣就把文件存放在磁盤上減少了數據庫的大小,降低了存儲空間的需求,但是這也給實際應用帶來了很大的不便,在維護數據庫的同時還得維護這些存儲路徑信息。因此這里我們選用把數據作為一個記錄的一個字段保存在數據中,這樣減少了很多安全隱患32。這種較大二進制對象如圖形、長文本、多媒體等數據稱為 BLOB(Bin

56、ary Large Object),在存儲方式上與普通的數據類型有所不同。ADO 中提供了對這些 BLOB 的支持:GetChunk 和 AppendChunk 函數,通過它們可以像讀寫文件一樣把數據內容寫入數據庫。2.4.6.1. SAFEARRAY 數據類型對 BLOB 進行操作時,需要用到 SAFEARRAY 結構。這是一種結構化數據類型,包含了對數據的訪問信息。實際上 SAFEARRAY 就是將通常的數組增加一個描述符,說明其維數、長度、邊界及元素類型。Win32 定義的 SAFEARRAY如下:typedef struct tagSAFEARRAY unsigned short cD

57、ims; unsigned short fFeatures; unsigned long cbElements; unsigned long cLocks; void * pvData; SAFEARRAYBOUND rgsabound1;真正的數據存放在 pvData 里邊,成員描述如下: cDims:定義數組的維數;fFeatures 用來描述數組如何分配和如何被釋放的標志;cbElements:定義數組元素的大小;cLocks:是一個計數器,用來跟蹤該數組被鎖定的次數;pvData:指向數據緩沖的指針,這是真正數據的所在;rgsabound:描述數組每維的數組結構;rgsabound 成

58、員是一個 SAFEARRAYBOUND 結構的數組,每個元素代表SAFEARRAY 的一個維。第二章 足底壓力測量平臺軟件設計21typedef struct tagSAFEARRAYBOUNDunsigned long cElements;unsigned long lLbound; SAFEARRAYBOUND; 2.4.6.2. 實現步驟這里我們根據傳感器的排列結構和采集數據的方式,為了操作方便,將數據按照位置順序存為一維數組,這樣就定義 rgsabound 為只有一個元素的數組,即SAFEARRAYBOUND rgsabound1;使用 SAFEARRAY 變量的步驟如下:1定義一個變

59、量:VARIANT varMyChunk;SAFEARRAY *psa;SAFEARRAYBOUND rgsabound1;2創建 SafeArray 描述符:數組下標從 0 開始,這樣就有 rgsabound0.lLbound=0; len 定義數組元素的個數。rgsabound0.lLbound=0;rgsabound0.cElements=nBytes;psa=SafeArrayCreate(VT_UI1,1,len);3寫入和讀取數據放置數據到 SAFEARRAY,使用 SafeArrayPutElement 函數實現向數組中放置數據;HRESULT SafeArrayPutEleme

60、nt( SAFEARRAY FAR* psa, long FAR* rgIndices, void FAR* pv );psa 指向創建的 SAFEARRAY,rgIndices 為數組元素的下標,pv 指向需要寫入的數組指針。利用 for 循環逐個讀入需要放入的數據,放置完成后,還需要將數據封裝到 VARIANT 內,因為 SAFEARRAY 不能直接使用。需要讀取 SAFEARRAY 中的數據時,使用 SafeArrayGetElement 函數。定義電子科技大學碩士學位論文22一個 buf 區域,用 for 循環將元素逐個寫到 buf 緩沖區,之后就可以對數據進行一系列的繪圖操作了。第三章 基于動態時間

溫馨提示

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

評論

0/150

提交評論