1. 计算Dice
Dice其实就是F1-score,即预测predicate和实际gt区域的overlap的面积(area)(或体积(volume))与二者union区域的面积(area)(或体积(volume))的比值的2倍。Dice一般是没有单位的。
def dice(seg, gt):
if seg.sum() + gt.sum() == 0:
return 0
dice = 2 *(seg * gt).sum() / (seg.sum() + gt.sum())
或者使用medpy库
pip install medpy
from medpy.metric import binary
def dice(seg, gt):
return binary.dc(seg, gt)
2. 计算Assd(Average symmetric surface distance)

如图所示,ASSD计算公式为:
A S S D = ∑ x ∈ X m i n y ∈ Y d ( x , y ) + ∑ y ∈ Y m i n x ∈ X d ( y , x ) l e n ( X ) + l e n ( Y ) ASSD=\frac{\sum_{x\in X}min_{y\in Y}d(x, y)+\sum_{y\in Y}min_{x\in X}d(y, x)}{len(X) + len(Y)} ASSD=len(X)+len(Y)∑x∈Xminy∈Yd(x,y)+∑y∈Yminx∈Xd(y,x)
或者
s u m x ∈ X m i n y ∈ Y d ( x , y ) l e n ( X ) + ∑ y ∈ Y m i n x ∈ X d ( y , x ) l e n ( Y ) 2 \frac{\frac{\\sum_{x\in X}min_{y\in Y}d(x, y)}{len(X)}+\frac{\sum_{y\in Y}min_{x\in X}d(y, x)}{len(Y)}}{2} 2len(X)sumx∈Xminy∈Yd(x,y)+len(Y)∑y∈Yminx∈Xd(y,x)

本文详细介绍了在医学图像分析中常用的评估指标,包括Dice相似系数(F1-score)的计算、平均表面距离(ASSD)的求解、Hausdorff距离及其95分位数的计算方法。通过Python代码示例展示了如何从像素坐标到真实世界坐标的转换,并提供了利用medpy库进行计算的简化方式。此外,还涉及了Dicom图像信息的读取,以及如何从mask中提取边界点。
417

被折叠的 条评论
为什么被折叠?



