999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

胎兒心率曲線的合成

2010-04-12 00:00:00蘇文娟,張子明,施遠征,田大軍,吳
現代電子技術 2010年15期

摘 要:首先介紹了OpenGL的功能以及利用OpenGL繪圖一般過程和方法,然后介紹了胎心率曲線常見的種類以及合成方法。可以真實地模擬胎兒期的心率以及母親的宮縮曲線。不僅可以合成波形而且也可以實現圖形的翻頁、打印、保存等各種功能。分析了在繪圖時出現的圖形閃爍問題,提出利用雙緩存解決繪圖過程中的圖形閃爍問題。關鍵詞:OpenGL; 雙緩存; VC; FHR; UA

中圖分類號:TN919; TP274文獻標識碼:A

文章編號:1004-373X(2010)15-0153-04

Composition of Fetal ECG Waveform Curve

SU Wen-juan, ZHANG Zi-ming, SHI Yuan-zheng, TIAN Da-jun, WU Yan

(College of Electronic Information and Control Engineering, Beijing University of Technology, Beijing 100124, China)

Abstract: OpenGL function and the common drawing techniques approaches of applying OpenGL are introduced. The common types of fetal heart rate (FHR) curves and the synthesis of the heart analog waveforms of the fetus are described. The fetal ECG waveform curve and the mother's UA curve can be simulated by OpenGL very well. Not only the waveforms can be synthesized, but also the functions such as page turning, printing and picture saving can be implemented with it. The problem of the pattern flicker appearing during drawing was solved with the double-buffering after analysis of the pattern flickering problem.Keywords: OpenGL; double-buffering; VC; FHR; UA

0 引 言

醫學是一門實踐性極強的學科,一名年輕醫學生要扎實地把握臨床技能,必須實實在在地反復練習才能完成。如何使學生盡快投入到醫療活動中,這也是臨床課教師所面臨的嚴峻問題。而醫學模擬教學具有靈活性、直觀性、良好的可控性和仿真性等特點則可以在一定程度彌補醫療教學和培訓方面的不足,從而減少醫療事故和糾紛在臨床實踐中的發生。

急救教學系統采用目前國際醫學模擬教學中比較流行的觸覺感知技術,可以逼真地模擬胎兒出生過程,并在此過程中對胎兒的心率和宮縮進行實時監控。而胎兒虛擬監護儀作為其中很重要的一部分,其上所顯示胎兒心率曲線可以在最大程度上通過視覺直觀地反映出了胎兒在出生過程中的各種突發情況,起到了醫學教學和臨床教學的橋梁作用,使受訓者的理論和臨床實踐很好地結合起來,極大地提高受訓者的應變能力和現場處理能力。

1 OpenGL介紹

由于所繪的圖形數據量很大,而且所繪的圖形是動態的曲線圖,如果用GDI+繪圖工具需占用內存太大,如果機器配置不高的話,很可能造成死機。因此這里采用OpenGL繪圖工具來繪制波形曲線圖。

1.1 OpenGL的功能

OpenGL實際上是一個開放的三維圖形軟件包,它獨立于窗口系統和操作系統,以它為基礎開發的應用程序可以十分方便地在各種平臺間移植;OpenGL可以與Visual C++緊密接口,便于實現機械手的有關計算和圖形算法,可保證算法的正確性和可靠性;OpenGL使用簡便,效率高。它具有七大功能:

(1) 建模: OpenGL圖形庫除了提供基本的點、線、多邊形的繪制函數外,還提供了復雜的三維物體(球、錐、多面體、茶壺等)以及復雜曲線和曲面(如Bezier、Nurbs等曲線或曲面)繪制函數。

(2) 變換:OpenGL圖形庫的變換包括基本變換和投影變換。基本變換有平移、旋轉、變比鏡像四種變換,投影變換有平行投影(又稱正射投影)和透視投影兩種變換。其變換方法與機器人運動學中的坐標變換方法完全一致,有利于減少算法的運行時間,提高三維圖形的顯示速度。

