Omsampling och interpolering

Biomedicinsk bildanalys i Python

Stephen Bailey

Instructor

Omsampling förändrar arrayens form

olika-samplingar

Biomedicinsk bildanalys i Python

Nedsampling

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

original-hjärna

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

nedsamplar-hjärna

Biomedicinsk bildanalys i Python

Uppsampling

  • Omsampling till ett större rutnät

  • Inte detsamma som att samla in data med högre upplösning

  • Användbart för att standardisera ojämna samplingsfrekvenser

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

original-hjärna

Biomedicinsk bildanalys i Python

Interpolering

  • "Sys ihop" rutnätspunkter för att modellera utrymmet mellan punkterna.

$$ Interpolation\ in\ 1\ D $$

Interpolering i 1D

Biomedicinsk bildanalys i Python

Interpolering

  • "Sys ihop" rutnätspunkter för att modellera utrymmet mellan punkterna.

  • Närmaste granne: använder det närmaste uppmätta värdet.

$$ Interpolation\ in\ 1\ D $$

Interpolering i 1D närmaste granne

Biomedicinsk bildanalys i Python

Interpolering

  • "Sys ihop" rutnätspunkter för att modellera utrymmet mellan punkterna.

  • Närmaste granne: använder det närmaste uppmätta värdet.

    • order = 0
  • B-spline-interpolering: modellerar utrymmet mellan punkter med splinefunktioner av angiven ordning.

    • order är mellan 1 och 5

$$ Interpolation\ in\ 1\ D $$

Interpolering B-spline

Biomedicinsk bildanalys i Python

Interpolering i 2D

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

Färgökande testbild

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

Färgökande testbild med flera ordningar

Biomedicinsk bildanalys i Python

Nu kör vi en övning!

Biomedicinsk bildanalys i Python

Preparing Video For Download...