Sonda e Fluoro - collamaf/SimDaVinci GitHub Wiki
Scopo:
Capire come si comporta la sonda col Fluoro in possibile RGS beta+
Last update: 24-05-2021
Simulazioni:
- Con la simulazione della sonda (
simDaVinci
) ho valutato la risposta della sonda a sorgente e "fondo vicino": - Segnale:
- Volumetto di d=6mm, h=7mm, V=0.2mL
- Fondo vicino:
- Volumetto di d=20mm, h=10mm, V=3.14mL
- Per il "Fondo Lontano" ho usato una simulazione in due step: GAMOS+GEANT:
- GAMOS
- Prendo PET/CT di un paziente con piccola massa tumorale nell'utero
- Modificata a mano per rimuovere anormale captazione di farmaco in utero e vescica (visto che poi sarà cateterizzato)
- Aggiunta a mano una ROI sferica nella zona di interesse
- Gamos genera il F e salva lo spettro di fotoni che attraversa questa sfera e li salva su file di testo
- Questo file di testo è processato da un programma in python che:
- Lo traduce in formato HEP per poter essere usato in GEANT
- Lo concatena n volte per aumentare la statistica
- GEANT
- Uso questo file formato HEP uscito da GAMOS come sorgente di fotoni, piazzando la sonda al suo centro:
./exampleb1 -Source 10 -SourceExtFile "sourceFileModP2_123MBq.txt" -Z -30 -CaseDepth 50 -NPrim 4523120
- Una opportuna normalizzazione mi permette di ottenere, dal classico root file in uscita a geant, la rate attesa da fondo lontano
- Uso questo file formato HEP uscito da GAMOS come sorgente di fotoni, piazzando la sonda al suo centro:
- GAMOS
- I risultati di questi studi sono riassunti in:
Analisi dati ottenuti da PET
- Le efficienze ottenute mediante Monte Carlo sono date in input ad un file excel che le usa per valutare le rate attese nei 30 pazienti studiati al gemelli
Percorso locale:
/Users/chicco/Documents/NewLife/Sonda/Dati/StudiSuDicomRGS/StrumentiSoftwareAnalisiCaptazione/CalcoloTempiGinecoGemelli.xslx
-
Al momento attuale l'ipotesi di lavoro è di iniettare 3MBq/kg di FDG 60min prima delle misure
-
Il file excel produce la lista di coppie (Rate Residuo - Rate Sano) tenendo conto in entrambi i casi della presenza del fondo lontano
-
Questi valori sono dati in pasto al solito programma
FPFN.C
in batch grazie ad un programmino in pythonCalcoloTempiAuto.py
, entrambi in `/Users/chicco/Documents/NewLife/Sonda/Dati/StudiSuDicomRGS/StrumentiSoftwareAnalisiCaptazione/`` -
Questo programma dà in output la lista dei tempi minimi di sampling insieme alla soglia corrispondente, che poi reinserisco a mano nel file excel
-
C'è un programmino in python
PlotGineco.ipynb
in/Users/chicco/Documents/NewLife/Sonda/Dati/StudiSuDicomRGS/StudioGinecoGemelli
che legge direttamente l'excel e crea dei grafici riassuntivi (sono anche abbozzati nel file excel ma meno fichi) ("6x3" e "6x2" sono i risultati per i due diversi tipi di sonde): -
Prossimi passi:
- Scrittura articolo medico:
- Approccio: "la nostra sonda vede talmente bene i positroni che riesce a fare RGS anche con beta+. Fra le possibili limitazioni all'efficacia c'è la variazione del fondo, che richiede uno studio dedicato ad esempio con test in-vivo"
- Scrittura articolo medico:
Cose Capite
- La tecnica potrebbe funzionare per l'ottima sensibilità ai beta, se il tumore è ragionevolemente "esposto"
- Va sicuramente ripensato tutto l'algoritmo di cutoff pensato per il beta meno, visto che ora c'è sempre un fondo ineliminabile e aspecifico
- Utilizzare una sonda più sottile potrebbe avere un senso, perche impatta poco nell'efficienza ai beta (tanto li conteniamo già quasi tutti) e più su quella a fondo vicino e sopratutto lontano:
Cose da capire
- Nuovo algoritmo di cutoff
- Per la simulazione del residuo è più corretto simulare un residuo più grande (al limite usare la stessa simulazione del fondo vicino) andando poi ad analizzare solo i primari originati dalla zona centrale?
- Un primo studio suggerisce cambiamenti del %..
Misure al gemelli del 15-02-2021
Aspettative
- "Matrioska" attorno a "catafalco" per studiare la risposta della sonda ad un "fondo lontano"
- Cose che ci aspettiamo di capire da queste misure:
- Soglia in energia depositata da applicare al MC per avere i risultati sperimentali (quella che era 67keV per il Gallio)
- Validazione della simulazione anche al variare dello spessore del liquido nella "Matrioska"
- Validazione della simulazione variando la soglia:
Analisi Misure Gemelli
- Cosa abbiamo fatto:
- Misura di fondo dark counts:
1.8 CPS
- Riempita "matrioska" con 140mL di acqua (misurata con la bilancia, quantità max per evitare fuoriuscite)
- Inseriti i 5 mL di F18 (attività totale 0.42mCi=15.5MBq @11h09) e mescolato
- Inserito il catafalco (sigillato con scotch da pacchi)
- Scan Fondo 1:
- Avviata scansione automatica: 10s di acquisizione e 10s di attesa prima della misura successiva, per un totale di 100 misure (~30min)
- **Scan Soglia Fondo **:
- Nella stessa configurazione di liquido (145mL) abbiamo variato la soglia: 10s di acquisizione
- Scan Fondo 2:
- Riportata la soglia al valore iniziale (6.2) abbiamo fatto altre misure di fondo: 10s di acquisizione e 10s di attesa prima della misura successiva, per un totale di altre 60 misure (~20min
- Scan Altezza Fluoro:
- Effettuate misure da 60s togliendo ogni volta circa 10mL di liquido (misurazione tramite siringa + check con cilindro graduato), fino ad aver tolto 100mL
- Scan Soglia Segnale:
- Tolto tutto il fluoro dalla matriosca, abbiamo riempito la cavità interna al catafalco con circa 0.5mL di Fluoro e fatto misure da 60s variando la soglia
- **Scan Segnale **:
- Riportata la soglia al valore iniziale (6.2) abbiamo fatto misure sul segnale: 10s di acquisizione e 10s di attesa prima della misura successiva, per un totale di 154 misure (~50min)
- Misura di fondo dark counts:
- Risultati
-
I dati raccolti sono in un file excel:
/Users/chicco/Documents/NewLife/Sonda/Dati/FluoroGemelliFeb2021/MisureFluoroGemelliFeb2021.xlsx
-
Ho poi creato uno script in
jupyther lab
che usa pyroot per fittarli:/Users/chicco/Documents/NewLife/Sonda/Dati/FluoroGemelliFeb2021/AnaFluoro.ipynb
-
Scan Fondo e Scan Segnale:
-
Interpretazione:
- Andamento temporale:
- Ottimo quello dei dati di "segnale", un po' meno il primo run di fondo, probabilmente a causa della termalzzazione del SiPm che era passato da temperatura esterna di qualche grado a 23°
- Accordo con previsione MC:
- Difficile fare confronto preciso per la faticosa misurazione dell'altezza del liquido di F nel contenitore, ma il MC prevedeva per il Fondo una rate da 1830 in giu, quindi direi ottimo accordo!
- Per il segnale invece la rate misurata è un po' sotto quella prevista (~200): possibili fattori:
- Effettivo volume utilizzato nel riempimento della cavità interna
- Errore nell'attività specifica
- (difficile sia colpa della soglia nel monte carlo: la discrepanza è troppa)
- Andamento temporale:
-
- Scan Soglia Fondo:
- Interpretazione:
- Il range di soglia accessibile tramite interfaccia software (5-20mV) corrisponde probabilmente ad un range parecchio ridotto in termini di energia depositata, visto che porta max ad una caduta del 20% del segnale. Infatti la simulazione diceva che:
- Se vogliamo studiare la possibilità di giocare con la soglia bisogna poterla spingere più avanti
- Interpretazione:
- Scan Altezza Fluoro:
- Interpretazione:
- L'andamento è interessante, forse lineare nella parte centrale, sicuramente non nella parte iniziale (destra) e sopratutto nella parte finale, cioè quando resta poco volume
- Questo torna grosso modo con quanto visto nel Monte Carlo, anche se è difficile fare un confronto preciso per la solita storia della misurazione sperimentale dell'altezza del liquido. Tuttavia l'andamento trovato potrebbe tornare con questo grafico:
- Tagliando da destra, prima togli roba in modo marginale, nella parte centrale più massicciamente, e poi togli poco perche il grosso viene da quello che sta sotto la sonda...
- Interpretazione:
- L'andamento è interessante, forse lineare nella parte centrale, sicuramente non nella parte iniziale (destra) e sopratutto nella parte finale, cioè quando resta poco volume
- Questo torna grosso modo con quanto visto nel Monte Carlo, anche se è difficile fare un confronto preciso per la solita storia della misurazione sperimentale dell'altezza del liquido. Tuttavia l'andamento trovato potrebbe tornare con questo grafico:
- Scan Soglia Segnale:
- Interpretazione: - Qui ci siamo fermati presto perche abbiamo visto che al max la rate scendeva di un 15%. Vale lo stesso discorso di sopra (bisogna poter salire di più in soglia)
Riassunto finale misure al gemelli
- Ottimo accordo col Monte Carlo nella rate attesa per le misure di fondo (era lo scopo principale di queste misure!). L'accordo meno buono su quelle di segnale fa sospettare qualche effetto sperimentale (data la geometria, anche una piccola variazione del volume usato come sorgente cambia parecchio l'angolo solido)
- Buon accordo col Monte Carlo anche sullo scan variando altezza liquido, anche se più difficile da quantificare
- Lo scan in soglia pare una tecnica promettente per massimizzare l'STB in caso di fluoro, ma richiede di poter spingere piu avanti il valore di soglia
- Benchmark perfetto per uno studio di questo tipo sarebbe la configurazione con fluoro sia dentro che fuori!
- Prossimi passi
- Possibile pensare una seconda campagna di misure su F al Gemelli, in cui:
- Acquisire le forme d'onda (al posto della rate) per analizzarle poi a posteriori per pensare giochi con la soglia
- Rifare la misura col fluoro dentro il catafalco, cercando di evitare effetti di "bolla"
- Il gioco della soglia potrebbe farsi anche in configurazione "fondo+segnale"..
- L'idea è che una seconda campagna di misure potrebbe darci abbastanza materiale da produrre un articoletto "tecnico", che faccia da spalla a quello Gineco
- Possibile pensare una seconda campagna di misure su F al Gemelli, in cui:
Idee varie
- Giocare sulla soglia potrebbe aiutarci, secondo questo grafico:
L'idea sarebbe che salendo in soglia si uccidono più fotoni di fondo che positroni di segnale. Certo si riducono le rate assolute, ma il rapporto potrebbe essere favorevole..
Misure al gemelli del 19-05-2021
Cosa abbiamo fatto
- Riempita vaschetta (nera) con 140mL di Acqua
- Svuotata al suo interno siringa F18 e mescolato:
- 0.41 mCi @11.02 del 19-05-21 in ~5mL
- Con la stessa siringa abbiamo estratto ~1mL per usarlo poi all'interno del contenitore
- Impostazioni:
- Soglia 4 mV
- Divisione segnale 20 mV
- Divisione tempo 100 ns
- Fondo Lontano
- Acquisite ~100k forme d'onda
- Fatto tentativo con soglia più bassa (2mV) per vedere se saliva la spike a bassa energia
- Segnale
- Tolta la matriosca dalla vasca
- Riempito l'interno della matriosa, tenuto fuori dalla vasca
- Acquisite ~70k forme d'onda
- Segnale + Fondo Lontano
- Inserita matriosca nella vasca
- Acquisite XXk forme d'onda
- "TAPPO" = Fondo Vicino + Fondo Lontano
- Tolta matriosca da vasca
- Inserito tappo in PVC
- Inserita matriosca nella vasca
- Acquisite XXk forme d'onda
- RISULTATI
Comprensione
Cose capite
- Come atteso il rapporto segnale rumore migliora all'aumentare della soglia:
- Questo significa che aumentando la soglia si uccidono più eventi di fondo (fotoni) che di segnale (positroni)
- L'effettiva utilità di questo fenomeno dipende però dalla rate assoluta con cui abbiamo a che fare nel dato contesto
- È palese che con soglia infinita se conto 1 è da positrone.. ma se conto 1 non ci faccio niente :D
Cose da capire
- Perche nei dati gli spettri sembrano partire da 8mV, quando la soglia era impostata a 4mV?
- Questo ha un ruolo fondamentale e va capito, perche altrimenti mi è difficile cercare la "calibrazione" fra mV e energia depositata nel MC..