(3) 顏色模式設置:OpenGL顏色模式有兩種,即RGBA模式和顏色索引(Color Index)。

(4) 光照和材質設置:OpenGL光有輻射光(Emitted Light)、環境光(Ambient Light)、漫反射光(Diffuse Light)和鏡面光(Specular Light)。材質是用光反射率來表示。場景(Scene)中物體最終反映到人眼的顏色是光的紅綠藍分量與材質紅綠藍分量的反射率相乘后形成的顏色。

(5) 紋理映射(Texture Mapping):利用OpenGL紋理映射功能可以十分逼真地表達物體表面細節。

(6) 位圖顯示和圖像增強:圖像功能除了基本的拷貝和像素讀寫外,還提供融合(Blending)、反走樣(Antialiasing)和霧(fog)的特殊圖像效果處理。以上三條可使被仿真物更具真實感,增強圖形顯示的效果。

(7) 雙緩存(Double Buffering)動畫:雙緩存即前臺緩存和后臺緩存,簡而言之,后臺緩存計算場景、生成畫面,前臺緩存顯示后臺緩存已畫好的畫面。此外,利用OpenGL還能實現深度暗示(Depth Cue)、運動模糊(Motion Blur)等特殊效果。從而實現了消隱算法。

1.2 OpenGL繪圖流程

由于OpenGL的繪圖方式與Windows的一般繪圖方式不同,其主要區別表現在以下幾個方面:

(1) Windows采用GDI繪圖。

(2) OpenGL采用的是渲染上下文RC(Render Context)繪圖。

(3) OpenGL使用的特殊的像素格式。

在Windows中使用GDI繪圖時必須指定在哪個設備上下文DC(Device Context)中繪制,同樣地,在使用OpenGL函數時也必須指定一個所謂的渲染上下文。正如設備上下文DC要存儲GDI的繪制環境信息如筆、刷和字體等,渲染上下文RC也必須存儲OpenGL所需的渲染信息如像素格式等。

像素格式決定了像素顏色的設置與DC和RC相關聯的輔助緩存區像素格式的設置,其內容是OpenGL調用與Windows繪制操作之間的中間轉換設置。因此要在Windows環境下實現OpenGL的函數功能,就必須設置像素格式。OpenGL for Windows提供了一系列處理像素格式的函數,這些函數為:

ChoosePixelFormat();

SetPixelFormat();

GetPixelFormat();

DescribePixelFormat();

設定像素格式后,下一步工作是產生繪制環境(RC)并使之成為當前繪制環境。一般在程序開頭產生一個RC,自始自終都使用它。這與大多數GDI程序不同。在GDI程序中,DC在需要時才產生,并且是畫完后立刻釋放。實際上,RC也可以這樣做,但是要產生一個RC需要很多處理器時間。

因此,要想獲得高性能流暢的圖像和圖形,最好只產生RC一次,并始終用它,直到程序結束。要在OnDestroy()中把繪制環境刪除。但在刪除RC之前,必須確定它不是當前句柄。通過wglGetCurrentContext()來了解是否存在一個當前繪制環境,假如存在,那么用wglMakeCurrent(NULL,NULL)來把它除去,然后就可以通過wglDelete-Context刪除RC。這時允許刪除DC才是安全的(注:一般來說,使用的都是單線程的程序,產生的RC就是線程當前的RC,不需要關注上述這一點。但如果使用的是多線程的程序,就特別需要注意這一點,否則會出現意想不到的后果)。設置好即可直接繪制想要的圖形。在OpenGL中,所有被定義的點必須放在glBegain() 和glEnd() 兩個函數之間才能正確表達一個幾何圖元或物體。例如,畫一條連接(0,0)和(100,100)直線,就可以用:

glBegin(GLLINES);

glVertex2f(0,0);

glVertex2f(100,100);

glEnd();

實現[1]

2 波形曲線的繪制

2.1 心電圖紙的繪制

