Kom igångKom igång gratis

Intensitet

I det här kapitlet arbetar vi med ett röntgenfotografi av en hand från en tävling arrangerad av Radiological Society of North America 2017. Röntgenabsorptionen är högst i tät vävnad som ben, vilket innebär att de resulterande intensitetsvärdena bör vara höga. Bilder av det här slaget kan därför användas för att förutsäga "benålder" hos barn.

Låt oss börja med att läsa in bilden och kontrollera dess intensitetsintervall.

Bildens datatyp avgör vilket intervall av möjliga intensitetsvärden som kan förekomma: till exempel kan 8-bitars heltal utan tecken (uint8) anta värden i intervallet 0 till 255. Ett färgfält kan vara till stor hjälp när man vill koppla dessa värden till den visualiserade bilden.

Alla övningar i det här kapitlet använder följande importer:

import imageio.v2 as imageio
import numpy as np
import matplotlib.pyplot as plt

Den här övningen är en del av kursen

Biomedicinsk bildanalys i Python

Visa kurs

Övningsinstruktioner

  • Läs in bilden "hand-xray.jpg" med imageio.
  • Skriv ut bildens datatyp (dtype), lägsta (min()) och högsta intensitet (max()).
  • Rita ut bilden med plt.imshow(). Ange färgskalan explicit med minimivärdet 0 och maximivärdet 255 via argumenten vmin och vmax.
  • Lägg till ett färgfält med plt.colorbar() och rendera sedan diagrammet med den anpassade funktionen format_and_render_plot(). Det här steget är redan gjort åt dig.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Load the hand radiograph
im = ____
print('Data type:', ____)
print('Min. value:', ____)
print('Max value:', ____)

# Plot the grayscale image
____
plt.colorbar()
format_and_render_plot()
Redigera och kör kod