Transformasi spasial

Analisis Citra Biomedis dengan Python

Stephen Bailey

Instructor

Basis Data OASIS

logo OASIS

Analisis Citra Biomedis dengan Python

Variabilitas yang signifikan

array multi-otak

Analisis Citra Biomedis dengan Python

Registrasi

  • Selaraskan citra ke templat
  • Minimalkan variabilitas spasial

  • Templat:

    • dapat mewakili banyak subjek
    • bisa berupa citra "rata-rata"
  • Melibatkan banyak transformasi spasial

tiga-citra-terdaftar

Analisis Citra Biomedis dengan Python

Transformasi afin mempertahankan titik, garis, dan bidang

contoh transformasi

Analisis Citra Biomedis dengan Python

Translasi

kepala tergeser

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])
Analisis Citra Biomedis dengan Python

Rotasi

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

kepala berotasi

Analisis Citra Biomedis dengan Python

Rotasi citra

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

xfm.shape
(297, 297)

rotasi berubah bentuk

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

rotasi normal

Analisis Citra Biomedis dengan Python

Matriks transformasi

Matriks transformasi: diterapkan pada satu citra untuk registrasi.

Elemen matriks menyandikan "instruksi" untuk berbagai transformasi afin.

citra dengan empat transformasi

Analisis Citra Biomedis dengan Python

Menerapkan matriks transformasi

# Matriks identitas
mat = [[1, 0, 0],
       [0, 1, 0],
       [0, 0, 1]]

xfm = ndi.affine_transform(im, mat)

citra asli

# Translasi dan penskalaan ulang
mat = [[0.8, 0,   -20],
       [0,   0.8, -10],
       [0,   0,   1]]
xfm = ndi.affine_transform(im,
                           mat)

citra tertransformasi

Analisis Citra Biomedis dengan Python

Ayo berlatih!

Analisis Citra Biomedis dengan Python

Preparing Video For Download...