一种实现大脑白质快速分割和纤维簇数据分析的方法

文档序号:10656914阅读:304来源:国知局
一种实现大脑白质快速分割和纤维簇数据分析的方法
【专利摘要】本发明公开了一种实现大脑白质快速分割和纤维簇数据分析的方法,本发明将全部纤维距离数据问题替换为近邻纤维距离数据从而实现算法加速,其中寻找近邻纤维采用二叉树的方法,进而使纤维密度ρ和因子dc的计算量明显降低,解决了现有技术耗时相对较长的问题,但是很好地保证了分类准确率。
【专利说明】
-种实现大脑白质快速分割和纤维簇数据分析的方法
技术领域
[0001] 本发明属于医学图像处理领域,设及大脑纤维簇的聚类处理和数据分析,特别设 及到一种基于密度峰值的大脑纤维簇快速聚类的方法。
【背景技术】
[0002] 纤维簇聚类是医学图像处理研究领域中的一个必不可少的环节,也是让医学图像 分析变得更加便捷的一项重要的技术。大脑中不同结构的纤维簇对应着不同的功能,医学 上的分析也对应有所差异。一个可W实现正确分割纤维簇并将不同结构的纤维簇归类区分 的聚类算法是后续医学上正确分析对应功能的基础和保证。
[0003] 目前聚类算法领域内已经有了很多效果很好的算法,比如K-means、GMM、mean- Shift J-means作为一个最基础最经典的聚类方法,快速而简单并且对大数据集有较高的 效率和可伸缩性;GMM和K-means的迭代求解法其实非常相似,GMM所得的结果不仅仅是数据 点的类标签,还包含了数据点标记为每个类标签的概率,很多时候运实际上是非常有用的 信息;mean-shift计算量不是很大,聚类的效果也还不错。然而W上S种聚类方法用于神经 纤维聚类时,由于纤维相似度测量标准的特殊性致使效果都不好。目前研究发现基于密度 峰值的聚类算法density-peaks clustering用于纤维分类时能够很好地分割出不同类的 纤维簇,但是利用该算法在计算相关数值时需要用到每条纤维与其他纤维间的距离值,由 此导致算法计算量过大。我们在研究过程中发现,如果只选取纤维的一定数量的近邻参与 运算则可W大幅度减小运算量,于是我们提出并实现了与density-peaks clustering算法 效果几乎一致但却计算更快的加速算法化31 density-peaks clustering。

【发明内容】

