本發(fā)明涉及醫(yī)學圖像處理與應用技術領域,尤其涉及一種從胸部ct圖像中提取胸主動脈的方法。
背景技術:
ct是一種利用x射線或者γ射線或者超聲波進行ct成像的醫(yī)療設備。ct具有密度分辨率高、軟組織構成的器官顯影效果好、解剖關系明確等優(yōu)點,因而得到了廣泛的應用。其中,對胸部ct圖像進行圖像處理,分割出胸主動脈,能夠避免醫(yī)生直接觀察和診斷時胸主動脈與心臟等其他肺部結構之間相互干擾,使得對心臟等其他肺部結構或胸主動脈的觀察更準確有效。
現有技術中,一種分割胸主動脈的方法為區(qū)域生長法,其利用ct圖像中人為選取的種子點,利用圖像灰度值作為生長準則,逐步擴大區(qū)域,從而將胸主動脈分割;另一種分割胸主動脈的方法為:對胸部ct圖像預處理,對預處理后的圖像進行gvfsnake模型的初始輪廓設置,求解預處理后的圖像的邊緣圖像,基于邊緣圖像通過擴散方程求梯度矢量流gvf作為外部能量場,建立內部能量場模型保持輪廓光滑性,利用內部能量和外部能量構造能量函數,再通過迭代求取能量的極小值,利用能量的最小值最終使輪廓到達目標邊界。
采用區(qū)域生長法的不足在于:對于胸主動脈和心臟距離較小的ct圖像,若閾值小,會將心臟的一部分連通胸主動脈一起分割出去,若閾值大,胸主動脈的一部分會殘留在心臟上,胸主動脈無法徹底分割出去,分割效果不好。采用gvfsnake模型的不足在于:算法復雜度高,運算時間長,影響醫(yī)生看病的效率。
因此,亟須一種算法復雜度低,運算時間短,分割效果好的從胸部ct圖像中提取胸主動脈的方法。
技術實現要素:
(一)要解決的技術問題
本發(fā)明的目的在于提供一種算法復雜度低,運算時間短,分割效果好的從胸部ct圖像中提取胸主動脈的方法。
(二)技術方案
為了達到上述目的,本發(fā)明采用的主要技術方案包括:
本發(fā)明提供一種從胸部ct圖像中提取胸主動脈的方法。具體地,從胸部ct圖像中提取胸主動脈的方法包括以下步驟:
步驟一:運用區(qū)域生長法,基于胸部ct圖像數據,獲得不黏連心臟的胸主動脈壁里面的部分數據點,并標記上flag;
步驟二:運用數學形態(tài)學算法,基于經過步驟一標記flag后的胸部ct圖像數據,依次獲得不黏連心臟的胸主動脈壁里面的剩余數據點和胸主動脈壁的數據點,并標記上flag。
進一步地,步驟一包括以下步驟:
s11:對胸部ct圖像數據遍歷,根據滿足像素亮度值范圍的連續(xù)數據點的個數,在胸主動脈的主動脈弓上由算法自動獲取種子點;
s12:基于種子點,運用區(qū)域生長法,根據像素亮度值,獲得不黏連心臟的胸主動脈壁里面的部分數據點,并標記上flag。
進一步地,步驟二包括以下步驟:
s21:運用數學形態(tài)學算法,根據數據點上下前后左右六個方向上標記有flag的方向個數,獲得不黏連心臟的胸主動脈壁里面的剩余數據點,并標記上flag;
s22:運用數學形態(tài)學算法,根據數據點周圍標記有flag的鄰域點個數和像素亮度值,獲得胸主動脈壁的數據點,并標記上flag。
進一步地,s11中,連續(xù)數據點為x坐標相同、z坐標相同、y坐標取值連續(xù)的若干個數據點,連續(xù)數據點的個數在80-100個的范圍內,連續(xù)數據點的像素亮度值在1074-1174的范圍內。
進一步地,s11中,對x坐標取值在275-285的范圍內,y坐標取值在200-300的范圍內,z坐標取值在200-300的范圍內的數據遍歷。
進一步地,s11中,獲取種子點的方法為:
若數據點的像素亮度值不在1074-1174的范圍內,則判斷該數據點不是胸主動脈的主動脈弓上的數據點,查找下一個數據點;
若數據點的像素亮度值在1074-1174的范圍內,但不存在與該數據點x坐標相同、z坐標相同、y坐標取值連續(xù)的像素亮度值在1074-1174的范圍內的80-100個數據點,則判斷該數據點不是胸主動脈的主動脈弓上的數據點,查找下一個數據點;
若數據點的像素亮度值在1074-1174的范圍內,且存在與該數據點x坐標相同、z坐標相同、y坐標取值連續(xù)的像素亮度值在1074-1174的范圍內的80-100個數據點,則判斷該數據點是胸主動脈的主動脈弓上的數據點,取第45-50個中任意一個數據點為種子點,結束遍歷。
進一步地,s12中,s12中,區(qū)域生長法的閾值為1274-1374范圍內的任意一個值。
進一步地,s21中,獲得不黏連心臟的胸主動脈壁里面的剩余數據點的方法為:對經過步驟一標記flag后的胸部ct圖像數據進行一次遍歷;
若數據點的上下左右前后六個方向中,至少有四個方向有flag,則判斷此數據點是胸主動脈壁里面的剩余數據點,標記上flag;
若數據點的上下左右前后六個方向中,小于等于三個方向有flag,則判斷此數據點不是胸主動脈壁里面的剩余數據點,不標記flag。
進一步地,s22中,獲得胸主動脈壁的數據點的方法為:對經過s21標記flag后的胸部ct圖像數據進行一次遍歷;
若數據點周圍的26個鄰域點中標記有flag的鄰域點個數在10-16個的范圍內,且此數據點的像素值在1074-1174的范圍內,則判斷此數據點是胸主動脈壁上的數據點,標記上flag;
若數據點周圍的26個鄰域點中標記有flag的鄰域點個數在10-16個的范圍內,但此數據點的像素值不在1074-1174的范圍內,則判斷此數據點不是胸主動脈壁上的數據點,不標記flag;
若數據點周圍的26個鄰域點中標記有flag的鄰域點個數不在10-16個的范圍內,則判斷此數據點不是胸主動脈壁上的數據點,不標記flag。
進一步地,s22中,數據點周圍的26個鄰域點中標記有flag的鄰域點個數為13個,數據點的像素值為1124。
(三)有益效果
本發(fā)明的有益效果是:
本發(fā)明的從胸部ct圖像中提取胸主動脈的方法,運用區(qū)域生長法,獲得不黏連心臟的胸主動脈壁里面的部分數據點,保證了分割胸主動脈時,不會對心臟的結構造成破壞,分割效果好;
本發(fā)明的從胸部ct圖像中提取胸主動脈的方法,運用數學形態(tài)學算法,獲得不黏連心臟的胸主動脈壁里面的剩余數據點,既保證了分割胸主動脈時,不會對心臟的結構造成破壞,又保證分割出了胸主動脈壁里面的剩余數據點,分割效果好;
本發(fā)明的從胸部ct圖像中提取胸主動脈的方法,運用數學形態(tài)學算法,獲得胸主動脈壁的數據點,保證分割出了帶有胸主動脈壁的胸主動脈的數據點,分割效果好;
本發(fā)明的從胸部ct圖像中提取胸主動脈的方法,分割出的帶有胸主動脈壁的胸主動脈的數據點,可以將胸主動脈的數據點顯示,用于單獨觀察胸主動脈,也可以將胸主動脈的數據點影藏,用于單獨觀察心臟等肺部結構;
本發(fā)明的從胸部ct圖像中提取胸主動脈的方法,基于胸部ct圖像數據,運用區(qū)域生長法,就可以獲得不黏連心臟的胸主動脈壁里面的部分數據點,再基于標記flag后的胸部ct圖像數據,運用數學形態(tài)學算法,就可以依次獲得不黏連心臟的胸主動脈壁里面的剩余數據點和胸主動脈壁的數據點,整個運算過程無需對數據預處理也無需先求解胸主動脈的邊緣圖像再進行擴散,算法復雜度低,運算時間變短。
綜上,本發(fā)明的從胸部ct圖像中提取胸主動脈的方法算法復雜度低,運算時間短,分割效果好。
附圖說明
圖1為具體實施方式中未分割胸主動脈的胸部ct圖像;
圖2為具體實施方式中胸主動脈的結構示意圖;
圖3為具體實施方式中標示有主動脈弓位置的三維圖像;
圖4為具體實施方式中標示有主動脈弓位置的二維平面圖;
圖5為具體實施方式中標示有胸主動脈壁和心臟黏連位置的二維平面圖;
圖6為具體實施方式中分割出胸主動脈壁里面的部分數據點后得到的三維圖像;
圖7為具體實施方式中標示出胸主動脈和心臟半包圍結構的三維圖像;
圖8為具體實施方式中分割出胸主動脈壁里面的剩余數據點后得到的三維圖像;
圖9為具體實施方式中標示有未分割出胸主動脈壁及心臟部分數據點的二維平面圖;
圖10為具體實施方式中分割出帶有胸主動脈壁的胸主動脈后得到的圖像。
具體實施方式
為了更好的解釋本發(fā)明,以便于理解,下面結合附圖,通過具體實施方式,對本發(fā)明作詳細描述。
參照圖1-圖10,本實施例的從胸部ct圖像中提取胸主動脈的方法包括步驟一和步驟二。步驟一:運用區(qū)域生長法,基于胸部ct圖像數據,如圖1所示,獲得不黏連心臟的胸主動脈壁里面的部分數據點,并標記上flag;具體地,首先,對胸部ct圖像數據遍歷,根據滿足像素亮度值范圍的連續(xù)數據點的個數,在胸主動脈的主動脈弓上由算法自動獲取種子點,如圖2所示;其次,基于種子點,運用區(qū)域生長法,根據像素亮度值,獲得不黏連心臟的胸主動脈壁里面的部分數據點,并標記上flag。步驟二:運用數學形態(tài)學算法,基于經過步驟一標記flag后的胸部ct圖像數據,依次獲得不黏連心臟的胸主動脈壁里面的剩余數據點和胸主動脈壁的數據點,并標記上flag。具體地,首先,運用數學形態(tài)學算法,根據數據點上下前后左右六個方向上標記有flag的方向個數,獲得不黏連心臟的胸主動脈壁里面的剩余數據點,并標記上flag;其次,運用數學形態(tài)學算法,根據數據點周圍標記有flag的鄰域點個數和像素亮度值,獲得胸主動脈壁的數據點,并標記上flag。
本實施例的從胸部ct圖像中提取胸主動脈的方法,運用區(qū)域生長法,獲得不黏連心臟的胸主動脈壁里面的部分數據點,保證了分割胸主動脈時,不會對心臟的結構造成破壞,分割效果好。
本實施例的從胸部ct圖像中提取胸主動脈的方法,運用數學形態(tài)學算法,獲得不黏連心臟的胸主動脈壁里面的剩余數據點,既保證了分割胸主動脈時,不會對心臟的結構造成破壞,又保證分割出了胸主動脈壁里面的剩余數據點,分割效果好。
本實施例的從胸部ct圖像中提取胸主動脈的方法,運用數學形態(tài)學算法,獲得胸主動脈壁的數據點,保證分割出了帶有胸主動脈壁的胸主動脈的數據點,分割效果好。
本實施例的從胸部ct圖像中提取胸主動脈的方法,分割出的帶有胸主動脈壁的胸主動脈的數據點,可以將胸主動脈的數據點顯示,用于單獨觀察胸主動脈,也可以將胸主動脈的數據點影藏,用于單獨觀察心臟等肺部結構。
本實施例的從胸部ct圖像中提取胸主動脈的方法,基于胸部ct圖像數據,運用區(qū)域生長法,就可以獲得不黏連心臟的胸主動脈壁里面的部分數據點,再基于標記flag后的胸部ct圖像數據,運用數學形態(tài)學算法,就可以依次獲得不黏連心臟的胸主動脈壁里面的剩余數據點和胸主動脈壁的數據點,整個運算過程無需對數據預處理也無需先求解胸主動脈的邊緣圖像再進行擴散,算法復雜度低,運算時間變短。
本實施例中,從胸部ct圖像中提取胸主動脈的方法,包括步驟一和步驟二,具體如下:
步驟一
步驟一包括s11和s12兩個子步驟。
s11:獲取種子點
對x坐標取值在275-285的范圍內,y坐標取值在200-300的范圍內,z坐標取值在200-300的范圍內的數據遍歷;
若數據點的像素亮度值不在1074-1174的范圍內,則判斷該數據點不是胸主動脈的主動脈弓上的數據點,查找下一個數據點;
若數據點的像素亮度值在1074-1174的范圍內,但不存在與該數據點x坐標相同、z坐標相同、y坐標取值連續(xù)的像素亮度值在1074-1174的范圍內的80-100個數據點,則判斷該數據點不是胸主動脈的主動脈弓上的數據點,查找下一個數據點;
若數據點的像素亮度值在1074-1174的范圍內,且存在與該數據點x坐標相同、z坐標相同、y坐標取值連續(xù)的像素亮度值在1074-1174的范圍內的80-100個數據點,則判斷該數據點是胸主動脈的主動脈弓上的數據點,取第45-50個中任意一個數據點為種子點,結束遍歷。
其中,連續(xù)數據點為x坐標相同、z坐標相同、y坐標取值連續(xù)的若干個數據點,連續(xù)數據點的個數在80-100個的范圍內,連續(xù)數據點的像素亮度值在1074-1174的范圍內。優(yōu)選地,s11中,連續(xù)數據點中相鄰兩個數據點的y坐標之差為1,連續(xù)數據點的像素亮度值為1124,連續(xù)數據點的個數為90個。
本實施例的s11中,優(yōu)選地,對x坐標取值為280的數據點遍歷。三維數據的每個數據點都有一個坐標(x,y,z),x和y表示二維圖像上的橫豎坐標,z表示圖像的層數。遍歷的數據點坐標取值范圍是根據心臟和胸主動脈的位置來確定的,確定遍歷的數據點坐標取值范圍可以減少運算量,進一步提高運算速度。
本實施例中,區(qū)域生長法使用的種子點定位在主動脈弓上,如圖3中1和2所示的位置。此種子點為自動識別定位得到的,無需人工設定,更加智能。自動識別的依據為在二維平面上,主動脈弓所在的區(qū)域為一個連續(xù)的像素亮度值較大的區(qū)域,本實施例中,連續(xù)數據點的像素亮度值在1074-1174的范圍內,如圖4中1和2所示的位置,像素亮度值越大,表示圖像中越亮越白,像素亮度值越小,表示圖像中越暗越黑。本實施例中,連續(xù)數據點的個數為80-100個,可以保證連續(xù)數據點就是主動脈弓上的點,為了防止切到心臟我們取80-100個連續(xù)數據點中第45-50個點為種子點。
s12:獲得不黏連心臟的胸主動脈壁里面的部分數據點
s12中,區(qū)域生長法的閾值為1274-1374范圍內的任意一個值。
本實施例中,不黏連心臟的胸主動脈壁里面的部分數據點的像素亮度值大于上述閾值。
本實施例中,由于胸主動脈壁和心臟之間的像素亮度值比較大,在二維圖像中胸主動脈壁和心臟的連接處圖像模糊,如圖5中3所示的位置。如果區(qū)域生長的閾值過小,會將胸主動脈壁和心臟的部分數據點分割出去。如果區(qū)域生長的閾值過大,會使得胸主動脈壁里面的數據點沒有最大限度的分割出去。當不黏連心臟的胸主動脈壁里面的部分數據點的像素亮度值大于上述閾值時,心臟的數據點不會被分割出去,且胸主動脈壁里面的像素亮度值大于上述閾值的數據點都可以被分割出去,獲得不黏連心臟的胸主動脈壁里面的部分數據點,如圖6中半透明狀的位置。
本實施例中,s12可以分割出胸主動脈壁里面的68%-72%的數據點。
步驟二
步驟二包括s21和s22兩個子步驟。
s21:獲得不黏連心臟的胸主動脈壁里面的剩余數據點
對經過步驟一標記flag后的胸部ct圖像數據進行一次遍歷,
若數據點的上下左右前后六個方向中,至少有四個方向有flag,則判斷此數據點是胸主動脈壁里面的剩余數據點,標記上flag;
若數據點的上下左右前后六個方向中,小于等于三個方向有flag,則判斷此數據點不是胸主動脈壁里面的剩余數據點,不標記flag。
本實施例中,胸主動脈和心臟是半包圍結構,如圖7所示,一個數據點上下左右前后6個方向,心臟的數據點最多能被上下左或上下右(左右不能同時,因為胸主動脈是圓的)3個方向上的flag所包圍,所以,如果有數據點6個方向上有大于等于4個方向上都有flag,則此數據點是胸主動脈壁里面的剩余數據點。經過s12和s21標記flag后,分割出胸主動脈壁里面90%-93%的數據點,如圖8中透明狀的位置,可以明顯看到圖8比圖6更加透明,分割效果進一步提高。
s22:獲得胸主動脈壁的數據點
對經過s21標記flag后的胸部ct圖像數據進行一次遍歷;
若數據點周圍的26個鄰域點中標記有flag的鄰域點個數在10-16個的范圍內,且此數據點的像素值在1074-1174的范圍內,則判斷此數據點是胸主動脈壁上的數據點,標記上flag;
若數據點周圍的26個鄰域點中標記有flag的鄰域點個數在10-16個的范圍內,但此數據點的像素值不在1074-1174的范圍內,則判斷此數據點不是胸主動脈壁上的數據點,不標記flag;
若數據點周圍的26個鄰域點中標記有flag的鄰域點個數不在10-16個的范圍內,則判斷此數據點不是胸主動脈壁上的數據點,不標記flag。
優(yōu)選地,s22中,數據點周圍的26個鄰域點中標記有flag的鄰域點個數為13個,數據點的像素值為1124。
本實施例中,經過s12和s21標記flag后,未分割出去的數據點包括胸主動脈壁以及緊貼心臟部分的數據點,如圖9中1和2所示的位置。圖9中1和2所示位置的數據點的個數很少,這些數據點的周圍必定緊挨著大量的flag,且像素亮度值會稍微暗一點,這些數據點的像素值在1074-1174的范圍內。當數據點周圍的26個鄰域點中標記有flag的鄰域點個數在10-16個的范圍內,且此數據點的像素值在1074-1174的范圍內時,可以將主動脈壁分割出去,經過s12、s21、s22標記flag后,分割出胸主動脈壁里面的數據點和胸主動脈壁的數據點為胸主動脈的93%-97%的數據點,如圖10所示,可以明顯看到分割效果很好。
本實施例中,s22主要用于去除胸主動脈壁,并且可以執(zhí)行多次,執(zhí)行次數過多,會使得心臟上的部分數據也被分割出去。優(yōu)選地,執(zhí)行一次,執(zhí)行一次時,分割效果最好,且運行時間最短。
本實施例的從胸部ct圖像中提取胸主動脈的方法,算法復雜度是n3,4g內存i5處理器的筆記本上運行時間在0.5秒-2秒的范圍內,運算速度很快,這使得醫(yī)生看病的效率提高,實用性更強。
綜上,本實施例的從胸部ct圖像中提取胸主動脈的方法算法復雜度低,在i5處理器4g內存環(huán)境下運算時間短,分割效果好。
以上內容僅為本發(fā)明的較佳實施例,對于本領域的普通技術人員,依據本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,本說明書內容不應理解為對本發(fā)明的限制。