Afbeeldingen vergelijken

Biomedische beeldanalyse met Python

Stephen Bailey

Instructor

Afbeeldingen vergelijken

beide-afbeeldingen-en-gestapeld

Biomedische beeldanalyse met Python

Samenvattende maten

Doel: definieer een maat voor gelijkenis tussen twee afbeeldingen.

Kostfuncties leveren maten op die je minimaliseert.

Doelfuncties leveren maten op die je maximaliseert.

Biomedische beeldanalyse met Python

Gemiddelde absolute fout

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)

masker-fout

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

mae = np.mean(abs_err) mae
29.8570

masker-absolute-fout

Biomedische beeldanalyse met Python

Gemiddelde absolute fout

Doel: minimaliseer de kostfunctie

# Improve im1 alignment to im2
xfm=ndi.shift(im1, shift=(-8, -8))
xfm=ndi.rotate(xfm, -18,
                 reshape=False)

# Calculate cost abs_err = np.abs(im1 - im2) mean_abs_err = np.mean(abs_err)
mean_abs_err
13.0376

aangepaste-overlay

Biomedische beeldanalyse met Python

Snede over unie

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

mask1 = im1 > 0
mask2 = im2 > 0

intsxn = mask1 & mask2 plt.imshow(intsxn)

masker-intersectie

union = mask1 | mask2
plt.imshow(union)

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

masker-unie

Biomedische beeldanalyse met Python

Laten we oefenen!

Biomedische beeldanalyse met Python

Preparing Video For Download...