Resampling und Interpolation

Biomedizinische Bildanalyse mit Python

Stephen Bailey

Instructor

Resampling ändert die Array-Form

verschiedene Abtastraten

Biomedizinische Bildanalyse mit Python

Downsampling

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

Originalgehirn

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

herunterskaliertes Gehirn

Biomedizinische Bildanalyse mit Python

Upsampling

  • Resampling auf ein größeres Raster

  • Nicht dasselbe wie Datenerfassung mit höherer Auflösung

  • Nützlich, um ungleiche Abtastraten zu standardisieren

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

Originalgehirn

Biomedizinische Bildanalyse mit Python

Interpolation

  • „Vernäht" Rasterpunkte, um den Raum zwischen Punkten zu modellieren.

$$ Interpolation\ in\ 1\ D $$

Interpolation in 1D

Biomedizinische Bildanalyse mit Python

Interpolation

  • „Vernäht" Rasterpunkte, um den Raum zwischen Punkten zu modellieren.

  • Nächster Nachbar: nutzt den nächstgelegenen Messwert.

$$ Interpolation\ in\ 1\ D $$

Interpolation in 1D nächster Nachbar

Biomedizinische Bildanalyse mit Python

Interpolation

  • „Vernäht" Rasterpunkte, um den Raum zwischen Punkten zu modellieren.

  • Nächster Nachbar: nutzt den nächstgelegenen Messwert.

    • order = 0
  • B-Spline-Interpolation: modelliert den Raum zwischen Punkten mit Spline-Funktionen eines bestimmten Grades.

    • order liegt zwischen 1 und 5

$$ Interpolation\ in\ 1\ D $$

B-Spline-Interpolation

Biomedizinische Bildanalyse mit Python

Interpolation in 2D

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

Farbverlauf-Spielbild

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

Farbverlauf, mehrere Ordnungen

Biomedizinische Bildanalyse mit Python

Lass uns üben!

Biomedizinische Bildanalyse mit Python

Preparing Video For Download...