因心電圖是顯示在標準的心電圖紙上,所以首先需要繪制心電圖的格子,由于要在同一張紙上同時繪出胎兒各種心率曲線和宮縮壓力曲線,需用到兩個坐標,因此在繪制心電圖的格子時需要分別繪出。心電圖紙的坐標需要跟著曲線圖一起走,所以也是動態的。這里用重繪的辦法解決這個問題。由于波形是從右至左運行,所以這里最左面每畫一條線,右面擦掉一條線,然后重繪圖形。這樣繪出來的表格就是動態的了。

2.2 心電曲線的繪制

2.2.1 胎心率曲線的特點

胎心率曲線圖是一條波動起伏的帶狀曲線,它主要有兩種變化即基線變化和過性變化。

曲線中央是一條假想線,那就是胎心率基線。在無胎動、無宮縮影響時,10 min以上的胎心率的平均值,稱為胎心率基線。基線變化在胎兒心電監護中占有最重要的位置,可以從每分鐘心搏次數(bpm)和胎心率變異兩方面對胎心率基線加以估計。這里設置六種類型的胎心率基線,包括無(即一條直線)、減弱、輕度、重度、顯著、呈正弦曲線。基線波動活躍則頻率增高,基線平直則頻率降低或消失,基線擺動表示胎兒有一定的儲備能力,是胎兒健康的表現。胎心率基線變平,提示胎兒的狀況不好。如果基線擺動幅度在25~30 bpm或以上,反應胎兒自主神經系統不平衡,如靜脈循環受阻,回心血流量減少,可使心率代償性增快,是胎兒窘迫的早期表現。

受宮縮、胎動、觸診及聲響等刺激,胎心率發生暫時性加快或減慢,持續十余秒或數十秒后又恢復到基線水平,稱為胎心率-過性變化,是判斷胎兒安危的重要指標。主要包括周期性變化:單向加速、早期減速和晚期加速;變化性變化:輕度、中度和重度;階段性變化:正常、無反應、有,早起加速和晚期減速。

加速:指子宮收縮后胎心率暫時增加15 bpm以上,持續時間超過15 s,是胎兒良好的表現。加速原因是胎兒軀干或臍靜脈暫時受壓。散發的、短暫的胎心率加速無害。

減速:指隨宮縮出現的短暫性胎心率減慢。分為3種類型:

早期減速 特點是子宮一收縮,胎心率就下降,子宮收縮停止后,胎心率即恢復正常。下降幅度小于50 bpm,時間短、恢復快。早期減速是宮縮時胎頭受壓,腦血流量一時性減少(無傷害性)的表現,一般在胎兒胎頭在媽媽產道中下降,尤其是子宮頸全開之后容易發生,對胎兒是不會有影響的。

變異減速 特點是胎心率減速與宮縮沒有固定的關系。一旦出現變異減速,下降迅速且下降幅度大(大于70 bpm),持續時間長短不一,恢復也迅速。變異減速一般認為是子宮收縮時臍帶受壓興奮迷走神經所致。

晚期減速 特點是胎心率下降的起點常落后于宮縮曲線上升的起點,多在宮縮波峰處開始,胎心率曲線減速的波谷落后于宮縮曲線的波峰,時間差不多在30~60 s,下降幅度小于50 bpm,胎心率回復所需時間較長。晚期減速一般認為是胎兒缺氧的表現,醫生會給予高度重視。

子宮收縮,臨產時,宮縮每10 min少于2次,則代表“宮縮不夠”;每10 min多于5次以上,一般是認為宮縮頻率太高,有子宮過度刺激的現象;待產婦每10 min有3次的宮縮,是正常的[4]。

2.2.2 曲線的繪制

