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

胎兒心率曲線的合成

2010-04-12 00:00:00蘇文娟,張子明,施遠(yuǎn)征,田大軍,吳
現(xiàn)代電子技術(shù) 2010年15期

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

中圖分類號(hào):TN919; TP274文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):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 引 言

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

急救教學(xué)系統(tǒng)采用目前國(guó)際醫(yī)學(xué)模擬教學(xué)中比較流行的觸覺(jué)感知技術(shù),可以逼真地模擬胎兒出生過(guò)程,并在此過(guò)程中對(duì)胎兒的心率和宮縮進(jìn)行實(shí)時(shí)監(jiān)控。而胎兒虛擬監(jiān)護(hù)儀作為其中很重要的一部分,其上所顯示胎兒心率曲線可以在最大程度上通過(guò)視覺(jué)直觀地反映出了胎兒在出生過(guò)程中的各種突發(fā)情況,起到了醫(yī)學(xué)教學(xué)和臨床教學(xué)的橋梁作用,使受訓(xùn)者的理論和臨床實(shí)踐很好地結(jié)合起來(lái),極大地提高受訓(xùn)者的應(yīng)變能力和現(xiàn)場(chǎng)處理能力。

1 OpenGL介紹

由于所繪的圖形數(shù)據(jù)量很大,而且所繪的圖形是動(dòng)態(tài)的曲線圖,如果用GDI+繪圖工具需占用內(nèi)存太大,如果機(jī)器配置不高的話,很可能造成死機(jī)。因此這里采用OpenGL繪圖工具來(lái)繪制波形曲線圖。

1.1 OpenGL的功能

OpenGL實(shí)際上是一個(gè)開(kāi)放的三維圖形軟件包,它獨(dú)立于窗口系統(tǒng)和操作系統(tǒng),以它為基礎(chǔ)開(kāi)發(fā)的應(yīng)用程序可以十分方便地在各種平臺(tái)間移植;OpenGL可以與Visual C++緊密接口,便于實(shí)現(xiàn)機(jī)械手的有關(guān)計(jì)算和圖形算法,可保證算法的正確性和可靠性;OpenGL使用簡(jiǎn)便,效率高。它具有七大功能:

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

(2) 變換:OpenGL圖形庫(kù)的變換包括基本變換和投影變換。基本變換有平移、旋轉(zhuǎn)、變比鏡像四種變換,投影變換有平行投影(又稱正射投影)和透視投影兩種變換。其變換方法與機(jī)器人運(yùn)動(dòng)學(xué)中的坐標(biāo)變換方法完全一致,有利于減少算法的運(yùn)行時(shí)間,提高三維圖形的顯示速度。

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

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

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

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

(7) 雙緩存(Double Buffering)動(dòng)畫:雙緩存即前臺(tái)緩存和后臺(tái)緩存,簡(jiǎn)而言之,后臺(tái)緩存計(jì)算場(chǎng)景、生成畫面,前臺(tái)緩存顯示后臺(tái)緩存已畫好的畫面。此外,利用OpenGL還能實(shí)現(xiàn)深度暗示(Depth Cue)、運(yùn)動(dòng)模糊(Motion Blur)等特殊效果。從而實(shí)現(xiàn)了消隱算法。

1.2 OpenGL繪圖流程

由于OpenGL的繪圖方式與Windows的一般繪圖方式不同,其主要區(qū)別表現(xiàn)在以下幾個(gè)方面:

(1) Windows采用GDI繪圖。

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

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

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

像素格式?jīng)Q定了像素顏色的設(shè)置與DC和RC相關(guān)聯(lián)的輔助緩存區(qū)像素格式的設(shè)置,其內(nèi)容是OpenGL調(diào)用與Windows繪制操作之間的中間轉(zhuǎn)換設(shè)置。因此要在Windows環(huán)境下實(shí)現(xiàn)OpenGL的函數(shù)功能,就必須設(shè)置像素格式。OpenGL for Windows提供了一系列處理像素格式的函數(shù),這些函數(shù)為:

