具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
请参考图1,在一种实施例中,磁共振成像***100包括磁体***110、梯度磁场***120、射频***130和控制及处理***140。磁体***110包括磁体111、梯度磁场线圈112、发射线圈113和接收线圈114,磁体111可以采用永磁体或常导磁体,用于给待测物体(例如病人)提供一恒定的主磁场,梯度磁场线圈112用于在三维空间产生一梯度磁场,发射线圈113用于提供射频(RF)脉冲以激发待测物体内原子核的自旋,接收线圈114用于检测由待测物发出的回波信号。梯度磁场***120和控制及处理***140连接,用于在控制及处理***的控制下驱动梯度磁场线圈112。射频***130和控制及处理***140连接,用于在控制及处理***的控制下产生RF脉冲并经放大处理后施加给发射线圈113。
控制及处理***140既用于对各部分进行控制,也用于对回波信号进行处理。将接收线圈114检测到的回波信号传输到控制及处理***140,控制及处理***140包括脊柱椎体提取装置,脊柱椎体提取装置用于基于得到的磁共振图像,在磁共振图像上提取出被测物的脊柱椎体。
在如图2所示的一种实施例中,脊柱椎体提取装置200包括脊髓线定位单元210、轴线截面确定单元220、种子点定位单元230和椎体区域提取单元240。脊髓线定位单元210用于利用磁共振图像数据定位脊髓线,轴线截面确定单元220用于根据脊髓线确定椎体轴线截面,种子点定位单元230用于根据椎体轴线截面定位椎体内部种子点,椎体区域提取单元240用于基于椎体内部种子点采用种子区域生长法提取椎体区域。
在一种具体实例中,脊髓线定位单元210利用椎体内灰度近似均匀的特征,采用提取被测物(例如人体躯干)两侧体表边界,根据两侧体表边界界定的距离检测出脊髓线。脊髓线定位单元210包括边界检测子单元211和脊髓线检测子单元212。边界检测子单元211用于利用被测者组织和背景的过渡特性检测被测者磁共振图像的两侧体表边界,脊髓线检测子单元212用于根据体表边界界定的被测者组织宽度检测脊髓线。
在另一种具体实例中,轴线截面确定单元220利用脊髓线和椎体轴线走向一致且两者距离很近的特征先得到椎体轴线,根据椎体轴线得到椎体轴线截面的图像,然后种子点定位单元230利用椎体与椎间盘有明显边界的特征,根据椎体轴线截面定位出椎体内部种子点。轴线截面确定单元220包括平移子单元221和加权子单元222,平移子单元221用于将脊髓线按照多个设定的平移距离平移后得到多个椎体轴线,加权子单元222用于对多个椎体轴线的灰度求加权和,得到椎体轴线截面。种子点定位单元230包括边界点检测子单元231、筛选子单元232和移动子单元233。边界点检测子单元,231用于计算椎体轴线截面的灰度变化梯度,将梯度值大于设定阈值的点作为椎体与相邻椎间盘的候选边界点。筛选子单元232用于将检测出的候选边界点按照一预定规则,例如后文提到的第三预定规则进行筛选,得到椎体与相邻椎间盘的边界点。移动子单元233用于将边界点的坐标沿椎体轴线方向按照设定大小移动,得到的新坐标所对应的点记为椎体内部的种子点。
在又一种具体实例中,椎体区域提取单元240利用椎体形状基本固定的特征,结合椎体的区域面积和形状,采用区域生长法得到椎体区域。椎体区域提取单元240如图3所示,包括初始子单元241、区域生长子单元242、计算子单元243、判断子单元244、查找及提取子单元245和生长阈值变换子单元246。初始子单元241用于设置初始阈值、生长目标最小面积和生长目标最大面积,并将初始阈值赋予生长阈值。区域生长子单元242用于基于生长阈值进行区域生长并将生长后的区域进行区域填充。计算子单元243用于计算填充后区域的面积周长比,根据填充后区域的面积推算出期望的面积周长比,并计算面积周长比和期望的面积周长比的差异。判断子单元244用于判断生长是否满足预定条件。查找及提取子单元245用于在生长满足预定条件时,控制停止生长,并在位于生长目标最小面积和生长目标最大面积之间的填充后区域面积的差异中查找出最小差异,将所述最小差异所对应的生长阈值记为最佳生长阈值,将所述最小差异所对应的填充后区域提取为椎体区域。生长阈值变换子单元246用于在生长不满足预定条件时按照第四预定规则减小生长阈值,生成新的生长阈值,然后控制区域生长子单元242基于新的生长阈值进行区域生长。
在椎体区域提取单元240的另一具体实例中,椎体区域提取单元240还包括区域分析子单元247,用于对提取的椎体区域进行分析,按照第五预定规则去除椎体区域的冗余部分。
基于以上装置,一种脊柱椎体提取方法如图4所示,包括以下步骤:
步骤S1,利用磁共振图像数据定位脊髓线;
步骤S2,根据脊髓线确定椎体轴线截面;
步骤S3,根据椎体轴线截面定位椎体内部种子点;
步骤S4,基于椎体内部种子点采用种子区域生长法提取椎体区域。
在一种具体实例中,利用椎体内灰度近似均匀的特征对脊髓线进行定位。脊髓线是脊柱图像的重要特征,因为其灰度比较均匀,而且对于T1权重、T2权重或STIR权重图像来说,脊髓与周围组织的亮度差异基本上是稳定的,T1权重图像脊髓比周围组织暗,如图5所示,T2图像脊髓比周围组织亮。在图5中,图的左侧为被测者的前面,图的右侧为被测者的后面。
对于脊髓线为大致呈现竖直方向的情况,提取脊髓线的过程为:提取被测物第一侧(例如左侧)体表边界、提取第二侧(例如右侧)体表边界、提取脊髓线。因此本实施例中,步骤S1如图6所示,包括以下步骤:
步骤S11,利用被测者组织和背景的过渡特性检测被测者磁共振图像的两侧体表边界。体表边界的提取利用人体组织与背景组织的灰度过渡特性。例如图5所示,左侧体表为由黑到白的过渡,右侧体表为由白到黑的过渡。利用一阶导数可检测这种过渡,由于体表边界大致为垂直走向,可用一阶水平导数极值来检测。在与体表边界方向垂直的方向(例如水平方向)上求一阶导数,一阶导数可按如下表达式计算:
其中,I为输入图像的灰度数据,表示x方向(水平方向)一阶导数,G为高斯模板,*为卷积。
选择合适的高斯模版计算一阶导数后,分别检测出水平方向的一阶导数的极大值点和极小值点。沿体表边界方向变换求一阶导数的位置,循环上述步骤,检测出很多极大值点和极小值点,一些极大值点连接成线,形成极大值点集合,一些极小值点连接成线,形成极小值点集合。极大值/极小值点图像如图7,其中白色点为极大值,灰色点为极小值。可以看出,图像中形成了多个极大值点集合和极小值点集合,极大值点集合用于检测第一侧体表边界,极小值点集合用于检测第二侧体表边界。因存在过多的极大值/极小值点集合,因此对多个极大值点集合和极小值点集合按照第一预定规则进行筛选,第一预定规则可以是按照线的长度、线上各点导数值以及线与图像边界的距离来综合考虑,筛选后得到第一侧(例如左侧)体表边界和第二侧(例如右侧)体表边界,如图8所示,经第一预定规则筛选后只留下一条左侧边界和一条右侧边界,得到两侧体表边界后执行步骤S12。当然,本领域技术人员应该理解,第一预定规则除了本实施例中公开的规则外,还可以是其他规则,只要实现在众多边界中筛选出两侧边界即可。
步骤S12,根据两侧体表边界界定的被测者组织宽度(即两侧体表边界的距离)检测脊髓线。脊髓线在图像中呈狭长的窄带形状,其灰度与其左右形成鲜明对比,如T1权重图像脊髓线为突出的黑色,T2权重或STIR权重图像脊髓线为突出的白色。利用这个特征,可用二阶导数来检测脊髓线。二阶导数对线状结构敏感,但需要指定合适的滤波尺度,只有当滤波尺度与脊髓线宽度相匹配时才能有效检测。因为已经提取出体表边界,可根据第一侧体表边界和第二侧体表边界的距离估算滤波尺度,采用估算的滤波尺度对磁共振图像求二阶导数;二阶导数计算表达式如下:
其中,σ为高斯模板标准差,根据第一侧体表边界和第二侧体表边界的距离估算,体现滤波尺度;dlr为两侧体表边界的平均距离,M为一比例常数,可依实验确定。
通过求二级导数滤波后仍然对图像取极值,即检测二阶导数图像的极值,如果为T1权重图像,则取极大值,如果为T2权重或STIR权重图像,则取极小值,从而得到多个由极值点连接成线的极值点集合,极值点提取结果如图9所示。提取极值点后,仍然需要进行边界筛选。因此对多个极值点集合按照第二预定规则进行筛选,此时的第二预定规则(即筛选规则)可按照脊髓线在人体组织中的水平位置、垂直位置、脊髓线的长度等因素综合考虑,例如,本实施例中,根据从被测者侧面获取图像,如图5所示,脊髓线的水平位置靠右、垂直位置靠上,然后再综合考虑脊髓线的长度等因素,从而筛选后得到脊髓线,如图10所示。第二预定规则除了本实施例中公开的规则外,还可以是其他规则,只要实现在众多边界中筛选出脊髓线即可。
在一种具体实例中,定位椎体内部种子点方法利用了椎体与椎间盘之间有明确边界、并且椎体与椎体之间有一定的距离间隔两个特征。种子点定位的过程为:提取椎体轴线截面、计算椎体边界点、边界点筛选、边界点移动。本实施例中,首先根据脊髓线确定椎体轴线截面,基本思路是:根据脊髓线确定椎体轴线,然后计算椎体轴线的灰度,形成表征椎体轴线灰度的向量图,即椎体轴线截面。因为椎体轴线与脊髓线距离很近,且两者走向一致,因此把前面得到的脊髓线通过简单的平移即可得到椎体轴线,平移距离可根据经验设定或根据两侧体表边界限定的宽度范围确定。这里所说的椎体轴线并不限定是从椎体正中心穿过的线,只要能够纵向穿过所有的椎体即可,因此允许有一定的定位误差。可以通过平移得到一条椎体轴线,也可以通过多次平移得到多条椎体轴线。引入多个平移的目的是为了抑制噪声的影响,因为只取一个平移容易错过椎体。本实施例中,以通过多个设定的平移距离平移后得到多条椎体轴线进而得到椎体轴线截面为例进行说明。椎体轴线截面可按照下面表达式进行计算,它对多个椎体轴线的灰度求加权和,得到椎体轴线截面:
其中,spine(t)为椎体轴线截面向量,t为索引,(x(t),y(t))为脊髓线坐标,an为加权系数,可根据经验设定,Mn为平移距离相对左右体表边界距离的倍数,可根据经验设定,S为椎体轴线数量。
提取出的椎体轴线截面是一个灰度向量,它表达了沿着椎体轴线方向的近似灰度变化,如图11,其中灰度剧烈变化的位置对应椎体与椎间盘的边缘。
当确定出椎体轴线截面后,定位椎体内部种子点的方法如图12所示,包括以下步骤:
步骤S31,计算椎体轴线截面的灰度变化梯度,将梯度值大于设定阈值的点作为椎体与相邻椎间盘的候选边界点。因为在椎体边界点处截面呈现剧烈变化,可依据梯度特征来检测边界点。通过计算截面梯度,将满足|g(t)|>T条件的候选点作为椎体边界点,其中g(t)为截面梯度,T为阈值,可取T=mean(|g(t)|)。边界点提取结果如图13,其中,黑色点为边界点。
步骤S32,将检测出的候选边界点按照第三预定规则进行筛选,得到椎体与相邻椎间盘的边界点。这些检测出的边界点有很多冗余,如一条边界往往会检测出多个边界点,这需要进行边界点筛选。可利用边界点的距离特性进行筛选,使得最后任意两个相邻边界之间点的距离d满足:
其中,N1、N2为经验值,可依据经验进行选择。
第三预定规则除了本实施例中上述筛选规则外,还可以是其他规则,只要实现在众多边界点中筛选出符合条件的边界点即可,以减少边界点的数量。
本实施例中,提取边界点的目的是为了后续得到尽量少的种子点,如果直接利用均匀性提取椎体内部种子点则会得到非常多的候选点,使算法效率变低。
步骤S33,将边界点的坐标沿椎体轴线方向按照设定大小移动,得到的新坐标所对应的点记为椎体内部的种子点。例如将筛选后的边界点向上或下进行垂直移动,目的是将边界点的位置移动到椎体内部。这样做的依据是:椎体面积大于椎间盘的面积,将边界点进行微小移动即可得到椎体内部的种子点。因此移动的距离可根据经验设定,例如大于椎间盘上下宽度的一个值。筛选移动后的图如图14所示,很多种子点(图中为黑点)移到了椎体内部。
因本实施例中采用的是椎体轴线上灰度的变化梯度,梯度表示灰度的变化,它与灰度本身的高低无关,只要灰度有变化,都可在梯度上反映出来。在磁共振椎体图像中,T1加权图像的椎间盘一般黑色,T2加权图像的椎间盘一般白色,但这种特征有时并不明显,也就是椎骨与椎间盘的灰度差异有时很小,如果用其他方法直接提取种子点,总会受到这个问题的干扰,而无论是T1加权图像还是T2加权图像,椎骨与椎间盘之间都是有明确边界的,都可以根据梯度检测到该边界。所以本实施例在提取椎体内部的种子点时不受椎体或者椎间盘灰度不一致的影响,也不受权重的影响,可更准确地提取到椎体内部的种子点,以进行后续的椎体区域生长。
在又一种具体实例中,椎体区域生长采用自适应阈值的区域生长法,本实施例中可利用椎体的面积、椎体的形状迭代计算生长阈值。生长后的区域坐标满足:
其中,其中,(seedxj,seedyj)为第j个种子的坐标,(xi,yi)为(seedxj,seedyj)的孤立邻域集合,K为种子点数量,Hj为基于第j个种子的生长阈值。这里关键需要确定最优的生长阈值Hj。
如图15所示,以单个种子为例,区域生长法提取椎体区域包括以下步骤:
步骤S41,设置初始阈值Hini、生长目标最小面积SM和生长目标最大面积ST,并将初始阈值Hini赋予生长阈值H;其中初始阈值Hini可以是一个比较大的固定值,也可以是椎体轴线的最大灰度和最小灰度差值乘以一个系数得到的一个值,SM和ST可利用dlr进行估算,如和L1和L2依经验选择。
步骤S42,基于生长阈值进行区域生长,将生长后的区域进行区域填充。本步骤中区域生长可采用已有的技术基于种子点进行区域生长并填充。
步骤S43,计算填充后区域的面积周长比SP,其中,S为填充后区域的面积,P为填充后区域的周长。
步骤S44,根据填充后区域的面积推算出期望的面积周长比。根据椎体形状基本固定且呈近似正方形的特征,假设椎体形状为正方形,根据填充后区域的面积S,推算出周长,然后再次计算面积周长比,即推算出期望的面积周长比SPR,
步骤S45,计算面积周长比和期望的面积周长比的差异。本步骤中,面积周长比和期望的面积周长比的差异可以是两者的差值,也可以是两者的比值。
步骤S46,判断生长是否满足预定条件,预定条件可以是生长阈值H已经很小,小于设定阈值。预定条件也可以是填充后区域的面积S已经很小,小于设定阈值。如果生长满足预定条件,则执行步骤S48,停止基于该种子的生长,并在位于生长目标最小面积和生长目标最大面积之间的填充后区域面积的差异中查找出最小差异,将该最小差异所对应的生长阈值记为最佳生长阈值,将最小差异所对应的填充后区域记为基于该种子生长的椎体区域;否则执行步骤S47:
步骤S47,生长阈值变换。按照第四预定规则减小生长阈值,然后转向步骤S42,基于新的生长阈值进行区域生长,循环执行直到生长满足预定条件。第四预定规则可以是使生长阈值按照设定的步长逐次减小,也可以使生长阈值按照一个设定的曲线递减,还可以无规律或随机地逐次减小生长阈值。
因为椎体面积不能精确估算,如果只利用椎体面积来决定阈值则很可能得到形状不规则的区域,分割效果也不佳。因为噪声等因素的影响使得椎体灰度均匀性并不理想,灰度分布无规律,不同的灰度阈值生长出的区域可能面积相差不大,但形状却差异明显,只有所提取的区域与椎骨正好吻合时,形状最规则,因此本实施例结合了椎体的形状信息,同时又考虑了椎体面积,使得生长后的区域与真实椎体区域最相似。
对每个种子点,得到最优的H后,也得到了该种子点对应的椎体区域。这时需要对该区域进行分析判断,因为前面得到的种子点数量仍然存在冗余,主要有两种情况:
1)某些种子点并不在椎体以内,而在椎间盘上,这时即使进行上述的区域生长,得到的区域也不是椎体区域;
2)某些种子点同时处于同一椎体内部,它们生长出的区域会有重叠部分。
为了解决上面两个问题,对提取的椎体区域进行分析,按照第五预定规则去除椎体区域的冗余部分。可通过以下全部或部分信息来去除冗余:
考察每个种子点生长后的SP和SPR的差异;
考察椎体轴线上上下相邻两个种子点生长后区域的位置信息;
考察椎体轴线上上下相邻两个种子点生长后区域的面积差异等等。
这些信息可以有效解决上面两个问题。
经过区域生长、区域分析判断后,得到椎体区域如图16所示。
根据本发明公开的内容,本领域技术人员应该理解,在进行脊柱椎体提取时,可采用上述实施例中的全部步骤,也可采用部分步骤进行组合了,例如,在定位脊髓线时采用现有技术,而在定位椎体内部种子点和进行区域生长时采用本发明实施例中的方案,或者在定位脊髓线和进行区域生长时采用本发明实施例中的方案,而其他步骤采用现有技术。
在另一实施例中,控制及处理***包括脊柱椎间盘分割装置,脊柱椎间盘分割装置包括上述任一实施例中的脊柱椎体提取装置、椎体区域顶点定位单元、椎间盘中心点定位单元和椎间盘中心线确定单元。椎体区域顶点定位单元用于在提取的椎体区域上定位该椎体区域的顶点,椎间盘中心点定位单元用于利用相邻两个椎体区域的顶点分别计算椎间盘两相对边的中心点,椎间盘中心线确定单元,用于根据两相对边的中心点确定椎间盘中心线。
基于上述脊柱椎间盘分割装置,脊柱椎间盘分割方法如图17所示,包括以下步骤:
步骤S1,利用磁共振图像数据定位脊髓线。
步骤S2,根据脊髓线确定椎体轴线截面。
步骤S3,根据椎体轴线截面定位椎体内部种子点。
步骤S4,基于椎体内部种子点采用种子区域生长法提取椎体区域。
步骤S5,在提取的椎体区域上定位该椎体区域的顶点。定位椎间盘扫描线需要确定椎间盘中心线的表达式,在前面得到的椎体区域结果上,需要检测每个椎体的四个顶点坐标,用相邻两个椎体的顶点坐标计算椎间盘中心点位置。可利用简单的螺旋扫描来提取椎体的顶点,分别采用不同的扫描方向即可分别得到椎体的四个顶点。
步骤S6,利用相邻两个椎体区域的顶点分别计算椎间盘两相对边的中心点。前一椎体左下角顶点与后一椎体左上角顶点的中点坐标为椎间盘的左中心点,前一椎体右下角顶点与后一椎体右上角顶点的中点坐标为椎间盘的右中心点。
步骤S7,根据两相对边的中心点确定椎间盘中心线。最后提取的椎间盘中心线如图18。
本实施例中的步骤S1至S4可以采用本发明提供的全部或部分步骤,也可以是全部或部分采用现有技术实现。
本发明利用椎体内灰度近似均匀、椎体与椎间盘有明显边界、椎体形状基本固定等特征自适应提取椎体和椎间盘,提取结果不受椎体或者椎间盘灰度不一致的影响,也不受图像权重的影响,可自适应提取图像中的全部椎体,进而计算出各个椎间盘的中线位置和角度,能有效应用于MRI(磁共振图像)脊柱椎间盘扫描的全自动定位。
本发明不受场强高低的影响,可应用于任何场强的MRI成像***。
以上说明了如何基于磁共振图像提取脊柱椎体或进行脊柱椎间盘分割,但当采用其他方式获得被测物组织图像时,同样可按照本发明提供的方法和/或装置提取脊柱椎体或进行脊柱椎间盘分割。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。