Resampling dan interpolasi

Analisis Citra Biomedis dengan Python

Stephen Bailey

Instructor

Resampling mengubah bentuk array

sampling-berbeda

Analisis Citra Biomedis dengan Python

Downsampling

vol = imageio.volread('OAS1_0255', format='DICOM')
vol.shape
(256, 256, 256)

otak-asli

vol_dn = ndi.zoom(vol, zoom=0.5)
vol_dn.shape
(128, 128, 128)

otak-downsampled

Analisis Citra Biomedis dengan Python

Upsampling

  • Resampling ke grid yang lebih besar

  • Bukan sama dengan mengumpulkan data beresolusi lebih tinggi

  • Berguna untuk menyeragamkan laju sampling yang tidak sama

vol_up = ndi.zoom(vol, zoom=2)
vol_up.shape
(512, 512, 512)

otak-asli

Analisis Citra Biomedis dengan Python

Interpolasi

  • "Menjahit" titik grid untuk memodelkan ruang di antara titik.

$$ Interpolation\ in\ 1\ D $$

Interpolasi di 1D

Analisis Citra Biomedis dengan Python

Interpolasi

  • "Menjahit" titik grid untuk memodelkan ruang di antara titik.

  • Nearest-neighbor: memakai nilai terukur terdekat.

$$ Interpolation\ in\ 1\ D $$

Interpolasi di 1D tetangga terdekat

Analisis Citra Biomedis dengan Python

Interpolasi

  • "Menjahit" titik grid untuk memodelkan ruang di antara titik.

  • Nearest-neighbor: memakai nilai terukur terdekat.

    • order = 0
  • Interpolasi B-spline: memodelkan ruang antartitik dengan fungsi spline pada orde tertentu.

    • order antara 1 dan 5

$$ Interpolation\ in\ 1\ D $$

Interpolasi B-spline

Analisis Citra Biomedis dengan Python

Interpolasi dalam 2D

im=np.arange(100).reshape([10,10])

Gambar mainan warna naik

zm1=ndi.zoom(im, zoom=10, order=0)
zm2=ndi.zoom(im, zoom=10, order=2)
zm3=ndi.zoom(im, zoom=10, order=4)

Gambar warna naik multi-orde

Analisis Citra Biomedis dengan Python

Ayo berlatih!

Analisis Citra Biomedis dengan Python

Preparing Video For Download...