由于胎心率基線是導入數據庫的數據,因為有這些數據,就可以很容易地繪制這些曲線。由于胎兒的心率曲線并不是由單一頻率曲線組成,而是由不同頻率不同類型的波形擬合而成。這些波形可以分解成簡單的正弦波、三角波、鋸齒波、方波等。由于胎心率基波的數據是讀入數據庫的數據,所以再合成胎心率曲線的時候只要把已經合成的波形疊加到基波上即可。而三角波、正弦波等用數學公式就可以算出,例如正弦波公式是y=sin(x);三角波公式是:

y=a*b*x + a,-1/b≤x≤0-a*b*x + a,0≤x≤1/b

在VC 2005環境下構建CMyCreatWave類,用于產生胎心率曲線的波形數據。同時構建CMyWaveDisplay類,用于在屏幕上顯示波形,在CMyWaveDisplay創建ReadWaveSourceData(unsigned int nTypeSource) 函數用于讀取基波的數據,則得到的波形如圖1,圖2所示。

圖1 屏幕上顯示的胎心率基波曲線圖

圖2 疊加波形后的胎心率曲線圖

對于宮縮壓力曲線也采樣同樣的道理,即導入基波數據,然后在其上疊加其他波形,如圖3,圖4所示。

圖3 宮縮壓力曲線圖

圖4繪制的胎心率曲線和宮縮曲線

由于每頁只能繪制6 000個數據,而這里繪制72 000個數據,所以設置了翻頁功能,即向前翻頁和向后翻頁。還可以對正在播放的波形數據進行保存,設置了導入記錄和保存記錄這兩個功能,還可以把正在播放的波形打印出來。

3 繪制波形中遇到的問題

用OpenGL可以很好地繪制出所需要波形,顯示效果也比較滿意,但也有一個比較嚴重的問題,就是在波形運行的過程中屏幕會閃爍。

由圖4可見,心電模擬波形曲線是顯示在心電圖紙上,上面布滿了密密麻麻的直線,而且這些直線和波形曲線是同步運行的,如果直接這樣運行,會明顯地感到屏幕的閃爍,。屏幕的閃爍問題,在GDI中解決較為復雜,通過在內存中生成一個內存DC,繪畫時讓畫筆在內存DC中畫,畫完后一次用Bitblt將內存DC“貼”到顯示器上,就可解決閃爍的問題。在OpenGL中是通過雙緩存來解決這個問題的。一般來說,雙緩存在圖形工作軟件中是很普遍的。雙緩存是兩個緩存,一個前臺緩存、一個后臺緩存。繪圖先在后臺緩存中畫,畫完后,交換到前臺緩存,這樣就不會有閃爍現象了。通過以下步驟可以很容易地解決這個問題:

(1) GDI命令是沒有設計雙緩存的,首先把使用InvalidateRect(1)的地方改成InvalidateRect(NULL,FALSE),這樣做是使GDI的重畫命令失效,由OpenGL的命令進行重畫;

(2) 將像素格式定義成支持雙緩存的(即設置時加PFDDOUBLEBUFFER);

(3) 告訴OpenGL在后臺緩存中畫圖,在視類的OnSize()的最后一行加入:glDrawBuffer (GLBACK);

(4) 最后把后臺緩存的內容換到前臺緩存中,在視類的OnPaint()的最后一行加入:CPaintDC dc(this); SwapBuffers(dc.m ps.hdc)。

4 結 語

主要討論了采用胎心率曲線以及宮縮曲線的特點以及采用OpenGL開發處理圖形軟件的一般過程。討論了采用OpenGL繪圖工具繪制和擬合人體特征曲線的過程,還有在此過程所遇到的屏幕閃爍問題,并提出了用雙緩存解決問的方案。

本文所繪制的出來的曲線能真實的模擬人體的胎心率曲線以及宮縮曲線的變化,而且容易操作,即使一個醫學初學者也能操作,很大程度上方便了醫學培訓機構的教學,具有很好的應用價值,市場前景廣闊。

參考文獻

[1]郭兆榮,李菁,王彥.Visual C++ OpenGL應用程序開發[M].北京:人民郵電出版社,2006.