ChoosePixelFormat();

SetPixelFormat();

GetPixelFormat();

DescribePixelFormat();

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

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

glBegin(GLLINES);

glVertex2f(0,0);

glVertex2f(100,100);

glEnd();

實(shí)現(xiàn)[1]

2 波形曲線的繪制

2.1 心電圖紙的繪制

因心電圖是顯示在標(biāo)準(zhǔn)的心電圖紙上,所以首先需要繪制心電圖的格子,由于要在同一張紙上同時(shí)繪出胎兒各種心率曲線和宮縮壓力曲線,需用到兩個(gè)坐標(biāo),因此在繪制心電圖的格子時(shí)需要分別繪出。心電圖紙的坐標(biāo)需要跟著曲線圖一起走,所以也是動(dòng)態(tài)的。這里用重繪的辦法解決這個(gè)問(wèn)題。由于波形是從右至左運(yùn)行,所以這里最左面每畫一條線,右面擦掉一條線,然后重繪圖形。這樣繪出來(lái)的表格就是動(dòng)態(tài)的了。

2.2 心電曲線的繪制

2.2.1 胎心率曲線的特點(diǎn)

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

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

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

加速:指子宮收縮后胎心率暫時(shí)增加15 bpm以上,持續(xù)時(shí)間超過(guò)15 s,是胎兒良好的表現(xiàn)。加速原因是胎兒軀干或臍靜脈暫時(shí)受壓。散發(fā)的、短暫的胎心率加速無(wú)害。

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

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

變異減速 特點(diǎn)是胎心率減速與宮縮沒(méi)有固定的關(guān)系。一旦出現(xiàn)變異減速,下降迅速且下降幅度大(大于70 bpm),持續(xù)時(shí)間長(zhǎng)短不一,恢復(fù)也迅速。變異減速一般認(rèn)為是子宮收縮時(shí)臍帶受壓興奮迷走神經(jīng)所致。

晚期減速 特點(diǎn)是胎心率下降的起點(diǎn)常落后于宮縮曲線上升的起點(diǎn),多在宮縮波峰處開(kāi)始,胎心率曲線減速的波谷落后于宮縮曲線的波峰,時(shí)間差不多在30~60 s,下降幅度小于50 bpm,胎心率回復(fù)所需時(shí)間較長(zhǎng)。晚期減速一般認(rèn)為是胎兒缺氧的表現(xiàn),醫(yī)生會(huì)給予高度重視。

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

2.2.2 曲線的繪制

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

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

在VC 2005環(huán)境下構(gòu)建CMyCreatWave類,用于產(chǎn)生胎心率曲線的波形數(shù)據(jù)。同時(shí)構(gòu)建CMyWaveDisplay類,用于在屏幕上顯示波形,在CMyWaveDisplay創(chuàng)建ReadWaveSourceData(unsigned int nTypeSource) 函數(shù)用于讀取基波的數(shù)據(jù),則得到的波形如圖1,圖2所示。

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

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

對(duì)于宮縮壓力曲線也采樣同樣的道理,即導(dǎo)入基波數(shù)據(jù),然后在其上疊加其他波形,如圖3,圖4所示。

圖3 宮縮壓力曲線圖

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

由于每頁(yè)只能繪制6 000個(gè)數(shù)據(jù),而這里繪制72 000個(gè)數(shù)據(jù),所以設(shè)置了翻頁(yè)功能,即向前翻頁(yè)和向后翻頁(yè)。還可以對(duì)正在播放的波形數(shù)據(jù)進(jìn)行保存,設(shè)置了導(dǎo)入記錄和保存記錄這兩個(gè)功能,還可以把正在播放的波形打印出來(lái)。

3 繪制波形中遇到的問(wèn)題

用OpenGL可以很好地繪制出所需要波形,顯示效果也比較滿意,但也有一個(gè)比較嚴(yán)重的問(wèn)題,就是在波形運(yùn)行的過(guò)程中屏幕會(huì)閃爍。

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

