Biomedical Image Analysis in Python
Stephen Bailey
Instructor

Minimize spatial variability
Templates:
Entails many spatial transformations

import imageio
import scipy.ndimage as ndi
im=imageio.imread('OAS1036-2d.dcm')
im.shape
(256, 256)
com = ndi.center_of_mass(im)d0 = 128 - com[0] d1 = 128 - com[1]xfm = ndi.shift(im, shift=[d0, d1])
ndi.rotate(im,
angle=25,
axes=(0,1))

xfm = ndi.rotate(im, angle=25)
xfm.shape
(297, 297)

xfm = ndi.rotate(im, angle=25,
reshape=False)
xfm.shape
(256, 256)

Transformation matrix: applied to one image for registration.
Elements of the matrix encode "instructions" for different affine transformations.

# Identity matrix mat = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]xfm = ndi.affine_transform(im, mat)

# Translate and rescale
mat = [[0.8, 0, -20],
[0, 0.8, -10],
[0, 0, 1]]
xfm = ndi.affine_transform(im,
mat)

Biomedical Image Analysis in Python