-
Die
Erfindung betrifft ein Mikroskopbildverarbeitungsverfahren zur Ausführung auf
einem Computer, der einen Arbeitsspeicher mit einer vorgegebenen
verfügbaren
Speicherkapazität
und einen Massenspeicher, der eine höhere Zugriffszeit aufweist
als der Arbeitsspeicher, umfasst, zur Verarbeitung eines digitalen
Mikroskopbilds, das aus Pixeln besteht, n-dimensional ist mit n > 1, aus zumindest zwei
Teilbildern besteht und eine Größe aufweist,
die die verfügbare
Speicherkapazität
des Arbeitsspeichers übersteigt,
durch Anwenden einer Rechenoperation auf zumindest einen Teil des
Mikroskopbilds.
-
Derartige
Verfahren werden bei der Verarbeitung von digitalen Mikroskopbildern
eingesetzt, die mit Hilfe einer Digitalkamera eines Mikroskops gewonnen
werden. Ein Beispiel ist ein Mikroskopbild einer Gewebeprobe, die
mit einem Mikroskop in einer Vergrößerung aufgenommen wurde, die
so groß gewählt ist,
dass mehrere Teilbilder notwendig sind, um ein Mikroskopbild der
gesamten Gewebeprobe in der gewünschten
Vergrößerung zu
erhalten. Auf dieses in Teilbildern vorliegende digitale Mikroskopbild,
ein so genanntes Mosaik-Bild, soll eine Rechenoperation, wie beispielsweise
das Ermitteln der mittleren Helligkeit, insbesondere in einer Vielzahl
von Teilbereichen, angewendet werden.
-
In
der
US 4 673 988 A1 ist
ein Verfahren zum Erstellen eines solchen elektronischen Mosaik-Bilds mit
einem Mikroskop beschrieben. Das Mosaik-Bild weist eine hohe Auflösung in
einem breiten Bildfeld auf. Zur Aufnahme des Mosaik-Bilds umfasst
das Mikroskop neben einer ersten Kamera ein Bildaufnahmemittel.
Die Probe, von der das Mosaik-Bild aufzunehmen ist, wird unter Kontrolle
durch das Bildaufnahmemittel in einem Raster bewegt und an vorab berechneten
Positionen werden einzelne Teilbilder aufgenommen, die anschließend zu
einem Mikroskopbild zusammengesetzt werden. Dadurch wird erreicht,
dass sich die einzelnen Teilbilder nicht überschneiden.
-
Bei
bekannten Verfahren zur Verarbeitung eines digitalen Mikroskopbilds
wird das gesamte Mikroskopbild in den Arbeitsspeicher des Computers geladen
und dann von einem Prozessor des Computers verarbeitet. Da das gesamte
Mikroskopbild aber zu groß ist,
um als Ganzes in den gegebenenfalls virtuellen Arbeitsspeicher des
Computers geladen werden zu können,
wird das Mikroskopbild teilweise wieder auf den Massenspeicher ausgelagert.
Ein solches Verfahren wird Umlagerung oder Auslagerung genannt (engl.
swapping bzw. paging). Damit die Rechenoperation durchgeführt werden
kann, müssen die
Bildteile vorher wieder in den Arbeitsspeicher geladen werden.
-
Nachteilig
an solchen Verfahren ist, dass das Auslagern allein vom Betriebssystem
des Computers gesteuert wird, was dazu führen kann, dass Bilddaten im
Arbeitsspeicher gehalten werden, die gezielt ausgelagert werden
könnten.
Da der Massenspeicher eine höhere
Zugriffszeit als der Arbeitsspeicher aufweist und ein Um- oder Auslagern
zeitintensiv ist, verlangsamt das die Verarbeitung des Mikroskopbilds,
was nachteilig ist.
-
Des
Weiteren kann ein Mikroskopbild so groß sein, dass der Adressraum
des Prozessors nicht ausreicht, um das Mikroskopbild in den Arbeitsspeicher
zu laden, so dass das Mikroskop bild selbst durch Um- oder Auslagern
durch das Betriebssystem nicht im Arbeitsspeicher gehalten werden
kann.
-
Wenn
das Mikroskopbild so groß ist,
dass es nicht vollständig
im Arbeitsspeicher gehalten werden kann, werden die Teilbilder bei
bekannten Verfahren einzeln verarbeitet. Dies hat zur Folge, dass
entweder die Information über
die benachbarten Teilbilder nicht berücksichtigt wird, so dass Ungenauigkeiten am
Rand auftreten, oder dass zur Lösung
dieses Problems der Ungenauigkeiten spezielle Algorithmen erarbeitet
werden müssen.
Oft werden diese Ungenauigkeiten einfach akzeptiert. Es müssen dann
gesonderte Algorithmen zur Lösung
der Genauigkeitsprobleme am Rand gefunden werden.
-
Es
ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren
zum Betreiben eines Computers zur Verarbeitung eines digitalen Mikroskopbilds
vorzuschlagen, dass das Zusammenwirken der Komponenten des Computers
so verbessert, dass es eine erhöhte
Geschwindigkeit beim Anwenden einer Rechenoperation auf das digitale
Mikroskopbild erlaubt.
-
Die
Aufgabe wird erfindungsgemäß gelöst durch
ein Verfahren mit den Merkmalen von Anspruch 1. Gemäß einem
zweiten Aspekt löst
die Erfindung das Problem durch einen Computer, der einen digitalen
Massenspeicher und einen digitalen Arbeitsspeicher umfasst, wobei
der Computer dadurch gekennzeichnet ist, das er zum Ausführen eines
erfindungsgemäßen Verfahrens
eingerichtet ist. Gemäß einem
dritten Aspekt löst
die Erfindung die Aufgabe durch einen Datenträger, der Softwarecode umfasst,
der in einen digitalen Arbeitsspeicher eines Computers ladbar ist
und ein erfindungsgemäßes Verfahren
kodiert.
-
Vorteilhaft
an einem erfindungsgemäßen Verfahren
ist, dass Mikroskopbilder bearbeitbar werden, die so groß sind,
dass sie den Adressraum des Prozessors übersteigen. Für solche
Mikroskopbilder ermöglicht
die Erfindung überhaupt
erst den Einsatz des Computers zur Bearbeitung des Mikroskopbilds. Vorteilhaft
ist zudem, dass durch die Erfindung das Zusammenwirken der Elemente
des Computers so gesteuert wird, dass große Mikroskopbilder deutlich schneller
verarbeitet werden können.
Vorteilhaft ist auch, dass eine erhöhte Genauigkeit an den Rändern von
interessierenden Gebieten des Mikroskopbilds erreichbar ist.
-
Ein
digitales Mikroskopbild besteht aus einer Vielzahl von Pixel (Bildelementen),
die indiziert sind, das heißt,
dass sie mehrere Indices aufweisen. Die Anzahl der Indices, die
notwendig sind, um ein Pixel eineindeutig zu beschreiben, ist die
Dimension n des Mikroskopbildes.
-
Die
Gesamtheit aller Pixel, die in allen bis auf einen Index übereinstimmt,
wird im Folgenden eine Zeile des Mikroskopbilds genannt. Bei zweidimensionalen
Mikroskopbildern werden vertikal dargestellte Zeilen als Spalten
bezeichnet.
-
Im
Rahmen der folgenden Beschreibung wird unter der Größe von Mikroskopbildern
und Teilbildern deren Größen in Byte
verstanden. Die Größe des Mikroskopbilds übersteigt
die Speicherkapazität des
Arbeitsspeichers insbesondere dann, wenn das Mikroskopbild nur unter
zumindest teilweisem Um- oder Auslagern in den Arbeitsspeicher geladen
werden kann oder den Adressraum des Prozessors übersteigt.
-
Unter
einem Arbeitsspeicher wird insbesondere ein flüchtiger digitaler Speicher
mit wahlfreiem Zugriff (Random Access Memory, RAM) verstanden. Unter
einem Massenspeicher werden beispielsweise nicht-flüchtige Speicher
wie Nur-Lese-Speicher (Read Only Memory, ROM), Festplatten, Flash-Speicher
oder magneto-optische Speicher verstanden.
-
Die
Teilbilder sind insbesondere einfach zusammenhängende Pixelbereiche des digitalen
Mikroskopbilds, wobei „einfach
zusammenhängend" entsprechend dem
Gebrauch in der Mathematik verstanden wird: „zusammenhängend" heißt, dass für je zwei Pixel des Teilbilds
stets ein sie verbindender Weg ausschließlich über jeweils einander benachbarte
Pixel des Teilbilds gefunden werden kann. „Einfach zusammenhängend" bedeutet, dass das
Teilbild keine „Löcher" aufweist, dass also
das Teilbild insbesondere einen Rand aufweist und alle Pixel innerhalb des
Rands zum Teilbild gehören.
-
Es
ist möglich,
dass die Teilbilder einander überlappen.
Teilbilder entstehen beispielsweise dann, wenn ein Objekt an verschiedenen
Stellen mit einer Kamera eines Mikroskops aufgenommen wird, indem
zwischen zwei Aufnahmen das Objekt relativ zur Kamera bewegt wird,
zum Beispiel dadurch, dass das Objekt auf einem Scanningtisch bewegt
wird. Die Positionen der Teilbilder relativ zueinander sind dann in
absoluten Raum-Koordinaten bekannt. In einem alternativen Verfahren
werden die Teilbilder so aufgenommen, dass sie einander nicht überlappen.
In einem weiteren alternativen Verfahren werden die Teilbilder so
aufgenommen, dass die Anzahl der Pixel eines Teilbilds, in denen
es sich mit einem anderen Teilbild überlappt, kleiner ist als 15%
der Gesamtzahl an Pixel.
-
Das
Verfahren ist besonders geeignet, wenn die Rechenoperation nicht
nur auf einen Teil des Mikroskopbilds, sondern auf das gesamte Mikroskopbild
angewendet werden soll. In diesem Fall sind besonders viele Pixel
in die Rechenoperation einzubeziehen, so dass sich ein besonders
großer
Zeitvorteil bei der Bearbeitung ergibt.
-
Wenn
es sich um ein zweidimensionales Mikroskopbild handelt, so sind
die Teilbilder bevorzugt rechteckig. Derartige Teilbilder lassen
sich besonders einfach verarbeiten.
-
Im
Rahmen dieser Beschreibung soll insbesondere nur dann eine Rechenoperation
vorliegen, wenn sich aufgrund der Rechenoperation ein Zahlenwert ändert. Die
Identitätsoperation
wird nicht als Rechenoperation betrachtet.
-
Das
Bereitstellen des Mikroskopbilds im Massenspeicher geschieht bevorzugt
dadurch, dass eine Verstelleinheit des Mikroskops, beispielsweise ein
Scanningtisch, zur Aufnahme der Mikroskopbilder in einem vorgegebenen
Raster bewegt wird, an jeder Rasterposition mit einer Kamera des
Mikroskops ein Teilbild einer an der Verstelleinheit angebrachten
Probe aufgenommen wird und die Teilbilder im Massenspeicher des
Computers bereitgestellt werden. Die von der Kamera aufgenommenen
Teilbilder werden beispielsweise über eine Datenverbindung auf
ein Festplattenlaufwerk des Computers geladen. Der Massenspeicher
muss dem Computer jedoch nicht räumlich
zugeordnet sein. Es ist auch möglich,
dass das Mikroskopbild im Massenspeicher eines anderen Rechners
vorhanden ist, auf den der Computer Zugriff hat.
-
Ein
Bildausschnitt wird im Rahmen der vorliegenden Beschreibung durch
eine Menge an Pixeln charakterisiert, die vorbestimmte Koordinaten
aufweisen. Das heißt,
dass entweder die einzelnen Indices der Pixel des Mikroskopbilds
in vorbestimmten Intervallen liegen oder aber die Pixel innerhalb
eines in absoluten Raum- bzw. Zeit-Koordinaten angegebenen Intervalls
liegen. Die Bildausschnitte sind bevorzugt einfach zusammenhängende Pixelbereiche. Der
Begriff „einfach
zusammenhängend" ist vorstehend erläutert worden.
-
Wenn
es sich bei dem Mikroskopbild um ein zweidimensionales Mikroskopbild
handelt, kann ein Bildausschnitt beispielsweise ein Rechteck sein. Handelt
es sich um ein dreidimensionales Mikroskopbild kann ein Bildausschnitt
beispielsweise ein Quader sein. Rechteckige bzw. quaderförmige Bildausschnitte
sind vorteilhafterweise besonders einfach bearbeitbar.
-
Die
Bildausschnitte werden automatisch festgelegt. Auf Kriterien bei
der Auswahl von Bildausschnitten wird weiter unten eingegangen.
-
Beim
Bestimmen aller Pixel, die in einem der Bildausschnitte und in mindestens
einem der Teilbilder liegen, so dass ein gefüllter Bildausschnitt besteht,
wird in dem Fall, dass ein Pixel in mehreren Teilbildern liegt,
das Pixel eines Teilbilds ausgewählt. Beispielsweise
wird das Pixel verwendet, das in dem Teilbild liegt, das als letztes
bearbeitet wird, indem schon gefüllte
Pixel im Bildausschnitt überschrieben werden.
Alternativ wird aus allen Pixeln, die im Bildausschnitt und in einem
der Teilbilder liegen, der Mittelwert errechnet. Der gefüllte Bildausschnitt,
das heißt
die Menge aller Pixel der Teilbilder, die die vorgegebenen Koordinaten
des Bildausschnitts aufweisen, ist danach in dem Arbeitsspeicher
bereitgestellt.
-
Bevorzugt
wird mindestens einer der Bildausschnitte – bevorzugt aber werden alle
Bildausschnitte – maximal
so groß gewählt, dass
dann, wenn der gefüllte
Bildausschnitt in den Arbeitsspeicher geladen ist, ein wahlfreier
Zugriff auf den Bildausschnitt im Arbeitsspeicher möglich ist.
Das heißt,
dass der gefüllte
Bildausschnitt vollständig,
d.h. ohne Um- oder
Auslagern auf den Massenspeicher, in Arbeitsspeicher abgelegt werden
kann. So wird eine besonders schnelle Bildbear beitung erreicht.
Besonders bevorzugt wird der Bildausschnitt so gewählt, dass auch
das Anwenden der Rechenoperation auf diesen Bildausschnitt und das
Ablegen des Bildausschnittergebnisses im Arbeitsspeicher ohne ein
Um- oder Auslagern auf den Massenspeicher möglich ist. So wird die Geschwindigkeit
des Verfahrens weiter erhöht.
-
Um
eine besonders gute Auslastung des Arbeitsspeichers zu erreichen,
wird bevorzugt mindestens einer der Bildausschnitte – bevorzugt
aber werden alle Bildausschnitte – mindestens so groß gewählt, dass
der bzw. jeder Bildausschnitt mehr als 30% der bei Beginn des Verfahrens
verfügbaren Speicherkapazität des Arbeitsspeichers
einnimmt. Ein solcher Bildausschnitt ist beispielsweise größer als
500 Megabyte.
-
In
einem bevorzugten Verfahren weist jeder der Bildausschnitte einen
Rand mit einer Breite von mindestens einem Pixel, beispielsweise
2 oder 3 Pixel auf. Der Rand ist ein Bereich eines Bildausschnitts,
der mit anderen Bildausschnitten überlappt. In alternativen Verfahren
kann der Rand auch eine Breite von bis zu 256 Pixeln oder mehr aufweisen. Durch
das Vorsehen eines Rands definierter Breite ist es möglich, Nachbarschaftsoperationen
mit einer höheren
Genauigkeit durchzuführen.
Nachbarschaftsoperationen sind beispielsweise Faltungen und morphologische
Operationen. Vorzugsweise ist die Ausdehnung des um den Rand verminderten Bildausschnitts
wesentlich größer als
der Rand selbst, beispielsweise um einen Faktor 4.
-
In
einem alternativen Verfahren ist das Zerlegen des Mikroskopbilds
in mindestens zwei Bildausschnitte ein Partitionieren des Mikroskopbilds.
Unter einem Partitionieren wird ein Zerlegen in disjunkte Teile
verstanden, die insgesamt das gesamte Mikroskopbild ergeben. Nach
dem Partitionieren ist also jedes Pixel des Mikroskopbilds und jedes
Teilbilds genau einem Bildausschnitt zugeordnet.
-
In
manchen Fällen
sind nur Teile des Mikroskopbilds, nämlich ein Gebiet oder mehrere
Gebiete, für
eine Auswertung relevant. Ein bevorzugtes Verfahren umfasst daher
zunächst
den Schritt (a) des Bereitstellens des Mikroskopbilds im Massenspeicher.
Anschließend
wird in einem Schritt (a2) mindestens ein Gebiet erfasst, nämlich ein
Gebiet G1 oder Gebiete G mit p = 1, ...
NG. In einem Schritt (b) erfolgt ein Zerlegen
des Mikroskopbilds in mindestens zwei Bildausschnitte, die in den
Arbeitspeicher ladbar sind und eine Dimension m haben, wobei m ≤ n gilt. Danach
folgt in einem Schritt (c) für
einen Bildausschnitt ein Bestimmen aller Pixel, die in dem Bildausschnitt und
in mindestens einem der Teilbilder liegen, so dass ein gefüllter Bildausschnitt
entsteht. Dem Bestimmen muss allerdings keine aktive Rechenoperation
zugrunde liegen. Es ist ausreichend, dass nach Schritt (c) die Pixel
festgestellt sind, die den gefüllten Bildausschnitt
bilden.
-
Es
folgt ein Schritt (c2): für
den gefüllten
Bildausschnitt Bilden einer aus Pixel bestehenden Schnittmenge mit
dem mindestens einen Gebiet. Wenn mehrere Gebiete existieren ist
diese Schnittmenge die Gesamtheit aller Pixel, die sowohl in dem gefüllten Bildausschnitt,
also auch in mindestens einem der Gebiete liegt.
-
Anschließend folgt
im Schritt (d) ein Bereitstellen des gefüllten Bildausschnitts und/oder
der Schnittmenge im Arbeitsspeicher. Sofern der gefüllte Bildausschnitt
bzw. die Schnittmenge bereits im Arbeitsspeicher bereitgestellt
ist, ist dieser Schritt ohne weiteres Zutun abgearbeitet.
-
Es
folgt der Schritt (e) Anwenden der Rechenoperation auf die Pixel
der Schnittmenge, so dass ein Bildausschnittergebnis entsteht. Anschließend werden
in einem Schritt (f) die Schritte (c), (c2), (d) und (e) für alle Bildausschnitte
wiederholt und in einem Schritt (g) alle Bildausschnittergebnisse
zu einem Gesamtergebnis zusammengefügt.
-
In
einem alternativen Verfahren erfolgt das Erfassen des mindestens
einen Gebiets in einem späteren
Schritt, beispielsweise vor Schritt (d).
-
In
einem weiteren alternativen Verfahren wird die Rechenoperation dann,
wenn mehr als ein Gebiet vorliegt, einzeln auf die jeweiligen Schnittmengen
der Gebiete mit dem Bildausschnitt angewendet, so dass für jeden
Bildausschnitt mehr als ein Bildausschnittergebnis entsteht.
-
Bei
einem Gebiet handelt es sich bevorzugt um einen einfach zusammenhängenden
Pixelbereich des digitalen Mikroskopbilds, wobei „einfach
zusammenhängend" wie vorstehend beschrieben
zu verstehen ist.
-
Das
Erfassen des mindestens einen Gebiets kann beispielsweise ein Einlesen
nach einem Dialog mit dem Anwender sein. Dazu wird es dem Anwender beispielsweise
durch eine graphische Benutzeroberfläche ermöglicht, aus dem Mikroskopbild
ein Gebiet auszuwählen.
-
In
einem bevorzugten Verfahren findet das Erfassen des mindestens einen
Gebiets vor dem Festlegen der Bildausschnitte statt. Es ergeben
sich dann statt der in Anspruch 1 genannten Schritte die folgenden
Schritte: (a) Bereitstellen des Mikroskopbilds im Massenspeicher,
(a2) Erfassen von mindestens einem Gebiet, (b) Zerlegen des mindestens
einen Gebiets in min destens zwei Bildausschnitte, die in den Arbeitsspeicher
ladbar sind und eine Dimension m haben, wobei m ≤ n gilt, (c) für einen
Bildausschnitt Bestimmen aller Pixel, die in dem Bildausschnitt
und in mindestens einem der Teilbilder liegen, so dass ein gefüllter Bildausschnitt
entsteht, (d) Bereitstellen des gefüllten Bildausschnitts im Arbeitsspeicher
bzw. Laden des gefüllten
Bildausschnitts in den Arbeitsspeicher, (e) Anwenden der Rechenoperation
auf die im gefüllten
Bildausschnitt liegenden Pixel, so dass ein Bildausschnittergebnis
entsteht, (f) Wiederholen der Schritte (c), (d) und (e) für alle Bildausschnitte
und (g) Zusammenfügen
aller Bildausschnittergebnisse zu einem Gesamtergebnis für das Gebiet.
Vorteilhaft an diesem Verfahren ist, dass nur diejenigen Pixel zur
Anwendung der Rechenoperation in den Arbeitsspeicher geladen werden
müssen, die
in dem interessierenden Gebiet liegen, was die Geschwindigkeit des
Verfahrens erhöht.
Bei Mikroskopbildern, die den Adressraum des Prozessors des Computers übersteigen
können
zudem Gebiete des Mikroskopbilds bearbeitet werden, sofern die Gebiete
hinreichend klein sind, um vom Prozessor adressiert zu werden.
-
Bevorzugt
ist n = 3, das heißt,
dass sich bei dem digitalen Mikroskopbild um ein dreidimensionales
Mikroskopbild handelt. Ein Beispiel für derartige dreidimensionale
Mikroskopbilder sind Schichtaufnahmen, die mit einem Mikroskop durchgeführt worden
sind. Ein weiteres Beispiel sind Zeitfolgen von Mikroskopbildern,
wobei die dritte Dimension die Zeit ist. In einem alternativen Verfahren
handelt es sich um zweidimensionale Mikroskopbilder, so dass n =
2 ist.
-
Besonders
einfach sind Bildausschnitte zu verarbeiten, die rechteckig sind.
Rechteckig heißt
dabei quaderförmig
bezüglich
eines n-dimensionalen Quaders. Für
n = 3 heißt
dies quaderförmig
im engeren Sinne, für
n = 2 heißt
das rechteckig.
-
In
einem bevorzugten Verfahren ist mindestens einer der Bildausschnitte
eine ganze Zeile des Mikroskopbilds.
-
Bei
der anzuwendenden Rechenoperation kann es sich um eine Punktoperation,
eine Nachbarschaftsoperation, eine Bildtransformation und/oder eine
Fouriertransformation handeln. Insbesondere kann es sich bei der
Rechenoperation um die Berechnung eines Messwerts handeln. Messwerte
sind beispielsweise die Summe der Grauwerte, die Summe der Quadrate
der Grauwerte, das Minimum und das Maximum der Grauwerte, die Textur
und die Fläche über dem
Gebiet.
-
Vorteilhaft
ist dabei, wenn jedem Ergebnis der Anwendung der Rechenoperation
auf die Schnittmenge des Bildausschnitts mit dem Gebiet ein Identifikationsparameter
des Gebiets zu zugewiesen wird. Das ermöglicht es, das Gesamtergebnis
besonders einfach zu berechnen.
-
Im
folgenden wird das Verfahren anhand der beigefügten Zeichnungen erläutert. Dabei
zeigt
-
1 eine
schematische Darstellung eines Computers,
-
2 eine
schematische Darstellung eines zweidimensionalen Mikroskopbilds,
-
3a eine
schematische Darstellung eines zweidimensionalen Mikroskopbilds,
das vier Teilbilder aufweist und in neun Bildausschnitte zerlegt
ist,
-
3b einen
gefüllten
Bildausschnitt, der aus dem ersten Bildausschnitt des Mikroskopbilds nach 3a entsteht,
-
3c den
gefüllten
Bildausschnitt, der aus dem zweiten Bildausschnitt des Mikroskopbilds
nach 3a entsteht, und
-
4 eine
weitere schematische Darstellung eines Mikroskopbilds, das aus vier
Teilbildern besteht und in fünf
Bildausschnitte zerlegt ist, die ganze Zeilen des Mikroskopbilds
umfassen, und es zeigen die
-
5 und 6 zeigen
Flussdiagramme von erfindungsgemäßen Verfahren.
-
1 zeigt
schematisch einen Computer 10, der neben einem Bildschirm 12 einen
Prozessor 14 aufweist, der mit einem Arbeitsspeicher 16 und
einem Massenspeicher 18 verbunden ist. Der Arbeitsspeicher 16 weist
eine maximale Speicherkapazität auf.
Beim Betrieb des Computers 10 wird ein Teil der maximalen
Speicherkapazität
beispielsweise für
Prozesse eines Betriebsystems des Computers 10 benötigt, so
dass beim Betrieb des Computers 10 der Arbeitsspeicher 16 eine
verfügbare
Speicherkapazität
aufweist, die kleiner ist als dessen maximale Speicherkapazität. Die verfügbare Speicherkapazität des Arbeitsspeichers 16 steht
für die
Ausführung
eines erfindungsgemäßen Verfahrens
zur Verfügung.
-
Der
Arbeitsspeicher 18 weist eine deutlich höhere, beispielsweise
die fünfzigfache,
Speicherkapazität
auf als der Arbeitsspeicher. Über
ein nicht eingezeichnetes Netzwerkkabel kann der Computer 10 mit
einem Netzwerk verbunden werden, um auf Massenspeicher anderer Computer
zugreifen zu können. Über eine
Datenverbindung 15 kann der Computer 10 mit einer
Kamera 17 eines Mikroskops 19 verbunden werden.
Das Mikroskop und der Computer 10 bilden dann ein Mikroskopiersystem.
-
Zur
Aufnahme eines Mikroskopbilds sendet der Computer 10 über ein
Datenkabel 21 einen Steuerimpuls an einen Schrittmotor 22,
der daraufhin eine Verstelleinheit 23 bewegt. An der Verstelleinheit 23 ist
eine Probe 24 angebracht, die sich aufgrund dessen relativ
zu der Kamera 17 bewegt. Ist eine voreingestellte Position
erreicht, so sendet der Computer 10 einen Steuerimpuls
an die Kamera 17, die daraufhin ein Teilbild der Probe 24 aufnimmt.
Anschließend wird
eine weitere voreingestellte Position angefahren und ein weiteres
Teilbild aufgenommen. Diese Prozedur wird so lange durchgeführt bis
eine vorgegebene Anzahl an Teilbildern mit vorgegebenen Koordinaten relativ
zueinander oder relativ zu der Probe 24 angefahren und
jeweils Teilbilder aufgenommen worden sind. Die aufgenommenen Teilbilder
werden über
das Datenkabel 21 an den Computer übertragen und dort auf dem
Massenspeicher 18 gespeichert.
-
2 zeigt
schematisch Pixel Pi,j eines Mikroskopbilds 20.
Die Pixel sind in a Zeilen, die horizontal verlaufen, und b Zeilen,
die vertikal verlaufen und daher auch als Spalten bezeichnet werden,
angeordnet. Jedes Pixel Pi,j kann durch
die Angabe von einem ersten Index i (Zeilennummer) und einem zweiten
Index j (Spaltennummer) eindeutig festgelegt werden. Das Mikroskopbild 20 hat
daher die Dimension n = 2.
-
3a zeigt
schematisch ein Mikroskopbild 20, das aus vier Teilbildern
TBI, mit l = 1, 2, 3, 4 besteht, also aus den vier Teilbildern TBI,
TB2, TB3 und TB4, die mit durchgezogenen Berandungen gezeichnet
sind. Auch in 3a kann jedes Pixel Pi,j durch Angabe von Zeile und Spalte, das
heißt
erstem Index i und zweitem Index j, eindeutig festgelegt werden. Das
Mikroskopbild 20 weist eine Größe auf, die die verfügbare Speicherkapazität des Arbeitsspeichers 16 übersteigt.
-
Zum
Durchführen
des erfindungsgemäßen Verfahrens
wird das Mikroskopbild 20 zunächst im Massenspeicher 18 bereitgestellt.
Im vorliegenden Fall geschieht das dadurch, dass die Teilbilder
des Mikroskopbilds 20 durch die Kamera 17 des
Mikroskops 19 aufgenommen und über die Datenverbindung 15 auf
ein Festplattenlaufwerk als Massenspeicher 18 geladen werden.
-
Anschließend wird
das Mikroskopbild in neun Bildausschnitte BA1,
BA2, BA3, ... BA9 zerlegt, deren Grenzen in 3a gestrichelt
gezeichnet sind. Die Bildausschnitte BAk sind
dabei so gewählt,
dass die gewünschte
Rechenoperation durchführbar
ist. Soll beispielsweise eine zeilenbasierte Rechenoperation auf
dem Mikroskopbild durchgeführt
werden, so werden die Bildausschnitte so gewählt, dass sie ganze Zeilen
umfassen, z.B. eine Zeile.
-
Die
in 3a eingezeichneten Bildausschnitte BAk sind
disjunkt und die Vereinigung aller Bildausschnitte BAk umfasst
alle Pixel des Mikroskopbilds 20, so dass es sich um eine
Partitionierung des Mikroskopbilds 20 durch die Bildausschnitte
BAk handelt.
-
Es
werden nun zunächst
alle Pixel bestimmt, die in einem der Bildausschnitte, beispielsweise
im ersten Bildausschnitt BA1, und in mindestens
einem der Teilbilder TBI bis TB4 liegen.
Im in 3a gezeigten Beispiel existieren
Pixel aus dem ersten Teilbild TBI und aus dem zweiten Teilbild TB2, die im Bildausschnitt BA1 liegen.
Es liegt hingegen kein Pixel aus den Teilbildern TB3 und
TB4 im Bildausschnitt BA1. Die
Pixel, die im Bildausschnitt BA1 und in
einem der Teilbilder liegen, sind schematisch in 3b gezeigt. Diese
Pixel bilden einen ersten gefüllten
Bildausschnitt und werden in den Arbeitsspeicher 16 geladen.
Die in 3a schraffiert eingezeichneten
Pixel liegen sowohl im ersten Teilbild TB1,
als auch im zweiten Teilbild TB2. Es wird
jeweils eines der Pixel ausgewählt,
im vorliegenden Fall ist es das Pixel des ersten Teilbilds TB1. Der gefüllte Bildausschnitt umfasst
daher nicht alle Pixel des zweiten Teilbilds TB2, obwohl
das zweite Teilbild TB2 vom ersten Bildausschnitt
BA1 umschlossen ist.
-
Auf
die im ersten gefüllten
Bildausschnitt BA1 liegenden Pixel wird
die Rechenoperation angewandt, so dass ein erstes Bildausschnittergebnis
entsteht. Anschließend
wird der Schritt des Bestimmens aller Pixel, die in einem der Bildausschnitte
und in mindestens einem der Teilbilder liegen, für einen nächsten Bildausschnitt wiederholt,
beispielsweise für
den zweiten Bildausschnitt BA2. Die Pixel,
die in dem Bildausschnitt BA2 und in mindestens
einem der Teilbilder liegen, sind in 3c gezeigt
und bilden einen zweiten gefüllten
Bildausschnitt. Dieser zweite gefüllte Bildausschnitt wird wiederum
im Arbeitsspeicher 16 bereitgestellt. Anschließend wird
die Rechenoperation auf die im zweiten gefüllten Bildausschnitt liegenden
Pixel angewandt, so dass ein zweites Bildausschnittergebnis entsteht.
-
Diese
Schritte werden für
alle verbleibenden Bildausschnitte BA3 bis
BA9 wiederholt und die jeweiligen Bildausschnittergebnisse
werden anschließend zu
einem Gesamtergebnis für
das gesamte Mikroskopbild 20 zusammengefügt.
-
Es
ist anzumerken, dass es kein Pixel Pi,j gibt,
das in dem Bildausschnitt BA7 und in einem
der Teilbilder liegt. Es existiert daher kein gefüllter Bildausschnitt
für den
Bildausschnitt BA7 und bei der Anwendung
der Rechenoperation auf diese leere Pixelmenge entsteht kein Ergebnis.
Das Gesamtergebnis wird also nicht beeinflusst.
-
4 zeigt
das Mikroskopbild 20, bei dem Bildausschnitte BA1 bis BA5 so gewählt sind,
dass sie ganze Zeilen des Mikroskopbilds umfassen. Das Verfahren
wird auch bei den so gewählten
Bildausschnitten wie oben beschrieben durchgeführt. Die in 4 gezeigte
Zerlegung wird verwendet, wenn eine zeilenbasierte Rechenoperation
auf das Mikroskopbild 20 angewendet werden soll.
-
5 zeigt
ein Flussdiagramm eines erfindungsgemäßen Verfahrens, wie es oben
im Zusammenhang mit den 3a bis 3c beschrieben wurde.
Zunächst
wird das Mikroskopbild, das aus NTB Teilbildern
besteht, im Massenspeicher bereitgestellt. Anschließend wird
das Mikroskopbild in NBA Bildausschnitte
zerlegt bzw. partitioniert. In einer inneren Schleife werden für einen
festen Bildausschnitt BAk die Schnittmengen
mit dem Teilbild TBI gebildet. Es werden alle l = 1, 2, ... NTB durchlaufen, das heißt, dass die Schnittmengen
des Bildausschnitts BAk mit allen Teilbildern
TB1 berechnet werden.
-
Sind
alle Teilbilder TB1 durchlaufen, so wird die
Vereinigungsmenge aller dieser Schnittmengen gebildet. In dieser
Vereinigungsmenge sind alle Pixel enthalten, die sowohl im Bildausschnitt
BAk, als auch in einem der Teilbilder TBI
enthalten sind. Ist ein Pixel in mehreren Teilbildern vorhanden,
so wird lediglich das Pixel eines Teilbilds verwendet. Alternativ
wird aus den mehrfach vorhandenen Pixel ein Mittelwert errechnet.
Anschließend
wird die Rechenoperation auf diese Vereinigungsmenge angewendet,
so das ein Bildausschnittergebnis EK entsteht.
-
In
einer äußeren Schleife
werden alle Bildausschnitte BAk durchlaufen.
Der Index k läuft
dabei von 1 bis NBA. Sind alle Bildausschnitte
BAk durchlaufen, so werden die einzelnen Bildausschnittergebnisse
Ek zu einem Gesamtergebnis E für das Bild
zusammengefügt.
-
Ein
Flussdiagramm eines weiteren erfindungsgemäßen Verfahrens ist in 6 gezeigt.
In einem ersten Schritt (a) wird das Mikroskopbild 20,
das aus NTB Teilbildern besteht, im Massenspeicher
bereitgestellt. In einem weiteren Schritt (a2) wird mindestens ein
Gebiet Gp erfasst. Das geschieht beispielsweise
dadurch, dass von einem Benutzer des Computers ein Gebiet über eine
graphische Benutzerschnittstelle eingegeben wird, zum Beispiel mittels
einer Maus. Insgesamt werden NG Gebiete
erfasst.
-
In
einem nachfolgenden Schritt (b) wird das Mikroskopbild 20 in
NBA Bildausschnitte BAk zerlegt oder
partitioniert. In einer ersten inneren Schleife wird für einen
festen Bildausschnitt BAk, beispielsweise den
ersten Bildausschnitt BA1, die Schnittmenge
des l-ten Teilbilds TB1 mit diesem Bildausschnitt
BAK gebildet. Nachdem diese innere Schleife
durchlaufen ist, werden in einem nicht eingezeichneten Schritt doppelt
vorhandene Pixel entfernt, wie es oben für 5 beschrieben
ist. Es wird so die Schnittmenge des k-ten Bildausschnitts BAk mit allen Teilbildern erhalten, das heißt die Gesamtheit
aller Pixel, die sowohl im k-ten Bildausschnitt, als auch in mindestens einem
der Teilbilder liegt. Diese Schnittmenge ist der gefüllte Bildausschnitt.
Für den
ersten Bildausschnitt BA1 ist der gefüllte Bildausschnitt
schematisch in 3b gezeigt.
-
In
einer nachfolgenden inneren Schleife werden für den gefüllten k-ten Bildausschnitt
BAk, hier also für BA1,
jeweils die Schnittmengen mit den Gebieten Gp gebildet
und auf die Schnittmengen wird die Rechenoperation angewendet. In 3b sind
schematisch zwei Gebiete G1 und G2 eingezeichnet. Die Pixel in den beiden
Schnittmengen von G1 und G2 mit dem
gefüllten
Bildausschnitt des Bildausschnitts BA1 sind
schraffiert eingezeichnet.
-
Auf
diese schraffiert eingezeichneten Pixel wird die Rechenoperation
angewendet. Es entsteht ein Schnittmengenergebnis Ek,p.
Der Index p für
das Gebiet fungiert dabei als Identifikationsparameter. In einem
nachfolgenden Schritt werden die Schnittmengenergebnisse Ek,p zu einem Bildausschnittergebnis Ek zusammengefügt. Die Bildausschnittergebnisse Ek werden danach zu einem Gesamtergebnis für das Bild
zusammengefasst. Alternativ werden die Schnittmengenergebnisse Ek,p zu Gebietsergebnissen Ep zusammengefasst.