DE102008022532A1 - Abstandbestimmungsverfahren - Google Patents

Abstandbestimmungsverfahren Download PDF

Info

Publication number
DE102008022532A1
DE102008022532A1 DE102008022532A DE102008022532A DE102008022532A1 DE 102008022532 A1 DE102008022532 A1 DE 102008022532A1 DE 102008022532 A DE102008022532 A DE 102008022532A DE 102008022532 A DE102008022532 A DE 102008022532A DE 102008022532 A1 DE102008022532 A1 DE 102008022532A1
Authority
DE
Germany
Prior art keywords
voxels
node
voxel
skeletal
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102008022532A
Other languages
English (en)
Inventor
Marcel Brückner
Frank Dr. Deinzer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102008022532A priority Critical patent/DE102008022532A1/de
Publication of DE102008022532A1 publication Critical patent/DE102008022532A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10072Tomographic images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30101Blood vessel; Artery; Vein; Vascular
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

Ein Volumendatensatz (4) weist Voxel (5) auf. Ein Teil der Voxel (5) ist als Gefäßvoxel (5) markiert, die insgesamt örtlich dreidimensional aufgelöst eine Gefäßstruktur (6) eines Untersuchungsobjekts definieren. Ein Rechner ermittelt durch Skelettieren der Gefäßstruktur (6) Skelettvoxel (5), die insgesamt eine Skelettstruktur (9) der Gefäßstruktur (6) beschreiben. Er ordnet jedem Gefäßvoxel (5) ein korrespondierendes Skelettvoxel (5) zu. Der Rechner klassifiziert die Skelettvoxel (5) alternativ als Knotenvoxel (5) oder als Normalvoxel (5). Die Knotenvoxel (5) umfassen zumindest alle Skelettvoxel (5), denen nicht exakt zwei Skelettvoxel (5) unmittelbar benachbart sind. Der Rechner ermittelt für jedes Paar von Knotenvoxeln (5), zwischen denen innerhalb der Skelettstruktur (9) ausschließlich Normavoxel (5) angeordnet sind, einen Einzelknotenabstand (a) und ordnet ihn dem jeweiligen Paar zu. Der Rechner nimmt eine Selektion je eines ersten und zweiten Gefäßvoxels (5) entgegen und ermittelt das jeweils korrespondierende erste/zweite Skelettvoxel (5) sowie jeweils mindestens ein dem ersten/zweiten Skelettvoxel (5) benachbartes erstes/zweites Knotenvoxel (5). Sofern es aufgrund der Skelettstruktur (9) möglich ist, ermittelt der Rechner für jede Kombination eines ersten und eines zweiten Knotenvoxels (5) eine Knotenfolge vom jeweiligen ersten Knotenvoxel (5) zum jeweiligen zweiten Knotenvoxel (5), anhand der Einzelknotenabstände (a), die den in der jeweiligen Knotenfolge ...

Description

  • Die vorliegende Erfindung betrifft ein Abstandbestimmungsverfahren,
    • – wobei einem Rechner ein Volumendatensatz vorgegeben ist, der eine Vielzahl von Voxeln aufweist,
    • – wobei ein Teil der Voxel als Gefäßvoxel markiert ist, so dass die Gefäßvoxel in ihrer Gesamtheit örtlich dreidimensional aufgelöst eine Gefäßstruktur eines Untersuchungsobjekts definieren,
    • – wobei der Rechner eine Selektion eines ersten und eines zweiten Gefäßvoxels entgegen nimmt, einen Abstand des ersten Gefäßvoxels vom zweiten Gefäßvoxel innerhalb der Gefäßstruktur ermittelt und den ermittelten Abstand ausgibt.
  • Die vorliegende Erfindung betrifft weiterhin ein Computerprogramm, das Maschinencode aufweist, der von einem Rechner unmittelbar ausführbar ist und dessen Ausführung durch den Rechner bewirkt, dass der Rechner ein derartiges Abstandbestimmungsverfahren ausführt.
  • Die vorliegende Erfindung betrifft weiterhin einen Datenträger mit einem auf dem Datenträger in maschinenlesbarer Form gespeicherten derartigen Computerprogramm.
  • Schließlich betrifft die vorliegende Erfindung einen Rechner, der mit einem derartigen Computerprogramm programmiert ist, so dass er im Betrieb ein derartiges Abstandbestimmungsverfahren ausführt.
  • Die obenstehend beschriebenen Gegenstände sind allgemein bekannt.
  • Eine Reihe von Verfahren, die in Zusammenhang mit dem Blutgefäßverlauf von Patienten stehen, benötigt eine korrekte Entfernungsberechnung zwischen zwei Punkten. Mit dem Begriff „Entfernungsberechnung” ist hierbei nicht die Ermittlung des Euklidischen Abstands gemeint, sondern die Entfernung innerhalb der Gefäßstruktur, also unter Berücksichtigung des Gefäßverlaufs.
  • Verfahren, welche die erwähnte Entfernungsberechnung benötigen, sind beispielsweise eine Katheterverfolgung, eine Blutflussrekonstruktion und dergleichen mehr. Im Rahmen derartiger Verfahren ist es von großem Interesse, dass die Entfernung schnell und effizient berechnet werden kann. Insbesondere ist eine Echtzeitfähigkeit erwünscht. Weiterhin sollten die Berechnungsverfahren eine relativ kurze Vorverarbeitungszeit benötigen. Schließlich soll das Verfahren möglichst wenig Speicher benötigen.
  • Volumendatensätze, also dreidimensional ortsaufgelöste Datensätze weisen im Stand der Technik typischerweise Größen von 2563 oder 5123 auf. In Zukunft werden voraussichtlich auch Datensätze mit 10243 und mehr erstellt werden. Dieses Volumen stellt die Basis für die Entfernungsberechnung dar. Hierbei entspricht im Stand der Technik jedes Gefäßvoxel einem Knotenpunkt. Die Knoten benachbarter Gefäßvoxel werden durch Kanten verbunden. Durch eine – dem Fachmann bekannte – Breitensuche wird, ausgehend von jedem Knoten, die Entfernung zu jedem anderen Knoten bestimmt und in einer Matrix gespeichert. Um die Entfernung zwischen zwei Punkten zu bestimmen, muss der entsprechende Eintrag in der Matrix gefunden und ausgelesen werden.
  • Eine derartige Matrix erreicht extreme Dimensionen von beispielsweise rund 60.0002 oder 110.0002. Derartig große Datenmengen lassen sich nicht im Arbeitsspeicher eines Rechners halten. Vielmehr muss die Matrix auf der Festplatte des Rechners gespeichert werden. Die dadurch immer wieder erforderlichen Zugriffe auf die Festplatte verlangsamen das Abstandbestimmungsverfahren des Standes der Technik enorm. Weiterhin ist der Zeitaufwand für die Erstellung der Entfernungsmatrix im Stand der Technik erheblich. Er beträgt beispielsweise bei gegebener Rechenleistung des Rechners 30 min und mehr.
  • Als Alternative ist bekannt, auf die Vorberechnung der Entfernungen, das heißt auf die Erstellung der Entfernungsmatrix zu verzichten und stattdessen die Entfernung stets entsprechend der momentanen Anforderung zu ermitteln. Im ungünstigsten Fall müssen hierzu jedoch die Knoten sämtlicher Gefäßvoxel abgefragt werden. Auch diese Vorgehensweise ist daher weit entfernt von einer Echtzeitfähigkeit.
  • Um eine Echtzeitfähigkeit zu erreichen, ist im Stand der Technik weiterhin bekannt, die Auflösung des Volumendatensatzes zu reduzieren. Dadurch wird zwar die Echtzeitfähigkeit erreicht, im Gegenzug jedoch die Auflösung so weit reduziert, dass das Verfahren in der Praxis keine sinnvollen Ergebnisse mehr liefert.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, Möglichkeiten zu schaffen, trotz hoher Ortsauflösung des Gefäßsystems und trotz qualitativ hochwertiger Abstandsbestimmung den Abstand auf einfache und schnelle Weise bestimmen zu könne.
  • Die Aufgabe wird verfahrenstechnisch durch ein Abstandbestimmungsverfahren mit den Merkmalen des Anspruchs 1 gelöst. Vorteilhafte Ausgestaltungen dieses Abstandbestimmungsverfahrens sind Gegenstand der abhängigen Ansprüche 2 bis 7.
  • Gemäß Anspruch 1 ermittelt der Rechner durch Skelettieren der Gefäßstruktur Skelettvoxel, die in ihrer Gesamtheit eine Skelettstruktur der Gefäßstruktur beschreiben. Der Rechner ordnet weiterhin jedem Gefäßvoxel ein korrespondierendes Skelettvoxel zu. Der Rechner klassifiziert einen ersten Teil der Skelettvoxel als Knotenvoxel. Die anderen Skelettvoxel klassifiziert der Rechner als Normalvoxel. Die Knotenvoxel umfassen zumindest alle Skelettvoxel, denen eine von zwei verschiedene Anzahl von Skelettvoxeln unmittelbar benachbart ist. Für jedes Paar von Knotenvoxeln, zwischen denen innerhalb der Skelettstruktur ausschließlich Normalvoxel angeordnet sind, ermittelt der Rechner einen Einzelknotenabstand und ordnet ihn dem jeweiligen Paar von Knotenvoxeln zu.
  • Der Rechner nimmt sodann eine Selektion eines ersten Gefäßvoxels entgegen, ermittelt das korrespondierende Skelettvoxel (erstes Skelettvoxel) und mindestens ein dem ersten Skelettvoxel benachbartes erstes Knotenvoxel. Mit dem Begriff „benachbartes Knotenvoxel” ist hierbei nicht gemeint, dass das dem ersten Skelettvoxel nächste Skelettvoxel ein Knotenvoxel sein muss. Vielmehr ist gemeint, dass innerhalb der Skelettstruktur die Knotenvoxel ermittelt werden, die dem Skelettvoxel so nahe wie möglich sind.
  • In analoger Weise nimmt der Rechner eine Selektion eines zweiten Gefäßvoxels entgegen, ermittelt das korrespondierende Skelettvoxel (zweites Skelettvoxel) sowie mindestens ein dem zweiten Skelettvoxel benachbartes zweites Knotenvoxel.
  • Sofern dies auf Grund der Skelettstruktur möglich ist, ermittelt der Rechner weiterhin für jede Kombination je eines der ersten und je eines der zweiten Knotenvoxel eine Knotenfolge vom jeweiligen ersten Knotenvoxel zum jeweiligen zweiten Knotenvoxel, anhand der Einzelknotenabstände, die den in der jeweiligen Knotenfolgen enthaltenen Paaren von Knotenvoxeln zugeordnet sind, jeweils einen korrespondierenden Gesamtknotenabstand, den Abstand des ersten Skelettvoxels vom jeweiligen ersten Knotenvoxel und den Abstand des zweiten Skelettvoxels vom jeweiligen zweiten Knotenvoxel. Die so ermittelten Abstände addiert der Rechner zu einem jeweiligen Gesamtabstand auf. Das Minimum der derart ermittelten Gesamtabstände gibt der Rechner als Abstand des ersten Gefäßvoxels vom zweiten Gefäßvoxel aus.
  • Durch diese Vorgehensweise konnte in Experimenten mit einem Phantomdatensatz eine Reduktion auf rund 150 Knoten (gegenüber knapp 60.000 im Stand der Technik) erreicht werden. In analoger Weise konnte in Experimenten mit einer realen Gefäßstruktur eine Reduktion auf rund 2000 Knoten (gegenüber mehr als 100.000 Knoten im Stand der Technik) erreicht werden. Dennoch verringerte sich die Genauigkeit, mit welcher der Abstand ermittelt wurde, nur geringfügig (weniger als 3%).
  • In einer bevorzugten Ausgestaltung der vorliegenden Erfindung ist für jedes Gefäßvoxel das korrespondierende Skelettvoxel dadurch bestimmt, dass eine durch das betreffende Gefäßvoxel und das korrespondierende Skelettvoxel definierte Verbindungslinie orthogonal zu einer Tangente an die Skelettstruktur am Ort des korrespondierenden Skelettvoxels verläuft und alle auf der Verbindungslinie angeordneten Voxel Gefäßvoxel sind.
  • Die Zuordnung der Skelettvoxel zu den Gefäßvoxeln speichert der Rechner vorzugsweise in einer Skeletttabelle ab, so dass der Rechner bei späterem Bedarf lediglich noch aus der Tabelle auslesen muss, welches Skelettvoxel dem jeweiligen Gefäßvoxel zugeordnet ist.
  • Es ist möglich, als Knotenvoxel ausschließlich diejenigen Skelettvoxel heranzuziehen, denen eine andere Anzahl als zwei Skelettvoxel unmittelbar benachbart sind. Weiterhin ist es möglich, bei Vorgabe eines (prinzipiell beliebigen) Gefäßvoxels den Abstand des korrespondierenden Skelettvoxels zu den Knotenvoxeln dadurch zu ermitteln, dass nach und nach die Skelettstruktur vom jeweiligen Skelettvoxel zu den entsprechenden Knotenvoxeln durchlaufen wird. Erheblich eleganter ist es jedoch, wenn zum Ermitteln der Knotenvoxel und zum Ermitteln der Einzelknotenabstände
    • a) der Rechner zunächst jedes Skelettvoxel, dem eine andere Anzahl als zwei Skelettvoxel unmittelbar benachbart ist, als Grundknotenvoxel klassifiziert,
    • b) der Rechner für jedes Paar von Grundknotenvoxeln, zwischen denen innerhalb der Skelettstruktur kein anderes Grundknotenvoxel angeordnet ist, einen Polygonzug ermittelt, der sich zwischen den Grundknotenvoxeln des betrachteten Paa res von Grundknotenvoxeln erstreckt und aus einer Anzahl paarweise jeweils am Ort eines Skelettvoxels aneinander angrenzender Polygonlinien besteht,
    • c) der Rechner die Skelettvoxel, an denen Polygonlinien aneinander angrenzen, als Zusatzknotenvoxel klassifiziert,
    • d) die Grundknotenvoxel und die Zusatzknotenvoxel zusammen die Knotenvoxel bilden und der Rechner die anderen Skelettvoxel als Normalvoxel klassifiziert,
    • e) der Rechner jede Polygonlinie derart ermittelt, dass die Abstände der Normalvoxel, die innerhalb der Skelettstruktur zwischen den die jeweilige Polygonlinie terminierenden Knotenvoxeln angeordnet sind, von der jeweiligen Polygonlinie eine Abstandsbedingung erfüllen,
    • f) wobei der Rechner für jede Polygonlinie eine Polygonlinienlänge ermittelt und dem die Polygonlinie terminierenden Paar von Knotenvoxeln als Einzelknotenabstand zuordnet.
  • Zur Ermittlung des Polygonzuges gibt es verschiedene Möglichkeiten. Beispielsweise ist es möglich, ausgehend von einem der beiden Grundknotenvoxel des betrachteten Paares von Grundknotenvoxeln voxelweise die Skelettstruktur voranzuschreiten und stets zu überprüfen, ob die Abstandsbedingung erfüllt ist. Wenn sie erfüllt ist, wird zum nächsten Skelettvoxel vorangeschritten. Wenn sie nicht erfüllt ist, wird zum vorherigen Skelettvoxel zurückgeschritten, dieses Skelettvoxel als Zusatzknotenvoxel klassifiziert und, ausgehend von dem neu klassifizierten Zusatzknotenvoxel, weiter vorangeschritten, bis das andere Grundknotenvoxel des betrachteten Paares von Grundknotenvoxeln erreicht ist. Als erheblich effizienter hat es sich jedoch erwiesen, wenn der Rechner zur Ermittlung je eines der Polygonzüge
    • a) die beiden Grundknotenvoxel des betrachteten Paares von Grundknotenvoxeln mittels eines Anfangspolygonzuges miteinander verbindet, der aus einer Anzahl paarweise aneinander angrenzender Anfangspolygonlinien besteht,
    • b) für jede Anfangspolygonlinie prüft, ob die Abstände der Normalvoxel von der jeweiligen Anfangspolygonlinie die Abstandsbedingung erfüllen,
    • c) für jede Anfangspolygonlinie, bei der die Abstandsbedingung nicht erfüllt ist, mindestens eines der Normalvoxel, die innerhalb der Skelettstruktur zwischen den die betrachtete Anfangspolygonlinie terminierenden Skelettvoxeln angeordnet sind, zu einem Zusatzknotenvoxel umklassifiziert, die betrachtete Anfangspolygonlinie durch mindestens zwei neue Anfangspolygonlinien ersetzt, die durch das mindestens eine neu klassifizierte Zusatzknotenvoxel und die beiden zuvor betrachteten Knotenvoxel terminiert sind, und sodann den Schritt b) wiederholt,
    • d) für jede Anfangspolygonlinie, bei der die Abstandsbedingung erfüllt ist, die jeweilige Anfangspolygonlinie als Zwischenpolygonlinie übernimmt und
    • e) den jeweiligen Polygonzug unter Verwendung der so ermittelten Zwischenpolygonlinien ermittelt.
  • Be dem Polygonzug, der gemäß der zuletzt beschriebenen Vorgehensweise ermittelt wurde, erfüllt jede Polygonlinie die Abstandsbedingung. Der derart ermittelte Polygonzug kann daher direkt als gültiger Polygonzug übernommen werden. Noch besser ist es jedoch, wenn der Rechner zur Ermittlung je eines der Polygonzüge
    • a) mindestens zwei benachbarte Zwischenpolygonlinien vorläufig durch eine gemeinsame Zwischenpolygonlinie ersetzt,
    • b) für jede gemeinsame Zwischenpolygonlinie prüft, ob die Abstände der Normalvoxel von der jeweiligen gemeinsamen Zwischenpolygonlinie die Abstandsbedingung erfüllen,
    • c) für jede gemeinsame Zwischenpolygonlinie, bei der die Abstandsbedingung erfüllt ist, die jeweils zwei Zwischenpolygonlinien gemeinsamen Zusatzknotenvoxel zu Normalvoxeln rückklassifiziert, die betrachteten Zwischenpolygonlinien endgültig durch die gemeinsame Zwischenpolygonlinie ersetzt und sodann die Schritte a) und b) wiederholt,
    • d) für jede gemeinsame Zwischenpolygonlinie, bei der die Abstandsbedingung nicht erfüllt ist, die gemeinsame Zwischenpolygonlinie verwirft und
    • e) den jeweiligen Polygonzug unter Verwendung der so ermittelten gemeinsamen Zwischenpolygonlinien ermittelt.
  • Die Abstandsbedingung kann eine statistische Abstandsbedingung sein. Beispielsweise kann ein Mittelwert oder ein Medianwert herangezogen werden. Auch kann das Maximum der Abstände der Skelettvoxel, die innerhalb der Skelettstruktur zwischen den beiden die jeweilige Polygonlinie terminierenden Knotenvoxeln angeordnet sind, von der jeweiligen Polygonlinie herangezogen werden. Insbesondere bei Verwendung des Maximums und des Durchschnitts wurden in Versuchen gute Ergebnisse erzielt.
  • Auf Grund der Kondensierung der zu verarbeitenden Datenmengen auf „handhabbare” Dimensionen ist es möglich, die Ermittlung der Skelettvoxel und die Ermittlung der Abstände dann vorzunehmen, wenn die entsprechende Anforderung anfällt. Als besonders vorteilhaft hat es sich jedoch erwiesen, Berechnungen so weit wie möglich vor die Vorgabe des ersten und des zweiten Gefäßvoxels vorzuziehen. Der Begriff „vorab” ist in diesem Sinne gemeint.
  • Insbesondere ist es möglich, dass der Rechner vorab für alle ersten und zweiten Knotenvoxel die korrespondierenden Knotenfolgen und die korrespondierenden Gesamtknotenabstände ermittelt und in einer Knotenabstandstabelle abspeichert, so dass der Rechner zum Ermitteln der Gesamtknotenabstände nach dem Ermitteln der ersten und der zweiten Knotenvoxel lediglich noch der Knotenabstandstabelle die korrespondierenden Gesamtknotenabstände entnehmen muss.
  • Weiterhin ist es – alternativ oder zusätzlich zum Erstellen der Knotenabstandstabelle – möglich, dass der Rechner vorab für alle Skelettvoxel die korrespondierenden Knotenvoxel in einer Knotentabelle abspeichert, so dass der Rechner zum Er mitteln der ersten und der zweiten Knotenvoxel nach dem Ermitteln des ersten und des zweiten Skelettvoxels lediglich noch der Knotentabelle die ersten und zweiten Knotenvoxel entnehmen muss.
  • Im Idealfall ist jedes Gefäßvoxel mit jedem anderen Gefäßvoxel über eine Folge von jeweils unmittelbar benachbarten Gefäßvoxeln erreichbar. In der Praxis ist dieses Erfordernis jedoch nicht stets gewährleistet. Die Ursachen hierfür können beispielsweise Artefakte und andere Störungen oder aber die Art des Gefäßsystems sein. Wenn daher dem Rechner zwei Gefäßvoxel vorgegeben werden, die in nicht zusammenhängenden Bereichen der Gefäßstruktur angeordnet sind, ist eine Abstandsbestimmung prinzipiell nicht möglich. Dies gilt gleichermaßen im Stand der Technik und bei der vorliegenden Erfindung. Aus diesem Grund findet sich im Anspruch 1 die Formulierung „sofern dies auf Grund der Skelettstruktur möglich ist”. Wenn die Abstandbestimmung nicht möglich ist, erfolgt eine Fehlermeldung. In die Knotenabstandstabelle kann beispielsweise an der entsprechenden Stelle der Wert Null oder ein anderer, physikalisch sinnloser Wert eingetragen sein. Alternativ kann der entsprechende Eintrag – beispielsweise mittels eines Flags – als ungültig markiert sein.
  • Programmtechnisch wird die Aufgabe durch ein Computerprogramm der obenstehend beschriebenen Art gelöst, dessen Ausführung durch den Rechner bewirkt, dass der Rechner ein erfindungsgemäßes Abstandbestimmungsverfahren ausführt. Das Computerprogramm kann hierbei auf einem Datenträger in (ausschließlich) maschinenlesbarer Form gespeichert sein.
  • Für den Rechner wird die Aufgabe dadurch gelöst, dass er mit einem erfindungsgemäßen Computerprogramm programmiert ist, so dass er in Betrieb ein erfindungsgemäßes Abstandbestimmungsverfahren ausführt.
  • Auch bezüglich des Computerprogramms, des Datenträgers und des Rechners sind die gleichen vorteilhaften Ausgestaltungen möglich, die obenstehend in Verbindung mit dem Abstandbestimmungsverfahren beschrieben sind.
  • Weitere Vorteile und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen in Verbindung mit den Zeichnungen. Es zeigen in Prinzipdarstellung:
  • 1 ein Übersichtsbild,
  • 2 ein Ablaufdiagramm,
  • 3 eine Gefäßstruktur und eine Skelettstruktur,
  • 4 einen Ausschnitt von 3 in vergrößerter Darstellung,
  • 5 eine Normalenebene,
  • 6 einen Ausschnitt einer Skelettstruktur,
  • 7 und 8 Ablaufdiagramme,
  • 9 eine Tabelle,
  • 10 und 11 Ablaufdiagramme,
  • 12 einen Ausschnitt einer Skelettstruktur,
  • 13 ein Ablaufdiagramm,
  • 14 bis 18 Ausschnitte einer Skelettstruktur und
  • 19 ein Ablaufdiagramm.
  • Gemäß 1 ist ein Rechner mit einem Computerprogramm 1 programmiert. Das Computerprogramm 1 kann dem Rechner beispielsweise über das Internet oder eine andere Rechner-Rechner-Verbindung zugeführt worden sein. Alternativ ist es möglich, das Computerprogramm 1 in (ausschließlich) maschinenlesbarer Form auf einem Datenträger 2 zu speichern und dem Rechner das Computerprogramm 1 über den Datenträger 2 zuzuführen. Rein beispielhaft ist in 1 als Datenträger 2 eine CD-ROM dargestellt. Der Datenträger 2 könnte jedoch auch andersartig ausgebildet sein, beispielsweise als USB-Memorystick oder als SD-Speicherkarte.
  • Das Computerprogramm 1 weist Maschinencode 3 auf. Der Maschinencode 3 ist vom Rechner unmittelbar ausführbar. Die Ausführung des Maschinencodes 3 durch den Rechner bewirkt, dass der Rechner im Betrieb ein Abstandbestimmungsverfahren ausführt, das nachstehend detailliert erläutert werden wird.
  • Gemäß 2 nimmt der Rechner in einem Schritt S1 einen Volumendatensatz 4 entgegen. Der Volumendatensatz 4 weist eine Vielzahl von Voxeln 5 auf. Jedes Voxel 5 definiert einen Ort im dreidimensionalen Raum (Koordinaten x, y, z).
  • Es wird darauf hingewiesen, dass die Voxel 5 in Verbindung mit den nachstehenden Erläuterungen zur Unterscheidung voneinander teilweise mit Buchstaben unterschieden werden, beispielsweise Voxel 5a oder 5c. Es handelt sich aber stets um Voxel 5 des Volumendatensatzes.
  • Gemäß 3 sind einige der Voxel 5 als Gefäßvoxel 5 markiert. Beispielsweise kann im Volumendatensatz 4 ein dem jeweiligen Voxel 5 zugeordnetes Flag gesetzt sein. In ihrer Gesamtheit definieren die Gefäßvoxel 5 örtlich dreidimensional aufgelöst eine Gefäßstruktur 6 eines Untersuchungsobjekts, beispielsweise eines Blutgefäßsystems eines Menschen. Die Darstellung von 3 ist hierbei zweidimensional, da diese Darstellung für die Erläuterung der vorliegenden Erfindung anschaulicher ist. Dies gilt gleichermaßen für die 4, 6, 12 sowie 14 bis 18. Der zu Grunde liegende Volumendatensatz 4 ist jedoch stets dreidimensional.
  • Das Erstellen des Volumendatensatzes 4 und auch das Markieren der Gefäßvoxel 5 ist Fachleuten allgemein bekannt. Es ist als solches nicht Gegenstand der vorliegenden Erfindung. Die vorliegende Erfindung setzt das Vorhandensein des Volumendatensatzes 4 einschließlich des Markiertseins der Gefäßvoxel 5 vielmehr voraus.
  • Je nach Lage des Einzelfalls ist es möglich, dass jedes Gefäßvoxel 5 – beispielsweise das Gefäßvoxel 5a – mit jedem anderen Gefäßvoxel 5 – beispielsweise den Gefäßvoxeln 5b, 5c – über eine Folge jeweils unmittelbar aneinander grenzender Voxel 5 verbunden ist, wobei jedes dieser Voxel 5 selbst ein Gefäßvoxel 5 ist. Alternativ ist es jedoch möglich, dass die Gefäßstruktur 6 mehrere getrennte Bereiche 7, 8 aufweist, die durch jeweils mindestens ein Voxel 5 – beispielsweise das Voxel 5d – voneinander getrennt sind, das kein Gefäßvoxel 5 ist.
  • In einem Schritt S2 nimmt der Rechner eine Skelettierung der Gefäßstruktur 6 vor. Der Rechner ermittelt also durch Skelettieren der Gefäßstruktur 6 Skelettvoxel 5. Die Skelettvoxel 5 beschreiben in ihrer Gesamtheit eine Skelettstruktur 9 der Gefäßstruktur 6. Der Begriff „Skelettieren” bedeutet hierbei, dass die Topologie der Gefäßstruktur 6 und die Topologie der Skelettstruktur 9 übereinstimmen. Die Skelettstruktur 9 weist jedoch an jeder Stelle eine Dicke von einem einzigen Voxel 5 auf, während die Gefäßstruktur 6 eine größere Dicke aufweisen kann, wobei diese größere Dicke konstant oder variabel sein kann.
  • Das Skelettieren als solches ist bekannt. Im Rahmen der Skelettierung (in der Fachliteratur auch als Thinning bezeichnet) werden iterativ nach und nach so viele Gefäßvoxel 5 wie möglich gelöscht, ohne die Topologie der Gefäßstruktur 6 zu zerstören. Das Ergebnis ist die Skelettstruktur 9. Ein möglicher Skelettierungsalgorithmus ist beispielsweise in dem Fachaufsatz „A 3D 6-subiteration thinning algorithm for extracting medial lines" von K. Palagyi und A. Kuba, Pattern Recognition Letters, Band 19, Nr. 7, 1998, Seiten 613 bis 627 beschrieben.
  • In einem Schritt S3 ordnet der Rechner jedem Gefäßvoxel 5 ein korrespondierendes Skelettvoxel 5 zu. Die Zuordnung speichert der Rechner in einer Tabelle 10 ab, die nachfolgend zur Unterscheidung von anderen, später noch zu definierenden Tabellen Skeletttabelle 10 genannt wird. Wenn im Rahmen des weiteren Ablaufs des Verfahrens ein Gefäßvoxel 5 vorgegeben wird, kann daher das korrespondierende Skelettvoxel 5 direkt der Skeletttabelle 10 entnommen werden.
  • Es ist möglich, die Schritte S2 und S3 zu einem gemeinsamen Schritt zusammenzufassen. Insbesondere ist es möglich, im Rahmen des Schrittes S2 jedem Gefäßvoxel 5, das gelöscht wird, ein anderes Gefäßvoxel 5 zuzuordnen, das nicht gelöscht wird. Durch iterative Wiederholung dieser Vorgehensweise ergibt sich das jeweils korrespondierende Skelettvoxel 5.
  • Alternativ ist es möglich, zuerst im Schritt S2 das Ermitteln der Skelettstruktur 9 vorzunehmen und sodann gemäß 4 für jedes Skelettvoxel 5 – in 4 mit dem Bezugszeichen 5e bezeichnet – eine lokale Normalenebene 11 zur Skelettstruktur 9 zu bestimmen. Das entsprechende Skelettvoxel 5e kann in diesem Fall denjenigen Gefäßvoxeln 5 als korrespondierendes Skelettvoxel 5 zugeordnet werden, für die gilt,
    • – dass das entsprechende Gefäßvoxel 5 in der Normalenebene 11 liegt, das heißt, dass eine durch das betreffende Gefäßvoxel 5 und das korrespondierende Skelettvoxel 5e definierte Verbindungslinie 12 orthogonal zu einer Tangente 13 an die Skelettstruktur 9 am Ort des korrespondierenden Skelettvoxels 5e verläuft, und
    • – dass alle zwischen dem jeweiligen Gefäßvoxel 5 und dem betreffenden Skelettvoxel 5e angeordneten Voxel 5 Gefäßvoxel 5 sind.
  • Nach dem Skelettieren der Gefäßstruktur 6 und dem Erstellen der Skeletttabelle 10 klassifiziert der Rechner in einem Schritt S4 einen ersten Teil der Skelettvoxel 5 als Knotenvoxel 5. Die Knotenvoxel 5 umfassen hierbei zumindest Grundknotenvoxel 5. Die Grundknotenvoxel 5 sind dadurch definiert, dass ihnen mehr als zwei oder weniger als zwei Skelettvoxel 5 unmittelbar benachbart sind. Hingegen sind alle Skelettvoxel 5, denen genau zwei Skelettvoxel 5 unmittelbar benachbart sind, keine Grundknotenvoxel 5. Beispielsweise sind die in 3 mit 5f, 5g, 5h und 5i bezeichneten Skelettvoxel 5 Grundknotenvoxel 5, die in 3 mit 5j, 5k, 5l bezeichneten Skelettvoxel 5 keine Grundknotenvoxel 5.
  • Es ist möglich, dass ein Teil der Skelettvoxel 5, denen genau zwei andere Skelettvoxel 5 unmittelbar benachbart sind, ebenfalls als Knotenvoxel 5 klassifiziert wird. Beispielsweise könnte das in 3 mit dem Bezugszeichen 5k bezeichnete Skelettvoxel 5 ein Knotenvoxel 5 sein. Diese Knotenvoxel 5 werden nachfolgend zur Unterscheidung von den Grundknotenvoxeln 5 als Zusatzknotenvoxel 5 bezeichnet. Ob und gegebenenfalls welche Skelettvoxel 5 als Zusatzknotenvoxel 5 klassifiziert werden, wird später noch näher erläutert werden.
  • Alle Skelettvoxel 5, die nicht als Knotenvoxel 5 klassifiziert werden (also weder Grundknotenvoxel 5 noch Zusatzknotenvoxel 5 sind), werden vom Rechner in einem Schritt S5 als Normalvoxel 5 klassifiziert. Beispielsweise können die in 3 mit dem Bezugszeichen 5j und 5l bezeichneten Skelettvoxel 5 als Normalvoxel 5 klassifiziert werden.
  • In einem Schritt S6 selektiert der Rechner nacheinander alle Paare von Knotenvoxeln 5 (benachbarte Knotenvoxel 5), zwischen denen innerhalb der Skelettstruktur 9 ausschließlich Normalvoxel 5 angeordnet sind. Beispielsweise bilden die Knotenvoxel 5g und 5h ein derartiges Paar, ebenso die Knotenvoxel 5f und 5k. Hingegen bilden die Knotenvoxel 5f und 5g kein derartiges Paar, da zwischen ihnen das Zusatzknotenvoxel 5k angeordnet ist.
  • Für jedes dieser Paare ermittelt der Rechner im Rahmen des Schrittes S6 einen Abstand a und ordnet den Abstand a dem entsprechenden Paar von Knotenvoxeln 5 zu. Der Abstand a wird nachfolgend Einzelknotenabstand a genannt. Die ermittelten Einzelknotenabstände a speichert der Rechner in einer ersten Knotenabstandstabelle 14 ab.
  • Mit dem Begriff „Abstand” ist im Rahmen des Schrittes S6 nicht der Euklidische Abstand gemeint, sondern die Distanz, die entlang der Skelettstruktur 9 zurückgelegt werden muss, um von dem einen Knotenvoxel 5 des betrachteten Paares zu dem anderen Knotenvoxel 5 des betrachteten Paares zu gelangen. Im einfachsten Fall kann der Rechner beispielsweise, ausgehend vom ersten Knotenvoxel 5 des gerade betrachteten Paares, sich nach und nach bis zum zweiten Knotenvoxel 5 des betrachteten Paares „durchhangeln” und die einzelnen kleinen Wegschritte aufaddieren. Nachfolgend werden jedoch andere, elegantere Vorgehensweisen erläutert.
  • In einem Schritt S7 nimmt der Rechner eine Selektion eines ersten Gefäßvoxels 5 und eines zweiten Gefäßvoxels 5 entgegen. Beispielsweise kann der Rechner von einem Anwender 15 eine entsprechende Vorgabe entgegen nehmen. Rein beispielhaft wird nachfolgend angenommen, dass der Anwender 15 zwei Gefäßvoxel 5 vorgegeben hat, die in den 3 und 6 mit den Bezugszeichen 5m und 5n versehen sind.
  • In einem Schritt S8 bestimmt der Rechner zunächst die korrespondierenden Skelettvoxel 5, nachfolgend erstes und zweites Skelettvoxel 5 genannt und in 3 als Skelettvoxel 5o und 5p bezeichnet. Auf Grund des vorherigen Erstellens der Skeletttabelle 10 ist es im Rahmen des Schrittes S8 lediglich erforderlich, der Skeletttabelle 10 die entsprechenden Skelettvoxel 5 zu entnehmen.
  • Die Anzahl an Gefäßvoxeln 5 ist zwar sehr groß, teilweise größer als 100.000. Es besteht jedoch eine 1:1 Zuordnung (nenne mir das Gefäßvoxel 5 – ich gebe dir das korrespondierende Skelettvoxel 5). Trotz der großen Anzahl an Gefäßvoxeln 5 weist die Skeletttabelle 10 daher eine noch handhabbare Größe auf.
  • In einem Schritt S9 bestimmt der Rechner die mit dem ersten Skelettvoxel 5 (Skelettvoxel 5o) korrespondierenden Knotenvoxel 5, nachfolgend erste Knotenvoxel 5 genannt und in 6 mit den Bezugszeichen 5q und 5r versehen. In analoger Weise bestimmt er in einem Schritt S10 die mit dem zweiten Skelettvoxel 5 (Skelettvoxel 5p) korrespondierenden zweiten Knotenvoxel 5, in 6 als 5f und 5s bezeichnet.
  • Im einfachsten Fall prüft der Rechner für das erste und das zweite Skelettvoxel 5, ob das betreffende Skelettvoxel 5 selbst ein Knotenvoxel 5 ist. Wenn dies der Fall ist, ist das zugeordnete (einzige) Knotenvoxel 5 bestimmt. Anderenfalls ist das betreffende Skelettvoxel 5 zwangsweise ein Normalvoxel 5. Es weist daher genau zwei unmittelbar benachbarte Skelettvoxel 5 auf. Der Rechner kann sich daher in der Skelettstruktur 9 in beide Richtungen „entlang hangeln”, bis er jeweils auf ein Knotenvoxel 5 stößt. In diesem Fall sind dem betreffenden Skelettvoxel 5 zwei Knotenvoxel 5 zugeordnet.
  • Die obenstehend skizzierte Vorgehensweise ist möglich. Nachfolgend werden jedoch elegantere Vorgehensweise beschrieben werden.
  • Auf Grund der obenstehenden Erläuterungen ist ersichtlich, dass dem ersten Skelettvoxel 5 ein oder zwei Knotenvoxel 5 zugeordnet sein können. Gleiches gilt für das zweite Skelettvoxel 5. Nachfolgend wird in Verbindung mit 6 der allgemeine Fall erläutert, dass sowohl dem ersten als auch dem zweiten Skelettvoxel 5 je zwei Knotenvoxel 5 zugeordnet sind. Die anderen, spezielleren Fälle sind einfacher.
  • In einem Schritt S10 selektiert der Rechner je eines der ersten Knotenvoxel 5 und der zweiten Knotenvoxel 5. In einem Schritt S11 prüft der Rechner sodann, ob er eine Knotenfolge ermitteln kann, mittels derer die beiden im Schritt S10 selektierten Knotenvoxel 5 innerhalb der Skelettstruktur 9 miteinander verbunden werden können. Wenn dies nicht der Fall ist, sind die selektierten Gefäßvoxel 5 in voneinander getrennten Bereichen 7, 8 angeordnet, in diesem Fall ist eine Abstandsbestimmung nicht möglich. In diesem Fall verzweigt der Rechner daher zu einem Schritt S12, in dem er eine entsprechende Fehlermeldung ausgibt. Anderenfalls geht der Rechner zu einem Schritt S13 über.
  • Im Schritt S13 ermittelt der Rechner für jede Kombination eines ersten und eines zweiten Knotenvoxels 5 jeweils:
    • – Eine Knotenfolge vom jeweiligen ersten Knotenvoxel 5 zum jeweiligen zweiten Knotenvoxel 5. Das Auffinden der entsprechenden Knotenfolge ist Fachleuten hierbei unter dem Betriff Dijkstra-Algorithmus bekannt. Der Dijkstra-Algorithmus ist beispielsweise in dem Fachaufsatz „A note an two Problems in connexion with graphs" von Edsger W. Dijkstra, Numerische Mathematik, Volume 1, Seiten 269 bis 271, Mathematisches Centrum, Amsterdam, The Netherlands, 1959, beschrieben.
    • – Jeweils einen korrespondierenden Gesamtknotenabstand A vom jeweiligen ersten Knotenvoxel 5 zum jeweiligen zweiten Knotenvoxel 5; die Ermittlung erfolgt hierbei anhand der Einzelknotenabstände a, die den in der jeweiligen Knotenfolge enthaltenen Paaren von Knotenvoxeln 5 zugeordnet sind.
    • – Den Abstand a1 des ersten Skelettvoxels 5 vom jeweiligen ersten Knotenvoxel 5.
    • – Den Abstand a2 des zweiten Skelettvoxels 5 vom jeweiligen zweiten Knotenvoxel 5.
    • – Einen jeweiligen Gesamtabstand d, und zwar durch Aufaddieren der zuvor ermittelten Abstände A, a1, a2.
  • Die Ausführung des Schrittes S13 auf die obenstehend beschriebene Weise ist der Regelfall. Die einzige Ausnahme ist gegeben, wenn das erste und das zweite Skelettvoxel 5 im selben Abschnitt der Skelettstruktur 9 angeordnet sind. Dieser Ausnahmefall ist jedoch ohne weiteres erkennbar, da in diesem Fall die ersten Knotenvoxel 5 identisch mit den zweiten Knotenvoxeln 5 sind. In diesem Ausnahmefall kann beispielsweise der Abstand a1 des ersten Skelettvoxels 5 zu einem der Knotenvoxel 5 ermittelt werden und sodann der Abstand a2 des zweiten Skelettvoxels 5 zum selben Knotenvoxel 5 ermittelt werden. Die Differenz der Abstände a1, a2 ergibt den gesuchten Gesamtabstand d.
  • In einem Schritt S14 ermittelt der Rechner das Minimum der im Schritt S13 ermittelten Gesamtabstände d. Dieses Minimum gibt der Rechner als Abstand des ersten Gefäßvoxels 5 vom zweiten Gefäßvoxel 5 aus.
  • In einem Schritt S15 prüft der Rechner, ob er das erfindungsgemäße Abstandbestimmungsverfahren beenden soll. Wenn dies nicht der Fall ist, geht der Rechner zum Schritt S7 zurück. Anderenfalls beendet er das Verfahren.
  • Das Prinzip des Schrittes S13 wird nachfolgend in Verbindung mit den 6 und 7 nochmals etwas detaillierter erläutert. 7 weist zu diesem Zweck Schritte S21 bis S25 auf, die in ihrer Gesamtheit mit dem Schritt S13 von 2 korrespondieren.
  • Im Schritt S21 bestimmt der Rechner die Knotenfolge vom selektierten ersten Knotenvoxel 5 – beispielsweise dem Knotenvoxel 5r – zum selektierten zweiten Knotenvoxel 5 – beispielsweise zum Knotenvoxel 5h. Im Schritt S22 addiert der Rechner die Einzelknotenabstände a der Knotenvoxelpaare 5r, 5f5f, 5g5g, 5h. Das Ergebnis ist der gesuchte Gesamtknotenabstand A.
  • Im Schritt S23 ermittelt der Rechner den Abstand a1 des ersten Skelettvoxels 5o zum selektierten Knotenvoxel 5r. In analoger Weise ermittelt der Rechner im Schritt S24 den Abstand a2 des zweiten Skelettvoxels 5p zum selektierten Knotenvoxel 5h.
  • Im Schritt S25 addiert der Rechner die in den Schritten S22 bis S24 ermittelten Abstände A, a1 und a2 zum gesuchten Gesamtabstand d.
  • In analoger Weise ermittelt der Rechner jeweils einen Gesamtabstand d für die Knotenvoxelkombinationen 5q, 5h5r, 5s5q, 5s.
  • Wie bereits erwähnt, ist es möglich, das erfindungsgemäße Abstandbestimmungsverfahren so auszuführen, wie es obenstehend erläutert wurde. Es ist jedoch eine Anzahl von Variationsmöglichkeiten gegeben. Manche dieser Variationsmöglichkeiten bieten hierbei signifikante Vorteile.
  • Beispielsweise ist es möglich, dass der Rechner vorab, das heißt vor dem Vorgeben der Gefäßvoxel 5 im Schritt S7, ein Verfahren ausführt, das nachfolgend in Verbindung mit 8 näher erläutert wird.
  • Gemäß 8 werden zwischen die Schritte S6 und S7 Schritte S31 bis S40 eingeschoben. Durch die Schritte S31 bis S40 wird erreicht, dass der Rechner vorab für alle ersten und zweiten Knotenvoxel 5 die korrespondierenden Knotenfolgen und die korrespondierenden Gesamtknotenabstände A ermittelt und diese Abstände A in einer Tabelle 16 abspeichert, nachfolgend zweite Knotenabstandstabelle 16 genannt. Dadurch ist es möglich, die Schritte S21 und S22 von 7 dadurch zu realisieren, dass der Rechner lediglich an der korrekten Stelle auf die zweite Knotenabstandstabelle 16 zugreift und der zweiten Knotenabstandstabelle 16 den gesuchten Gesamtknotenabstand A entnimmt.
  • Im Schritt S31 selektiert der Rechner das i-te Knotenvoxel 5 (i = 1, ..., n – 1 mit n = Anzahl der Knotenvoxel 5). Weiterhin selektiert der Rechner im Schritt S32 ein j-tes Knotenvoxel (j = i + 1, ..., n).
  • Im Schritt S33 prüft der Rechner, ob er innerhalb der Skelettstruktur 9 einen Weg vom i-ten zum j-ten Knotenvoxel 5 auffinden kann. Wenn der Rechner keinen Weg auffinden kann, trägt er im Schritt S34 in die zweite Knotenabstandstabelle 16 an der entsprechenden Stelle einen Fehlereintrag ein. Beispielsweise kann der Rechner den Gesamtabstand A gemäß 9 auf den Wert Null setzen. Dieser Wert ist, da das i-te Knotenvoxel 5 und das j-te Knotenvoxel 5 voneinander verschiedene Knotenvoxel 5 sind, sinnlos.
  • Wenn die Prüfung des Schrittes S33 positiv verlaufen ist, ermittelt der Rechner – beispielsweise gemäß dem bereits erwähnten Dijkstra-Algorithmus – im Schritt S35 den kürzesten Weg zwischen den beiden im Schritt S31 und S32 selektierten Knotenvoxeln 5. Im Schritt S36 addiert der Rechner die ent lang der aufgefundenen Knotenfolge auftretenden Einzelknotenabstände a. Das Ergebnis entspricht dem gesuchten Gesamtknotenabstand A, den der Rechner im Schritt S36 (vergleiche 9) in die zweite Knotenabstandstabelle 16 einträgt.
  • Die Schritte S37 bis S40 gewährleisten, dass nacheinander alle möglichen Paare von Knotenvoxeln 5 miteinander kombiniert werden.
  • Weiterhin ist es möglich, gemäß 10 den Schritt S6 von 2 durch einen Schritt S46 zu ersetzen. Der Schritt S46 umfasst inhaltlich den Schritt S6. Zusätzlich ermittelt der Rechner im Rahmen des Schrittes S46 für jedes Normalvoxel 5 die korrespondierenden Knotenvoxel 5 und speichert diese Knotenvoxel 5 in einer Knotentabelle 17 ab. Dadurch ist es möglich, den Schritt S9 von 2 derart auszugestalten, dass der Rechner der Knotentabelle 17 nur noch die entsprechenden Einträge entnehmen muss.
  • Wie bereits erwähnt, kann es ausreichend sein, ausschließlich die Grundknotenvoxel 5 als Knotenvoxel 5 heranzuziehen. Diese Vorgehensweise kann insbesondere dann ausreichen, wenn eine zusätzliche Tabelle erstellt wird, in der für jedes Normalvoxel 5 die Abstände a1, a2 zu den benachbarten Knotenvoxeln 5 eingetragen sind, oder die Abstände a1, a2 in die Knotentabelle 17 mit eingetragen sind. Es sind jedoch elegantere Möglichkeiten realisierbar. Insbesondere ist es möglich, ein Verfahren zu realisieren, wie es nachfolgend in Verbindung mit 11 näher erläutert wird.
  • Gemäß 11 klassifiziert der Rechner in einem Schritt S51 zunächst die Grundknotenvoxel 5 als solche.
  • Sodann selektiert der Rechner in einem Schritt S52 eines der Grundknotenvoxel 5 und in einem Schritt S53 ein anderes der Grundknotenvoxel 5. Das im Rahmen des Schrittes S53 selektierte Grundknotenvoxel 5 ist hierbei dem im Schritt S52 selektierten Grundknotenvoxel 5 benachbart. Der Begriff „be nachbart” bedeutet, dass zwischen den beiden in den Schritten S52 und S53 selektierten Grundknotenvoxeln 5 innerhalb der Skelettstruktur 9 kein anderes Grundknotenvoxel 5 angeordnet ist. Gemäß 3 wäre dies beispielsweise bei den Grundknotenvoxeln 5g und 5h gegeben, nicht hingegen bei den Grundknotenvoxeln 5f und 5h.
  • Für das selektierte Paar von Grundknotenvoxeln 5 ermittelt der Rechner in einem Schritt S54 einen Polygonzug Z. 12 zeigt beispielhaft einen derartigen Polygonzug Z. Jedes kleine Quadrat entspricht in 12 einem Skelettvoxel 5. Der Polygonzug Z erstreckt sich gemäß 12 von dem im Schritt S52 selektierten Grundknotenvoxel 5 zu dem im Schritt S53 selektierten Grundknotenvoxel 5. Er besteht aus einer Anzahl von Polygonlinien 18. Die Polygonlinien 18 grenzen (selbstverständlich) paarweise aneinander an. Die Orte, an denen die Polygonlinien 18 aneinander angrenzen, korrespondieren jeweils mit dem Ort eines Skelettvoxels 5.
  • Der Rechner ermittelt jede Polygonlinie 18 derart, dass die Abstände der Skelettvoxel 5, die innerhalb der Skelettstruktur 9 zwischen den die jeweilige Polygonlinie 18 terminierenden Skelettvoxeln 5 angeordnet sind, von der jeweiligen Polygonlinie 18 eine Abstandsbedingung erfüllen. Beispielsweise kann gefordert sein, dass das Maximum oder der Mittelwert oder ein Medianwert der Abstände der betreffenden Skelettvoxel 5 einen vorbestimmten Grenzwert nicht übersteigt. Auch andere statistische Abstandsbedingungen (beispielsweise mit Einbeziehung einer Streuung) sind möglich.
  • Die Skelettvoxel 5, an denen Polygonlinien 18 aneinander angrenzen, klassifiziert der Rechner in einem Schritt S55 als Zusatzknotenvoxel 5. Die Grundknotenvoxel 5 und die Zusatzknotenvoxel 5 bilden zusammen die Knotenvoxel 5. Die anderen Skelettvoxel 5 klassifiziert der Rechner in einem Schritt S56 als Normalvoxel 5.
  • In einem Schritt S57 ermittelt der Rechner für jede Polygonlinie 18 eine Polygonlinienlänge a'. Jede Polygonlinienlänge a' korrespondiert mit dem Einzelknotenabstand a der die entsprechende Polygonlinie 18 terminierenden Knotenvoxel 5. Sie kann daher – ebenfalls im Rahmen des Schrittes S57 – dem entsprechenden Paar von Knotenvoxeln 5 als Einzelknotenabstand a zugeordnet werden.
  • Durch die obenstehend beschriebene Vorgehensweise ist es möglich, im Rahmen der Schritte S23 und S24 von 7 für die Ermittlung der Abstände a1 und a2 den Euklidischen Ansatz anzuwenden.
  • Alternativ wäre es möglich, die Definition der Zusatzknotenvoxel 5 zu unterlassen. In diesem Fall müsste die Summe der Polygonlinienlängen a' ermittelt werden und dem Paar von Grundknotenvoxeln 5 als dessen Einzelknotenabstand a zugeordnet werden. Auch diese Vorgehensweise ist möglich. Sie kann insbesondere dann sinnvoll sein, wenn – beispielsweise unter Zwischenverwendung der ermittelten Polygonlinien 18 – die Abstände der Skelettvoxel 5 von den Grundknotenvoxeln 5 vorab ermittelt werden und in der bereits erwähnten, nicht dargestellten Tabelle oder in der Knotentabelle 17 gespeichert werden.
  • Die Schritte S58 bis S61 sind selbsterklärend. Sie bewirken, dass nacheinander für alle Paare benachbarter Grundknotenvoxel 5 der jeweilige Polygonzug Z ermittelt wird.
  • Zum Ermitteln des Polygonzuges Z gibt es verschiedene Möglichkeiten. Beispielsweise ist es möglich, zunächst das im Schritt S52 selektierte Grundknotenvoxel 5 als Startpunkt zu definieren und sodann um eine vorbestimmte Anzahl von Skelettvoxeln 5 voranzuschreiten. Als nächstes wird geprüft, ob die Abstandsbedingung erfüllt ist. Wenn die Abstandsbedingung erfüllt ist, wird wieder um die vorbestimmte Anzahl von Skelettvoxeln 5 weitergegangen. Wenn die Abstandsbedingung nicht erfüllt ist, wird um einen Schritt zurückgegangen. Das jetzt aufgefundene Skelettvoxel 5 bildet dann ein Zwischenknotenvoxel 5, von dem ausgehend in analoger Weise die nächste Polygonlinie 18 ermittelt wird. Diese Vorgehensweise wird fortgesetzt, bis das im Schritt S53 selektierte Grundknotenvoxel 5 erreicht ist. Bevorzugt ist jedoch eine andere Vorgehensweise, die nachfolgend in Verbindung mit 13 näher erläutert wird.
  • Gemäß 13 verbindet der Rechner zunächst in einem Schritt S71 die beiden Grundknotenvoxel 5 des betrachteten Paares von Grundknotenvoxeln 5 mittels eines Anfangpolygonzuges miteinander. Der Anfangspolygonzug entspricht mit Ausnahme des Umstandes, dass er unabhängig vom Einhalten der Abstandsbedingung ermittelt wird, den Bedingungen, die der Polygonzug Z erfüllt. Der Anfangspolygonzug ist im Regelfall relativ grob bestimmt. Im einfachsten Fall besteht er gemäß 14 aus einer einzigen Polygonlinie 18, die sich zwischen den beiden Grundknotenvoxeln 5 des betrachteten Paares von Grundknotenvoxeln 5 erstreckt.
  • In einem Schritt S72 selektiert der Rechner eine erste Polygonlinie 18 des momentanen Polygonzuges. In einem Schritt S73 prüft der Rechner, ob die selektierte Polygonlinie 18 die Abstandsbedingung erfüllt. Wenn dies nicht der Fall ist, selektiert der Rechner in einem Schritt S74 ein Skelettvoxel 5, das innerhalb der Skelettstruktur 9 zwischen den beiden die momentan selektierte Polygonlinie 18 terminierenden Skelettvoxeln 5 liegt. Bevorzugt ist hierbei eine in etwa mittige Teilung (siehe 15). Dies ist jedoch nicht zwingend erforderlich. Auch wäre es möglich, eine Selektion von mehr als zwei derartigen Skelettvoxeln 5 vorzunehmen. Die neu selektierten Skelettvoxel 5 bilden diejenigen Stellen, an denen gemäß 15 die Polygonlinien 18 eines entsprechend modifizierten Polygonzuges aneinander angrenzen.
  • Wenn umgekehrt die Abstandsbedingung erfüllt ist, übernimmt der Rechner die jeweilige Polygonlinie 18. Der korrespondierende Schritt S75 ist hierbei in 13 gestrichelt einge zeichnet, da eigentlich keine aktive Maßnahme ergriffen werden muss. Der Schritt S75 dient also lediglich dem besseren Verständnis der vorliegenden Erfindung.
  • In einem Schritt S76 prüft der Rechner, ob er bereits alle Polygonlinien 18 des momentanen Polygonzuges abgearbeitet hat. Wenn dies nicht der Fall ist, selektiert der Rechner in einem Schritt S77 die nächste Polygonlinie 18 und geht zum Schritt S73 zurück.
  • Wenn der Rechner alle Polygonlinien 18 überprüft hat, geht er zu einem Schritt S78 über. Dort prüft der Rechner, ob er alle Polygonlinien 18 beibehalten hat oder ob er mindestens eine Polygonlinie 18 ersetzt hat. Je nach Ergebnis der Überprüfung des Schrittes S78 ist eine erneute Iteration erforderlich oder ist das Verfahren von 13 beendet.
  • Mittels des beschriebenen Verfahrens nimmt der Polygonzug beispielsweise nacheinander die Formen an, die in den 14, 15, 16, 17 und 18 dargestellt sind.
  • Wenn das Verfahren von 13 beendet ist, erfüllt der ermittelte Polygonzug, gemäß Beispiel also der in 18 dargestellte Polygonzug, in seiner Gesamtheit die Abstandsbedingung. Es ist daher möglich, den so ermittelten Polygonzug Z direkt zu übernehmen. Alternativ ist es möglich, mit einem Verfahren fortzusetzen, das nachfolgend in Verbindung mit 19 näher erläutert wird. Im Rahmen dieses Verfahrens wird der im Rahmen des Verfahrens von 13 ermittelte Polygonzug Z teilweise wieder vergröbert. Diese Vorgehensweise steht jedoch nur scheinbar im Widerspruch zu der Vorgehensweise von 13. Dies wird aus der nachfolgenden Beschreibung von 19 ersichtlich werden.
  • Gemäß 19 selektiert der Rechner zunächst in einem Schritt S81 die erste Polygonlinie 18 des Polygonzuges von 18. In einem Schritt S82 selektiert der Rechner die unmittelbar benachbarte Polygonlinie 18 und ersetzt die beiden nunmehr se lektierten Polygonlinien 18 durch eine gemeinsame Zwischenpolygonlinie 18. Für diese gemeinsame Zwischenpolygonlinie 18 prüft der Rechner in einem Schritt S83, ob die Abstände der für die gemeinsame Polygonlinie 18 relevanten Skelettvoxel 5 von der gemeinsamen Zwischenpolygonlinie 18 die Abstandsbedingung erfüllen. Wenn die gemeinsame Zwischenpolygonlinie 18 die Abstandsbedingung erfüllt, klassifiziert der Rechner das Skelettvoxel 5, das den beiden vorherigen Polygonlinien 18 gemeinsam ist, in einem Schritt S84 zu einem Normalvoxel 5 zurück. Sodann geht der Rechner zum Schritt S82 zurück. Durch diese Vorgehensweise wird erreicht, dass die zuvor betrachteten Polygonlinien 18 endgültig durch die gemeinsame Polygonlinie 18 ersetzt werden. Für jede Zwischenpolygonlinie 18, bei der die Abstandsbedingung nicht erfüllt ist, verwirft der Rechner die gemeinsame Zwischenpolygonlinie in einem Schritt S85.
  • Die Schritte S86 und S87 bewirken, dass nacheinander alle Polygonlinien 18 soweit wie möglich durch gemeinsame Polygonlinien 18 ersetzt werden.
  • Der nunmehr ermittelte Polygonzug Z stellt im Regelfall den endgültigen Polygonzug Z dar (siehe 12). Auch hier sind jedoch noch weitergehende Maßnahmen möglich.
  • Die vorliegende Erfindung weist viele Vorteile auf. Insbesondere ist es nur erforderlich, relativ kleine Tabellen 10, 14, 16, 17 im Arbeitsspeicher des Rechners zu halten. Weiterhin ist das erfindungsgemäße Abstandbestimmungsverfahren nicht rechenintensiv. Ein Großteil der erforderlichen Berechnungen kann weiterhin vorab durchgeführt werden. Es arbeitet daher sehr schnell. Im Vergleich zum Stand der Technik ist – bei gleicher Rechenleistung – eine Beschleunigung um mindestens den Faktor 10 erreichbar.
  • Die obige Beschreibung dient ausschließlich der Erläuterung der vorliegenden Erfindung. Der Schutzumfang der vorliegenden Erfindung soll hingegen ausschließlich durch die beigefügten Ansprüche bestimmt sein.
  • 1
    Computerprogramm
    2
    Datenträger
    3
    Maschinencode
    4
    Volumendatensatz
    5
    Voxel
    6
    Gefäßstruktur
    7, 8
    Bereiche
    9
    Skelettstruktur
    10
    Skeletttabelle
    11
    Normalenebene
    12
    Verbindungslinie
    13
    Tangente
    14, 16
    Knotenabstandstabellen
    15
    Anwender
    17
    Knotentabelle
    18
    Polygonlinien
    a, a1, a2, A
    Abstände
    a'
    Polygonlinienlänge
    d
    Gesamtabstand
    S1 bis S87
    Schritte
    x, y, z
    Koordinaten
    Z
    Polygonzug
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • - Fachaufsatz „A 3D 6-subiteration thinning algorithm for extracting medial lines” von K. Palagyi und A. Kuba, Pattern Recognition Letters, Band 19, Nr. 7, 1998, Seiten 613 bis 627 [0054]
    • - Fachaufsatz „A note an two Problems in connexion with graphs” von Edsger W. Dijkstra, Numerische Mathematik, Volume 1, Seiten 269 bis 271, Mathematisches Centrum, Amsterdam, The Netherlands, 1959 [0072]

