Resampling i interpolacja

Analiza obrazów biomedycznych w Pythonie

Stephen Bailey

Instructor

Resampling zmienia kształt tablicy

różne próbkowanie

Analiza obrazów biomedycznych w Pythonie

Downsampling

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

oryginalne zdjęcie mózgu

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

zdjęcie mózgu po downsampleingu

Analiza obrazów biomedycznych w Pythonie

Upsampling

  • Resampling do większej siatki

  • Nie jest równoważny zbieraniu danych o wyższej rozdzielczości

  • Przydatny do standaryzacji nierównych częstotliwości próbkowania

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

oryginalne zdjęcie mózgu

Analiza obrazów biomedycznych w Pythonie

Interpolacja

  • „Łączy" punkty siatki, modelując przestrzeń między nimi.

$$ Interpolation\ in\ 1\ D $$

Interpolacja 1D

Analiza obrazów biomedycznych w Pythonie

Interpolacja

  • „Łączy" punkty siatki, modelując przestrzeń między nimi.

  • Nearest-neighbor: używa najbliższej zmierzonej wartości.

$$ Interpolation\ in\ 1\ D $$

Interpolacja 1D – nearest neighbor

Analiza obrazów biomedycznych w Pythonie

Interpolacja

  • „Łączy" punkty siatki, modelując przestrzeń między nimi.

  • Nearest-neighbor: używa najbliższej zmierzonej wartości.

    • order = 0
  • Interpolacja B-spline: modeluje przestrzeń między punktami funkcjami sklejanymi określonego rzędu.

    • order od 1 do 5

$$ Interpolation\ in\ 1\ D $$

Interpolacja B-spline

Analiza obrazów biomedycznych w Pythonie

Interpolacja 2D

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

Testowy obraz o rosnących kolorach

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

Obraz testowy dla różnych rzędów interpolacji

Analiza obrazów biomedycznych w Pythonie

Czas na ćwiczenia!

Analiza obrazów biomedycznych w Pythonie

Preparing Video For Download...