Skip to content

tanjia123456/Brain_area_PH

Repository files navigation

说明:GT.png是Ground truth的可视化 Pred.png是预测出来的图片 可在预测的图片中看到(深蓝色区域有红色的点点)某一个脑区存在孔洞的情况 目的:使用PH来对预测的图片进行后处理,去除孔洞的影响 大脑有10242个节点,对其进行硬分割,每个节点有确切的脑区索引 目前有两中方法: [知乎:您提出的] (1)提取属于特定脑区的节点索引 Vertex (2)找到组成特定脑区里面每条边的节点索引,也就是lhedges.txt每一行的值,这些节点索引vertex必须属于上面节点索引Vertex (3)找到组成特定脑区里面triangle的节点索引,也就是lhtriangles.txt每一行的值,这些节点索引vertex必须属于上面节点索引Vertex 得到例如S=[{1},{2},{3},{1,2},{1,3},{2,3},{1,2,3}] (4)计算alpha0,alpha1,alpha2的边界矩阵boundary matrix (5)进行矩阵化简,相当于线性代数里面的特征向量线性无关,得到reduce matrix (6)在计算betti0 betti1即可 但是结果很奇怪,betti1=1000+,所以您知道是哪里出了问题吗? [代码参考:compute_betti_ZH1.py]

[使用gudhi库] (1)直接提取pred-ts中特定脑区的的节点索引 (2)再根据节点索引,找到每个节点的三维坐标点 (3)在初始的从lh.white提取其triangle,只要每个triangle中每一行的节点索引都在我们所提取出的特定区域的节点索引里面,则将其进行输出,得到特定区域的三角面片 (4)存在一个问题:针对特定脑区,节点索引是根据1,2,3,4再进行重新排序,但是其triangle是最开始的节点索引进行排序,因此,若是直接绘制trisurf就会导致超出范围 解决办法:改变triangle里面的节点索引更加有效 (5)怎么根据3D tri_surf求出betti数呢?并且应该是需要进行过滤,那过滤值应该选择什么呢?有人说使用脑沟深度sulc、曲率curv或者皮层厚度thickness 求出持续条形码以及betti数? [代码参考compute_betti_gudhi1.py]

那既然要做后处理,是否需要GT的信息呢?是像大多数论文说的一样使用topoloss吗?

About

Use PH to segmentation brain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages