-
Die
Erfindung betrifft ein Verfahren zur Segmentierung von Strukturen
in 3D-Bilddatensätzen und
eine Bildverarbeitungseinheit zur Durchführung des Verfahrens.
-
Die
Segmentierung anatomischer Strukturen ist ein wichtiger Teil der
Analyse von Bilddaten, insbesondere auch von medizinischen Bilddaten.
Wichtige Beispiele sind die Planung von chirurgischen Eingriffen,
volumetrische Untersuchungen von Organen, die Beurteilung der Progression
von Metastasen, oder die statistische Modellierung von Organen.
-
Dabei
liegen die Bildinformationen über
eine dreidimensionale (3D) Struktur üblicherweise in einer Folge
von zweidimensionalen (2D) Scanschichten einer bildgebenden Modalität, wie z.
B. Computertomographie (CT) oder Magnetresonanztomographie (MRT),
vor. Daher muss gewöhnlich
zunächst
die gewünschte
Struktur in den einzelnen Scanschichten segmentiert werden, bevor
sie zu einer 3D Struktur zusammengesetzt werden kann. Es gibt aber
auch schon Segmentierungsalgorithmen zur direkten Segmentierung
von 3D Strukturen.
-
Eine
vollautomatische Segmentierung von medizinischen Bilddaten ist nach
heutigem Stand kaum realisierbar. Daher ist es unvermeidlich, dass ein
Nutzer während
der Segmentierung selbständig intervenieren
können
muss. Je nach verwendetem Segmentierungsalgorithmus greift der Nutzer
auf unterschiedliche Weise in die Segmentierung ein, um das Ergebnis
in der gewünschten
Weise zu steuern.
-
Es
existieren diverse Algorithmen zur interaktiven Segmentierung. Dabei
können
u. a. zwei verschiedene Hauptgruppen unter schieden werden: konturbasierte
Segmentierungsalgorithmen und regionenbasierte Segmentierungsalgorithmen.
-
Als
beispielhaften konturenbasierten Segmentierungsalgorithmus wird
hier kurz auf das sogenannte Livewire-Verfahren eingegangen. Dieses
Verfahren hat sich als qualitativ hochwertige interaktive Segmentierung
von Organstrukturen aus 3D Datensätzen etabliert. Es ist vor
allem bei starken Bildkontrasten sehr zuverlässig. Bei schwachen Bildkontrasten
sind allerdings oftmals extrem viele Interventionen des Nutzers
nötig,
um ein akzeptables Ergebnis zu erzielen.
-
Das
Grundkonzept des Livewire-Verfahrens ist das folgende: ein Nutzer
markiert einen Startpunkt auf der Kontur der Struktur in einem angezeigten Bilddatensatz,
z. B. mittels eines Cursors und einer Maus, und bewegt dann den
Cursor an eine andere Position in dem Bilddatensatz. Der Livewire-Algorithmus berechnet
den Verlauf der Kontur von dem Startpunkt zu der momentanen Position
des Cursors. Dazu wird eine sogenannte Kostenfunktion verwendet,
die es erlaubt einen Pfad zu berechnen, der bestimmte Kriterien,
wie z. B. minimale Änderung
des Gradientenbetrages entlang des Pfades, optimal erfüllt. Sollte
der berechnete Pfad nicht korrekt auf der Kontur der Struktur liegen,
kann der Nutzer, beispielsweise durch einfaches Anklicken und Verschieben
des Pfades, korrigierend eingreifen. Genaueres ist beispielsweise
in W. A. Barret and E. N. Mortensen (1997) „Interactive Live-Wire Boundary
Extraction”,
Medical Image Analysis, Vol. 1, No. 4, pp. 331341. CVPR’99 #107
Page 6/7, beschrieben.
-
Als
Beispiel für
einen regionenbasierten Segmentierungsalgorithmus wird kurz auf
das sogenannte GraphCut-Verfahren eingegangen. Auch dieses Verfahren
hat sich als qualitativ hochwertig etabliert und erzielt auch bei
schwachen Bildkontrasten ein gutes Ergebnis. Bei dem GraphCut-Verfahren kennzeichnet
der Nutzer solche Bildbereiche, die sich innerhalb der Struktur
befinden und solche Bildbereiche, die sich außerhalb der Struktur befinden. Der
GraphCut-Algorithmus berechnet wieder mittels einer Kostenfunktion,
die als Kriterium z. B. Grauwertinformationen in den gekennzeichneten
Bereichen umfasst, die maximale Diskontinuität zwischen diesen Bereichen.
Diese maximale Diskontinuität
entspricht der Grenze der Struktur. Ist das Ergebnis nach einer
ersten Segmentierung noch nicht zufriedenstellend, können weitere
Innen- und Außenbereiche
markiert werden bis ein akzeptables Segmentierungsergebnis vorliegt.
Eine genauere Beschreibung einer GraphCut-Algorithmik und einer
zugehörigen Kostenfunktion
sind z. B. in der
US
2004/0008886 A1 gegeben.
-
Mittels
derartiger Segmentierungsalgorithmen arbeitet sich der Nutzer schichtweise
durch einen gegebenen 3D Bilddatensatz, bis die gesamte Struktur
segmentiert ist. Je nach verwendetem Segmentierungsalgorithmus und
den jeweils vorliegenden Bildkontrasten kann der Nutzer häufig zu
einer Intervention gezwungen sein, was die Bearbeitungszeit eines
3D Bilddatensatzes erheblich verlängern kann.
-
Aus
US 2003/0053667 A1 ist
ein Verfahren zum Segmentieren des linken Ventrikels in einem Herzbild
bekannt, bei dem unter Verwendung eines kantenbasierten Algorithmus,
eines regionenbasierten Algorithmus sowie eines anatomischen Herzmodels
die Segmentation vorgenommen wird. Dazu werden in das Bild zwei
beliebige Bänder
gelegt, wobei das eine außerhalb
des Endokards verläuft
und das andere innerhalb des Epikards verläuft. Unter Verwendung der beiden
Algorithmen sowie des anatomischen Modells propagiert die äußere Linie
zum Endokard und die innere Linie zum Epikard. Dieser Vorgang wiederholt
sich in jeder Schicht.
-
Aus
X. Mun ~oz, J. Freixenet, X. Cufi, J. Marti: „Strategies for image segmentation
combining region and boundary information”, Elsevier Science Ing., NY, USA;
Pattern Recognition Letters, Volume 24, Issue 1–3, Pages 375–392 (January
2003) sind verschiedene Segmentationsstrategien und Algorithmen
in Übersichtsform
bekannt.
-
Es
besteht daher weiterhin der Bedarf an nutzerfreundlichen Segmentierungsalgorithmen,
die möglichst
intuitiv und mit wenig Interaktion, eine schnelle Segmentierung
von Strukturen ermöglicht.
-
Es
ist daher die Aufgabe der Erfindung ein Verfahren zur Segmentierung
bereitzustellen, das die nötige
Interaktion eines Nutzers mit dem Segmentierungsverfahren auf wenige
intuitive Arbeitsschritte begrenzt, die ein effektives Arbeiten
ermöglichen.
-
Die
Aufgabe wird erfindungsgemäß gelöst durch
ein Verfahren gemäß Anspruch
1.
-
Bei
dem erfindungsgemäßen Verfahren
wird zunächst
eine erste Segmentierung einer Struktur in einem Bilddatensatz durchgeführt und
daraus ein erstes Segmentierungsendergebnis erhalten. Das Segmentierungsendergebnis
kann entweder eine Isokontur sein, d. h. 1-Mannigfaltigkeit, bei
einer 2D-Schicht, oder eine Isofläche, d. h. 2-Mannigfaltigkeit,
bei einem 3D Datensatz. Im Folgenden wird das Verfahren unabhängig von
der Dimensionalität
beschrieben.
-
Auf
Basis des erhaltenen ersten Segmentierungsendergebnisses wird ein
Bereich in dem Bilddatensatz ausgewählt. Ein erstes Band wird in
einem ersten, nach außen
weisenden Abstand d1 von dem ausgewählten Bereich gelegt. Dieses
erste Band kennzeichnet einen Hintergrundbereich.
-
Unter
Band versteht man hier eine parallele Isokontur, respektive 1-Mannigfaltigkeit,
bzw. Isofläche,
respektive 2-Mannigfaltigkeit
je nach Dimensionalität.
-
Ein
zweites Band wird in einem zweiten, nach innen weisenden Abstand
d2 von dem ausgewählten
Bereich gelegt. Dieses zweite Band kennzeichnet einen Strukturbereich.
Auf Basis des gekennzeichneten Hintergrundbereichs und des gekennzeichneten
Strukturbereichs wird eine weitere Segmentierung durchgeführt und
das Segmentierungsendergebnis der weiteren Segmentierung gespeichert
und/oder angezeigt. Die Begriffe „innen” bzw. „außen” stehen also für „innerhalb” bzw. „außerhalb” der zu
segmentierenden Struktur.
-
Das
Legen der Bänder
erfolgt automatisch durch das Segmentierungsprogramm auf Grundlage der
Abstände
d1 und d2 und Bandbreiten des ersten und zweiten Bandes, die den
Gegebenheiten des Bilddatensatzes entsprechend vorgegeben werden. Die
Breite eines Bandes beträgt üblicherweise
zwischen 1 und 20 Pixel oder mehr, je nach Auflösung und Bildgegebenheiten.
Die Abstände
werden situationsabhängig
gewählt.
In der Regel betragen die Abstände
ebenfalls wenige Pixel, z. B. 3 bis 5.
-
Das
erfindungsgemäße Verfahren
erleichtert die Segmentierung von Strukturen erheblich und verringert
die Anzahl der notwendigen Interaktionen des Nutzers, da eine Initialisierung
einer weiteren Segmentierung automatisiert erfolgt. Die weitere
Segmentierung komplettiert die Segmentierung.
-
Das
erfindungsgemäße Verfahren
lässt sich in
verschiedenen Situationen bei einer Segmentierung eines 3D Bilddatensatzes
vorteilhaft einsetzten.
-
Zum
einen ist es von Vorteil bei einer schichtweisen Segmentierung eines
3D Bilddatensatzes. Dabei wird das Segmentierungsendergebnis einer ersten
Segmentierung in einer ersten Schicht des 3D Bilddatensatzes auf
eine der ersten Schicht benachbarte zweite Schicht des 3D Bilddatensatzes
projiziert. Die Projektion wählt
einen Bereich in der zweiten Schicht aus, um bzw. in den die Bänder gelegt werden.
-
Durch
die automatische Kennzeichnung von Hintergrund- und Strukturbereichen
in der der ersten Schicht benachbarten zweiten Schicht kann dort
eine Segmentierung, z. B. mit Graph-Cut-Verfahren schnell und nahezu ohne
weitere Benutzerinteraktion durchgeführt werden. So ist eine schichtweise
Segmentierung eines 3D Bilddatensatzes in kurzer Zeit möglich. Die se
Vorgehensweise wird in der folgenden Beschreibung „Ribbon
Method” genannt.
-
Zum
anderen kann eine Oberfläche
einer aus Segmentierungsendergebnissen mehrerer Schichten zusammengesetzten
3D Struktur auf einfache Weise verbessert werden. Dazu wird als
erstes Segmentierungsendergebnis die aus Segmentierungsergebnissen
einer schichtweisen Segmentierung zusammengesetzte Oberfläche der
3D Struktur als zweimannigfaltige Oberfläche betrachtet und als Bereich
ausgewählt,
um bzw. in den ein erstes und ein zweites Band in der oben angegebenen
Weise gelegt werden.
-
Die
durch dieses Verfahren initialisierte Segmentierung, z. B. das GraphCut-Verfahren,
liefert die maximale Diskontinuität zwischen „innen” und „außen” der 3D Struktur und somit
eine korrigierte, geglättete
Oberfläche.
Diese Vorgehensweise wird in der folgenden Beschreibung „Ribbon
Method 3D” genannt.
-
Weitere
Vorteile und Einzelheiten der vorliegenden Erfindung ergeben sich
aus den im Folgenden beschriebenen Ausführungsbeispielen sowie anhand
der Zeichnungen. Die aufgeführten
Beispiele stellen keine Beschränkung
der Erfindung dar. Es zeigen:
-
1 ein
schematisches Ablaufdiagramm des erfindungsgemäßen Verfahrens,
-
2 Möglichkeiten
der Segmentierung an einem stark vereinfachten Beispiel einer zu
Segmentierenden Struktur in einem 2D Bilddatensatz,
-
3 Veranschaulichung
des erfindungsgemäßen Verfahrens
an dem Beispiel aus 2,
-
4 eine
schematische Darstellung eines Schnitts durch eine zusammengesetzte
3D Struktur nach vollständiger
Segmentierung aller relevanten Schichten,
-
5 eine
segmentierte 3D Struktur nach Postprocessing,
-
6 eine
schematische Darstellung einer Bildverarbeitungseinheit zur Durchführung des
erfindungsgemäßen Verfahrens.
-
1 zeigt
schematisch ein Blockdiagramm, das den Ablauf des erfindungsgemäßen Verfahrens veranschaulicht.
Dabei wird eine erste Segmentierung in einem Bilddatensatz durchgeführt (Block 11), um
ein erstes Segmentierungsendergebnis (abgekürzt mit Seg.Endergebnis) zu
erhalten (Block 13).
-
Auf
Basis des erhaltenen ersten Segmentierungsendergebnisses wird ein
Bereich in dem Bilddatensatz ausgewählt (Block 15). Um
den ausgewählten
Bereich werden ein erstes und ein zweites Band gelegt, um einen
Hintergrundbereich und einen Strukturbereich zu kennzeichnen (Block 17).
Auf Basis der gekennzeichneten Bereiche wird eine weitere Segmentierung
vorgenommen (Block 19). Schließlich wird das Segmentierungsendergebnis
der weiteren Segmentierung angezeigt und/oder gespeichert (Block 21).
Näheres
zu dem Verfahren ist weiter unten, v. a. in Bezug zu 3 und 4 erklärt.
-
2 stellt
einen stark vereinfachten Bilddatensatz 31 mit einer zu
segmentierenden Struktur 33 und einer weiteren Struktur 35 dar.
-
Die
Struktur 33 wird durch die von unten links nach oben rechts
gestrichelte Fläche
repräsentiert. Die
weitere Struktur 35 ist durch die von oben links nach unten
rechts gestrichelte Fläche
repräsentiert. Der
Hintergrund ist der Übersichtlichkeit
halber weiß dargestellt.
Der Kontrast zwischen den beiden Strukturen 33 und 35 ist
nur schwach. Dagegen ist der Kontrast zwischen den Strukturen 33 oder 35 und dem
Hintergrund stark.
-
Die
Punkte A und B markieren Punkte, an die sowohl die Struktur 33,
als auch die weitere Struktur 35, als auch der Hintergrund
angrenzen.
-
Zur
Segmentierung der Struktur 33 kann ein Nutzer entweder
einen einzigen Segmentierungsalgorithmus für die ganze Segmentierung auswählen, oder
er hat die vorteilhafte Möglichkeit
einen Bilddatensatz bereichsweise mit verschiedenen Segmentierungsalgorithmen
zu bearbeiten wie es im folgenden beschrieben ist.
-
Hat
der Nutzer einen regionenbasierten Segmentierungsalgorithmus ausgewählt, um
beispielsweise die Struktur 33 in dem Bereich zu segmentieren,
in dem sie an die weitere Struktur 35 angrenzt, markiert
er z. B. wie dargestellt einen rechteckigen Bereich 32 (gestrichelte
Linie), in dem die Grenze zwischen den Strukturen 33 und 35 verläuft. Dies kann
er mit Hilfe einer Eingabeeinrichtung, die beispielsweise eine Maus
umfasst, z. B. nach Selektion eines Rechteck-Auswahl-Werkzeugs als
Cursor, in üblicher
Weise durchführen.
-
Für die Initialisierung
des regionenbasierten Segmentierungsalgorithmus, beispielsweise
eines GraphCut-Algorithmus, markiert der Nutzer weiterhin einen
Bereich 34 innerhalb der zu segmentierenden Struktur 33,
als zu der Struktur 33 gehörenden Strukturbereich 34 und
einen Bereich 36 außerhalb
der Struktur als Hintergrundbereich 36, wobei in diesem Zusammenhang
alles, was nicht zu der zu segmentierenden Struktur 33 zählt als
Hintergrund bezeichnet wird. Dies geschieht wiederum mit Hilfe der
Eingabeeinrichtung, wobei auch andere bekannte Auswahl-Werkzeuge
als Cursor zur Verfügung
stehen können.
-
Der
initialisierte regionenbasierte Segmentierungsalgorithmus segmentiert
nun die Struktur 33 in dem ausgewählten, in der Darstellung durch
die weiß gestrichelten
Linien umrandeten Bereich 32. Ist das Segmentierungsergebnis
in dem markierten Bereich 32 noch nicht einwandfrei, kann
der Nutzer weitere Bereiche als Strukturbereich bzw. Hintergrundbereich
kennzeichnen, bis eine wunschgemäße Segmentierung
in dem Bereich 32 vorliegt. Als Segmentierungsergebnis
dieser Segmentierung wird in diesem Beispiel die durchgehende schwarze
Linie zwischen den Strukturen 33 und 35 angezeigt,
die im Uhrzeigersinn von Punkt A zu Punkt B verläuft.
-
Um
die zu segmentierende Struktur 33 weiter zu segmentieren
wählt der
Nutzer nun z. B. einen konturbasierten Segmentierungsalgorithmus,
beispielsweise einen Livewire-Algorithmus, aus. Zur Markierung des
zu segmentierenden Bereichs klickt der Nutzer einfach auf einen
Startpunkt auf einer Kontur der zu segmentierenden Struktur 33,
z. B. auf Punkt B, und fährt
mit dem Cursor weiter, hier etwa im Uhrzeigersinn, entlang der Struktur 33.
-
Dabei
wird stets ein Segmentierungsergebnis von dem Startpunkt B aus zu
der Position des Cursors berechnet und angezeigt. Der Nutzer kann während der
Segmentierung mit dem konturbasierten Segmentierungsalgorithmus
weitere Punkte auf der gewünschten
Kontur als Fixpunkte für
den Segmentierungsalgorithmus markieren.
-
Damit
fährt der
Nutzer fort, bis er einen Endpunkt, z. B. Punkt A, erreicht. Dort
beendet der Nutzer die Markierung des zu segmentierenden Bereichs
und gleichzeitig die Segmentierung mit dem konturbasierten Segmentierungsalgorithmus,
beispielsweise durch Doppelklicken, oder Klicken mit einer anderen
Maustaste. Das Segmentierungsergebnis dieser Segmentierung ist in
diesem Beispiel durch die schwarze durchgehende Linie, die im Uhrzeigersinn
von Punkt B zu Punkt A verläuft,
dargestellt.
-
Ist
der Nutzer noch nicht mir den jeweiligen Segmentierungsergebnissen
zufrieden, so kann er erneut einen Segmentierungsalgorithmus auswählen, um
Bereiche, in denen die Struktur 33 noch nicht zu seiner
Zufriedenheit segmentiert wurde, nochmals korrigierend zu segmentieren.
Dabei kann er auch auf eine manuelle Segmentierung zurückgreifen. Darüber hinaus
kann der Nutzer dabei auch bereits segmentierte Bereiche nochmals
evtl. mit einem anderen Segmentierungsalgorithmus segmentieren. Weiterhin
sind auch bereits bekannte Korrekturmaßnahmen, wie z. B. das sogenannte „Path Cooling” bei Livewire-Verfahren,
verfügbar.
-
Ist
der Nutzer mit den erzielten Segmentierungsergebnissen zufrieden
und hat er die Struktur 33 vollständig segmentiert, so kann er
die erzielten Segmentierungsergebnisse als Segmentierungsendergebnis
der angezeigten Schicht speichern.
-
3 verdeutlicht
das erfindungsgemäße Verfahren,
die sogenannte „Ribbon
Method”,
an dem beispielhaften Bilddatensatz 31 von 2 mit
der zu segmentierenden Struktur 33 und der weiteren Struktur 35.
-
Ein
Segmentierungsendergebnis 38 einer benachbarten Schicht
wird auf den Bilddatensatz 31 projiziert und dadurch ein
Bereich ausgewählt.
Ein erstes Band 37 wird in einem ersten, nach außen weisenden
Abstand d1 von dem projizierten Segmentierungsendergebnis 38 der
Nachbarschicht gelegt. Dieses erste Band kennzeichnet dabei einen Hintergrundbereich 36.
-
Ein
zweites Band 39 wird in einem zweiten, nach innen weisenden
Abstand d2 von dem projizierten Segmentierungsendergebnis 38 der
Nachbarschicht gelegt. Dieses zweite Band kennzeichnet dabei einen
Strukturbereich 34.
-
Die
Abstände
d1 und d2 sowie die Breite des ersten und des zweiten Bandes 37 und 39 werden angemessen
vorgegeben.
-
Nach
dieser automatischen Initialisierung eines regionenbasierten Segmentierungsalgorithmus kann
der Nutzer wie oben beschrieben mit der Segmentierung der Struktur 33 fortfahren.
-
Mit
dieser Methode wird eine schichtweise Segmentierung einer Struktur
in einem 3D Bilddatensatz erheblich erleichtert, da eine manuelle
Initialisierung entfällt.
So kann sich ein Nutzer sehr schnell durch viele Schichten eines
mehrschichtigen 3D Bilddatensatzes arbeiten.
-
Zerfällt eine
Struktur in einer Schicht in mehrere Teile, werden jeweils die einzelnen
Teile segmentiert und können
sodann z. B. mittels Constructive solid geometry (CSG) als ein zusammenhängendes
Element vereinigt werden. Derartige Verfahren sind z. B. als „Split”- und „Merge”-Verfahren
bekannt.
-
In 4 ist
durch die schraffierte Fläche schematisch
ein Schnitt durch eine aus sechs einzeln segmentierten Schichten
zusammengesetzte 3D Struktur 53 dargestellt. Die schwarze
durchgehende Linie 58, die die zusammengesetzte 3D Struktur
begrenzt, ist durch zusammensetzen der Segmentierungsendergebnisse
der einzelnen Schichten und der Ränder der Schichten entstanden.
Die Linie 58 stellt somit einen Schnitt durch die zusammengesetzte
Oberfläche
und somit den hier ausgewählten
Bereich der Struktur 53 dar.
-
Zur
Veranschaulichung der „Ribbon
Method 3D” ist
außerdem
der zugehörige
Schnitt durch ein in einem nach außen weisenden Abstand D1 gelegtes erstes
Band 57, das einen Hintergrundbereich kennzeichnet dargestellt.
Analog enthält
der Schnitt auch ein in einem nach innen weisenden Abstand D2 gelegtes
zweites Band 59.
-
Wieder
werden die Abstände
D1 und D2 sowie die Breite des ersten und des zweiten Bandes 57 und 59 angemessen
vorgegeben.
-
Mit
Hilfe eines regionenbasierten Segmentierungsalgorithmus, beispielsweise
mit dem GraphCut-Verfahren, kann die zweimannigfaltige Oberfläche der
zusammengesetzten Struktur 53 auf Basis der gekennzeichneten
Bereiche nochmals segmentiert werden. Diese Segmentierung liefert
die maximale Diskontinuität
zwischen „innen” und „außen” in dem
3D Bilddatensatz und so mit eine korrigierte Oberfläche der
zu segmentierenden 3D Struktur.
-
5 zeigt
schematisch den Schnitt durch die 3D Struktur aus 4 nach
der Segmentierung und weiterer hinreichend bekannter Postprocessing-Schritte,
wie z. B. Smoothing und Antialiasing. Man erhält eine Glatte Oberfläche 68.
-
6 zeigt
schließlich
eine schematische Darstellung einer Bildverarbeitungseinheit 40 zur Durchführung des
erfindungsgemäßen Verfahrens.
-
Die
Bildverarbeitungseinheit 40 umfasst eine Eingabeeinrichtung 41 zur
Eingabe von Befehlen, beispielsweise mittels einer Maus oder Tastatur,
ein Anzeigegerät 42 zur
Anzeige von Bilddatensätzen, eine
Speichereinheit 43 zum Speichern und Laden von Bilddatensätzen und
eine Recheneinrichtung 44 zur Durchführung von Berechnungen.
-
Auf
der Bildverarbeitungseinheit 40 ist eine Gruppe von Segmentierungsalgorithmen
implementiert, die entsprechend der Erfindung funktionell miteinander
verknüpft
sind.