[2]牛力,傅韻.Visual C++.NET 編程寶典[M].北京:電子工業出版社,2006.

[3]盧喜烈.現代心電圖大全[M].北京:科學技術文獻出版社,1996.

[4]魏太星.臨床心電圖學及圖譜[M].鄭州:河南科學技術出版社,1992.

[5]黃大顯.現代心電圖學[M].北京:人民軍醫出版社,1997.

[6]KALDJIAN L C, WU B J, JEKEL J F, et al. Insertion of femoral vein catheters for practice by medical house officers during cardiopulmonary resuscitation[J].N. Eng. J. Med., 1999, 341:2088-2091.

[7]ROWE R, COHEN R A. An evaluation of a virtual reality airway simulator[J]. Anesthanalg, 2002, 95(1): 62-66.

[8]鄭峰,劉曼芳,許明強.標準心電模擬波形發生器制作[J].醫療衛生裝備,2003,24(9):45-46.

[9]陸宗騏,金登男.Visual C++.NET圖像處理編程[M].北京:清華大學出版社,2006.

[10]GUO Ji-hong, XU Yuan. Atlas and interpretation of new concept ECG[M]. 北京:北京大學醫學出版社,2003.

主站蜘蛛池模板: 国产精品美女免费视频大全| 国产成人福利在线视老湿机| 亚洲无码电影| 亚洲区欧美区| 青青草原偷拍视频| 亚洲成av人无码综合在线观看| 伊人久热这里只有精品视频99| 亚洲精品无码日韩国产不卡| 精品乱码久久久久久久| 91精品国产自产在线观看| 亚洲无码91视频| 无码内射在线| 国产黄在线免费观看| 香蕉综合在线视频91| 红杏AV在线无码| 国产香蕉在线视频| 精品一区二区三区自慰喷水| 青青青视频蜜桃一区二区| 99精品国产自在现线观看| 亚洲天堂免费| 国产日韩欧美在线播放| 国产成人精品高清不卡在线| 国产小视频免费观看| 性视频久久| 伊人网址在线| 4虎影视国产在线观看精品| 欧美啪啪一区| 精品亚洲麻豆1区2区3区| 日韩在线成年视频人网站观看| 午夜人性色福利无码视频在线观看| 亚洲精品午夜无码电影网| 无码中文字幕精品推荐| 国产成人精彩在线视频50| 91香蕉视频下载网站| 欧美午夜一区| 亚洲午夜久久久精品电影院| 国产一区免费在线观看| 国产色婷婷视频在线观看| 久久青草免费91观看| 日韩毛片免费视频| 欧美黄色a| 玖玖精品在线| 人人妻人人澡人人爽欧美一区| 婷婷六月激情综合一区| 亚洲av无码成人专区| 亚洲中文在线看视频一区| 丁香亚洲综合五月天婷婷| 试看120秒男女啪啪免费| 一级做a爰片久久免费| 国产91线观看| 国产白浆视频| 欧美亚洲国产精品久久蜜芽| 久久中文字幕不卡一二区| 久久性妇女精品免费| 国产精品任我爽爆在线播放6080 | 女人天堂av免费| 麻豆国产原创视频在线播放| 婷婷综合在线观看丁香| 国产浮力第一页永久地址| 色综合久久久久8天国| 青青操国产视频| 无码专区在线观看| 免费一级毛片在线观看| 亚洲一区二区在线无码| 午夜爽爽视频| 精品亚洲麻豆1区2区3区| 国产激爽爽爽大片在线观看| 欧美区日韩区| 欧美成人h精品网站| 99热这里都是国产精品| 亚洲精品老司机| 午夜日b视频| 欧美视频二区| 极品尤物av美乳在线观看| 亚洲免费福利视频| 亚洲精品无码成人片在线观看| 午夜视频在线观看免费网站| 99视频在线免费观看| 制服丝袜在线视频香蕉| 91久久青青草原精品国产| 国产精品网址在线观看你懂的| 成人av专区精品无码国产 |