Пространственные преобразования

Анализ биомедицинских изображений на Python

Stephen Bailey

Instructor

База данных OASIS

Логотип OASIS

Анализ биомедицинских изображений на Python

Значительная вариабельность

массив снимков мозга

Анализ биомедицинских изображений на Python

Регистрация

  • Выравнивание изображений по шаблону
  • Минимизация пространственной вариабельности

  • Шаблоны:

    • могут представлять нескольких испытуемых
    • могут быть «усреднёнными» изображениями
  • Включает множество пространственных преобразований

три изображения в процессе регистрации

Анализ биомедицинских изображений на Python

Аффинные преобразования сохраняют точки, прямые и плоскости

пример преобразования

Анализ биомедицинских изображений на Python

Трансляция

смещённый снимок головы

import imageio.v2 as 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])
Анализ биомедицинских изображений на Python

Вращение

ndi.rotate(im,
           angle=25,
           axes=(0,1))

повёрнутый снимок головы

Анализ биомедицинских изображений на Python

Поворот изображения

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

xfm.shape
(297, 297)

повёрнутый снимок с изменённым размером

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

нормальное вращение

Анализ биомедицинских изображений на Python

Матрица преобразования

Матрица преобразования: применяется к изображению при регистрации.

Элементы матрицы кодируют «инструкции» для различных аффинных преобразований.

изображение с четырьмя преобразованиями

Анализ биомедицинских изображений на Python

Применение матрицы преобразования

# 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)

преобразованное изображение

Анализ биомедицинских изображений на Python

Давайте потренируемся!

Анализ биомедицинских изображений на Python

Preparing Video For Download...