[0004] 为了克服现有技术的耗时相对较长的问题,本发明提出了一种实现大脑白质快速 分割和纤维簇数据分析的方法。
[0005] 本发明提供了一种实现大脑白质快速分割和纤维簇数据分析的方法,包括:步骤 100,大脑纤维簇数据预处理,利用现有的医学图像处理工具将大脑=维图像数据转化为 tensor图像,在tensor图像中标注出需要进行聚类和分割的大脑纤维簇,并将每条纤维均 分为P-I段,找出相应的P个节点,记录运P个节点位置,作为该纤维的表示,即将纤维离散化 表示成f=(Xl,X2, . . . ,Xp-l,Xp)。
[0006] 步骤200,对步骤100所得的纤维数据进行纤维的聚类和分割,包括W下过程:步骤 201,计算每两条纤维之间的距离得到距离矩阵distMat;步骤202,找到每条纤维的K近邻; 步骤203,计算dc因子;步骤204,计算每条纤维的密度,作为该纤维的一个描述子;步骤205, 将纤维按密度值降序排列,在比纤维i密度高的纤维中选取与纤维i距离最近的纤维,记录 下该纤维的序号,并将相应的最小距离值作为纤维i的另一个描述子S;步骤206,选取聚类 中屯、;步骤207,对纤维进行分类;步骤208,根据类中各纤维的密度值设定对应类中的边界 密度值,假设类中有m个不同的密度值,将类中所有纤维的密度值按升序排列,选取第(5%* m)个值作为该类的边界纤维密度,,类中低于边界密度值的纤维被设定为异常值。
[0007] 所述步骤201,计算每两条纤维之间的距离得到距离矩阵distMat,包括:纤维fa = (xi,x2,...,xp-i,xp)和纤维fb=(yi,y2,...,yp-i,yp)之间的距离计算公式为
[000引
[0009]
[0010] 所述步骤202,找到每条纤维的K近邻,包括:首先,将计算得到的某条纤维i与其他 纤维之间的距离值组合成数据集A,找到A中数据的中位数或者均值meanl,A中小于meanl的 放到数据集B中;其次,用上述方法持续对左树数据集进行二分直到循环结束后的左树数中 数据量为n/8个,其中n为纤维总数,此时左树的K数据集存储的数据是纤维距离数值中最小 的前1/8个数据;最后从i纤维的n/8个数据找到i纤维的K近邻。
[0011] 所述步骤203,计算dc因子,包括:首先,将计算得到的纤维之间的距离值组合成数 据集A,找到A中数据的中位数或者均值meanl, A中小于meanl的放到数据集B中;其次,用上 述方法持续对左树数据集进行二分直到循环结束后的左树中数据量n/8个,;此时左树的K 数据集存储的数据是纤维距离数值中最小的前1/8个数据;最后将得到的K数据集中的数据 进行升序排列取排序后的第(l%*n)或者(2%*n)个值赋给dc,其中n表示纤维条总数。
[0012] 所述步骤204,计算每条纤维的密度,作为该纤维的一个描述子,包括:利用步骤 202和步骤203得到的每条纤维的K近邻和dc值,计算每条纤维的密度P,具体计算公式为
[0013]
,
[0014] 所述步骤206,选取聚类中屯、,包括:计算得到的P和S绘制决策图,选取P和S都相对 较大的点作为聚类中屯、,带圆圈标记的浅色点即为选中的聚类中屯、,对应S类纤维LF0、 Fmajor和ILF。
[0015] 所述步骤207,对纤维进行分类,包括:按密度P对纤维进行降序排列,依次将每条 纤维分配到密度比他大且距离他最近的纤维所属的类别里去。
[0016] 有益效果:本发明将全部纤维距离数据问题替换为近邻纤维距离数据从而实现算 法加速,其中寻找近邻纤维采用二叉树的方法,进而使纤维密度P和因子dc的计算量明显降 低,解决了现有技术耗时相对较长的问题,但是很好地保证了分类准确率。
【附图说明】
[0017] 图1为将纤维归一化表示和挑选P个节点的方法图示。
[001引图2纤维的两种表示方法图示。
[0019] 图3是本发明寻找某纤维近邻的方法图解。
[0020] 图4是用本发明计算P和S之后所得的纤维簇决策树图。
[0021] 图5是对应人工标记的分类结果展示。
[0022] 图6为依据本发明分类结果分割完成的纤维簇图示。
【具体实施方式】
[0023] 为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面 结合附图和实施例对本发明作进一步的详细说明。可W理解的是,此处所描述的具体实施 例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图 中仅示出了与本发明相关的部分而非全部内容。
[0024] 本发明的原理如下:
[0025] 步骤1.大脑纤维簇数据预处理。利用现有的医学图像处理工具(例如:Mricron、 DTIs化dio、FSL、DiffeoMap)将大脑纤维簇数据变换成能参与聚类运算的表现形式,即将每 条纤维均分为(P-I)段,找出P个节点,记录运P个节点位置,作为该纤维的表示(即用纤维上 的P个点来表示一条纤维,将纤维离散化)。
[00%] 步骤2.分割(用我们提出的化St density-peaks clustering进行纤维聚类和分 割)。
[0027] 步骤2-1计算每条纤维跟其他所有纤维间的距离cUj得到距离矩阵distMat。如图2 所示b纤维的表示方式有W下两种:fb=(Xl,X2, . . .,Xp-l,Xp)和=(X,,Xp_j,...,X2,Xi),则两 条纤维之间的距离按如下公式计算:
[002引
[0029] 步骤2-2找到每条纤维的K近邻(实验中选取K为所有纤维个数的八分之一)。如图3 所示流程,借鉴二叉树的思想,首先将计算得到的某条纤维i与其他纤维之间的距离值组合 成数据集A,找到A中数据的中位数或者均值meanl,A中小于meanl的放到数据集B中;其次用 上述方法持续对左树数据集进行二分直到循环结束后的左树数中数据量大致为n/8(n为纤 维总数)个,此时左树即图3中的K数据集存储的数据是纤维距离数值中最小的前1/8个数 据;最后从i纤维的n/8个数据找到i纤维的K近邻。
[0030] 步骤2-3计算因子dc。如图3所示流程,借鉴二叉树的思想,首先将计算得到的纤维 之间的距离值组合成数据集A,找到A中数据的中位数或者均值meanl, A中小于meanl的放到 数据集B中;其次用上述方法持续对左树数据集进行二分直到循环结束后的左树中数据量 大致为n/8(n为纤维总数)个,此时左树即图3中的K数据集存储的数据是纤维距离数值中最 小的前1/8个数据;最后将得到的K数据集中的数据进行升序排列取排序后的第(l%*n)或 者(2 % *n)个值赋给dc,其中n表示纤维条总数。
[0031] 步骤2-4利用步骤2-2所得的每条纤维的K近邻和步骤2-3所得的dc因子计算对应 纤维的密度P,作为该纤维的一个描述子,其计算公式为:
[0032]
[0033] 步骤2-5将纤维按密度值降序排列,在比纤维i密度高的纤维中选取与纤维i距离 最近的纤维,记录下该纤维的序号,并将相应的最小距离值作为纤维i的另一个描述子0。
[0034] 步骤2-6通过计算得到的P和O W及决策树思想选取聚类中屯、。
[0035] 步骤2-7按密度P对纤维进行降序排列,依次将每条纤维分配到密度比他大且距离 他最近的纤维所属的类别里去。
[0036] 步骤2-8根据类中各纤维的密度值设定对应类中的边界密度值(例如,假设类中有 m个不同的密度值,将类中所有纤维的密度值按升序排列,选取第(5%*m)个值作为该类的 边界纤维密度),类中低于边界密度值的纤维被设定为异常值。
[0037] 实施例1
[0038] I.幼儿大脑纤维簇数据预处理。如图I所示,大脑纤维簇数据预处理。利用现有的 医学图像处理工具(例如:化ic;ron、DTIstudio、FSL、DiffeoMap)将幼儿大脑纤维簇数据变 换成能参与聚类运算的表现形式。实验中令P = IO,即将每条纤维均分为9段,找出十个节 点,记录运十个节点位置,作为该纤维的表示。
[0039] 2.分害[|(用我们提出的!^ist density-peaks clustering进行纤维聚类和分割)。
[0040] 2-1.计算每两条纤维之间的距离得到距离矩阵distMat。
[0041] 2-2.如图3所示的方法,借鉴二叉树的思想,首先将计算得到的某条纤维i与其他 纤维之间的距离值组合成数据集A,找到A中数据的中位数或者均值meanl,A中小于meanl的 放到数据集B中;其次用上述方法持续对左树数据集进行二分直到循环结束后的左树数中 数据量大致为n/8(n为纤维总数)个,此时左树即图3中的K数据集存储的数据是纤维距离数 值中最小的前1/8个数据;最后从i纤维的n/8个数据找到i纤维的K近邻(实验中取K = n/8, 其中n表示纤维条总数)。
[0042] 2-3.用步骤2-2同样的方式取distMat中最小的12.5%个距离值按升序排列,取排 序后的第(l%*n)或者(2%*n)个值赋给dc,其中n表示纤维条总数。
[0043] 2-4.利用步骤2-2和步骤2-3得到的每条纤维的K近邻和dc值,计算每条纤维的密 度P,
[0044]
[0045] 2-5.将纤维按密度值降序排列,在比纤维i密度高的纤维中选取与纤维i距离最近 的纤维,记录下该纤维的序号,并将相应的最小距离值作为纤维i的另一个描述子0。
[0046] 2-6.如图4所示根据计算得到的0和〇绘制决策图,选取0和〇都相对较大的点作为 聚类中屯、,带圆圈的浅色点即为选中的聚类中屯、,对应图5中标记的S类纤维。
[0047] 2-7.按密度P对纤维进行降序排列,依次将每条纤维分配到密度比他大且距离他 最近的纤维所属的类别里去。如图6所示是针对该名幼儿大脑DTI图像分割完成的纤维簇, 分别是ILF、IFO和Fma jor,对应图4、图5中标记的S种纤维簇。
[004引2-8.计算每一类中的边界密度值,类中低于边界密度值的纤维被设定为异常值。 [0049]最后应说明的是:W上各实施例仅用W说明本发明的技术方案,而非对其限制;尽 管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其对 前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替 换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【主权项】
1. 一种实现大脑白质快速分割和纤维簇数据分析的方法,其特征在于,所述实现大脑 白质快速分割和纤维簇数据分析的方法包括: 步骤100,大脑纤维簇数据预处理,利用现有的医学图像处理工具将大脑三维图像数据 转化为tensor图像,在tensor图像中标注出需要进行聚类和分割的大脑纤维簇,并将每条 纤维均分为P-I段,找出相应的P个节点,记录这P个节点位置,作为该纤维的表示,即将纤维 离散化表示成f=(Xl,X2, · · ·,Xp-Ι,Χρ); 步骤200,对步骤100所得的纤维数据进行纤维的聚类和分割,包括以下过程: 步骤201,计算每两条纤维之间的距离得到距离矩阵distMat; 步骤202,找到每条纤维的K近邻; 步骤203,计算dc因子; 步骤204,计算每条纤维的密度,作为该纤维的一个描述子; 步骤205,将纤维按密度值降序排列,在比纤维i密度高的纤维中选取与纤维i距离最近 的纤维,记录下该纤维的序号,并将相应的最小距离值作为纤维i的另一个描述子δ; 步骤206,选取聚类中心; 步骤207,对纤维进行分类; 步骤208,根据类中各纤维的密度值设定对应类中的边界密度值,假设类中有m个不同 的密度值,将类中所有纤维的密度值按升序排列,选取第(5%*m)个值作为该类的边界纤维 密度,类中低于边界密度值的纤维被设定为异常值。2. 根据权利要求1所述的实现大脑白质快速分割和纤维簇数据分析的方法,其特征在 于,步骤201,计算每两条纤维之间的距离得到距离矩阵distMat,包括: 纤维fa=(xi,x2,...,χΡ-ι,χΡ)和纤维fb=(yi,y2,...,y P-i,yP)之间的距离计算公式为其中人=〇VJV1,…,乃,Λ) 〇3. 根据权利要求1所述的实现大脑白质快速分割和纤维簇数据分析的方法,其特征在 于,步骤202,找到每条纤维的K近邻,包括: 首先,将计算得到的某条纤维i与其他纤维之间的距离值组合成数据集Α,找到A中数据 的中位数或者均值meanl,A中小于meanl的放到数据集B中;其次,用上述方法持续对左树数 据集进行二分直到循环结束后的左树数中数据量为n/8个,其中η为纤维总数,此时左树的K 数据集存储的数据是纤维距离数值中最小的前1/8个数据;最后从i纤维的η/8个数据找到i 纤维的K近邻。4. 根据权利要求1所述的实现大脑白质快速分割和纤维簇数据分析的方法,其特征在 于,步骤203,计算dc因子,包括: 首先,将计算得到的纤维之间的距离值组合成数据集A,找到A中数据的中位数或者均 值meanl,A中小于meanl的放到数据集B中;其次,用上述方法持续对左树数据集进行二分直 到循环结束后的左树中数据量η/8个,;此时左树的K数据集存储的数据是纤维距离数值中 最小的前1/8个数据;最后将得到的K数据集中的数据进行升序排列取排序后的第(1%*η) 或者(2 % *η)个值赋给dc,其中η表示纤维条总数。5. 根据权利要求1所述的实现大脑白质快速分割和纤维簇数据分析的方法,其特征在 于,步骤204,计算每条纤维的密度,作为该纤维的一个描述子,包括: 利用步骤202和步骤203得到的每条纤维的K近邻和dc值,计算每条纤维的密度P,具体 计算公式为6. 根据权利要求1所述的实现大脑白质快速分割和纤维簇数据分析的方法,其特征在 于,步骤206,选取聚类中心,包括: 计算得到的P和S绘制决策图,选取P和δ都相对较大的点作为聚类中心,带圆圈标记的 浅色点即为选中的聚类中心,对应三类纤维LFO、Fma jor和ILF。7. 根据权利要求1所述的实现大脑白质快速分割和纤维簇数据分析的方法,其特征在 于,步骤207,对纤维进行分类,包括:按密度P对纤维进行降序排列,依次将每条纤维分配到 密度比他大且距离他最近的纤维所属的类别里去。
【文档编号】G06T7/00GK106023172SQ201610319014
【公开日】2016年10月12日
【申请日】2016年5月13日
【发明人】樊鑫, 罗钟铉, 程世超, 段煜茁, 王倩
【申请人】大连理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1