比较图像

Python 中的生物医学图像分析

Stephen Bailey

Instructor

比较图像

两图与堆叠

Python 中的生物医学图像分析

汇总度量

目标:定义两幅图像的相似性度量。

成本函数生成需最小化的度量。

目标函数生成需最大化的度量。

Python 中的生物医学图像分析

平均绝对误差

import imageio.v2 as imageio
import numpy as np
i1=imageio.imread('OAS1035-v1.dcm')
i2=imageio.imread('OAS1035-v2.dcm')

err = i1 - i2
plt.imshow(err)

误差掩码

abs_err = np.abs(err)
plt.imshow(abs_err)

mae = np.mean(abs_err) mae
29.8570

绝对误差掩码

Python 中的生物医学图像分析

平均绝对误差

目标:最小化成本函数

# 改善 im1 与 im2 的对齐
xfm=ndi.shift(im1, shift=(-8, -8))
xfm=ndi.rotate(xfm, -18,
                 reshape=False)

# 计算成本 abs_err = np.abs(im1 - im2) mean_abs_err = np.mean(abs_err)
mean_abs_err
13.0376

调整后的叠加

Python 中的生物医学图像分析

交并比(IoU)

$$ IOU = \frac{I_1 \cap I_2 }{I_1 \cup I_2}$$

mask1 = im1 > 0
mask2 = im2 > 0

intsxn = mask1 & mask2 plt.imshow(intsxn)

掩码交集

union = mask1 | mask2
plt.imshow(union)

iou = intsxn.sum() / union.sum() iou
0.68392

掩码并集

Python 中的生物医学图像分析

Passons à la pratique !

Python 中的生物医学图像分析

Preparing Video For Download...