Intensitätsmodulierte Bestrahlungsfelder mit geräteabhängigen

Werbung
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
Herunterladen