Claims (11)

  1. Abstandbestimmungsverfahren, a) wobei einem Rechner ein Volumendatensatz (4) vorgegeben ist, der eine Vielzahl von Voxeln (5) aufweist, b) wobei ein Teil der Voxel (5) als Gefäßvoxel (5) markiert ist, so dass die Gefäßvoxel (5) in ihrer Gesamtheit örtlich dreidimensional aufgelöst eine Gefäßstruktur (6) eines Untersuchungsobjekts definieren, c) wobei der Rechner durch Skelettieren der Gefäßstruktur (6) Skelettvoxel (5) ermittelt, die in ihrer Gesamtheit eine Skelettstruktur (9) der Gefäßstruktur (6) beschreiben, und jedem Gefäßvoxel (5) ein korrespondierendes Skelettvoxel (5) zuordnet, d) wobei der Rechner einen ersten Teil der Skelettvoxel (5) als Knotenvoxel (5) und die anderen Skelettvoxel (5) als Normalvoxel (5) klassifiziert, e) wobei die Knotenvoxel (5) zumindest alle Skelettvoxel (5) umfassen, denen eine von zwei verschiedene Anzahl von Skelettvoxeln (5) unmittelbar benachbart ist, f) wobei der Rechner für jedes Paar von Knotenvoxeln (5), zwischen denen innerhalb der Skelettstruktur (9) ausschließlich Normalvoxel (5) angeordnet sind, einen Einzelknotenabstand (a) ermittelt und dem jeweiligen Paar von Knotenvoxeln (5) zuordnet, g) wobei der Rechner eine Selektion eines ersten Gefäßvoxels (5) entgegen nimmt, das korrespondierende Skelettvoxel (5) (erstes Skelettvoxel 5) ermittelt und mindestens ein dem ersten Skelettvoxel (5) benachbartes erstes Knotenvoxel (5) ermittelt, h) wobei der Rechner eine Selektion eines zweiten Gefäßvoxels (5) entgegen nimmt, das korrespondierende Skelettvoxel (5) (zweites Skelettvoxel 5) ermittelt und mindestens ein dem zweiten Skelettvoxel (5) benachbartes zweites Knotenvoxel (5) ermittelt, i) wobei der Rechner, sofern dies aufgrund der Skelettstruktur (9) möglich ist, für jede Kombination je eines der ersten und je eines der zweiten Knotenvoxel (5) eine Kno tenfolge vom jeweiligen ersten Knotenvoxel (5) zum jeweiligen zweiten Knotenvoxel (5) ermittelt, anhand der Einzelknotenabstände (a), die den in der jeweiligen Knotenfolge enthaltenen Paaren von Knotenvoxeln (5) zugeordnet sind, jeweils einen korrespondierenden Gesamtknotenabstand (A) ermittelt, den Abstand (a1) des ersten Skelettvoxels (5) vom jeweiligen ersten Knotenvoxel (5) ermittelt, den Abstand (a2) des zweiten Skelettvoxels (5) vom jeweiligen zweiten Knotenvoxel (5) ermittelt und die so ermittelten Abstände (A, a1, a2) zu einem jeweiligen Gesamtabstand (d) aufaddiert, j) wobei der Rechner das Minimum der im Schritt i) ermittelten Gesamtabstände (d) als Abstand des ersten Gefäßvoxels (5) vom zweiten Gefäßvoxel (5) ausgibt.
  2. Abstandbestimmungsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass für jedes Gefäßvoxel (5) das korrespondierende Skelettvoxel (5) dadurch bestimmt ist, dass eine durch das betreffende Gefäßvoxel (5) und das korrespondierende Skelettvoxel (5) definierte Verbindungslinie (12) orthogonal zu einer Tangente (13) an die Skelettstruktur (9) am Ort des korrespondierenden Skelettvoxels (5) verläuft und alle auf der Verbindungslinie (12) angeordneten Voxel (5) Gefäßvoxel (5) sind.
  3. Abstandbestimmungsverfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass zum Ermitteln der Knotenvoxel (5) und zum Ermitteln der Einzelknotenabstände (a) a) der Rechner zunächst jedes Skelettvoxel (5), dem eine andere Anzahl als zwei Skelettvoxel (5) unmittelbar benachbart ist, als Grundknotenvoxel (5) klassifiziert, b) der Rechner für jedes Paar von Grundknotenvoxeln (5), zwischen denen innerhalb der Skelettstruktur (9) kein anderes Grundknotenvoxel (5) angeordnet ist, einen Polygonzug (Z) ermittelt, der sich zwischen den Grundknotenvoxeln (5) des betrachteten Paares von Grundknotenvoxeln (5) erstreckt und aus einer Anzahl paarweise jeweils am Ort eines Ske lettvoxels (5) aneinander angrenzender Polygonlinien (18) besteht, c) der Rechner die Skelettvoxel (5), an denen Polygonlinien (18) aneinander angrenzen, als Zusatzknotenvoxel (5) klassifiziert, d) die Grundknotenvoxel (5) und die Zusatzknotenvoxel (5) zusammen die Knotenvoxel (5) bilden und der Rechner die anderen Skelettvoxel (5) als Normalvoxel (5) klassifiziert, e) der Rechner jede Polygonlinie (18) derart ermittelt, dass die Abstände der Normalvoxel (5), die innerhalb der Skelettstruktur (9) zwischen den die jeweilige Polygonlinie (18) terminierenden Knotenvoxeln (5) angeordnet sind, von der jeweiligen Polygonlinie (18) eine Abstandsbedingung erfüllen, f) wobei der Rechner für jede Polygonlinie (18) eine Polygonlinienlänge (a') ermittelt und dem die Polygonlinie (18) terminierenden Paar von Knotenvoxeln (5) als Einzelknotenabstand (a) zuordnet.
  4. Abstandbestimmungsverfahren nach Anspruch 3, dadurch gekennzeichnet, dass der Rechner zur Ermittlung je eines der Polygonzüge (Z) a) die beiden Grundknotenvoxel (5) des betrachteten Paares von Grundknotenvoxeln (5) mittels eines Anfangspolygonzuges miteinander verbindet, der aus einer Anzahl paarweise aneinander angrenzender Anfangspolygonlinien (18) besteht, b) für jede Anfangspolygonlinie (18) prüft, ob die Abstände der Normalvoxel (5) von der jeweiligen Anfangspolygonlinie (18) die Abstandsbedingung erfüllen, c) für jede Anfangspolygonlinie (18), bei der die Abstandsbedingung nicht erfüllt ist, mindestens eines der Normalvoxel (5), die innerhalb der Skelettstruktur (9) zwischen den die betrachtete Anfangspolygonlinie (18) terminierenden Skelettvoxeln (5) angeordnet sind, zu einem Zusatzknotenvoxel (5) umklassifiziert, die betrachtete Anfangspolygonlinie (18) durch mindestens zwei neue Anfangspolygonlinien (18) ersetzt, die durch das mindestens eine neu klassifizierte Zusatzknotenvoxel (5) und die beiden zuvor be trachteten Knotenvoxel (5) terminiert sind, und sodann den Schritt b) dieses Anspruchs wiederholt, d) für jede Anfangspolygonlinie (18), bei der die Abstandsbedingung erfüllt ist, die jeweilige Anfangspolygonlinie (18) als Zwischenpolygonlinie (18) übernimmt und e) den jeweiligen Polygonzug (Z) unter Verwendung der so ermittelten Zwischenpolygonlinien (18) ermittelt.
  5. Abstandbestimmungsverfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Rechner zur Ermittlung je eines der Polygonzüge (Z) a) mindestens zwei benachbarte Zwischenpolygonlinien (18) vorläufig durch eine gemeinsame Zwischenpolygonlinie (18) ersetzt, b) für jede gemeinsame Zwischenpolygonlinie (18) prüft, ob die Abstände der Normalvoxel (5) von der jeweiligen gemeinsamen Zwischenpolygonlinie (18) die Abstandsbedingung erfüllen, c) für jede gemeinsame Zwischenpolygonlinie (18), bei der die Abstandsbedingung erfüllt ist, die jeweils zwei Zwischenpolygonlinien (18) gemeinsamen Zusatzknotenvoxel (5) zu Normalvoxeln (5) rückklassifiziert, die betrachteten Zwischenpolygonlinien (18) endgültig durch die gemeinsame Zwischenpolygonlinie (18) ersetzt und sodann die Schritte a) und b) dieses Anspruchs wiederholt, d) für jede gemeinsame Zwischenpolygonlinie (18), bei der die Abstandsbedingung nicht erfüllt ist, die gemeinsame Zwischenpolygonlinie (18) verwirft und e) den jeweiligen Polygonzug (Z) unter Verwendung der so ermittelten gemeinsamen Zwischenpolygonlinien (18) ermittelt.
  6. Abstandbestimmungsverfahren nach Anspruch 3, 4 oder 5, dadurch gekennzeichnet, dass die Abstandsbedingung eine statistische Abstandsbedingung ist.
  7. Abstandbestimmungsverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet, dass der Rechner vorab für alle ersten und zweiten Knotenvoxel (5) die korrespondierenden Knotenfolgen und die korrespondierenden Gesamtknotenabstände (A) ermittelt und in einer Knotenabstandstabelle (16) abspeichert, so dass der Rechner zum Ermitteln der Gesamtknotenabstände (A) nach dem Ermitteln der ersten und der zweiten Knotenvoxel (5) lediglich noch der Knotenabstandstabelle (16) die korrespondierenden Gesamtknotenabstände (A) entnehmen muss.
  8. Abstandbestimmungsverfahren nach einem der obigen Ansprüche, dadurch gekennzeichnet, dass der Rechner vorab für alle Skelettvoxel (5) die korrespondierenden Knotenvoxel (5) in einer Knotentabelle (17) abspeichert, so dass der Rechner zum Ermitteln der ersten und der zweiten Knotenvoxel (5) nach dem Ermitteln des ersten und des zweiten Skelettvoxels (5) lediglich noch der Knotentabelle (17) die ersten und zweiten Knotenvoxel (5) entnehmen muss.
  9. Computerprogramm, das Maschinencode (3) aufweist, der von einem Rechner unmittelbar ausführbar ist und dessen Ausführung durch den Rechner bewirkt, dass der Rechner ein Abstandbestimmungsverfahren nach einem der obigen Ansprüche ausführt.
  10. Datenträger mit einem auf dem Datenträger in maschinenlesbarer Form gespeicherten Computerprogramm (1) nach Anspruch 9.
  11. Rechner, der mit einem Computerprogramm (1) nach Anspruch 9 programmiert ist, so dass er im Betrieb ein Abstandbestimmungsverfahren nach einem der Ansprüche 1 bis 8 ausführt.
