LoslegenKostenlos starten

Intensität

In diesem Kapitel arbeiten wir mit einer Handaufnahme (Röntgenaufnahme) aus einem Wettbewerb der Radiological Society of North America 2017. Die Röntgenabsorption ist in dichtem Gewebe wie Knochen am höchsten, daher sollten die resultierenden Intensitäten hoch sein. Solche Bilder können folglich verwendet werden, um das „Knochenalter" bei Kindern vorherzusagen.

Lass uns zuerst das Bild laden und seinen Intensitätsbereich prüfen.

Der Bild-Datentyp bestimmt den möglichen Intensitätsbereich: z. B. können 8-Bit-Integer ohne Vorzeichen (uint8) Werte von 0 bis 255 annehmen. Eine Farbskala hilft dabei, diese Werte mit dem angezeigten Bild zu verknüpfen.

Alle Übungen in diesem Kapitel verwenden folgende Imports:

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

Diese Übung ist Teil des Kurses

<Kurs>Biomedizinische Bildanalyse mit Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Lade das Bild "hand-xray.jpg" mit imageio.
  • Gib den Datentyp (dtype) sowie die minimale (min()) und maximale Intensität (max()) des Bildes aus.
  • Plotte das Bild mit plt.imshow(). Setze den minimalen (0) und maximalen (255) Wert der Colormap explizit über die Argumente vmin und vmax.
  • Füge mit plt.colorbar() eine Farbskala hinzu und rendere den Plot anschließend mit der benutzerdefinierten Funktion format_and_render_plot(). Das wurde bereits für dich vorbereitet.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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

# Plot the grayscale image
____
plt.colorbar()
format_and_render_plot()
Code bearbeiten und ausführen