# Offene Methode: Geometrie, Dosis und Ringvergleich Stand: 21.09.2026. Vollständig lokale, nachvollziehbare Forschungsimplementierung. ## 1. Dosisvorhersage Für eine Position x und gemeinsame Verschreibung R lautet das Modell D_hat(x) = R * clip(F_theta(phi(x, Targets)), 0, 2). F ist ein Histogram Gradient Boosting Regressor mit festgelegten Hyperparametern in `model.new_regressor`. Die acht Eingaben phi sind in `model.FEATURE_NAMES` aufgelistet. Strukturkonturen allein bestimmen diese Eingaben; beobachtete Dosis wird ausschließlich als Trainingsziel bzw. unabhängige Vergleichsdosis verwendet. Das Modellgewicht ist keine einfache geschlossene Formel. Eine transparente, untrainierte radiale Vergleichsheuristik ist zusätzlich in `model.baseline`: außen: D/R = exp(-d / (2.5 + 0.35*r)) innen: D/R = 1 + 0.18 * min(t/r, 1) d ist der Abstand zur rasterisierten Targetoberfläche in mm, t die Eindringtiefe und r der volumenäquivalente Radius des nächsten Targets. Dies ist eine Heuristik, kein physikalisches Bestrahlungsmodell. Der trainierte reine Abstandsvergleich in `train.py` ist davon getrennt. Seeds, Sampling, Training, Foldbildung und Validierung sind im Quellcode und README festgelegt. ## 2. Exploratives Ringverhältnis Anregung ist die vom Nutzer bereitgestellte Vortragsfolie „Brain Sparing Index (BSI)“: Quotient AUC_AI / AUC_plan im relativen Dosisintervall 0.5–0.8 Rx. Autor, Originalpublikation, Ringbreite und genaue Maskierungsregeln konnten aus der Folie nicht festgestellt werden. Die vom Nutzer berichtete Gamma-Knife- Trainingsbasis ist nicht unabhängig verifiziert. Wir behaupten weder eine identische Reimplementierung noch eine Validierung dieses fremden Modells. Das Foto ist nicht Teil des Veröffentlichungspakets. Unsere eigene, explizite Definition je Target T_i ist: S_i = {x außerhalb aller ausgewählten Targets: Abstand(x,T_i) <= 10 mm} A_i(D) = Integral von u=0.5 bis 0.8 über Volumen{x in S_i: D(x)/R >= u} du Q_i = A_i(D_hat) / A_i(D_plan). Die Ringgeometrie basiert auf der ursprünglichen Konturmaske, nicht auf der äquivalenten Kugel. Der Abstand verwendet das in `model.py` dokumentierte Halbvoxel-Oberflächenmodell. Die 10 mm sind eine vorläufige Designentscheidung, kein klinisch validierter Optimalwert. Es gibt keine Beschneidung am Gehirn; deshalb nennen wir dies **geometrisches Ringverhältnis**, nicht automatisch einen Brain-Sparing-Index. Ringe können überlappen und werden nicht summiert. Für voxelweise konstante Dosis ist die Integralformel exakt gleich A_i(D) = voxel_volume_cc * sum(clip(D(x)/R - 0.5, 0, 0.3), x in S_i). So ist keine grobe DVH-Abtastung erforderlich. A hat die Einheit cm³, da über relative Dosis integriert wird. Integration über Gy ergäbe R*A und bei derselben Verschreibung denselben Quotienten. Die algebraische Normierung bedeutet keine klinische Unabhängigkeit von Verschreibung, Fraktionierung oder Technologie. - Q=1: gleiche Ring-AUC; die räumlichen Dosisfelder können trotzdem verschieden sein. - Q>1: kleinere Ring-AUC im hochgeladenen Plan als im Modellbenchmark. - Q<1: größere Ring-AUC im hochgeladenen Plan. - Fehlende Dosisunterstützung, angeschnittener Ring oder Nenner null: kein Quotient. - D98 und V100 stehen daneben. Ein unterdosiertes Target darf nicht allein wegen geringerer Ringdosis als bessere Planung gelten. Keine automatische Rangliste. Die Formel sättigt oberhalb 80% und ignoriert Dosis unterhalb 50% Rx. Sie ersetzt weder Ganzhirn-V12 noch OAR-Metriken, Konformität, Hotspots oder Applizierbarkeit. Die zehn lokalen Testfälle verwenden jeweils die Vorhersage aus einem Modell, das ohne den betreffenden Patienten trainiert wurde. Es ist ein beobachteter Workflow-Benchmark und kein Nachweis der bestmöglich erreichbaren Dosis. ## 3. Nachbauen und unabhängig prüfen 1. Abhängigkeiten aus `requirements.txt` installieren; `python -m pytest -q`. 2. Eigene autorisierte PLAN-RTDOSE/RTPLAN/RTSTRUCT-Paare zusammenstellen. Das Inventarschema und die Auswahl sind in `train.py`/`local_cases.py` nachvollziehbar. 3. `python train.py --fresh --inventory PFAD_ZUM_INVENTAR` ausführen. Patienten statt Voxel trennen; keine Auswahl an zurückgehaltenen Testfällen vornehmen. 4. `python check_resolution.py` und die lokalen API-Prüfskripte ausführen. 5. Für andere Verfahren, Verschreibungen oder Gehirnmasken neue unabhängige Validierung durchführen. Die jetzige Kohorte umfasst Elements-Einzeit-SRS, 18–20 Gy. Gamma-Knife-Erfahrung ist nicht automatisch übertragbar. Der eigene Programmcode und die Dokumentation stehen unter MIT (`LICENSE`). Abhängigkeiten behalten ihre eigenen Lizenzen. DICOMs, private Caches, das Foto und lokal trainierte Modellgewichte erhalten dadurch keine Datenfreigabe. `build_package.py` erstellt das lokale vollständige Hostingpaket sowie zusätzlich ein reines Quellpaket ohne Fallinhalte oder trainiertes Modellgewicht. Mit eigenen berechtigten Daten kann dieses Quellpaket trainiert werden. Ein öffentliches Repository wurde in diesem Arbeitsschritt nicht angelegt.