Resampling en interpolatie

Biomedische beeldanalyse met Python

Stephen Bailey

Instructor

Resampling verandert de arrayvorm

verschillende-sampling

Biomedische beeldanalyse met Python

Downsampling

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

origineel-brein

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

downsampled-brein

Biomedische beeldanalyse met Python

Upsampling

  • Resamplen naar een grotere grid

  • Niet hetzelfde als data met hogere resolutie verzamelen

  • Handig om ongelijke samplefrequenties te standaardiseren

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

origineel-brein

Biomedische beeldanalyse met Python

Interpolatie

  • "Naait" gridpunten aan elkaar om de ruimte ertussen te modelleren.

$$ Interpolatie\ in\ 1\ D $$

Interpolatie in 1D

Biomedische beeldanalyse met Python

Interpolatie

  • "Naait" gridpunten aan elkaar om de ruimte ertussen te modelleren.

  • Nearest-neighbor: gebruikt de dichtstbijzijnde gemeten waarde.

$$ Interpolatie\ in\ 1\ D $$

Interpolatie in 1D nearest neighbor

Biomedische beeldanalyse met Python

Interpolatie

  • "Naait" gridpunten aan elkaar om de ruimte ertussen te modelleren.

  • Nearest-neighbor: gebruikt de dichtstbijzijnde gemeten waarde.

    • order = 0
  • B-spline-interpolatie: modelleert ruimte tussen punten met splinefuncties van een bepaalde orde.

    • order ligt tussen 1 en 5

$$ Interpolatie\ in\ 1\ D $$

Interpolatie B-spline

Biomedische beeldanalyse met Python

Interpolatie in 2D

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

Kleur oplopende speelgoedafbeelding

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

Kleur oplopend meerdere ordes afbeelding

Biomedische beeldanalyse met Python

Laten we oefenen!

Biomedische beeldanalyse met Python

Preparing Video For Download...