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
Ö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ärdet0och maximivärdet255via argumentenvminochvmax. - Lägg till ett färgfält med
plt.colorbar()och rendera sedan diagrammet med den anpassade funktionenformat_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()