本發明涉及臨床診斷領域,具體而言,涉及一種基于超聲功率譜進行心率周期標定的裝置與方法。
背景技術:
目前,心率檢測在臨床診斷中有著重要意義,對孕婦圍產期胎心率的檢測對提高胎兒分娩質量,可以降低胎兒死亡率和畸形率。超聲多普勒血流測量中,心率值以及心率周期的標定對于血管疾病的診斷有著重要意義。超聲多普勒檢測由于具有無損和高靈敏度的特點,得到了非常廣泛的應用。通過將探頭放在人體的器官組織(比如心臟、頸動脈)上,按照多普勒原理,反射界面的移動會導致回波的頻率較源信號的頻率發生改變。超聲信號遇到移動的器官組織,則會產生多普勒頻移,而那些相對穩定的器官組織則不會。另外,由于超聲多普勒血流測量中,不僅需要計算出心率值,而且需要在多普勒包絡曲線(最大頻率曲線)中標定出每個心動周期,方便醫生查看,以利用醫生更有線精確的清楚被檢測者具體情況。
現有技術中,在對超聲功率譜進行周期檢測時,由于噪聲等因素影響,容易出現誤差,例如,出現周期減半或者加倍的問題。同時,由于利用現有技術方式檢測時對于信號幅值的變化過于敏感,由于噪聲或外界原因導致的偶爾信號突變導致信號不穩定,很容易出現計算錯誤的問題,另外目前還沒有標定心動周期的方法,醫生根據超聲功率譜對人體的具體情況的判斷不夠直觀。
技術實現要素:
有鑒于此,本發明實施例的目的在于提供一種基于超聲功率譜進行心率周期標定的裝置與方法。
第一方面,本發明實施例提供了一種基于超聲功率譜進行心率周期標定的裝置,所述基于超聲功率譜進行心率周期標定的裝置包括:
包絡識別單元,用于識別出輸入的超聲功率譜的多普勒包絡曲線;
周期計算單元,用于依據所述多普勒包絡曲線計算心動周期;
截取單元,用于截取所述多普勒包絡曲線的一個心動周期的曲線段;
數據提取單元,用于提取出截取的心動周期的曲線段的多個候選極大值及多個候選極小值;
極小值計算單元,用于依據所述多個候選極大值以及多個候選極小值中計算真實極小值;
結果輸出單元,用于將所述真實極小值輸出。
第二方面,本發明實施例還提供了一種基于超聲功率譜進行心率周期標定的方法,所述基于超聲功率譜進行心率周期標定的方法包括:
識別出輸入的超聲功率譜的多普勒包絡曲線;
依據所述多普勒包絡曲線計算心動周期;
截取所述多普勒包絡曲線的一個心動周期的曲線段;
提取出截取的心動周期的曲線段的多個候選極大值及多個候選極小值;
在依據所述多個候選極大值以及多個候選極小值中計算真實極小值;
將所述真實極小值輸出。
與現有技術相比,本發明提供的基于超聲功率譜進行心率周期標定的裝置與方法,通過截取所述多普勒包絡曲線的一個心動周期的曲線段,提取出截取的心動周期的曲線段的多個候選極大值及多個候選極小值,依據所述多個候選極大值以及多個候選極小值中計算真實極小值,從而剔除了由于噪聲或外界原因導致的信號不穩定生成的多個候選極大值及候選極小值,提高了周期計算的精確性,并且可根據真實極大值和真實極小值對一個周期內的多普勒包絡曲線的起始點、結束點進行標定,使得醫生對多普勒包絡曲線的觀察更加直觀,從而得出的結論更加有效。
為使本發明的上述目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
附圖說明
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發明的實施例的詳細描述并非旨在限制要求保護的本發明的范圍,而是僅僅表示本發明的選定實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
圖1為本發明實施例提供的服務器的結構框圖;
圖2為本發明實施例提供的基于超聲功率譜進行心率周期標定的裝置的功能單元示意圖;
圖3為本發明實施例提供的梯度函數的示意圖;
圖4為本發明實施例提供的累計方差函數的示意圖;
圖5為本發明實施例提供的對多普勒包絡曲線的一個周期的起始點和結束點進行標定的示意圖;
圖6為本發明實施例提供的基于超聲功率譜進行心率周期標定的方法的流程圖。
圖標:100-基于超聲功率譜進行心率周期標定的裝置;101-處理器;102-存儲器;103-存儲控制器;104-外設接口;200-服務器;201-包絡識別單元;202-周期計算單元;203-截取單元;204-數據提取單元;205-極小值計算單元;206-結果輸出單元。
具體實施方式
下面將結合本發明實施例中附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發明的實施例的詳細描述并非旨在限制要求保護的本發明的范圍,而是僅僅表示本發明的選定實施例。基于本發明的實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
本發明較佳實施例所提供的基于超聲功率譜進行心率周期標定的裝置與方法可應用于服務器。該服務器可以是,但不限于,網絡服務器、數據庫服務器、云端服務器等等。
圖1示出了一種可應用于本發明實施例中的服務器200的結構框圖。所述服務端包括基于超聲功率譜進行心率周期標定的裝置100、處理器101、存儲器102、存儲控制器103及外設接口104。
所述存儲器102、存儲控制器103及處理器101,各元件相互之間直接或間接地電性連接,以實現數據的傳輸或交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號線實現電性連接。所述基于超聲功率譜進行心率周期標定的裝置100包括至少一個可以軟件或固件(firmware)的形式存儲于所述存儲器102中或固化在所述客戶端100的操作系統(operating system,OS)中的軟件功能模塊。所述處理器101用于執行存儲器102中存儲的可執行模塊,例如,所述基于超聲功率譜進行心率周期標定的裝置100包括的軟件功能模塊或計算機程序。
其中,存儲器102可以是,但不限于,隨機存取存儲器(Random Access Memory,RAM),只讀存儲器(Read Only Memory,ROM),可編程只讀存儲器(Programmable Read-Only Memory,PROM),可擦除只讀存儲器(Erasable Programmable Read-Only Memory,EPROM),電可擦除只讀存儲器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存儲器102用于存儲程序,所述處理器101在接收到執行指令后,執行所述程序,前述本發明實施例任一實施例揭示的流過程定義的服務端所執行的方法可以應用于處理器101中,或者由處理器101實現。
處理器101可能是一種集成電路芯片,具有信號的處理能力。上述的處理器101可以是通用處理器,包括中央處理器(Central Processing Unit,簡稱CPU)、網絡處理器(Network Processor,簡稱NP)等;還可以是數字信號處理器(DSP)、專用集成電路(ASIC)、現成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現或者執行本發明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器101也可以是任何常規的處理器101等。
外設接口104將各種輸入/輸出裝置耦合至處理器101以及存儲器102。在一些實施例中,外設接口104、處理器101以及存儲控制器103可以在單個芯片中實現。在其他一些實例中,他們可以分別由獨立的芯片實現。
可以理解,圖1所示的結構僅為示意,服務器200還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。圖1中所示的各組件可以采用硬件、軟件或其組合實現。
請參閱圖2,本發明實施例提供的一種基于超聲功率譜進行心率周期標定的裝置,所述基于超聲功率譜進行心率周期標定的裝置包括包絡識別單元201、周期計算單元202、截取單元203、數據提取單元204、極小值計算單元205以及結果輸出單元206。
所述包絡識別單元201用于識別出輸入的超聲功率譜的多普勒包絡曲線。
本實施例中,超聲功率譜為心電周期性連續信號x(t)的頻譜,可表示為離散的非周期序列P(f),它的幅度頻譜的平方│P(f)│2所排成的序列,就被稱之為該周期信號的“功率譜”;超聲功率譜的幅度是按低頻調制信號變化的,把超聲功率譜的峰點連接起來,就可以得到一個與低頻調制信號相對應的曲線,這條曲線就是多普勒包絡曲線。具體地,所述包絡識別單元201用于依據百分比算法或幾何算法或改進幾何算法或閾值算法或小波變換算法或動態規劃算法識別出輸入的超聲功率譜的多普勒包絡曲線。例如,小波變換算法(wavelet transform,WT)是一種新的信號變換分析方法,利用短時傅立葉變換局部化的思想,能夠提供一個隨頻率改變的“時間-頻率”窗口,是進行信號時頻分析和處理的理想工具。當然地,識別出輸入的超聲功率譜的多普勒包絡曲線的方式僅僅可以利用上述的算法,在此僅僅是舉例說明。
所述周期計算單元202用于依據所述多普勒包絡曲線計算心動周期。
本實施例中,計算心動周期包括但不限于以下兩種方式:
如圖4所示,第一種:所述周期計算單元202用于計算所述多普勒包絡曲線的自相關函數,再計算自相關函數的累計方差函數,將累計方差函數距離零點的第一個極大值點對應的時間點作為周期。
具體地,依據算式或計算出多普勒包絡曲線的自相關函數R(n),其中,R(n)為自相關函數,F(m)為多普勒包絡曲線,N為最大頻率曲線的數據長度,μ為F(m)的平均值,此時計算出的自相關函數可能存在一定的誤差,需要利用累計方差函數或梯度函數對自相關函數進行修正,當采用累計方差函數對自相關函數進行修正時,具體的方式為依據算式計算出累計方差函數D(n);
如圖3所示,當采用梯度函數對自相關函數進行修正時,將自相關函數R(n)定義為函數f(x,y),自相關函數R(n)定義為函數f(x,y)在平面區域G內具有一階連續偏導數,則對于每一點P(x,y)∈G,都可定出一個向量該向量稱為f(x,y)在點P(x,y)的梯度,梯度函數記為:
其中,梯度方向為x軸到梯度的轉角的正切與取得最大方向導數的方向一致時,模為方向導數的最大值。
本發明采用梯度上升法求函數的局部最大值,算法的迭代過程是一個“上坡”的過程,每一步選擇坡度變化率最大的方向往上走,這個方向就是函數在這一點梯度方向,最后隨著迭代的進行,梯度還是不斷減小,最后趨近與零。
計算周期的方式可以為:在累計方差函數D(n)上,從零點開始向X軸的正向查找第一個極大值點,該極大值點到零點的距離就被認為是周期值,即心動周期T',然后再乘以超聲功率譜的每條譜線之間的時間間隔即可得到心動周期T,另外,計算周期的方式還可以為:在梯度函數上,從零點開始向X軸的正向查找第一個極大值點,該極大值點到零點的距離就被認為是周期值,即心動周期T',然后再乘以超聲功率譜的每條譜線之間的時間間隔即可得到心動周期T。
通過計算自相關函數的累計方差函數或梯度函數對自相關函數進行修正,得出的心動周期T更加精確有效。另外,通過心動周期可計算出心率,心率是指正常人安靜狀態下每分鐘心跳的次數,也叫安靜心率,一般為60~100次/分,可因年齡、性別或其他生理因素產生個體差異,由于周期的單位為秒,因此心率的具體計算方式為其中,HR為心率。
所述截取單元203用于截取所述多普勒包絡曲線的一個心動周期的曲線段。
較佳地,為了獲得最新的超聲功率譜數據,截取單元203截取所述多普勒包絡曲線的最新的一個心動周期的曲線段。
將最新一個心動周期的數據記為F'(f),其中,F'(f)=F(t+f),f∈[1,T],t為起始位置偏移量。
所述數據提取單元204用于提取出截取的心動周期的曲線段的多個候選極大值及多個候選極小值。
由于噪聲或者外界環境影響的原因導致一個心動周期的波峰或者波谷存在凹陷,從而導致提取到的錯誤的最大值與最小值,因此需要對錯誤的最大值與最小值進行剔除。
所述極小值計算單元205用于依據所述多個候選極大值以及多個候選極小值中計算真實極小值。
極小值計算單元305包括參考閾值計算子單元、判斷子單元、候選列表建立子單元以及極值標定子單元。
所述參考閾值計算子單元用于依據算式TH1=maxVal-(maxVal-minVal)/K1計算出極大值比對閾值,依據算式TH2=maxVal+(maxVal-minVal)/K2計算出極小值比對閾值,其中,maxVal為當前功率最大值,minVal為當前功率最小值,K1,K2分別為預設定的經驗值,根據發明人試驗,K1,K2的取值大于等于3較佳,例如,K1為4,k2為3,TH1為極大值比對閾值,TH2為極小值比對閾值。
判斷子單元,用于判斷每個候選極大值兩側的N個功率值是否均小于該候選極大值且該候選極大值是否大于所述極大值比對閾值,每個候選極大值兩側的N個功率值是否均大于該候選極小值,且該候選極小值是否小于所述極小值比對閾值。
例如,本實施例中,N為整數,且N的取值越大,對錯誤的最大值的剔除力度越高,但是N值越大,篩選的效率越慢,因此本實施例中,N的取值在6~12較佳。
候選列表建立子單元,用于若其中一個候選極大值兩側的N個功率值均小于該候選極大值且該候選極大值大于所述極大值比對閾值時,將該候選極大值加入到極大值候選列表中,若其中一個候選極小值兩側的N個功率值均大于該候選極小值且該候選極小值小于所述極小值比對閾值時,將該候選極小值加入到極小值候選列表中;
極值標定子單元,用于從極大值候選列表中找到一個最大的極大值標定為真實極大值,分別計算極小值候選列表中每個極小值與真實極大值之間連線的斜率,將斜率值最小的連線對應的極小值標定為真實極小值。
若篩選候選極大值為F′(P),判斷F′(P)是否滿足算式的條件,如果其中一個候選極大值滿足,則認為該F′(P)為真實極大值,同理,
判斷F′(P)是否滿足算式如果其中一個候選極小值滿足,則認為該F′(P)為真實極小值。
所述結果輸出單元206用于將所述真實極小值輸出。
如圖5所示,輸出的真實極小值可在一智能終端的顯示屏顯示,為了可以使得醫生更能直觀的觀察到超聲功率譜的周期及周期起始點、周期結束點,可將周期的起始位置及周期的末端位置進行標定。根據心動周期T和波谷位置P',得到最新一個心動周期的第一邊界位置點T1、及第二邊界位置點T2,其中T1和T2都是波谷,兩個相鄰的波谷之間的距離即為心動周期,從而更為精確的標定了周期的大小。
請參閱圖6,本發明實施例還提供了一種基于超聲功率譜進行心率周期標定的方法,需要說明的是,本實施例所提供的基于超聲功率譜進行心率周期標定的方法,其基本原理及產生的技術效果和上述實施例相同,為簡要描述,本實施例部分未提及之處,可參考上述的實施例中相應內容。所述基于超聲功率譜進行心率周期標定的方法包括:
步驟S601:識別出輸入的超聲功率譜的多普勒包絡曲線。
可以理解地,通過包絡識別單元201可執行步驟S601。
本實施例中,步驟S601具體可以為依據百分比算法或幾何算法或改進幾何算法或閾值算法或小波變換算法或動態規劃算法識別出輸入的超聲功率譜的多普勒包絡曲線。
步驟S602:依據所述多普勒包絡曲線計算心動周期。
可以理解地,通過周期計算單元202可執行步驟S602。
本實施例中,所述依據所述多普勒包絡曲線計算心動周期包括但不限于以下兩種方式:
第一種:計算所述多普勒包絡曲線的自相關函數,再計算自相關函數的累計方差函數,將累計方差函數距離零點的第一個極大值點對應的時間點作為周期。
第二種:計算所述多普勒包絡曲線的自相關函數,再計算自相關函數的梯度函數,將梯度函數距離零點的第一個極大值點對應的時間點作為周期。
步驟S603:截取所述多普勒包絡曲線的一個心動周期的曲線段。
可以理解地,通過截取單元203可執行步驟S603。
步驟S604:提取出截取的心動周期的曲線段的多個候選極大值及多個候選極小值。
可以理解地,通過數據提取單元204可執行步驟S604。
步驟S605:依據所述多個候選極大值以及多個候選極小值中計算真實極小值。
可以理解地,通過極小值計算單元205可執行步驟S605。
步驟S605的具體實施方式可以為:
依據算式TH1=maxVal-(maxVal-minVal)/K1計算出極大值比對閾值,依據算式TH2=maxVal+(maxVal-minVal)/K2計算出極小值比對閾值,其中,maxVal為當前功率最大值,minVal為當前功率最小值,K1,K2分別為預設定的經驗值,TH1為極大值比對閾值,TH2為極小值比對閾值。
判斷每個候選極大值兩側的N個功率值是否均小于該候選極大值且該候選極大值是否大于所述極大值比對閾值,每個候選極大值兩側的N個功率值是否均大于該候選極小值,且該候選極小值是否小于所述極小值比對閾值。
若其中一個候選極大值兩側的N個功率值均小于該候選極大值且該候選極大值大于所述極大值比對閾值時,將該候選極大值加入到極大值候選列表中,若其中一個候選極小值兩側的N個功率值均大于該候選極小值且該候選極小值小于所述極小值比對閾值時,將該候選極小值加入到極小值候選列表中;
從極大值候選列表中找到一個最大的極大值標定為真實極大值,分別計算極小值候選列表中每個極小值與真實極大值之間連線的斜率,將斜率值最小的連線對應的極小值標定為真實極小值。
步驟S606:將所述真實極小值輸出。
可以理解地,通過結果輸出單元206可執行步驟S606。
綜上所述,本發明提供的基于超聲功率譜進行心率周期標定的裝置與方法通過截取所述多普勒包絡曲線的一個心動周期的曲線段,提取出截取的心動周期的曲線段的多個候選極大值及多個候選極小值依據,所述多個候選極大值以及多個候選極小值中計算真實極小值,從而剔除了由于噪聲或外界原因導致的信號不穩定的生成的多個候選極大值及候選極小值,提高了周期計算的精確性,并且可根據真實極大值和真實極小值對一個周期內的多普勒包絡曲線的起始點、結束點進行標定,使得醫生對多普勒包絡曲線的觀察更加直觀,從而得出的結論更加有效。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,也可以通過其它的方式實現。以上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據本發明的多個實施例的裝置、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現方式中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
另外,在本發明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。
所述功能如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。
以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應所述以權利要求的保護范圍為準。
需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。