(1) GDI命令是沒(méi)有設(shè)計(jì)雙緩存的,首先把使用InvalidateRect(1)的地方改成InvalidateRect(NULL,F(xiàn)ALSE),這樣做是使GDI的重畫命令失效,由OpenGL的命令進(jìn)行重畫;

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

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

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

4 結(jié) 語(yǔ)

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

本文所繪制的出來(lái)的曲線能真實(shí)的模擬人體的胎心率曲線以及宮縮曲線的變化,而且容易操作,即使一個(gè)醫(yī)學(xué)初學(xué)者也能操作,很大程度上方便了醫(yī)學(xué)培訓(xùn)機(jī)構(gòu)的教學(xué),具有很好的應(yīng)用價(jià)值,市場(chǎng)前景廣闊。

參考文獻(xiàn)

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

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

[3]盧喜烈.現(xiàn)代心電圖大全[M].北京:科學(xué)技術(shù)文獻(xiàn)出版社,1996.

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

[5]黃大顯.現(xiàn)代心電圖學(xué)[M].北京:人民軍醫(yī)出版社,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]鄭峰,劉曼芳,許明強(qiáng).標(biāo)準(zhǔn)心電模擬波形發(fā)生器制作[J].醫(yī)療衛(wèi)生裝備,2003,24(9):45-46.

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

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

主站蜘蛛池模板: 国产高清在线精品一区二区三区| 在线观看无码a∨| 中文字幕第4页| 亚洲国产高清精品线久久| 波多野结衣一区二区三区四区视频 | 久久黄色影院| 中文字幕一区二区视频| 日韩一级二级三级| 国产精品亚洲天堂| 国产乱子伦无码精品小说| 亚洲精品福利视频| 国产精品无码制服丝袜| 色香蕉影院| 福利姬国产精品一区在线| 真人免费一级毛片一区二区| 日韩第九页| 国产第一页屁屁影院| 亚洲精品va| 无码人妻免费| 国产成熟女人性满足视频| 国产啪在线91| 久久人搡人人玩人妻精品| 国产一区亚洲一区| 亚洲黄色高清| 午夜国产理论| 欧美午夜网| 精品自窥自偷在线看| 无码一区18禁| 成色7777精品在线| 91人妻日韩人妻无码专区精品| 美女无遮挡免费视频网站| 麻豆国产在线观看一区二区| 成AV人片一区二区三区久久| 丁香五月激情图片| 久久精品国产免费观看频道| 国产中文一区a级毛片视频| 中文字幕乱码中文乱码51精品| 亚洲国产精品成人久久综合影院| 波多野结衣的av一区二区三区| 免费一级毛片| 黄色网址免费在线| 婷婷久久综合九色综合88| 女人18毛片一级毛片在线| 午夜国产不卡在线观看视频| 欧美成在线视频| 日韩av无码DVD| 成人一区专区在线观看| 在线观看免费人成视频色快速| 成人无码一区二区三区视频在线观看| 国产系列在线| 19国产精品麻豆免费观看| 国产麻豆永久视频| 久久成人国产精品免费软件| 免费精品一区二区h| 欧美yw精品日本国产精品| 国产乱子伦手机在线| 波多野衣结在线精品二区| 色哟哟色院91精品网站 | 国产一级无码不卡视频| 99热这里都是国产精品| 丁香六月激情综合| 亚洲伊人久久精品影院| 国产免费怡红院视频| 欧美国产在线看| 最新无码专区超级碰碰碰| 国产乱人伦AV在线A| 色135综合网| 91无码视频在线观看| 中文字幕人妻无码系列第三区| 99er精品视频| 国产精品视频第一专区| 亚洲色成人www在线观看| 亚洲成a人在线观看| 欧美精品高清| 免费啪啪网址| 欧美亚洲网| 日本欧美午夜| 熟妇丰满人妻| 日本不卡视频在线| 国产毛片高清一级国语 | 国产欧美日韩另类| 欧美一级黄色影院|