Arbeiten mit Bildern#

Um Bilddatenanalysen durchzuführen, müssen wir zunächst in der Lage sein, einige wesentliche Operationen auszuführen:

  • Bilder öffnen

  • Bilder anzeigen

  • Pixelstatistiken betrachten

Siehe auch

Bilder öffnen#

Die meisten Bilder mit Standarderweiterungen (tif, png usw.) können mit der Funktion skimage.io.imread gelesen werden. Falls Ihr Bild dies nicht unterstützt, sollten Sie die Dokumentation des entsprechenden Dateiformats konsultieren.

Zur Verwendung von imread haben Sie drei Möglichkeiten:

  • Verwenden Sie den absoluten Pfad zu einer Bilddatei, z.B. imread('/Users/Benutzername/Desktop/blobs.tif')

  • Verwenden Sie einen relativen Pfad zu Ihrem aktuellen Standort (den Sie mit dem Befehl pwd in einer Zelle herausfinden können), z.B. imread('../../data/blobs.tif')

  • Verwenden Sie eine URL, die auf eine Bilddatei verweist, zum Beispiel aus dem GitHub-Repository imread('https://github.com/haesleinhuepf/BioImageAnalysisNotebooks/raw/main/data/blobs.tif')

Hier verwenden wir einen relativen Pfad. In Bezug auf das aktuelle Notebook befinden sich die Daten zwei Ordnerebenen höher (../../) in einem Ordner namens data:

from skimage.io import imread

image = imread("../../data/blobs.tif")

Wie bereits gezeigt, sind Bilder einfach Matrizen von Intensitäten. Allerdings ist es nicht praktisch, sie als solche anzuzeigen.

image
array([[ 40,  32,  24, ..., 216, 200, 200],
       [ 56,  40,  24, ..., 232, 216, 216],
       [ 64,  48,  24, ..., 240, 232, 232],
       ...,
       [ 72,  80,  80, ...,  48,  48,  48],
       [ 80,  80,  80, ...,  48,  48,  48],
       [ 96,  88,  80, ...,  48,  48,  48]], dtype=uint8)

Bilder anzeigen#

Es gibt viele Möglichkeiten, einfache 2D-Bilder anzuzeigen. In vielen Notebooks und Beispielen online finden Sie Beispiele, die die imshow-Funktion von Matplotlib für ein Array verwenden:

from matplotlib import pyplot as plt

plt.imshow(image);
../_images/d5aa543df73b55131a5b2d12b65cdc2e300dad7a934c6fafbd5f36b49dac1a12.png

Leider ist die imshow-Funktion keine optimale Wahl zur Anzeige von Mikroskopiebildern: Sie kann nicht gut mit Mehrkanal-Daten umgehen, es ist schwierig, Intensitätsbereiche zu handhaben usw. In diesem Kurs bevorzugen wir daher die Verwendung der microshow-Funktion aus dem microfilm-Paket oder der imshow-Funktion aus dem clesperanto-Paket. Wir werden die zweite Lösung in den kommenden Kapiteln kennenlernen. Hier verwenden wir einfach microshow:

from microfilm.microplot import microshow
microshow(image);
../_images/86f9061a06b2f20b3ed3ddd41075e98754f485f36a8cd0d44daae4545e43ad8f.png

Farbtabellen (auch bekannt als Farbkarten)#

Wir können auch die Farbtabelle, auch bekannt als “Farbkarte”, für die Visualisierung ändern.

microshow(image, cmaps="hot");
../_images/fecc9298b39e8e99284bb1fed5d27c53967aa0c464bb992c0a1370ba7fdf32e5.png
microshow(image, cmaps="pure_cyan");
../_images/ea5543ae72928f06f82dae87c2abc96ec002c347178571a949e44685aab380bd.png

Übung#

Öffnen Sie den Datensatz banana020.tif und visualisieren Sie ihn mit einer gelblichen Farbtabelle.