Intensitätsmodulierte Bestrahlungsfelder mit geräteabhängigen Einschränkungen Thomas Kalinowski Institut für Mathematik Universität Rostock [email protected] Arbeitskreis IMRT Neuruppin 27. März 2008 Thomas Kalinowski Zerlegung von Fluenzmatrizen Inhalt 1 Das Modell 2 Der Bortfeld–Algorithmus 3 Geräteabhängige Einschränkungen Modellierung Der Algorithmus 4 Zusammenfassung und Diskussion Thomas Kalinowski Zerlegung von Fluenzmatrizen Inhalt 1 Das Modell 2 Der Bortfeld–Algorithmus 3 Geräteabhängige Einschränkungen Modellierung Der Algorithmus 4 Zusammenfassung und Diskussion Thomas Kalinowski Zerlegung von Fluenzmatrizen Ein Multileaf-Kollimator Thomas Kalinowski Zerlegung von Fluenzmatrizen Modulierung durch Überlagerung homogener Felder 2 MU 1 MU Thomas Kalinowski 1 MU Zerlegung von Fluenzmatrizen Modulierung durch Überlagerung homogener Felder 2 MU 1 MU 0 1 1 0 2· 0010 0011 1100 1 MU 1 0 0 0 0 1 1 0 + 0110 1111 0000 Thomas Kalinowski + 0111 0011 1110 1 3 3 0 = 0241 1144 3310 Zerlegung von Fluenzmatrizen Eine Fluenzmatrix Beschreibung der gewünschten Fluenz durch eine nichtnegative ganzzahlige Matrix. Beispiel: 4 2 A= 2 5 Thomas Kalinowski 5 4 3 3 0 1 2 3 1 3 1 2 4 1 2 5 5 4 4 3 Zerlegung von Fluenzmatrizen Die homogenen Felder . . . entsprechen Segmenten: Thomas Kalinowski Zerlegung von Fluenzmatrizen Die homogenen Felder . . . entsprechen Segmenten: 0 − 1−Matrizen Thomas Kalinowski Zerlegung von Fluenzmatrizen Die homogenen Felder . . . entsprechen Segmenten: 0 − 1−Matrizen In jeder Zeile gibt es genau ein Intervall von zusammenhängenden Einsen. Thomas Kalinowski Zerlegung von Fluenzmatrizen Die homogenen Felder . . . entsprechen Segmenten: 0 − 1−Matrizen In jeder Zeile gibt es genau ein Intervall von zusammenhängenden Einsen. Beispiel: 0 0 1 0 1 0 1 0 Thomas Kalinowski 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 Zerlegung von Fluenzmatrizen Eine Segmentierung 4 5 0 1 4 5 241314 232124 533253 0 0 0 0 1 1 =3 000001 000001 000011 0 0 0 0 0 1 +1 000111 000010 011110 1 1 0 0 0 0 +3 010000 000000 100000 0 0 0 1 1 1 +1 000100 011000 111000 0 1 0 0 0 0 +1 100000 110000 111110 1 1 0 0 0 0 +1 111100 111111 000000 . Thomas Kalinowski Zerlegung von Fluenzmatrizen Optimierungsziele Minimierung der Gesamtbestrahlungsdauer Bezeichnung: DT (Delivery Time) angegeben in MU (Monitor Units) sehr effizient exakt lösbar Thomas Kalinowski Zerlegung von Fluenzmatrizen Optimierungsziele Minimierung der Gesamtbestrahlungsdauer Bezeichnung: DT (Delivery Time) angegeben in MU (Monitor Units) sehr effizient exakt lösbar Minimierung der Anzahl der benötigten Felder algorithmisch sehr schwierig heuristische suboptimale Lösungen Thomas Kalinowski Zerlegung von Fluenzmatrizen Optimierungsziele Minimierung der Gesamtbestrahlungsdauer Bezeichnung: DT (Delivery Time) angegeben in MU (Monitor Units) sehr effizient exakt lösbar Minimierung der Anzahl der benötigten Felder algorithmisch sehr schwierig heuristische suboptimale Lösungen Vermeidung von dosimetrisch ungünstigen Feldern kaum untersucht Thomas Kalinowski Zerlegung von Fluenzmatrizen Inhalt 1 Das Modell 2 Der Bortfeld–Algorithmus 3 Geräteabhängige Einschränkungen Modellierung Der Algorithmus 4 Zusammenfassung und Diskussion Thomas Kalinowski Zerlegung von Fluenzmatrizen Grundidee Voraussetzung: Die Lamellenpositionen in den verschiedenen Zeilen sind unabhängig voneinander. Es reicht einzelne Zeilen zu betrachten. z.B. 2 6 3 3 4 2 1 1 5 5 Thomas Kalinowski Zerlegung von Fluenzmatrizen Grundidee Voraussetzung: Die Lamellenpositionen in den verschiedenen Zeilen sind unabhängig voneinander. Es reicht einzelne Zeilen zu betrachten. z.B. 2 6 3 3 4 2 1 1 5 5 unvermeidbare Positionen linke Lamelle Position 1 2 MU Position 2 4 MU Position 5 1 MU Position 9 4 MU rechte Lamelle Position 2 3 MU Position 5 2 MU Position 6 1 MU Position 10 5 MU Insgesamt braucht man also mindestens 11 MU. Thomas Kalinowski Zerlegung von Fluenzmatrizen Realisierung der unteren Schranke links 1 1 2 2 2 2 5 9 9 9 9 rechts 2 2 2 2 0 0 0 0 0 0 0 0 2 5 5 0 1 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 6 10 10 10 10 10 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 4 4 2 6 3 3 4 2 1 1 5 5 Thomas Kalinowski Zerlegung von Fluenzmatrizen Formale Charakterisierung der minimalen DT m × n−Fluenzmatrix A = (aij ) n P Zeilenkomplexität ci (A) = max{0, aij − ai,j−1 } j=1 Gesamtkomplexität c(A) = max ci (A) i∈[m] Satz Die minimale DT zur Realisierung der Fluenzmatrix A ist gleich c(A). Thomas Kalinowski Zerlegung von Fluenzmatrizen Graphentheoretische Interpretation 4 5 0 1 4 5 241314 232124 533253 Fluenzmatrix gerichteter Graph mit Gewichten w((i, j − 1), (i, j)) = max{0, aij − ai,j−1 } 0 q 0 0 4 1 0 1 3 1 0 2 2 0 2 0 3 0 2 1 0 0 1 2 0 5 0 0 0 3 0 0 0 0 0 0 Thomas Kalinowski Zerlegung von Fluenzmatrizen 0 s Graphentheoretische Interpretation gerichteter Graph mit Gewichten w((i, j − 1), (i, j)) = max{0, aij − ai,j−1 } 0 q 0 0 4 1 0 1 3 1 0 2 2 0 2 0 3 0 2 1 0 0 1 2 0 0 0 0 0 5 0 0 0 3 0 0 minimale DT = maximale Weglänge von q nach s. Thomas Kalinowski Zerlegung von Fluenzmatrizen 0 s Inhalt 1 Das Modell 2 Der Bortfeld–Algorithmus 3 Geräteabhängige Einschränkungen Modellierung Der Algorithmus 4 Zusammenfassung und Diskussion Thomas Kalinowski Zerlegung von Fluenzmatrizen Die Interleaf Collision Constraint (ICC) Gegenüberliegende Lamellen in benachbarten Zeilen dürfen nicht überlappen. Beispiel: 0 0 0 1 ⇒ 1 0 0 0 ist kein Segment. 1 1 0 0 Thomas Kalinowski Zerlegung von Fluenzmatrizen Tongue-and-Groove Strahlung Thomas Kalinowski Zerlegung von Fluenzmatrizen Unterdosierung A= Thomas Kalinowski 2 3 3 4 Zerlegung von Fluenzmatrizen Unterdosierung A= 2 3 3 4 3 MU 1 MU 1 MU Thomas Kalinowski Zerlegung von Fluenzmatrizen Unterdosierung A= 2 3 3 4 3 MU 2 MU 1 MU 1 MU 1 MU 1 MU Thomas Kalinowski Zerlegung von Fluenzmatrizen Vermeidung der Unterdosierung aij ≤ ai+1,j ∧ sij = 1 ⇒ si+1,j = 1 (i ∈ [m − 1], j ∈ [n]), aij ≤ ai−1,j ∧ sij = 1 ⇒ si−1,j = 1 (i ∈ [2, m], j ∈ [n]). Thomas Kalinowski Zerlegung von Fluenzmatrizen Vermeidung der Unterdosierung aij ≤ ai+1,j ∧ sij = 1 ⇒ si+1,j = 1 (i ∈ [m − 1], j ∈ [n]), aij ≤ ai−1,j ∧ sij = 1 ⇒ si−1,j = 1 (i ∈ [2, m], j ∈ [n]). Die Fluenz im Grenzbereich zwischen (i, j) und (i + 1, j) beträgt min{aij , ai+1,j }. Thomas Kalinowski Zerlegung von Fluenzmatrizen Definition. A-Segment Ein A–Segment ist eine m × n-Matrix S = (sij ) mit Einträgen aus {0, 1}, so dass es ganze Zahlen li , ri (i ∈ [m]) mit folgenden Eigenschaften gibt. Thomas Kalinowski Zerlegung von Fluenzmatrizen Definition. A-Segment Ein A–Segment ist eine m × n-Matrix S = (sij ) mit Einträgen aus {0, 1}, so dass es ganze Zahlen li , ri (i ∈ [m]) mit folgenden Eigenschaften gibt. li ≤ ri + 1 (i ∈ [m]), Thomas Kalinowski Zerlegung von Fluenzmatrizen Definition. A-Segment Ein A–Segment ist eine m × n-Matrix S = (sij ) mit Einträgen aus {0, 1}, so dass es ganze Zahlen li , ri (i ∈ [m]) mit folgenden Eigenschaften gibt. li ≤ ri + 1 (i ∈ [m]), ( 1 if li ≤ j ≤ ri sij = (i ∈ [m], j ∈ [n]), 0 sonst Thomas Kalinowski Zerlegung von Fluenzmatrizen Definition. A-Segment Ein A–Segment ist eine m × n-Matrix S = (sij ) mit Einträgen aus {0, 1}, so dass es ganze Zahlen li , ri (i ∈ [m]) mit folgenden Eigenschaften gibt. li ≤ ri + 1 (i ∈ [m]), ( 1 if li ≤ j ≤ ri sij = (i ∈ [m], j ∈ [n]), 0 sonst ICC: li ≤ ri+1 + 1, ri ≥ li+1 − 1 (i ∈ [m − 1]) Thomas Kalinowski Zerlegung von Fluenzmatrizen Definition. A-Segment Ein A–Segment ist eine m × n-Matrix S = (sij ) mit Einträgen aus {0, 1}, so dass es ganze Zahlen li , ri (i ∈ [m]) mit folgenden Eigenschaften gibt. li ≤ ri + 1 (i ∈ [m]), ( 1 if li ≤ j ≤ ri sij = (i ∈ [m], j ∈ [n]), 0 sonst ICC: li ≤ ri+1 + 1, ri ≥ li+1 − 1 (i ∈ [m − 1]) und außerdem gilt Tongue-and-Groove Bedingung (TGB): aij ≤ ai+1,j ∧ sij = 1 ⇒ si+1,j = 1 (i ∈ [m − 1], j ∈ [n]), aij ≤ ai−1,j ∧ sij = 1 ⇒ si−1,j = 1 (i ∈ [2, m], j ∈ [n]). Thomas Kalinowski Zerlegung von Fluenzmatrizen Der Segmentierungsgraph q s 4 5 0 1 4 5 A= 241314 232124 533253 Thomas Kalinowski Zerlegung von Fluenzmatrizen Die Gewichtsfunktion 0 0 q 0 4 1 0 1 3 1 0 2 2 0 2 0 3 0 2 0 1 0 1 2 0 0 0 0 0 5 0 0 0 3 0 4 5 0 1 4 5 A= 241314 232124 533253 w((i, j − 1), (i, j)) = max{0, aij − ai,j−1 } Thomas Kalinowski Zerlegung von Fluenzmatrizen 0 0 s Die ICC-Gewichtsfunktion −4 0 0 −3 −1 0 3 −3 −1 −4 −1 0 2 −2 −1 −3 −1 0 1 0 1 −1 −4 −5 0 3 −2 −4 −4 0 2 −5 −3 −2 −3 0 0 −3 −2 −1 −2 0 3 −5 −3 −4 0 0 1 −2 −4 −5 2 2 −2 −2 −4 2 1 0 4 0 0 q 0 0 −2 5 1 4 5 0 1 4 5 A= 241314 232124 533253 w((i, j), (i ± 1, j)) = −aij Thomas Kalinowski Zerlegung von Fluenzmatrizen 0 0 0 0 s Die ICC-TGB-Gewichtsfunktion 0 1 0 0 −2 −1 0 0 2 2 0 0 0 −1 0 0 2 1 4 0 0 q 0 0 0 5 −3 0 0 0 0 0 3 0 1 −2 0 −1 0 −3 −1 0 0 3 0 2 −1 −1 −2 0 0 0 0 0 0 1 2 1 −1 −1 0 0 0 3 −3 −1 0 4 5 0 1 4 5 A= 241314 232124 533253 w((i, j), (i ± 1, j)) = min{0, ai±1,j − aij } Thomas Kalinowski Zerlegung von Fluenzmatrizen 0 0 0 0 0 0 s Konkrete Interpretation der Gewichtsfunktionen Wir setzen α1 (i, j) = maximale Länge eines Weges von q nach (i, j). Dann ist α1 (i, j) eine untere Schranke für die Anzahl der Monitor Units mit li ≤ j. Damit ist die maximale Länge eines q − s−Weges (oder äquivalent max α1 (i, n)) eine untere Schranke für die DT. i Wir setzen deshalb c(A) = maximale Weglänge im Segmentierungsgraphen. Thomas Kalinowski Zerlegung von Fluenzmatrizen Min-Max–Charakterisierung Satz Die minimale DT für eine MLC-Segmentierung mit ICC bzw. mit ICC und TGB ist gleich der maximalen Weglänge im Segmentierungsgraphen, wenn man jeweils die entsprechende Gewichtsfunktion verwendet. Die Zahlen α1 (i, j), und damit auch die minimale DT, können auch für sehr große Matrizen algorithmisch effizient bestimmt werden. Beweisidee: iterierte Konstruktion eines Segments S mit c(A − S) = c(A) − 1. Thomas Kalinowski Zerlegung von Fluenzmatrizen Basisversion des Algorithmus Input: Fluenzmatrix A = A(0) , k = 0 Solange A(k ) 6= 0 Bestimme bezüglich A(k ) die Zahlen α1 (i, j) = maximale Länge eines Weges von q nach (i, j), α2 (i, j) = maximale Länge eines Weges von (i, j) nach s, α(i, j) = α1 (i, j) + α2 (i, j). Setze k = k + 1 (k ) Definiere das Segment S (k ) = sij durch (k ) sij ( 1 falls α1 (i, j) = aij > 0, und α(i, j) = c(A), = 0 sonst. Setze A(k ) = A(k −1) − S (k ) Output: S (1) , S (2) , . . . , S (k ) Thomas Kalinowski Zerlegung von Fluenzmatrizen Heuristische Reduktion der Segmentanzahl Input: Fluenzmatrix A, k = 0 Solange A(k ) 6= 0 Setze k = k + 1 Bestimme ein Paar (uk , S (k ) ) mit maximalem uk , so dass A(k −1) − uk S (k ) nichtnegativ ist, c(A(k −1) − uk S (k ) ) = c(A(k −1) ) − u Setze A(k ) = A(k −1) − uk S (k ) Output: (u1 , S (1) ), (u2 , S (2) ), . . . , (uk , S (k ) ) Thomas Kalinowski Zerlegung von Fluenzmatrizen Beispiel 0 0 0 0 0 0 2 3 0 0 0 0 0 0 0 3 3 1 4 6 0 0 2 2 3 4 6 6 3 2 2 3 7 4 8 4 10 4 1 4 9 4 5 6 7 7 8 4 2 1 8 0 6 4 4 5 8 3 1 0 5 2 5 4 4 6 8 2 1 0 0 4 5 2 2 3 8 6 2 0 0 0 8 4 5 7 7 10 0 0 0 0 0 1 10 9 10 9 0 0 Unser Algorithmus liefert eine Segmentierung mit 11 Segmenten und mit DT = 17. Die Rechenzeit ist vernachlässigbar ( 1sek ). Thomas Kalinowski Zerlegung von Fluenzmatrizen Tests auf Zufallsmatrizen 15 × 15−Matrizen mit zufälligen Einträgen aus {0, 1, . . . , L}, (L = 3, . . . , 16) Rechenzeit reine DT-Minimierung: wenige Sekunden für 1000 Segmentierungen Thomas Kalinowski Zerlegung von Fluenzmatrizen Tests auf Zufallsmatrizen 15 × 15−Matrizen mit zufälligen Einträgen aus {0, 1, . . . , L}, (L = 3, . . . , 16) Rechenzeit reine DT-Minimierung: wenige Sekunden für 1000 Segmentierungen mit der Heuristik für die Segmentanzahl: 15 Minuten für 1000 Matrizen maximal 13 Sekunden für eine einzelne Matrix Thomas Kalinowski Zerlegung von Fluenzmatrizen Ergebnisse L 4 6 8 10 12 14 16 DT 21.2 30.3 39.2 48.2 57.2 66.0 74.8 Segmente 18.0 22.6 25.7 28.3 30.5 32.2 33.9 Tabelle: Resultate mit Eliminierung der TG-Unterdosierung. Thomas Kalinowski L 4 6 8 10 12 14 16 TNMU 19.5 27.6 35.7 43.8 51.8 59.8 67.7 Segmente 14.5 17.2 19.1 20.7 21.9 23.0 24.0 Tabelle: Resultate ohne Eliminierung der TG-Unterdosierung. Zerlegung von Fluenzmatrizen Inhalt 1 Das Modell 2 Der Bortfeld–Algorithmus 3 Geräteabhängige Einschränkungen Modellierung Der Algorithmus 4 Zusammenfassung und Diskussion Thomas Kalinowski Zerlegung von Fluenzmatrizen Zusammenfassung Die DT-optimale MLC-Segmentierung von Fluenzmatrizen ist für folgende Fälle sehr effizient möglich. unabhängige Zeilen (Bortfeld) ICC ICC und TGB Die Anzahl der Segmente kann nur für sehr kleine Matrizen exakt minimiert werden. Es gibt aber leistungsfähige Heuristiken zur näherungsweisen Minimierung der Segmentanzahl. Thomas Kalinowski Zerlegung von Fluenzmatrizen Offene Probleme DT-Minimierung für MLCs ohne ICC aber mit TGB. dosimetrische Probleme: Streuungs- und Beugungseffekte, die für kleine Felder relevant werden mathematische Modellierung dieser Effekte Entwicklung eines Segmentierungsalgorithmus, der die Dosimetrie berücksichtigt Thomas Kalinowski Zerlegung von Fluenzmatrizen Schluss Vielen Dank für die Aufmerksamkeit! Thomas Kalinowski Zerlegung von Fluenzmatrizen