DE102008022532A 2008-05-07 2008-05-07 Abstandbestimmungsverfahren Ceased DE102008022532A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102008022532A DE102008022532A1 (de) 2008-05-07 2008-05-07 Abstandbestimmungsverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008022532A DE102008022532A1 (de) 2008-05-07 2008-05-07 Abstandbestimmungsverfahren

Publications (1)

Publication Number Publication Date
DE102008022532A1 true DE102008022532A1 (de) 2009-11-19

Family

ID=41180303

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008022532A Ceased DE102008022532A1 (de) 2008-05-07 2008-05-07 Abstandbestimmungsverfahren

Country Status (1)

Country Link
DE (1) DE102008022532A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009004576A1 (de) 2009-01-14 2010-07-15 Siemens Aktiengesellschaft Katheterdetektion in Volumendaten auf wahrscheinlichkeitsbasiertem Ansatz
CN112446954A (zh) * 2020-12-01 2021-03-05 杭州中房信息科技有限公司 顾及障碍物的防火区最不利点搜索方法、装置及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Fachaufsatz "A 3D 6-subiteration thinning algorithm for extracting medial lines" von K. Palagyi und A. Kuba, Pattern Recognition Letters, Band 19, Nr. 7, 1998, Seiten 613 bis 627
Fachaufsatz "A note an two Problems in connexion with graphs" von Edsger W. Dijkstra, Numerische Mathematik, Volume 1, Seiten 269 bis 271, Mathematisches Centrum, Amsterdam, The Netherlands, 1959

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009004576A1 (de) 2009-01-14 2010-07-15 Siemens Aktiengesellschaft Katheterdetektion in Volumendaten auf wahrscheinlichkeitsbasiertem Ansatz
CN112446954A (zh) * 2020-12-01 2021-03-05 杭州中房信息科技有限公司 顾及障碍物的防火区最不利点搜索方法、装置及存储介质

