本發明涉及一種計算方法,具體是一種頻譜參數實時計算方法。
背景技術:
超聲多普勒技術被廣泛用于人體血流的無損檢測和測量,連續波多普勒(cw)和脈沖波多普勒(pw)技術均屬于頻譜多普勒技術,即對多普勒血流信號進行頻譜分析,獲得其頻譜分布,從而可以估計出血管內血流速度的分布情況。
如圖7所示為人體頸動脈多普勒信號聲譜圖。由該聲譜圖上提取最大頻率(也稱最大流速),得到最大流速曲線,即聲譜圖的包絡(上圖曲線描繪了一個周期的最大流速曲線),從中估計一些重要的臨床參數,如心率、最高流速、平均流速等。
圖7所示,曲線包絡稱為最大流速曲線,一個心動周期的最大流速曲線的峰值稱為最高流速點(圖示ps點)。
相近的技術方案cn101301212b;對上述已有方案描述如下:
一種實時估計多普勒參數的方法及裝置,用于超聲診斷系統中,對運動組織或者血流聲譜圖的流速曲線自動進行多普勒參數實時計算處理。所述方法包括循環進行的步驟:用長度預先設置的數據緩沖區依次從所述流速曲線上取出一段數據,進行當前準心動周期的估計;確定最高流速的當前搜索閾值;根據所述閾值和準心動周期,搜索當前最高流速。
其中,閾值的設置,是初始設置或重新設置為當前預定時間長度t的一段流速曲線所對應的流速最大值和平均值的平均值;其中t的選取確保該曲線至少包含一個心動周期,t選取為2s;波峰搜索過程:先將每個寫入緩沖區的最大流速值與搜索閾值比較,僅當連續有n2個最大流速值都大于該閾值時,以該n2個點中的第一個點對應的時刻為起點s,確定一預定長度范圍內的時間段為所述波峰搜索期,本方案中n2對應時間長度為0.03秒,預定長度單位的時間段在本實施例中取為準心動周期的三分之一;進而,在此時間范圍內搜索出最大曲線峰值,作為所述最高流速的估計值。再根據最高流速所在的位置實時估計包括當前心動周期、最低流速或心率在內的其他參數。
上述為確保搜索閾值的實時性和自適應性,使用剛剛計算出的當前心動周期內的最高流速和平均流速更新搜索閾值。在某些情況下,受外部因素印象,最大流速曲線的幅度可能發生變化。例如,患者身體移動可能導致多普勒聲譜圖及最大流速曲線全部變小,則以之前更新的閾值搜索最高流速,會出現錯誤,所以方案中還加了對搜索閾值有效與否的判斷機制。
已有的方案中的搜索閾值以及最高流速的搜索時間范圍都是根據前一個周期的參數計算得到的,在出現患者移動等特殊情況時,會出現錯誤,自適應差。
對搜索閾值有效性的判斷與更新機制使運算復雜。
技術實現要素:
本發明的目的在于提供一種頻譜參數實時計算方法,以解決上述背景技術中提出的問題。
為實現上述目的,本發明提供如下技術方案:
一種頻譜參數實時計算方法,包括循環進行的步驟:取出一段最大流速曲線數據;對此數據進行預處理后;根據預處理后的數據求解兩個滑動平均值mabeat與mapeak,進一步求出閾值thr1;若有連續n個最大流速點對應的thr1大于mabeat值,則認為此區域存在最高流速點,是感興趣區域;統計每個感興趣區域的長度,在每個感興趣區域的長度范圍內搜索,得到取出的這段數據中所有的最高流速點。
作為本發明再進一步的方案:所述取出的這段數據包含多個心動周期的最大流速曲線,能夠搜索出多個最高流速點。
與現有技術相比,本發明的有益效果是:本發明搜索閾值設置為最大流速曲線的滑動平均值,是根據最大流速曲線實時計算得到的,是完全自適應的;判斷的方法不是用最大流速曲線值直接與閾值比較,而是用一段范圍的不同時間長度內的平均值進行比較,當由于患者移動等其他情況影響,導致最大流速曲線的幅度整體變大或變小時,求出的滑動平均值也隨著變化,仍能準確判斷存在峰值點的感興趣區域,避免了由于干擾帶來的閾值無效問題,也不需要進行閾值有效與否的判斷操作。算法具有更好的自適應性,魯棒性更高,更簡便,并且在每一段存在最高流速點(ps點)的感興趣區域內搜索時,搜索的長度也是自適應的,具有更高效率。
附圖說明
圖1為頻譜參數實時計算方法中pw實時描跡算法流程圖。
圖2為頻譜參數實時計算方法中實時顯示最近2個周期的最大流速曲線圖。
圖3為頻譜參數實時計算方法中流速曲線及其二階導數圖。
圖4為頻譜參數實時計算方法中實施例1的結構框圖。
圖5為頻譜參數實時計算方法中實施例2的結構框圖。
圖6為頻譜參數實時計算方法中第一個周期的曲線圖。
圖7為現有技術中實時顯示最近2個周期的最大流速曲線圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
請參閱圖1~7,本發明實施例中,一種頻譜參數實時計算方法,包括循環進行的步驟:取出一段最大流速曲線數據;對此數據進行預處理后;根據預處理后的數據求解兩個滑動平均值mabeat與mapeak,進一步求出閾值thr1;如果有連續n個最大流速點對應的thr1大于mabeat值,則認為此區域存在最高流速點(ps點),是感興趣區域;統計每個感興趣區域的長度,在每個感興趣區域的長度范圍內搜索,可以得到取出的這段數據中所有的最高流速點(取出的數據可能包含多個心動周期的最大流速曲線,能夠搜索出多個最高流速點)。
本發明中,設置了兩個閾值參數,thr1與thr2;
thr1=mabeat+beta*mean;
thr2=w1;
對不同的最大流速點,mabeat的取值不同,mabeat求解方法為:以當前的最大流速點的時間位置為中間位置,取一段長度為w2的時間段內的最大流速點的平均值作為對應當前最大流速點的mabeat;thr1是與當前點直接相關的,自適應強;beta是一個加權系數,取值在0~0.1之間;mean代表取出的所有數據的平均值。
mapeak的求解方法:以當前的最大流速點的時間位置為中間位置,取一段長度為w1的時間段內的最大流速點的平均值作為對應于當前最大流速點的mapeak值;
如果一個最大流速點對應的mapeak的數值大于thr1的數值,則認為它在感興趣區域內;
其中mabeat與mapeak相比,對應的時間窗長度更大;
搜索閾值設置為最大流速曲線的滑動平均值,是根據最大流速曲線實時計算得到的,是完全自適應的;判斷的方法不是用最大流速曲線值直接與閾值比較,而是用一段范圍的不同時間長度內的平均值進行比較,當由于患者移動等其他情況影響,導致最大流速曲線的幅度整體變大或變小時,求出的滑動平均值也隨著變化,仍能準確判斷存在峰值點的感興趣區域,避免了由于干擾帶來的閾值無效問題,也不需要進行閾值有效與否的判斷操作。算法具有更好的自適應性,魯棒性更高,更簡便。并且在每一段存在最高流速點(ps點)的感興趣區域內搜索時,搜索的長度也是自適應的,具有更高效率。
實施例1:
本發明方法用于超聲診斷系統中,對運動組織或者血流聲譜圖的流速曲線自動進行多普勒參數實時計算處理,包括循環進行的步驟:
1.根據當前參數設置的需要實時描跡的最大流速曲線的周期數,設置緩沖區長度,從最大流速曲線取出一段數據;
圖1所示,設置的實時顯示最近1個周期的最大流速曲線;此時緩沖區長度對應為(1+n_period_rich)個周期;設n_period_rich取值1;即取出2個周期的包絡數據;
圖2所示,設置的實時顯示最近2個周期的最大流速曲線;此時緩沖區長度對應為(2+n_period_rich)個周期,即取出3個周期的包絡數據;
其中n_period_rich取1,2或者3。
最終存儲在緩沖區中的最大流速曲線的點數設為n;
2.對取出的數據進行帶通濾波處理,通帶范圍0.5~8hz
下面步驟分為兩部分,一部分用來求最高流速點,即最大流速曲線的峰值點(ps點);一部分用來求ed點;
3.求ps點步驟如下:
(1)對經過帶通濾波處理的最大流速曲線進行預處理,突出峰值點;
(2)求兩個滑動平均值mabeat,mapeak的數值,和兩個閾值thr1,thr2;假設上一步處理后的曲線為y(n),1<=n<=n,n代表取出數據的總長度;對應mabeat的窗函數長度為w2,
thr1(n)=mabeat(n)+beta*mean
其中,w2是預先設置的滑動平均窗的時間長度,取值范圍在545ms~694ms;beta是預先設置的加權值,取值在0~0.1范圍內;
其中,w1是預先設置的滑動平均窗長度,取值范圍在54ms~120ms內;
thr2=w1
(3)根據兩個滑動平均值以及兩個閾值判斷感興趣區域(存在ps點的區域),并且記錄每個感興趣區域的時間長度tlength(n_blocks)對取出的n個數據點,依次判斷thr1(n)與mapeak(n)的大小;如果有連續n1(其中,n1>n_w1)個點對應的thr1的數值大于mabeat的數值,則認為這個區域內存在ps點;其中n_w1是對應一段長度為w1的時間段內的最大流速數據點數。同時統計每個感興趣區域內連續滿足mapeak>thr1條件的點的數目,即每個感興趣區域的時間長度tlength;n_blocks代表在存儲在緩沖區中的最大流速曲線中存在ps點的區域的個數,即ps點的個數。
(4)對每個感興趣區域內搜索最大值,即該區域對應的心動周期內的最高流速點(ps點),每個感興趣區域的搜索時間范圍即是上一步求出的對應該區域的tlength。
至此,找到了取出的這段數據中所有的最高流速點(ps點)。
4.求ed點步驟如下:
(1)對步驟2中經過帶通濾波處理的曲線數據首先求出其二階導數曲線,二階導數曲線幅度最大的點,對應最大流速曲線上的ed點;如圖3所示,實線代表最大流速曲線,虛線代表最大流速曲線的二階導數曲線;“o”代表最高流速點(ps點);“*”代表ed點,可以看到ed點對應二階導數曲線上的最大值點;
(2)對二階導數曲線進行預處理,突出二階導數曲線的峰值;
(3)求兩個滑動平均值mabeat,mapeak和兩個閾值thr1、thr2,設二階導數曲線為y1(n),1<=n<=n,n代表緩沖區存儲的數據點數
thr1(i)=mabeat(i)+beta*mean
其中,w2是預先設置的滑動平均窗的長度,這里w2取值范圍在100ms~200ms;beta是預先設置的加權值,取值范圍在0~0.1;
其中,w1是預先設置的滑動平均窗的時間長度,這里w1取值范圍在1000ms~1.25s;在求ps點與求ed點的過程中用到的w1,w2,beta的取值范圍不同。
thr2=w1;
下面采用與求ps點過程相同的處理,根據兩個滑動平均值以及兩個閾值進行判斷,找到取出的n個最大流速點數據中存在的所有的ed點。
進一步根據ps點和ed點進行其他參數的計算。
實施例2:
采用本發明的方法的一般用于超聲頻譜多普勒系統中;
一個典型的超聲頻譜多普勒系統的裝置結構如圖4所示,是一個超聲頻譜多普勒系統框圖,分為發射超聲波部分和接收超聲波部分;本發明提出的方法用于對接收的超聲波處理過程中的“參數實時計算”模塊。
實施例3:
如圖5所示,包括:
控制單元:用于用戶設置需要實時描跡的多普勒頻譜最大流速曲線的周期數目;這只是否需要描跡平均流速曲線;
數據存儲單元:根據控制單元計算并設置緩沖區大小;實時讀入并存儲一定長度的最大流速曲線數據;
數據預處理單元:用于對取出的最大流速曲線進行預處理操作,消除干擾;
最高流速檢測單元:用于實時計算兩個滑動平均值和兩個閾值,并且通過這幾個值判斷,計算峰值搜索范圍大小;搜索得到所有的最高流速點(ps點);
ed點檢測單元:用于對數據進行進一步處理;得到最大流速曲線的二階導數曲線,根據二階導數曲線計算兩個滑動平均值和兩個閾值,以及計算每個區域的峰值搜索范圍大小;搜索得到二階導數曲線的峰值,對應的就是最大流速曲線上ed點的位置;
參數計算單元:應用搜索到的最高流速點(ps點)和ed點的坐標,計算相關參數;
參數輸出單元:將計算得到的參數輸出到顯示屏進行實時顯示。
本發明中用來搜索最高流速點(ps點)的閾值是根據當前最大流速曲線的數值實時更新計算的,是完全自適應的,避免了特殊情況下頻譜幅度整體移動導致的閾值無效,無法找到ps點的情況;也免去了對搜索閾值有效性判斷的單元;閾值隨著最大流速點自適應的變化,提高了魯棒性,和算法的穩定性,并且簡化了算法。
在每個區域內搜索最高流速點(ps點)的搜索時間長度與該區域內滿足mapeak>thr1的點數相關,是自適應變化的,使搜索更有效,也減小了搜索范圍。
如圖6所示,第一個周期的曲線,由于特殊情況,頻譜曲線幅度值整體偏小,但是本發明提出的方法仍然準確估搜索到ps點和ed點的位置.
在求ps點和求ed點的預處理過程,可以包含,將待處理曲線x(n)小于零的部分置零,再對曲線求它的n次方(n>1),或者求它的對數等任何用來突出峰值點的操作;例如,設預處理之后的曲線為
x_after(n),1<=n<=n
或者
或者,
x_after(n)=10x(n)0≤n≤n。
求最大流速曲線的二階導數的過程,可以首先對一階導數進行帶通濾波,以消除干擾,同樣在求出二階導數之后也可進行一定的帶通濾波處理
對于本領域技術人員而言,顯然本發明不限于上述示范性實施例的細節,而且在不背離本發明的精神或基本特征的情況下,能夠以其他的具體形式實現本發明。因此,無論從哪一點來看,均應將實施例看作是示范性的,而且是非限制性的,本發明的范圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和范圍內的所有變化囊括在本發明內。不應將權利要求中的任何附圖標記視為限制所涉及的權利要求。
此外,應當理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術方案,說明書的這種敘述方式僅僅是為清楚起見,本領域技術人員應當將說明書作為一個整體,各實施例中的技術方案也可以經適當組合,形成本領域技術人員可以理解的其他實施方式。