• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      SVG圖形格式在動(dòng)態(tài)心電圖中的研究與應(yīng)用

      2014-04-29 00:00:00李新春

      摘 要:本文分析探討SVG顯示動(dòng)態(tài)心電圖的方法,通過(guò)一個(gè)轉(zhuǎn)化工具實(shí)現(xiàn)SVG包裹動(dòng)態(tài)心電圖數(shù)據(jù),并通過(guò)公用的瀏覽器軟件顯示心電圖,以期解決動(dòng)態(tài)心電圖的網(wǎng)絡(luò)共享問(wèn)題。

      關(guān)鍵詞:SVG;動(dòng)態(tài)心電圖

      中圖分類號(hào):TP399

      動(dòng)態(tài)心電圖(Ambulatory Electrocardiogram,AECG)是美國(guó)物理學(xué)博士,實(shí)驗(yàn)物理學(xué)家Norman J·Holter于1957年發(fā)明的,故簡(jiǎn)稱Holter。由于Holter記錄儀可以隨身佩帶,不受體位變化及活動(dòng)的限制,長(zhǎng)時(shí)間(一般不小于24小時(shí))記錄人體生活狀態(tài)下的心電信號(hào),相較常規(guī)的心電圖機(jī)、監(jiān)護(hù)心電圖等心電檢查方法,具有巨大的優(yōu)勢(shì),所以動(dòng)態(tài)心電圖在心血管臨床檢測(cè)和診斷方面的應(yīng)用越來(lái)越普及。但隨著動(dòng)態(tài)心電圖的發(fā)展,動(dòng)態(tài)心電圖數(shù)據(jù)共享問(wèn)題出現(xiàn)了,尤其是因特網(wǎng)的應(yīng)用越來(lái)越普及,該問(wèn)題越發(fā)突出。因?yàn)镠olter生產(chǎn)商一般使用自己專有的數(shù)據(jù)格式來(lái)存儲(chǔ)動(dòng)態(tài)心電圖數(shù)據(jù),并使用專有的軟件來(lái)分析處理這些數(shù)據(jù)。這就為不同廠商間不同機(jī)型進(jìn)行數(shù)據(jù)交換設(shè)置了屏障,也限制了醫(yī)生使用這些數(shù)據(jù)進(jìn)行交流溝通,大量的動(dòng)態(tài)心電圖數(shù)據(jù)成為一個(gè)個(gè)信息孤島。

      1 使用SVG顯示動(dòng)態(tài)心電圖

      要使用SVG顯示動(dòng)態(tài)心電圖需要經(jīng)過(guò)下述三個(gè)處理過(guò)程:讀取解析專有格式的動(dòng)態(tài)心電圖數(shù)據(jù)、將解析過(guò)的動(dòng)態(tài)心電圖數(shù)據(jù)按SVG文件格式存儲(chǔ)、使用通用閱讀器讀取顯示SVG文件。下面以一個(gè)簡(jiǎn)單的例子說(shuō)明如何將專有數(shù)據(jù)格式的動(dòng)態(tài)心電圖數(shù)據(jù)轉(zhuǎn)化為SVG文件的。

      1.1 專有格式的動(dòng)態(tài)心電圖數(shù)據(jù)

      一般動(dòng)態(tài)心電圖數(shù)據(jù)文件是按時(shí)間序列存儲(chǔ)的各個(gè)采樣時(shí)刻的不同通道的采樣值。如三通道8位AD的動(dòng)態(tài)心電圖數(shù)據(jù)的格式如下所示:

      CH1 CH2 CH3 第1行

      CH1 CH2 CH3 第2行

      CH1 CH2 CH3 第n行

      CH1 CH2 CH3 第n+1行

      CH1 CH2 CH3 文件結(jié)尾

      其中CH1,CH2,CH3為通道編號(hào)名稱,代表所在位置通道的數(shù)據(jù);一行表示同一時(shí)刻的各個(gè)通道的數(shù)據(jù),如第n行表示時(shí)刻n各個(gè)通道的數(shù)據(jù);每個(gè)符號(hào)所代表的數(shù)據(jù)占一個(gè)字節(jié),一行共3個(gè)字節(jié),對(duì)應(yīng)三通道動(dòng)態(tài)心電圖的三個(gè)數(shù)據(jù)通道;“行”是為了描述方便而引入的術(shù)語(yǔ),實(shí)際文件為二進(jìn)制文件,其存儲(chǔ)順序?yàn)镃H1CH2CH3CH1CH2CH3……,一直到文件尾。讀取上述專有數(shù)據(jù),并按通道解析,形成單通道數(shù)據(jù)序列,即上表中的“列”所構(gòu)成的數(shù)據(jù)序列,如第一通道,就是CH1所在的“列”構(gòu)成的數(shù)據(jù)序列,解析后的數(shù)據(jù)序列為CH1CH1CH1……。專有軟件繪制心電圖的時(shí)候,就是以時(shí)間軸為橫軸,按一定的比例尺等距離的在時(shí)間軸上繪制心電圖采樣點(diǎn),即上述數(shù)據(jù)序列,點(diǎn)與點(diǎn)之間用線段連接,就形成了我們常見(jiàn)的心電圖。

      1.2 使用SVG文件包裹動(dòng)態(tài)心電圖數(shù)據(jù)

      SVG 是Scalable Vector Graphics的縮寫,是基于可擴(kuò)展標(biāo)記語(yǔ)言XML的,用于描述可縮放二維矢量圖形的一種圖形格式和網(wǎng)絡(luò)標(biāo)準(zhǔn)。關(guān)于SVG,有專門的著作或網(wǎng)站[2]進(jìn)行講述,這里不再贅述。SVG有多種基本形狀:矩形、圓形、橢圓、線段、折線、多邊形等,而這些元素與路徑元素描述的形狀本質(zhì)上相同,它們是路徑元素的特例。路徑實(shí)質(zhì)上就是一條線,它可以用來(lái)描述任意形狀的輪廓。心電圖實(shí)質(zhì)上就是一種復(fù)雜的輪廓線。所以本文選取路徑元素作為描述心電圖的工具。有關(guān)SVG的元素這里不做詳細(xì)說(shuō)明,僅概要說(shuō)明一下路徑元素的特點(diǎn)。路徑是用點(diǎn)的集合來(lái)描述的,其格式為d=“path data”,其中path data既包括繪圖指令,又包括坐標(biāo)數(shù)據(jù)值。如下程序所示:

      <?xml version=”1.0” encoding=”gb18030”?>

      height=”600”x=”0”y=”0” viewBox=”0 0 1000 600”>

      應(yīng)用SVG顯示心電圖

      上面程序?qū)嶋H上是一個(gè)完整的SVG文件,其中path元素占據(jù)了大部分篇幅,是該文件的主要內(nèi)容。Path data中的字母是說(shuō)明繪圖方式的指令,如M表示移動(dòng)到其后的坐標(biāo)對(duì)位置;每個(gè)坐標(biāo)對(duì)由一對(duì)數(shù)值表示,分別表示X軸和Y軸坐標(biāo)大小,數(shù)值間用空格隔開。實(shí)際上我們?cè)诘诙€(gè)坐標(biāo)對(duì)及以后的所有坐標(biāo)對(duì)前省略了字母L(畫線到其后的坐標(biāo)對(duì)指令),這是SVG語(yǔ)法所允許的。

      路徑元素繪制輪廓線時(shí)需要的是縱橫坐標(biāo)對(duì),在解析專有動(dòng)態(tài)心電圖數(shù)據(jù)時(shí)得到的僅有特定通道的數(shù)據(jù)序列。實(shí)際上上述數(shù)據(jù)序列是動(dòng)態(tài)心電圖幅度序列,是按固定的時(shí)間間隔對(duì)心電信號(hào)采樣得到的結(jié)果。繪圖時(shí)需要將時(shí)間因素考慮進(jìn)來(lái),形成橫坐標(biāo);觀察上面數(shù)據(jù)對(duì)中的第一個(gè)值,它們是等距離的,這正符合心電圖是按固定時(shí)間間隔進(jìn)行采樣的。時(shí)間橫坐標(biāo)和心電圖幅度數(shù)據(jù)形成的縱坐標(biāo)一起構(gòu)成坐標(biāo)對(duì),作為路徑元素的坐標(biāo)對(duì)集合成員。這樣一段心電圖就通過(guò)路徑元素描繪出來(lái)了。注意這里并非說(shuō)的繪制,它只是通過(guò)一段可讀的文本描述了一段心電圖,這段文本需要瀏覽器解析并在顯示器設(shè)備上將所描述的心電圖顯示出來(lái)。需要注意的是路徑元素能夠繪制的是一個(gè)通道的數(shù)據(jù),如果需要繪制多個(gè)通道,則需要不同的路徑元素來(lái)完成,每個(gè)路徑元素都是獨(dú)立的。

      1.3 生成SVG文件的實(shí)例

      下述代碼主要實(shí)現(xiàn)將專有動(dòng)態(tài)心電圖數(shù)據(jù)解析并轉(zhuǎn)化到SVG文件中。

      void ConvertToSVG()

      {

      unsigned char buf[3*1000];

      CString zSource,zTarget;

      CString strSource=\"h:\\patientdata\\2002040500.dat\";

      CString strTarget=\"d:\\test.svg\";

      FILE *hFile=fopen(strSource,\"rb\");

      fread(buf,1,3*1000,hFile);

      fclose(hFile);

      FILE *hTarget=fopen(strTarget,\"w\");

      fprintf(hTarget,\"<?xml version=\\"1.0\\" encoding=\\"gb18030\\"?>\n\");

      fprintf(hTarget,\"\n\");

      fprintf(hTarget,\"M\");

      for(int i=600;i<1000;i+=2)

      {

      fprintf(hTarget,\"%ld %ld \",i-500,128+400-buf[i*3]);

      }

      fprintf(hTarget,\"\\"/>\n\");

      fprintf(hTarget,\"應(yīng)用SVG顯示心電圖\n\");

      fprintf(hTarget,\"\n\");

      fprintf(hTarget,\"\");

      fclose(hTarget);

      }

      編譯并運(yùn)行這段VC代碼,其執(zhí)行結(jié)果就是生成一個(gè)名為“Test.SVG”的文件,用Firefox瀏覽器打開該文件,其顯示結(jié)果如圖所示。

      2 使用SVG實(shí)現(xiàn)動(dòng)態(tài)心電圖的優(yōu)勢(shì)

      首先通過(guò)下面的表格對(duì)照說(shuō)明上述一段動(dòng)態(tài)心電圖,不同類型的數(shù)據(jù)文件所需要的數(shù)據(jù)量及其限制。

      文件類型數(shù)據(jù)量(字節(jié))說(shuō)明

      專有數(shù)據(jù)文件約200不是可見(jiàn)的圖形,不可用于網(wǎng)絡(luò)

      BMP文件大于300K 24位圖形,清晰,可用于網(wǎng)絡(luò)

      JPG文件大于10K圖形,不清晰,網(wǎng)絡(luò)常見(jiàn)

      SVG文件小于2K圖形,清晰,最適用于網(wǎng)絡(luò)

      前述的SVG文件的大小只有2K字節(jié)不到,如果將在瀏覽器里顯示的對(duì)應(yīng)圖形拷屏保存成24位位圖文件,其大小為300K以上,它基本可以保持上圖一樣的顯示效果;而將上圖保存為有損壓縮的JPG文件,其大小在10K以上,但顯示清晰度已不能保證;而無(wú)疑專有數(shù)據(jù)文件的數(shù)據(jù)量最小,但其并不適用于網(wǎng)絡(luò)環(huán)境;所以SVG最適合于網(wǎng)絡(luò)傳輸。

      其次,SVG通過(guò)文本格式的描述性語(yǔ)言來(lái)描述圖像內(nèi)容,因此SVG是一種和圖像分辨率無(wú)關(guān)的矢量圖形格式。這也意味著由SVG所生成的動(dòng)態(tài)心電圖可以無(wú)限放大而不失真,便于使用者觀察心電圖細(xì)節(jié),為診斷提供清晰的依據(jù)。其文本描述的特性,還可以在同一個(gè)文件中包含動(dòng)態(tài)心電圖圖形和標(biāo)注文字等,這為通過(guò)標(biāo)注文字進(jìn)行動(dòng)態(tài)心電圖搜索等奠定了基礎(chǔ)。

      最后,SVG是W3C(World Wide Web Consortium國(guó)際互聯(lián)網(wǎng)標(biāo)準(zhǔn)組織)制定的開放標(biāo)準(zhǔn)。也就是說(shuō),它并不是屬于任何個(gè)體的專利,而是一個(gè)通過(guò)協(xié)作、共同開發(fā)的工業(yè)標(biāo)準(zhǔn)。正是因?yàn)檫@點(diǎn),才使得SVG能夠得到更迅速的開發(fā)和應(yīng)用。而動(dòng)態(tài)心電圖方面至今沒(méi)有一個(gè)統(tǒng)一的國(guó)際標(biāo)準(zhǔn)加以規(guī)范。如果能夠利用此標(biāo)準(zhǔn),甚至在此標(biāo)準(zhǔn)基礎(chǔ)上開發(fā)出規(guī)范動(dòng)態(tài)心電圖的標(biāo)準(zhǔn),無(wú)疑是一個(gè)開創(chuàng)性的工作。

      2 結(jié)束語(yǔ)

      本文通過(guò)一個(gè)簡(jiǎn)單的轉(zhuǎn)化工具實(shí)現(xiàn)SVG包裹動(dòng)態(tài)心電圖數(shù)據(jù),并通過(guò)公用的瀏覽器軟件顯示心電圖。上述代碼所實(shí)現(xiàn)的轉(zhuǎn)化工作還比較簡(jiǎn)陋,如果真正形成一個(gè)完善的轉(zhuǎn)化工具,還需要考慮很多實(shí)際問(wèn)題,比如時(shí)間和幅度的標(biāo)準(zhǔn)化,如何實(shí)現(xiàn)用戶通過(guò)網(wǎng)頁(yè)進(jìn)行交互訪問(wèn)長(zhǎng)時(shí)間的動(dòng)態(tài)心電圖,心電圖的標(biāo)注及如何合理利用這些獨(dú)立的標(biāo)注文本等。

      參考文獻(xiàn):

      [1]曾文慶,蔣家正.以XML為基礎(chǔ)的心電圖管理系統(tǒng)[J].Journal of Information Technology and Applications,2006(02).

      [2]SVG教程.http://www.w3school.com.cn/svg/

      作者簡(jiǎn)介:李新春(1972-),男,回族,教師,本科,研究方向:軟件開發(fā)。

      来凤县| 曲阜市| 镇康县| 城步| 平陆县| 雷山县| 镇宁| 茂名市| 麻城市| 利津县| 岳西县| 巧家县| 佛教| 建德市| 麻栗坡县| 张家港市| 满城县| 岢岚县| 成都市| 余干县| 黄浦区| 南乐县| 墨竹工卡县| 盖州市| 顺义区| 弋阳县| 台湾省| 江阴市| 辛集市| 钟祥市| 渝中区| 县级市| 昭觉县| 抚松县| 仲巴县| 改则县| 峨眉山市| 苗栗市| 利津县| 文山县| 沐川县|