Similar Documents

Publication Publication Date Title
DE112016001796T5 (de) Feinkörnige bildklassifizierung durch erforschen von etiketten von einem bipartiten graphen
DE112015003406T5 (de) Datenherkunftssummierung
DE112009004371T5 (de) Kollisionsbestimmungsvorrichtung und Kollisionsbestimmungsprogramm
DE112012004809B4 (de) Kantenverfolgung mit Hysterese-Schwellenwertbildung
DE102008007231A1 (de) Robustes Gefäßbaummodellieren
DE112012005770T5 (de) Zeichnungsdaten-Erzeugungsvorrichtung und Bildzeichnungsvorrichtung
DE112017005958T5 (de) Robotersteuerung und Kalibrierungsverfahren
DE112017006552T5 (de) Bearbeitungsprozesserzeugungsvorrichtung, bearbeitungsprozesserzeugungsverfahren und programm
EP1437685A2 (de) Verfahren zum Segmentieren einer dreidimensionalen Struktur
DE2133638C3 (de) Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten
DE102012213461B4 (de) Erzeugung modifizierter Bilddaten eines Zielobjekts
DE102017126349A1 (de) Verfahren zum verknüpfen eines ersten datenblocks mit einem zweiten datenblock, verfahren zum überprüfen der integrität einer blockchain-struktur, vorrichtung und computerprogrammprodukt
DE112021005568T5 (de) Datenverarbeitungsvorrichtung und Datenverarbeitungsverfahren
DE102012204063B4 (de) Generierung von Visualisierungs-Befehlsdaten
DE112014003085T5 (de) SPS-System und Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke
DE102008022532A1 (de) Abstandbestimmungsverfahren
DE10017551A1 (de) Verfahren zur zyklischen, interaktiven Bildanalyse sowie Computersystem und Computerprogramm zur Ausführung des Verfahrens
Staab Exit-Kapitalismus revisited
DE10044516A1 (de) Prozeßausrüstungsauswahlsystem und Auswahlverfahren für Prozeßausrüstung
DE102005055922A1 (de) Gefäßrekonstruktion unter Verwendung von gebogener planarer Reformation
DE102018217114A1 (de) Verfahren und Anordnung zur Speicherbedarfsermittlung, um mittels einer Grafikprozessoreinheit auf FEM-Knotennetzen basierte Simulationen durchzuführen
DE102015205901A1 (de) Verfahren zur Berechnung einer Route für ein Landfahrzeug
AT13448U1 (de) Programmlogik zur Spezifikation der Anforderungen an ein Entwicklungsergebnis
EP3494507B1 (de) Verfahren zur prüfung der verfügbarkeit und integrität eines verteilt gespeicherten datenobjekts
EP3764298A1 (de) Verfahren zur änderungskonfiguration einer produktionsanlage und/oder eines produkts und verfahren zur herstellung eines produkts, sowie konfigurationsvorrichtung und system

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8120 Willingness to grant licences paragraph 23
8131 Rejection