sistemi matematico-fisici per la ricerca di noduli polmonari in
Transcript
sistemi matematico-fisici per la ricerca di noduli polmonari in
UNIVERSITÀ DEL SALENTO FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE, NATURALI CORSO DI LAUREA IN FISICA TESI DI LAUREA TRIENNALE SISTEMI MATEMATICO-FISICI PER LA RICERCA DI NODULI POLMONARI IN IMMAGINI CT Relatore: Ch.mo Dott. GIORGIO DE NUNZIO Correlatrice: Dott.ssa ELEONORA TOMMASI Laureanda: ALESSANDRA PATERA Anno Accademico 2006-2007 Alla mia famiglia SOMMARIO Introduzione I CAP. 1. SISTEMI CAD E SEGMENTATORE 1 1.1 CAD per la diagnosi precoce delle neoplasie polmonari. 5 1.2 Struttura a stadi di un sistema CAD: 5 1.3 Qualità di un CAD: sensibilità e specificità 6 1.4 Curve ROC e curve FROC 8 1.5 Tomografia Computerizzata (CT) 9 1.6 formato DICOM 10 1.7 Segmentazione 12 1.7.1 Individuazione di una soglia grossolana 13 1.7.2 Segmentazione apparato respiratorio 14 1.7.3 Estrazione albero bronchiale esterno 15 1.7.4 Costruzione di una superficie di separazione 16 1.7.5 Inclusione noduli: chiusura 3-D. 17 1.8. Conclusioni. 18 CAP. 2. RICERCA DEI NODULI: GLI STRUMENTI DI CALCOLO 19 2.1 Tipologie di noduli polmonari 19 2.2. Region Growing (RG) 21 2.2.1.Tipologie di connessione. 25 2.2.2.Esempio di region growing. 27 2.2.3.Campi applicativi. 28 2.2.4.Vantaggi e svantaggi dell’uso del region growing. 29 2.3. Nodule Hunter (NH) 30 2.4. Concetto di maschera 35 2.5. Gold standard. 36 2.6. Riduzione dei falsi positivi 36 2.7 Prestazione dei classificatori 37 2.8 Curva ROC 39 2.9 Curva FROC 44 iii CAP. 3. ANALISI STATISTICA PRELIMINARE DEI RISULTATI 46 3.1. Applicazione del Nodule Hunter 46 3.2. Studio della sensibilità del Nodule Hunter 50 3.3. Risultati finali 52 3.4. Istogramma delle caratteristiche 53 3.5. Classificazione 58 CONCLUSIONI E PROSPETTIVE 62 BIBLIOGRAFIA 63 RINGRAZIAMENTI 65 iv INTRODUZIONE Obiettivo del mio lavoro di tesi è la realizzazione di un sistema CAD (Computer Assisted Detection) per la ricerca di lesioni tumorali in immagini diagnostiche CT (Computed Tomography) del torace. Un CAD è un software di analisi automatizzata di immagini biomediche, basato su modelli e algoritmi matematico-fisici applicati alla medicina, la cui finalità è essere d’ausilio alla diagnosi effettuata dal medico. Un sistema di questo tipo può rivestire un ruolo fondamentale come supporto alla diagnosi medica, nella distinzione tra struttura anatomica e formazioni patologiche, ben inserendosi sia all’interno di una politica di screening (come primo lettore), sia nella tradizionale pratica clinica (secondo lettore). Nel caso specifico dello screening, l’uso di sistemi automatici per l’analisi di immagini mediche è di importanza vitale data l’ingente quantità di dati da analizzare. In particolare, ho rivolto la mia attenzione all’utilizzo di un algoritmo, noto con il nome di Nodule Hunter (NH), finalizzato alla ricerca di regioni di interesse nelle immagini diagnostiche e, nel caso specifico, dei noduli polmonari. Esso è basato sull’applicazione iterativa di un algoritmo di processamento di immagini, noto come Region Growing (RG). Obiettivo finale è l’individuazione automatica dei noduli nelle immagini tomografiche e caratterizzazione delle loro proprietà, quali volume, sfericità e raggio. Contesto Il lavoro si inserisce nelle linee di Ricerca del Progetto MAGIC-5 (Medical Applications on a Grid Infrastructure Connection) del Gruppo V dell’Istituto Nazionale di Fisica Nucleare (INFN). Il progetto MAGIC-5 mira allo sviluppo di sistemi software CAD per applicazioni mediche ed è in particolare finalizzato a: • algoritmi di analisi di immagini mammografiche, e individuazione automatica di masse neoplastiche e microcalcificazioni • algoritmi di analisi di immagini CT polmonari, e ricerca in esse di noduli tumorali • individuazione, in immagini PET e MRI (Magnetic Resonance Imaging) del cervello, della malattia di Alzheimer in stadio precoce. • diffusione di database distribuiti di immagini di diagnostica, in particolare CT del polmone e MR del cervello • sviluppo della tecnologia Grid in ambito medico-diagnostico, I L’obiettivo di interesse di questa Tesi è l’implementazione, la validazione e il confronto di sistemi CAD polmonari. Lo sviluppo di un sistema di questo tipo si scinde in due stadi fondamentali: • la segmentazione del volume polmonare, al fine di ottenere un miglioramento delle prestazioni degli algoritmi preposti all'individuazione di eventuali noduli, limitando il volume entro il quale deve essere effettuata la ricerca e riducendo sia i tempi di calcolo che la frazione di falsi positivi • la realizzazione, validazione e confronto di algoritmi di ricerca dei noduli, in grado di individuare lesioni anche di tipo pleurico (a contatto con la pleura polmonare). La mia Tesi si propone di dare un contributo al progetto MAGIC5, attraverso l’applicazione di un algoritmo di ricerca dei noduli e classificazione degli stessi. Il mio apporto al lavoro di Tesi si è sviluppato su diversi fronti: • ricerche bibliografiche sul funzionamento dei CAD e dei suoi diversi stadi • studio degli stadi già esistenti, il segmentatore e il Nodule Hunter, in vista della loro applicazione rispettivamente per il preprocessing e la ricerca delle regioni di interesse nel parenchima polmonare • partecipazione al lavoro di sviluppo effettuato in ambiente root nel corso della stesura delle macro, per il test delle medesime ed il debugging • analisi sistematica dei risultati dell’applicazione del Nodule Hunter • individuazione delle feature più discriminanti per la classificazione delle regioni di interesse, tramite grafici realizzati in ambiente MATLAB • analisi dei risultati della classificazione dei candidati noduli del set di test, e valutazione della bontà del sistema CAD così ottenuto. Struttura della Tesi Dopo una trattazione schematica dei sistemi CAD, la Tesi descrive brevemente il software di segmentazione implementato presso la sezione MAGIC5 di Lecce utile ai fini della successiva ricerca dei noduli. Ci si addentra quindi nella descrizione dettagliata del contributo personale apportato e dei risultati ottenuti. Il primo capitolo offre una descrizione generale dei sistemi CAD, sottolineandone l’importanza nell’ambito di programmi di screening e nella tradizionale pratica clinica. Ne spiega la struttura, con II particolare attenzione alla fase di segmentazione (delineazione) del volume polmonare, al fine di ridurre il numero di falsi positivi (regioni sane erroneamente identificate come patologiche) e i tempi di calcolo dei successivi stadi di ricerca dei noduli. In particolare, dà una sommaria descrizione del segmentatore polmonare realizzato presso la sezione MAGIC5 di Lecce, fornendo una breve descrizione delle sue fasi di funzionamento. Il secondo capitolo procede con la trattazione delle diverse tipologie di noduli polmonari (interni, pleurici e subpleurici). Si sofferma quindi sulla descrizione dell’algoritmo di Region Growing (RG), su cui si basa il sistema di ricerca dei noduli adottato e noto come Nodule Hunter (NH). Di questo è indicato il principio di funzionamento, l’implementazione, le soglie adottate, esempi e campi applicativi. Si introduce poi il problema del gold standard, ovvero la necessità di avere delle refertazioni mediche da poter considerare come riferimento ai fini della valutazione dei sistemi algoritmici realizzati. Vengono infine esposti alcuni strumenti di valutazione dell’efficienza del CAD, quali la sensibilità, la specificità, le curve ROC e FROC. Il terzo capitolo, applica gli strumenti precedentemente descritti e, in particolare, si sofferma su: (a) l’analisi della sensibilità del Nodule Hunter in termine di inclusione dei noduli, con particolare attenzione alle diverse e specifiche tipologie di nodulo (interno, pleurico, sub-pleurico; (b) la scelta delle feature per la classificazione, quali raggio, volume, sfericità delle regioni di interesse identificate, che permettano di discriminare tra nodulo e falso positivo; (c) la valutazione del grado di efficienza del sistema CAD ottenuto. Seguono Conclusioni, Bibliografia e Ringraziamenti. III CAP.1. SISTEMI CAD E SEGMENTATORE Il tumore si configura oggi come una delle principale cause di morte nelle grandi potenze industrializzate, come Stati Uniti1, Europa2, Giappone, secondo solo ai disturbi cardiovascolari. Originatosi da singole cellule, in seguito a mutazioni in uno dei tessuti dell’organismo, il tumore si sviluppa come formazione di una popolazione anomala di cellule somatiche che proliferano in modo incontrollato. I tumori possono essere distinti in "primitivi", se originatesi all’interno dell’organo, o "secondari", come estensione o metastasi (ripetizioni a distanza) di forme tumorali insorte in altri organi. A livello clinico, si distinguono due tipologie di tumori: • Tumore benigno: si verifica quando l’espansione della neoformazione comprime solo i tessuti confinanti, senza inglobarli; • Tumore maligno: in questo caso, c’è infiltrazione nei tessuti circostanti con successiva distruzione delle cellule. Dalla sede di origine invade l’organismo per via linfatica, sanguigna o per lo sviluppo di propaggini limitrofe, portando alla formazione di agglomerati neoplastici in altre sedi dell’organismo (metastasi) anche a grande distanza. Un’altra importante classificazione è realizzata sulla base del tessuto d’origine: a questo scopo si veda la Tabella sottostante Tabella 1 Tessuto di origine del tumore Tipologia Nomenclatura Epitelio Tumori benigni Papillomi Adenomi Tumori maligni Epiteliomi Carcinomi Connettivo Tumori benigni Fibroma (tessuto connettivo fibroso) Lipomi (tessuto adiposo) Mixomi (tessuto mucoso) Condriomi (tessuto cartilagineo) Osteomi (tessuto osseo) Tumori maligni Sarcomi (tessuto con. embrionale) Muscolare Leiomiomi (tessuto muscolare liscio) Nervoso Nevromi Vasi Angiomi (da vasi sanguigni) Rabdomiomi (tessuto muscolare striato) Gliomi Linfangiomi (da vasi linfatici) Tessuti Multipli Embrioni Tumori misti Teratomi -1- Nel caso particolare dei polmoni, l’epidemiologia attuale del tumore descrive una situazione di estrema serietà, legata all’alto tasso di mortalità della malattia3 e alla quasi totale assenza di sintomi specifici. L’interpretazione corretta di un esame radiologico dipende dalla qualità delle immagini prodotte e dall’abilità del radiologo nel rivelare e interpretare gli eventuali segnali di patologie presenti. Mentre le tecniche di generazione e acquisizione delle immagini sono giunte ad un notevole livello di sofisticazione, nell’interpretazione delle stesse il radiologo ha cominciato solo recentemente a ricevere aiuto dalla tecnologia, per mezzo di sistemi CAD (Computer Assisted Detection/Diagnosis). Scopo dei CAD è fornire al radiologo un ausilio nel rilevare e classificare anche i più nascosti segni di anomalie, attraverso la formulazione di un “secondo parere”, il meno possibile legato alla soggettività e all’esperienza umana. Nel 1996 la Chicago University promosse un esperimento4 con l’obiettivo di verificare l’effettiva capacità di un CAD di aumentare l’accuratezza della diagnosi. Nell’esperimento fu coinvolto un gran numero di radiologi di diverse estrazioni. Furono preparate venti radiografie del torace contenenti ciascuna un nodulo polmonare, e altre venti prive di lesioni. Ai partecipanti venne assegnato il compito di esaminare ciascuna radiografia ed emettere un giudizio, attraverso lo spostamento di un cursore lungo una barra a video, indicativo del grado di sicurezza che nell’immagine fosse presente un nodulo. Una volta acquisito il giudizio sulla radiografia corrente, il sistema attivava gli algoritmi per la ricerca automatizzata dei noduli. Il CAD esplicitava poi la propria ipotesi facendo comparire delle frecce nelle zone che riteneva ospitassero lesioni. L’osservatore veniva infine invitato a correggere eventualmente il proprio giudizio tenendo presente i risultati espressi dal CAD. Nelle figure seguenti si riportano gli esiti dell’esperimento prima dell’attivazione del CAD e dopo. Il significato del termine “area sotto la curva ROC” risulterà chiaro da quanto si dirà nel seguito. Per ora basti sapere che questo valore è sempre minore o uguale a 1, ed è tanto maggiore quanto più accurato è il sistema diagnostico. La tabella 2, che segue le figure, riporta i valori medi dell’area sotto la curva ROC, espressi da ogni gruppo di osservatori, con e senza l’ausilio del CAD. Si vede dalle figure che l’impiego del CAD “sposta” il diagramma a barre verso valori di accuratezza diagnostica vicini a 1. Analoga conclusione (aumento dell’accuratezza con l’uso del CAD) è deducibile dalla tabella. -2- Figura 1. Percentuale di osservatori in funzione del grado di accuratezza della diagnosi (senza CAD) Figura 2. Percentuale di osservatori in funzione del grado di accuratezza della diagnosi (con CAD) CATEGORIA N° SOGGETTI AREA CURVA ROC AREA CURVA ROC SENZA IL CAD CON IL CAD Radiologi del torace 23 0.825 0.889 Radiologi generici 54 0.810 0.876 Radiologi tirocinanti 27 0.774 0.855 Non radiologi 42 0.697 0.808 Tabella 1 -3- Una scala di giudizio indicativa spesso adoperata5, basata sul valore dell’area sottesa dalla curva ROC, è riportata in Tabella 2: 0.9 – 1.0 = eccellente (A) 0.8 – 0.9 = buono (B) 0.7 – 0.8 = sufficiente (C) 0.6 – 0.7 = scarso (D) 0.5 – 0.6 = pessimo (F) Tabella 2 Come era lecito aspettarsi, l’accuratezza delle rilevazioni è coerente con il grado di esperienza e preparazione di ogni gruppo di osservatori. L’importanza rivestita dai sistemi CAD è legata al fatto che l’analisi di un esame diagnostico non è un’operazione semplice. Nel caso che interessa questa Tesi, ossia quello della CT (Computed Tomography), ciascuna scansione toracica ad alta risoluzione consiste anche di trecento “fette” (slice), ovvero immagini bidimensionali, da esaminare. Il radiologo riesce generalmente ad analizzare nell’ambito della sua giornata lavorativa circa otto esami, e non è da escludere, data la similarità in termini di densità tra noduli e vasi sanguigni, la possibilità di cadere in errore, che ad oggi si stima essere intorno al 30%6. Sostanziale è l’ausilio offerto, in termini di riduzione degli errori, dalla metodologia della doppia lettura7 : dato il costo eccessivo che avrebbe l’analisi di ciascuna scansione da parte di due diversi radiologi, di cui il Sistema Sanitario Nazionale non potrebbe farsi carico, diviene basilare l’utilizzo del sistema CAD, come evidenziato nell’esperienza del 1996, come secondo lettore; il CAD fornisce cioè al medico una “seconda opinione” nella rilevazione di neoplasie nella pratica clinica. Un CAD può anche essere usato come primo lettore all’interno di programmi di screening di massa, di fronte all’ingente quantità di immagini da analizzare, al fine di richiamare l’attenzione del medico prioritariamente sulle immagini contenenti con maggiore probabilità un tumore. Un sistema CAD sembra essere in grado, dunque, di ridurre incertezze ed errori del medico nell’analisi di un esame, e di garantire al paziente un più alto grado di precisione diagnostica. Nei paragrafi seguenti sarà presentata una breve descrizione delle caratteristiche generali, struttura ed efficienza di un sistema CAD, con particolare riguardo al CAD polmonare. -4- 1.1 CAD per la diagnosi precoce delle neoplasie polmonari. L’introduzione di software CAD in ambito medico sembra di grande importanza sia per favorire la diagnosi precoce, sia per ridurre gli errori umani. Obiettivo dell’utilizzo di sistemi in grado di fornire risultati più affidabili nella diagnosi precoce, è la riduzione del tasso di mortalità. Nel caso particolare del carcinoma polmonare, infatti, la possibilità di sopravvivenza dei soggetti colpiti è in gran parte legata alla diagnosi precoce. A supportare quest’affermazione sono le conoscenze odierne circa l’evoluzione naturale della malattia: da semplice patologia locale, il tumore tende con il tempo a diventare sistemico, diffuso in tutto l’organismo mediante stadi di metastatizzazione, e sempre più difficilmente curabile. In generale un sistema CAD mira all’individuazione di lesioni, quali i noduli polmonari, e alla classificazione delle stesse in benigne e maligne. Quando il radiologo esprime un giudizio sulla possibile locazione dei noduli, il numero delle neoplasie non correttamente rilevate può essere notevolmente ridotto tenendo conto del giudizio aggiuntivo restituito dal CAD, che non pretende quindi di sostituire il radiologo ma solo di coadiuvarlo. 1.2 Struttura a stadi di un sistema CAD: Generalmente un software CAD operante su immagini diagnostiche consiste di tre stadi fondamentali: (a) una fase di preprocessamento dell’immagine, (b) la definizione e il calcolo di feature (caratteristiche distintive, discriminanti nel riconoscimento di tessuti sani e patologici) in tutto il tessuto o in zone di interesse, e infine (c) uno stadio di classificazione finalizzato alla distinzione tra “patterns” anomali e normali. Schematicamente e con maggior dettaglio: a. fase di preprocessamento: dopo uno stadio di pulizia dell’immagine dal rumore, si ha una fase di circoscrizione, mediante segmentazione, del volume da sottoporre a successiva analisi per l’individuazione di zone di interesse (ROI, Region Of Interest, o VOI, Volume Of Interest), che per le loro apparenti caratteristiche anatomico-morfologiche potrebbero ospitare una lesione; b. definizione e calcolo delle feature: si tratta di un indagine locale delle caratteristiche dell’immagine preprocessata. Tra le peculiarità che emergono dallo studio, zona per zona, della scansione, largamente utilizzate sono dimensione, densità, regolarità del bordo di una regione. Ancora, ampiamente adottata è la sfericità, parametro indicativo della somiglianza -5- ad una sfera; una elevata sfericità è indicativa, ad esempio, della probabile presenza di patologie. In questo contesto diviene importante minimizzare il numero di attributi distintivi in grado di differenziare le lesioni dalle normali strutture anatomiche; c. analisi delle feature e classificazione: è una fase che consente di analizzare e classificare i dati portando, ad esempio tramite l’utilizzo di reti neuraliI opportunamente “addestrate”, a distinguere le zone di interesse tra sane e malate. Il flusso di calcolo seguente mostra la catena dettagliata di operazioni che parte (nel caso che interessa questa Tesi) da una scansione di tomografia computerizzata, e giunge a fornire in output un elenco di ROI candidate nodulo: INPUT: immagine CT o Preprocessamento Pulizia dal rumore; o Segmentazione Delimitazione del tessuto da analizzare; o Localizzazione ROI Identificazione zone potenzialmente malate; o Estrazione feature Determinazione di caratteristiche distintive; o Classificazione Distinzione in zone malate e sane. OUTPUT: lista di candidati noduli con relative probabilità di malignità 1.3 Qualità di un CAD: sensibilità e specificità Data l’importanza di un sistema CAD in contesti di screening o come strumento di supporto nella tradizionale pratica clinica, diviene essenziale riuscire a pervenire ad alti livelli di qualità, che ne garantiscano la funzionalità. Gli elementi che indicano il livello di prestazione di un tale sistema sono essenzialmente tre: 1. sensibilità; 2. specificità; 3. tempo di elaborazione. I Una rete neurale è un sistema di classificazione basato sulla simulazione del sistema neuronale; essa è formata da un gran numero di unità indipendenti, connesse le une alle altre mediante dei collegamenti. Ciascun collegamento è caratterizzato da un peso, che è opportunamente modificato dagli algoritmi di apprendimento. Si tratta di un metodo di classificazione supervisionata. -6- Mentre il terzo elemento non necessita di particolari spiegazioni (è evidente l’importanza di minimizzarlo ai fini dell’efficace applicazione del sistema), i primi due meritano una dettagliata descrizione. Predisposto un campione dì immagini in cui vengono indicate dal CAD le regioni potenzialmente patologiche, si considera un test di riferimento (denominato gold standard) perfettamente efficace nello stabilire se una regione indagata è malata o sana. Può essere ad esempio il caso di un esame istologico. Si definiscono: TP (True Positive, “veri positivi”): regioni malate (secondo il gold standard) correttamente valutate dal CAD come patologiche; TN (True Negative, “veri negativi”): regioni sane in cui il CAD correttamente non evidenzia anormalità; FP (False Positive, “falsi positivi”): regioni sane erroneamente identificate dal CAD come malate; FN (False Negative, “falsi negativi”): regioni malate erroneamente considerate sane. E’ allora possibile valutare i seguenti parametri: o sensibilità: rapporto tra il numero di regioni in cui è stata correttamente identificata dal CAD una formazione tumorale (campioni “veri positivi” TP) e il numero complessivo di regioni in cui la patologia è stata accertata tramite il gold standard: Sensibilità = TP / ( TP + FN ) o specificità: rapporto tra il numero di zone correttamente identificate dal CAD come sane (campioni “veri negativi” TN) e il numero totale di regioni in cui è il gold standard assicura l’assenza di patologie: Specificità = TN / ( TN + FP ) Ad un test diagnostico si richiedono alti valori di sensibilità e specificità, il primo al fine di rilevare tutte le lesioni e il secondo per ridurre il numero di falsi positivi (e quindi di “falsi allarmi” per il paziente). -7- 1.4 Curve ROC e curve FROC Per valutare l’efficienza di un sistema CAD, è usuale riportare in un diagramma cartesiano dei punti di coordinate pari a “1-specificità” sull’ascissa e “sensibilità” sull’ordinata, ottenendo dei punti nel cosiddetto spazio ROC (Receiver Operating Characteristic). Siccome il sistema di classificazione usualmente dipende da un valore di soglia (che “decide” la probabilità in output al di sopra della quale una ROI è considerata un nodulo, e influisce su sensibilità e specificità) questi punti variano al variare del valore di soglia, e descrivono nello spazio ROC una curva (“curva ROC”). Il punto di lavoro del CAD (e quindi la soglia) viene normalmente scelto in base alle esigenze diagnostiche. Si daranno maggiori chiarimenti a riguardo nel secondo capitolo. Intanto, in figura si possono osservare tipici andamenti di curve ROC relativi a differenti livelli di accuratezza: Figura 3. Esempi di curve ROC relative a livelli di accuratezza diversi (TPF = True Positive Fraction, pari alla sensibilità; FPF = False Positive Fraction, pari a 1-specificità. Per avere una stima più espressiva dei falsi positivi, accanto all’analisi ROC si procede tramite la cosiddetta analisi FROC, nella quale il grafico indicativo dell’accuratezza di diagnosi prevede sull’ascissa il numero di falsi positivi per immagine; in figura è rappresentato un esempio di curva FROC: -8- Figura 4. Esempio di curva FROC 1.5 Tomografia Computerizzata (CT) I dati di interesse di questo lavoro di Tesi provengono da sistemi di acquisizione medica per Tomografia Assiale Computerizzata. La tomografia assiale computerizzata8, indicata con l'acronimo TAC, TC, o CT (dall'inglese computed tomography), è una metodica diagnostica per immagini, che sfrutta radiazioni ionizzanti (raggi X) e consente di riprodurre sezioni (tomografie) corporee del paziente ed elaborazioni tridimensionali. Una scansione CT toracica ad alta risoluzione consta in genere di circa 300 slice (fette), ciascuna delle quali formata da una matrice i cui elementi corrispondono ad elementi di volume (detti voxel) del tessuto esaminato. A ciascun voxel è assegnato un valore, visualizzato poi come tonalità di grigio, e indicato come “numero CT” o “numero di Hounsfield”9 (espresso in Hounsfield unit, HU), e legato alla media dei valori di attenuazione della radiazione X del voxel. Il numero CT(x,y) di ogni pixel (x,y) dell’immagine è: CT ( x, y ) = 1,000 µ ( x, y ) − µ water µ water dove µ rappresenta il coefficiente di assorbimento del tessuto relativo al voxel e il numero 1000 è detto “costante di ingrandimento”. Nella scala di Hounsfield sono assegnati differenti valori a seconda della densità dei vari tessuti, e sono presi come riferimento quelli relativi all’aria (-1000 HU) e all’acqua (0 HU). Il range del numero CT per i tessuti del corpo umano è circa compreso tra -1000 e 3000 (HU); le aree riempite da agenti di contrasto hanno valori superiori a 3000 HU. -9- Tipicamente ogni slice, immagazzinata in un file singolo, ha risoluzione 512x512 pixel ed è caratterizzata dall’allocazione di 16 bit/voxel per contenere il numero di Hounsfield. In questo modo è possibile ricoprire un intervallo di densità tale da descrivere le varie tipologie di tessuto presenti in un’immagine CT. Non essendo l’occhio umano in grado di apprezzare una varietà così ampia di toni di grigio, i software che lavorano su immagini CT permettono al medico di scegliere la finestra di tonalità da osservare (in base alla densità del tipo di tessuto interessato) che viene rimappata su una scala di 256 tonalità, risoluzione vicina a quella tipica dell’occhio umano (che copre circa un centinaio di sfumature dal nero al bianco). 1.6. formato DICOM Lo standard DICOM6 (Digital Imaging and COmmunications in Medicine, immagini e comunicazione digitali in medicina) consente di definire i criteri migliori per la comunicazione, la visualizzazione, l’archiviazione e la stampa di informazioni di tipo bio-medico, quali radiografie, scansioni CT, MR (Magnetic Resonance) e ultrasoniche. E’ uno standard di larga diffusione in quanto permette un completo interscambio di informazioni tra apparecchiature di ambito biomedico di diversi produttori. Le immagini radiologiche, archiviate secondo lo standard DICOM sotto forma di file, vengono comunemente indicate come “immagini DICOM”. Figura 5. Esempio di ipotetico file DICOM, con un dettaglio dell’header contenente i metadati. - 10 - Un file DICOM è costituito da un’intestazione (header), dai dati relativi ai pixel della scansione, e dai metadati, ovvero informazioni relative al nome e al sesso del paziente, al tipo di scansione, alle dimensioni dell’immagine, al nome dell’ospedale in cui essa è stata acquisita etc... I dati dei pixel possono essere: • bidimensionali se si tratta di un’immagine singola quale una radiografia o un’ecografia; • tridimensionali se si tratta di un volume (TAC, RM) oppure se la scansione è bidimensionale ma diversi fotogrammi (frame) temporali sono immagazzinati nello stesso file; • a quattro dimensioni se si tratta di un volume ma il file memorizza diversi frame tridimensionali registrati in istanti diversi. Per identificare un set di file DICOM e facilitare l’accesso alle informazioni poste all’interno dei singoli file, lo standard DICOM definisce il ‘Basic Directory Information Object Definition’. Il set di file è quindi spesso accompagnato dal file DICOMDIR, implementazione del Basic Directory IOD: un file indice che referenzia i singoli file contenenti la singola fetta; agisce quindi come “directory” di un file DICOM contenente una gerarchia completa dei quattro livelli (PATIENT --> STUDY --> SERIES --> IMAGE), come mostrato in Figura 4: Figura 6. Esempio di un archivio DICOM organizzato secondo la gerarchia (PATIENT --> STUDY --> SERIES --> IMAGE) - 11 - 1.7 Segmentazione Due fasi fondamentali per l’applicazione dei successivi stadi di analisi e ricerca dei noduli del CAD sono preprocessamento e segmentazione. Durante il preprocessamento, i valori dei pixel vengono elaborati/manipolati al fine di eliminare il rumore e facilitare l’individuazione dell’eventuale tessuto malato/formazioni patologiche. In questo contesto l’efficienza del filtro di pre-processing è di estrema importanza poiché tutte le aree di interesse scartate in questa fase non possono essere più recuperate nei successivi stadi di analisi. Tra gli stadi di un software CAD una fase essenziale, come accennato, è rappresentata dalla segmentazione, che consente di delimitare il volume da sottoporre ad una successiva analisi per la ricerca di patologie. Questo passo agevola il lavoro in termini sia di tempo di elaborazione, sia di riduzione del numero di falsi positivi; applicando i successivi algoritmi di analisi infatti su zone ristrette dove esiste la reale possibilità di individuare un nodulo, si avranno risultati migliori in tempi minori. Scopo della segmentazione è effettuare un processo di partizione dell'immagine in regioni omogenee, sulla base di determinati criteri di appartenenza di un pixel ad una regione. Esistono diversi approcci alla segmentazione, tra i quali: Split and Merge6: procedura basata sulla suddivisione dell’immagine in un insieme di regioni disgiunte e omogenee; Region Growing (RG): tecnica che, partendo dalla scelta di un pixel di partenza adatto al tipo di regione da crescere, vi aggrega via via i pixel dell’immagine soddisfacenti a precisi criteri di omogeneità. Questo algoritmo ha lo scopo di individuare, in un’immagine bidimensionale o in un volume discreti, una regione connessa che verifichi determinate proprietà (“regola di inclusione”), dato un punto sicuramente ad essa appartenente (il “seme”, o seed point). Data l’importanza che questa tecnica riveste per il lavoro di questa Tesi, se ne daranno ampi dettagli in seguito. Aspetto fondamentale di un segmentatore è il fatto che l’output dello stadio di segmentazione diverrà input della successiva fase di estrazione delle features e di classificazione, come detto nel paragrafo 1.1. In particolare il segmentatore polmonare realizzato presso la sezione MAGIC510 di Lecce è così strutturato11: - 12 - Analisi dell’istogramma di valori di grigio per l’individuazione di una soglia “grossolana“ Region Growing 3D per la segmentazione dell’intero sistema respiratorio Wavefront algorithm per la ricostruzione dell’albero bronchiale esterno Creazione di una superficie di separazione per la risoluzione dell’ eventuale problema della “fusione” polmonare e crescita dei singoli polmoni Closing 3D su ciascun polmone per l’ “eliminazione” dei buchi lasciati dai vasi e l’inclusione dei noduli interni e pleurici 1.7.1 Individuazione di una soglia grossolana L’individuazione di un valore grossolano di soglia11 costituisce la prima fase di sviluppo del software di segmentazione. Esso consente di distinguere la regione parenchimale dalle altre, grazie ai diversi valori di densità. Mentre la struttura parenchimale è rappresentata da un valore medio di densità basso e quindi da toni di grigio molto scuri, la zona circostante presenta una densità più alta, che rende evidente il contrasto tra le due parti (figura). Figura 7. Tipica slice CT toracica - 13 - Per distinguere il tessuto polmonare dalle altre strutture si ricorre all’analisi dell’istogramma dei livelli di grigio (noto anche come “istogramma delle intensità”) di una slice “centrale”della scansione, che mostra la distribuzione dei valori di grigio presenti nell’immagine sottostante: Figura 8. Tipico istogramma dei toni di grigio di una slice di CT polmonare Nel diagramma i pixel relativi alle zone scure sono addensati nella parte sinistra dell’asse, mentre quelli delle zone chiare sono situati nella parte destra. Si ottiene così un tipico andamento bimodale, caratterizzato da due picchi principali; quello di sinistra include il parenchima polmonare, i bronchi principali e l’aria circostante, quello di destra i vasi, i muscoli ed eventuali noduli. Sulla base di tale distribuzione bimodale6 risulta semplice la determinazione di una soglia in grado di separare le zone chiare da quelle scure. 1.7.2 Segmentazione dell’apparato respiratorio Il valore di soglia determinato nello stadio precedente verrà sfruttato nell’algoritmo di region growing per la crescita dell’intero apparato respiratorio. Scegliendo il seme in una zona opportuna dell’immagine è infatti possibile la segmentazione, mediante algoritmo di region growing, di trachea, bronchie parenchima. Nella figura seguente è riportata un’immagine del sistema respiratorio segmentato ottenuto tramite il region growing: - 14 - Figura 9: sistema respiratorio segmentato tramite Region Growing. 1.7.3 Estrazione dell’albero bronchiale esterno Nella fase di segmentazione polmonare, un aspetto decisivo è la distinzione tra parenchima e albero respiratorio, nonostante la difficoltà legata al range di intensità di grigi molto simile nelle due strutture. Non separando accuratamente le due zone si rischia di incontrare grosse difficoltà, quale quella di avere un’apparente “fusione”12 tra differenti organi, quale ad esempio di un bronco o della trachea con un polmone, con la conseguente erronea individuazione e classificazione di questi ultimi. Per ovviare a tali problemi, si è proposta una tecnica, quella della individuazione e rimozione della struttura bronchiale esterna che consente oltre a rendere la segmentazione più accurata anche, tramite una riduzione del volume di analisi, di accelerare i tempi di calcolo dei successivi algoritmi di ricerca dei noduli. L’algoritmo proposto13 si basa su una tecnica alternativa del region growing, che combina i principi fondamentali del metodo tradizionale con un modello di simulazione del fronte d’onda. L’idea base del modello è la propagazione, a partire da un seed point di un fronte d’onda, definito come luogo dei voxel equidistanti dal seed. Si lascia avanzare il fronte d’onda che penetra nell’albero bronchiale, ripartendosi tra i rami e si analizza l’andamento del volume occupato dalle sue parti. Quando il fronte d’onda entra nel parenchima polmonare, si osserva un improvviso - 15 - aumento del suo volume (“esplosione”). Ciò consente di bloccare la propagazione in quel ramo e di individuare il punto in cui “sezionare” il bronco, mettendo un “tappo” al polmone. 1.7.4 Costruzione di una superficie di separazione tra i polmoni Un problema che si incontra spesso nell’analisi di un’immagine CT polmonare è quello della apparente “fusione” dei due organi in un unico oggetto. La giunzione di separazione, infatti, è spesso sottile e di debole contrasto, sia a livello della zona anteriore che posteriore, con conseguente difficoltà in fase di segmentazione del parenchima. Figura 10. Problema della "fusione" polmonare Infatti, in questo stadio, la soglia utilizzata nel region growing può non essere sufficiente a separare correttamente i due organi, che vengono identificati come un singolo oggetto: - 16 - Il procedimento adottato per risolvere il problema della fusione polmonare è quello di inserire, in presenza di fusione (riscontrata tramite analisi sul volume cresciuto), una superficie di separazione tra i due polmoni. 1.7.5 Inclusione noduli: chiusura 3-D. I due polmoni vengono ora considerati separatamente, in quanto è sul singolo polmone che si applica il successivo stadio dell’algoritmo, quello della chiusura morfologica tridimensionale. Il sistema è stato finora in grado di delimitare, mediante region growing, il volume polmonare, senza però includere le varie tipologie di noduli e i vasi sanguigni, di densità differente. L’operazione di closing migliora la definizione dei bordi e ingloba nel volume anche queste strutture. Questo stadio consente la corretta trattazione anche dei noduli a contatto con la pleura polmonare (noduli pleurici), che a causa delle posizione e dell’alta densità vengono spesso “persi” dagli algoritmi di segmentazione. La fase di chiusura si basa sull’applicazione consecutiva delle operazioni di dilatazione ed erosione: mentre la prima provoca l’espansione del parenchima con la conseguente inclusione dei noduli pleurici e dei vasi, la seconda riporta il polmone nelle sue dimensioni iniziali. Dalla differenza tra la matrice originaria e quella prodotta da tale operazione, è possibile poi isolare tutto ciò che non è tessuto bronchiale: tra questo i noduli pleurici e interni, le fessure polmonari, le concavità legate alla peculiare forma del polmone, le diramazioni interne dell’albero vascolare e naturalmente una certa quantità di rumore. - 17 - 1.8. Conclusioni. Stadio fondamentale di un sistema CAD è la segmentazione, che delimita il volume su cui verrà applicato il successivo algoritmo di ricerca dei noduli, atto a restituire le zone di interesse con relative informazioni statistiche. Nei capitoli seguenti si procederà alla ricerca, nel volume segmentato, delle regioni che hanno caratteristiche tali da poter costituire lesioni tumorali. Le regioni estratte, soddisfacenti a determinati criteri di omogeneità, quali l’appartenenza ad un opportuno range di toni di grigio (densità), saranno classificate in base ad alcune feature ritenute discriminanti (ad esempio volume, sfericità e raggio della sfera circoscritta), giungendo così all’individuazione di probabili noduli tumorali. Assumendo come riferimento i referti dei radiologi, si procederà alla stima dell’efficienza dell’algoritmo di ricerca dei noduli. - 18 - CAP 2. RICERCA DEI NODULI: GLI STRUMENTI DI CALCOLO I passi successivi alla segmentazione, ai quali ho apportato il mio reale contributo, prevedono la ricerca e l’analisi dettagliata dei noduli nelle CT e delle loro caratteristiche: tipologie, inclusione nel volume segmentato, indagini statistiche su proprietà quali raggio, volume o sfericità degli stessi. Al fine di ridurre il numero di falsi positivi, si effettua dapprima una fase di filtraggio sui volumi, escludendo sia le ROI estremamente piccole (che certamente non rappresentano un nodulo ma del rumore presente nell’immagine) sia le ROI di volume eccessivo (che costituiscono frammenti dell’albero vascolare). Il capitolo comprende anche una descrizione dettagliata degli strumenti necessari per valutare l’efficienza del sistema diagnostico, ai quali si è già accennato nel primo capitolo: analisi ROC e FROC; ciò consentirà nella successiva applicazione dell’algoritmo di ricerca dei noduli, e in particolare nella fase di classificazione, di valutare la sensibilità e la specificità del sistema. 2.1 Tipologie di noduli polmonari I noduli polmonari possono essere classificati, in base alla forma e alla posizione, in tre tipi14: o n1 : nodulo interno o parenchimale: se ha avuto origine e si trova all’interno del parenchima polmonare; o n2 : nodulo subpleurico o parenchimale: se ha avuto origine all’interno del parenchima polmonare, ma si trova adiacente o è connesso alla pleura; o n3 : nodulo pleurico o ispessimento pleurico: se ha avuto origine nella pleura e cresce verso il parenchima polmonare. Nella figura seguente sono riportati tre esempi di CT in cui si evidenzia la presenza dei diversi tipi di nodulo, n1, n2, n3. - 19 - n1 n2 n3 Figura 11. Diverse tipologie di nodulo polmonare Nelle figure sottostanti si evidenzia la diversità delle tipologie n2 ed n3, distinguibili anche in base all’angolo (ottuso/acuto) tra nodulo e pleura. Figura 12. Nodulo pleurico n3 Figura 13. Nodulo subpleurico n2 - 20 - Per poter ben comprendere l’algoritmo di ricerca dei noduli adottato, è necessaria una digressione sulla tecnica di analisi dell’immagine nota come region growing, già utilizzata per gli algoritmi di segmentazione descritti nel primo capitolo. 2.2. Region Growing (RG) L’algoritmo Region Growing15 (RG) è una delle principali tecniche dell’analisi dell’immagine. Esso consiste nella ricerca all’interno dell’immagine di regioni di voxel geometricamente connessi (il significato di connessione verrà indicato in seguito) che soddisfino una certa regola di inclusione. Operativamente si sceglie, manualmente o per modalità automatizzata, un punto nell’immagine, detto seed point (seme iniziale) e, a partire da esso, vengono considerati come appartenenti alla stessa regione tutti i punti connessi con il seed che soddisfino la regola di inclusione scelta. Ciascuno dei punti inclusi nella regione diviene a sua volta seed point corrente e sarà dunque soggetto ad un’analisi dell’intorno: in modalità iterativa, ad ogni ciclo i nuovi pixel “cresciuti” verranno analizzati per la selezione dei punti atti all’accrescimento della regione. Il ciclo si ferma nel momento in cui nessun punto raggiunto dalla crescita soddisfa più il criterio di omogeneità adottato. Le immagini seguenti mostrano graficamente come avviene il processo di “crescita”: 1. viene scelto un seed point (seme iniziale) soddisfacente la regola di inclusione scelta; 2. si analizzano i “vicini” del seed point: se soddisfacenti alla medesima regola di inclusione vengono aggiunti alla regione che si sta accrescendo; - 21 - 3. tutti i punti inclusi nel passo precedente vengono considerati come nuovi seed point e il processo viene reiterato fino a quando nessun punto può più essere incluso nel volume. - 22 - Figura 14. Schema dell’algoritmo di region growing - 23 - La regola di inclusione adottata può essere di tipo molto diverso, da una semplice soglia di intensità a proprietà più complesse, quali l’omogeneità media dei primi vicini: la scelta del criterio ottimale dipende, in maniera decisiva, dalla tipologia di immagini da elaborare e dalle informazioni disponibili riguardo agli oggetti da estrarre. Riportiamo di seguito alcuni dei criteri di selezione più diffusi in letteratura12: 1. Simple Threshold: vengono inclusi i voxel di intensità minore o maggiore di una data soglia, o pari ad un valore fissato (Figura 15); Figura 15. Esempio di applicazione del RG con SimpleThreshold. Le regioni incluse nel rg sono rappresentate da voxel posti a 1 (“accesi”). 2. Double Threshold: si effettua l’accrescimento dei pixel di intensità compresa fra due soglie predefinite minima e massima; 3. Average (simple/double) Threshold: vengono inclusi quei pixel per i quali il valor medio delle intensità dei vicini e del pixel stesso risulta minore o maggiore di una soglia, o compreso tra due soglie prefissate; Nel segmentatore sviluppato la condizione di soglia adottata per la crescita dell’apparato respiratorio è quella del double threshold. - 24 - 2.2.1.Tipologie di connessione. Risulta importante, per comprendere le modalità di accrescimento di una determinata regione, definire le diverse tipologie di connessione: essendo in un dominio digitale e trattando con pixel/voxel e non con punti nel continuo, è necessario cioè precisare cosa si intenda per oggetto “connesso” e per pixel “vicini”; quest’ultima definizione suggerirà quali “vicini” considerare nel processo di accrescimento. E’ opportuno partire dalle familiari definizioni di oggetto connesso in un dominio continuo. Sia dato un oggetto S (un insieme di punti) in un dominio continuo. Due punti A ∈ S e B ∈ S si dicono connessi se esiste almeno una spezzata, composta da punti tutti appartenenti ad S, congiungente A e B. S si definisce connesso se, per ogni coppia (A , B) di punti ad esso appartenenti, risulta che A e B sono connessi. Equivalentemente: S si definisce connesso se per ogni coppia (A , B) di punti ad esso appartenenti, esiste almeno una spezzata, composta da punti tutti appartenenti ad S, congiungente A e B. La connettività gode delle seguenti proprietà: o Riflessività: p è connesso a p; o Commutatività: se p è connesso a q allora q è connesso a p; o Transitività: se p è connesso a q, e q è connesso a r, allora p è connesso a r. In presenza di una discretizzazione dell’immagine introdotta dai pixel, la definizione di connessione è da adattare: Nel dominio digitale un pixel p ∈ S (dove S è il foreground, ovvero l’”oggetto” considerato) si definisce connesso ad un pixel q ∈ S se esiste un percorso da p a q tutto composto da pixel appartenenti ad S. Il percorso deve essere effettuato passando da ciascun pixel ad un suo vicino, ossia ad un pixel ad esso adiacente. La definizione di “vicino”, e quindi di adiacenza, è da considerare con attenzione, in quanto non univoca. In uno spazio a due dimensioni: - 25 - Un pixel P2 di coordinate discrete (x2, y2) è detto “vicino 4-connesso” di un pixel P1 di coordinate (x1, y1) se x2 – x1 + y2 – y1 = 1 Un pixel P2 di coordinate discrete (x2, y2) è detto “vicino 8-connesso” di un pixel P1 di coordinate (x1, y1) se 1 ≤ x2 – x1 + y2 – y1 ≤ 2 P1 è provvisto di n vicini n-connessi e, la connessione-8 include la connessione-4. Le definizioni introdotte si estendono al caso tridimensionale, giungendo a tre diverse connettività: 6, 18 e 26: Un voxel P2 di coordinate discrete (x2, y2, z2) è detto “vicino 6-connesso” di un pixel P1 di coordinate (x1, y1, z1) se x2 – x1 + y2 – y1 + z2 – z1 = 1 Un pixel P2 di coordinate discrete (x2, y2, z2) è detto “vicino 18-connesso” di un pixel P1 di coordinate (x1, y1, z1) se 1 ≤ x2 – x1 + y2 – y1 + z2 – z1 ≤ 2 Un pixel P2 di coordinate discrete (x2, y2, z2) è detto “vicino 26-connesso” di un pixel P1 di coordinate (x1, y1, z1) se 1 ≤ x2 – x1 + y2 – y1 + z2 – z1 ≤ 3 Il significato geometrico della tipologia di connessione è visibile in Figura 16. - 26 - Figura 16 2.2.2.Esempio di region growing. Presentiamo un esempio di funzionamento dell’algoritmo. Consideriamo un’immagine bidimensionale a toni di grigio di dimensione 15x15 (Figura 17). Per essa si consideri la condizione di Simple Threshold, adottando come regola di inclusione: valore del pixel > 19 (valore di soglia). Scegliamo il seed point manualmente (in rosso, in figura). Attraverso l’applicazione - 27 - dell’algoritmo descritto si ha, per ciascun punto vicino al seed point iniziale e poi, in maniera iterativa, per i pixel con essi confinanti, un valore dei pixel maggiore di quello di soglia, e quindi l’inclusione nella regione “cresciuta”. I due insiemi di pixel cerchiati in blu soddisfano la regola di inclusione, ma non vengono inclusi nella regione “cresciuta” in quanto non vi è contiguità con essa (non sono ad essa connesse). Seed point iniziale Punti ‘cresciuti’ Figura 17 2.2.3.Campi applicativi. Il region growing è caratterizzato dall’applicazione in diversi campi d’impiego quale, in particolare, quello dell’informatica bio-medica, dove esso è applicato ad immagini diagnostiche per porre in evidenza regioni omogenee di tessuto, che possono poi venire analizzate e catalogate dai sistemi CAD. Il RG riscontra un ampio utilizzo per: ▪ Riconoscimento di masse cellulari; ▪ Segmentazione del parenchima polmonare; ▪ Crescita e visualizzazione di un nodulo o di una lesione massiva tumorale; - 28 - ▪ Ricostruzione degli alberi bronchiale e vascolare; ▪ Individuazione della gabbia toracica; ▪ Segmentazione del midollo osseo16 ▪ Colonscopia virtuale, per la distensione (flattening) del colon; ▪ Discriminazione dei vasi in un’immagine di angiogramma a raggi X17. Figura 18: Applicazioni del RG in bio-medicina, per la segmentazione di organi e tessuti. 2.2.4.Vantaggi e svantaggi dell’uso del region growing. VANTAGGI SVANTAGGI 1. semplicità di calcolo; 1. ampia memoria utilizzata; 2. semplicità di implementazione; 2. stretta dipendenza dalla scelta del seed e 3. alta efficienza rispetto ad altre tecniche di imaging; della condizione di inclusione; 3. alta sensibilità al rumore 4. elevata flessibilità e adattabilità alle diverse tipologie di immagine; - 29 - 2.3.Nodule Hunter (NH) Un’applicazione del region growing, di rilievo per un CAD polmonare, è l’algoritmo di Nodule Hunter, basato sull’applicazione ripetuta del region growing e finalizzato alla ricerca di tutte le regioni dell’immagine (la dicomdir di partenza, segmentata) che soddisfino determinati criteri selettivi. Si presuppone dunque che i noduli siano essenzialmente omogenei tra loro, ed esista una regola di inclusione, basata sui toni di grigio dei voxel, in grado di metterli in evidenza tramite RG. Il NH effettua una scansione dell’immagine, cercando un primo voxel che rispetti la regola di inclusione opportunamente stabilita. Una volta individuato tale voxel, esso viene utilizzato come seed point ed inizia il processo di “crescita” nel suo intorno. La regione individuata viene salvata in memoria come regione di interesse ed eliminata dall’immagine, in modo che essa non possa essere nuovamente trovata al ciclo seguente (Figura 19). Figura 18. Diagramma di flusso del funzionamento del NH L’algoritmo procede con la scansione dell’immagine originale alla ricerca di un nuovo seed point e fa “crescere” un’altra regione, iterando fino a quando nessun punto dell’immagine soddisfa più il criterio di inclusione. Si ha così l’individuazione di tutte le regioni, soddisfacenti alla stessa regola di inclusione ma non connesse fra di loro. - 30 - Ecco lo schema dell’interfaccia dell’algoritmo Nodule Hunter per la ricerca di noduli nel tessuto polmonare: Matrice 3D DICOMDIR originale Matrice 3D MASCHERA polmoni NODULE HUNTER Matrice delle ROI File delle statistiche (matrice contenente le ROI cresciute con relativa etichetta) (contenente le statistiche relative a ciascuna ROI) Di seguito sono descritti i dati di input e di output dell’algoritmo: input: 1. matrice 3D (512 x 512 x sizez) relativa alla dicomdir originale 2. matrice “binaria”II 3D della maschera dei polmoni segmentati (output del segmentatore; per il significato del termine “maschera” si veda il paragrafo 2.4). output: 1. matrice 3D contenente le regioni connesse (ma non connesse tra loro) individuate dal NH perchè soddisfacenti la regola di inclusione scelta. Ciascuna regione (ROI) è etichettata con un numero d’ordine intero positivo, mentre il background è costituito da voxel aventi valore nullo (figura). II binario nel senso che ogni voxel può assumere uno di “due valori” opportunamente scelti e non necessariamente dati dallo zero e dall’unità. - 31 - 2. Per ciascuna delle roi è automaticamente salvato un vettore di feature, tra le quali: • Volume (numero di voxel); Figura 19, volume • Raggio della sfera più piccola contenente la ROI (sfera circoscritta); Figura 20, raggio della sfera circoscritta • Sfericità (rapporto tra l’area della superficie di una sfera avente volume pari a quello della ROI e l’area della superficie della ROI; è indicativo di quanto è possibile approssimare la regione ad una sfera); • Intensità massima (tono di grigio più chiaro); - 32 - • Intensità minima (tono di grigio più scuro); • Intensità media. I vettori di feature sono salvati in un file di statistiche per il successivo impiego nella fase di classificazione; la figura seguente mostra un campione di file contenente le statistiche in formato testuale. Vediamo che la prima e la terza roi (nn. 1319 e 1321) costituiscono solo rumore (il volume è di un voxel) mentre la seconda ha volume pari a 254 voxel e quindi, almeno in base alle dimensioni, potrebbe essere un nodulo (in realtà non lo è, a causa della sfericità troppo bassa, e costituisce invece un frammento di vaso). ....... ROI nr.1319 Stat: Area: 1 Voxels Center X: 320 Center Y: 275 Center Z: 322 MassCenter X: 320 MassCenter Y: 275 MassCenter Z: 322 ExRadius: 0.866025 SphericityCoef: 0.49007 Intensit media: -77 Intensit massima: -77 Intensit minima: -77 Standard Deviation intensit: 0 ---------------------------------------------------------------------ROI nr.1320 Stat: Area: 254 Voxels Center X: 300 Center Y: 289 Center Z: 322 MassCenter X: 439.48 MassCenter Y: 331.458 MassCenter Z: 310.996 ExRadius: 15.8824 SphericityCoef: 0.0201807 Intensit media: 0.885827 Intensit massima: 388 Intensit minima: -230 Standard Deviation intensit: 114.086 ---------------------------------------------------------------------ROI nr.1321 Stat: Area: 1 Voxels Center X: 301 Center Y: 311 Center Z: 322 MassCenter X: 301 MassCenter Y: 311 MassCenter Z: 322 ExRadius: 0.866025 SphericityCoef: 0.49007 Intensit media: -14 Intensit massima: -14 Intensit minima: -14 Standard Deviation intensit: 0 ---------------------------------------------------------------------- Oltre a quelle attualmente restituite dal NH, si possono considerare altre feature, per arricchire il processo di classificazione; in 2D si possono definire, ad esempio: • La dimensione frattale18 di un oggetto: rappresenta allo stesso tempo il grado di irregolarità, la capacità di riempimento dello spazio e il livello di autosomiglianza. - 33 - Intuitivamente possiamo dire che la dimensione frattale ci indica come aumenta la misura del frattaleIII quando modifichiamo le sue dimensioni lineari. La misura della dimensione frattale19 (D) di un oggetto reale consiste nella ricerca di una relazione tra una certa proprietà (P) dell’oggetto e la risoluzione spaziale con cui l’oggetto è analizzato (r), del tipo P = krf(D), dove k è un fattore costante e f una funzione lineare in D. questa relazione in un sistema bidimensionale può essere scritta come: ln(P) = k’ + f(D)ln(r), pertanto il calcolo della dimensione frattale si riduce all’interpolazione lineare dei valori ln(P) e ln(r) in un “intervallo di linearità”delimitato da due valori di “cut-off” della risoluzione (rmin e rmax); • I momenti: si dimostra che un insieme (infinito) di momenti determina univocamente la forma di una regione. Si può quindi utilizzare un sottoinsieme di momenti per discriminare approssimativamente la forma delle regioni; • Il bordo20: il suo studio diventa indispensabile per descrivere la morfologia di quelle lesioni massive, che possono presentare forme rotondeggianti; • Il gradiente: è stato osservato che le zone sane hanno una densità che degrada man mano che si passa dall’interno all’esterno. Si introduce, così, il concetto di entropia, il cui valore è alto nel caso di lesioni. Nel caso tridimensionale le regioni di interesse sono dei volumetti (insiemi di voxel) scelti all’interno degli organi interessati (nel nostro caso i polmoni), e le definizioni delle feature 2D vanno adattate di conseguenza. Nel nostro algoritmo di ricerca dei noduli, la condizione di soglia adottata per la crescita è quella del “Mean simple double threshold”, in cui vengono inclusi i voxel la cui intensità, (a) mediata con i voxel vicini, è inclusa in determinato intervallo tra due soglie date e (AND) (b) cade in un certo range di livelli di grigio (al fine di evitare l’inclusione di punti certamente non “idonei”, ma che sarebbero inclusi per via della media con l’intensità dei vicini). III L’espressione ”frattale” è stata scelta da Mandelbrot per indicare un qualsiasi insieme di punti avente una dimensione frazionaria (non intera) e che, almeno in buona approssimazione, avesse la proprietà della autosimilarità: l’insieme deve essere formato da sottoinsiemi esattamente simili all’insieme originario o perlomeno aventi caratteristiche simili al tutto. - 34 - I valori di soglia utilizzati sono stati ottenuti da uno studio di ottimizzazione effettuato all’interno della Collaborazione, basato sulla valutazione dell’efficienza del NH, in termini di inclusione dei noduli, al variare dei valori di soglia adottati. Più esattamente per ciascun valore di soglia si è proceduto con: • applicazione del NH • valutazione della sensibilità del NH come rapporto del numero di noduli inclusi tra le roi restituite dal NH e numero di noduli totali presenti (indicati nelle refertazioni). Figura 21. Strutture vascolari (a sinistra) e noduli (a destra) individuati dall’algoritmo NH, visualizzati in ambiente ROOT. 2.4. Concetto di maschera Data l’importanza che il concetto di maschera assume in image processing in generale, e per il Nodule Hunter in particolare, questo paragrafo ne dà alcuni dettagli. Una maschera è, per definizione, un’immagine binaria contenente solo pixel codificati con i valori 0 ed 1 se si usa un solo bit, oppure (ad esempio) 0 e 255 se si usano 8 bit. I pixel di una maschera possono essere rappresentati rispettivamente come neri e bianchi. Per comprenderne l’utilità, si consideri un’immagine graylevel (ossia a livelli di grigio) I a cui si sovrapponga una maschera M delle medesime dimensioni. Operare una mascheratura (masking) significa ottenere una terza immagine O di output, delle stesse dimensioni delle altre due, nella quale i pixel sono ottenuti come segue: i pixel dell’immagine I che corrispondono a pixel di valore zero nella maschera, danno in output un valore prefissato (tipicamente, ma non sempre, 0) usato per - 35 - rappresentare i pixel di background. Tutti quelli che invece corrispondono ad un valore 1 nella maschera vengono riportati invariati nell’output. Nell’applicazione al caso particolare del NH, uno degli input dell’algoritmo è proprio una maschera del tessuto polmonare, emessa dallo stadio di segmentazione, che serve al NH per limitare la ricerca iterativa dei seed point al tessuto dove è effettivamente possibile trovare i noduli. 2.5.Gold standard. Al fine di effettuare una valutazione del corretto funzionamento di un CAD è necessario disporre di un “gold standard” di riferimento, ovvero dei referti di uno o più radiologi che indichino quali regioni di tessuto polmonare siano “sicuramente noduli”. Sebbene apparentemente semplice, la definizione di un gold standard non è stata di facile realizzazione, per via di una serie di interrogativi e aspetti da considerare. La Collaborazione MAGIC5 si avvale attualmente dell’ausilio di due radiologi presso l’Ospedale “Vito Fazzi” di Lecce e di due radiologi pisani del Progetto di screening ITALUNG /I-ELCAP (International Early Lung Cancer Action Project). Il problema che si è posto è legato al fatto che nella lettura della CT e nella relativa refertazione di eventuali patologie i pareri dei medici non sono sempre stati concordi. Regioni che possono apparire come malformazioni patologiche ad un osservatore, possono invece sfuggire o non apparire tali ad un altro. A questo problema di soggettività si aggiunge il fatto che i radiologi che refertano nell’ambito di un programma di screening, seguono un protocollo diverso da quello seguito dalla refertazione in ambito clinico: in particolare, il radiologo di screening interrompe l’esame della scansione CT non appena essa risulta evidentemente patologica per la presenza di qualche nodulo, e non prosegue la diagnosi fino ad esaminare tutte le slice dell’immagine. Dopo ampi dibattiti all’interno della Collaborazione Magic5, si è stabilito di considerare come “gold standard” di riferimento quello di 24 CT appartenenti al database dell’esperimento MAGIC5, in cui la refertazione dei due radiologi leccesi include quella dei due radiologi ITALUNG. In definitiva, si hanno complessivamente a disposizione 24 CT nelle quali sono presenti 28 noduli dei quali: 15 di tipo n1; 11 di tipo n2; 2 di tipo n3. 2.6.Riduzione dei falsi positivi - 36 - Come in precedenza descritto, i voxel delle regioni di interesse, che costituiscono i candidati noduli, sono identificati attraverso l’algoritmo del Nodule Hunter. Una volta individuati i candidati noduli, si procede alla loro classificazione, ossia alla distinzione tra quelli che corrispondono effettivamente a lesioni tumorali, e quelli che sono dei falsi positivi (paragrafo 2.7) A questo scopo si possono utilizzare vari tipi di classificatori supervisionati, tra i quali molto diffuse sono le reti neurali: un candidato è classificato come nodulo se il vettore di feature ad esso associato risponde ai criteri secondo i quali il classificatore è stato allenato.21 Il numero di noduli effettivamente presenti in CT patologiche è tipicamente basso (in genere da 1 a poche decine), mentre la lista di candidati individuati dal NH è numerosissima (104-105 ROI). Ne consegue che la maggioranza di roi è costituita da falsi positivi, e di questi la massima parte sono semplicemente parte del rumore dell’immagine e hanno un volume di pochi voxel. Per eliminare questo rumore senza lasciarne il compito al classificatore, prima di quest’ultimo (dopo il NH) è opportuno inserire un semplice filtro, in modo da diminuire il numero di falsi positivi, rendendo efficace la fase di classificazione. Nel nostro caso abbiamo scartato tutte le roi aventi volume troppo piccolo o troppo grande, in base ad un’indagine effettuata sui noduli presenti nelle CT del Gold Standard (paragrafo 2.5). I dettagli saranno descritti nel 3° capitolo. 2.7.Prestazioni dei classificatori Riprendiamo, con maggior ricchezza di dettagli, i concetti a cui hanno accennato i paragrafi 1.3 e 1.4. Nel contesto di questa Tesi l’interesse è dedicato a problemi di classificazione22 che utilizzino solo due classi; poniamo siano le classi p e n, che indicano rispettivamente “positivo” – ossia patologico – e “negativo” – corrispondente a strutture benigne o appartenenti alla morfologia normale dei tessuti polmonari (ad esempio, vasi sanguigni). Formalmente, ogni caso I in input è mappato su un elemento dell’insieme {p,n}. La classificazione è dunque una corrispondenza da casi a classi predette. Per distinguere fra la classe predetta dal classificatore (che sarà la risposta del CAD) e la classe effettiva di appartenenza di una roi (giudicabile tramite un test Gold Standard) utilizziamo le etichette {Y,N} per le predizioni di classe prodotte da un modello. Riprendiamo le definizioni date nel paragrafo 1.3. Dato un classificatore e un caso, ci sono quattro risultati possibili. Se il caso è positivo ed è classificato come positivo, esso è contato come vero positivo; se è classificato come negativo, è contato come falso negativo. Se il caso è negativo ed è classificato come negativo, è contato come vero negativo; se è classificato come positivo, è contato come falso positivo. - 37 - Dato un classificatore e un set di roi da classificare (nella supposizione che conosciamo il risultato vero della classificazione, dato dal test del Gold Standard), la “matrice di confusione” (confusion matrix) a due a due (anche denominata tabella di contingenza) può essere costruita nel modo riportato nella tabella 3: Classe vera secondo il Gold Standard p Classe Veri Falsi Positivi Positivi TP FP Falsi Veri Negativi Negativi FN TN Y ipotizzata dal classificatore N Totale colonne: n P N Tabella 1: Confusion matrix Sensibilità = TP / ( TP + FN ) ; Specificità = TN / ( TN + FP ) ; Accuratezza = ( TP + TN ) / ( P + N ). (P + N è il numero totale di casi) I numeri lungo la diagonale principale rappresentano le decisioni corrette ed i numeri fuori da questa diagonale rappresentano gli errori, ossia la confusione, tra le varie categorie. L’incertezza nell’applicazione di un test risiede nel fatto che – nella grande maggioranza dei casi – esiste una zona di sovrapposizione fra le distribuzioni dei risultati del test medesimo applicato in popolazioni sia di sani che di malati. Infatti, se le due popolazioni restituissero valori separati (Figura 23) allora sarebbe facile individuare sull’asse delle ascisse il valore di cut off23 capace di discriminare con precisione assoluta le due popolazioni. - 38 - Figura 22: Distribuzione degli esiti di un ipotetico test nelle classi di individui malati e non malati, senza sovrapposizione inter-classe. Purtroppo nella pratica si verifica sempre una sovrapposizione più o meno ampia delle due distribuzioni (Figura 24) ed è perciò impossibile individuare sull’asse delle ascisse un valore di cut off che consenta una classificazione perfetta, tale da azzerare falsi positivi e falsi negativi. Figura 23: Distribuzione degli esiti di un ipotetico test nelle classi di individui malati e non malati, con sovrapposizione inter-classe. La capacità diagnostica (o validità o performance) di un test ad un determinato valore di cut off rappresenta la capacità di condurre ad una diagnosi positiva nei soggetti affetti da una determinata malattia e ad una diagnosi negativa nei soggetti non ammalati. 2.8 Curva ROC Un grafico ROC24 (Receiver Operating Characteristic) è una tecnica generale di rappresentazione, organizzazione e scelta di “classificatori” basata sulle loro prestazioni. Nel 1988 Swets specializzò l’analisi ROC al caso della rappresentazione del comportamento di sistemi di diagnostica medica. - 39 - I grafici ROC sono concettualmente semplici. Essi vengono realizzati graficamente in diagramma cartesiano, riportando in ordinata la proporzione di veri-positivi (sensibilità) e in ascissa la proporzione di falsi-positivi (1 - specificità). Molti classificatori (per esempio i cosiddetti decision trees, o alberi decisionali, e quelli a insiemi di regole o rule sets) sono detti “discreti” perché sono destinati a produrre soltanto una scelta limitata di valori di output; spesso si tratta di una scelta binaria, cioè una Y o una N per ogni caso: un classificatore di questo tipo, una volta calcolate sensibilità e specificità, produce un singolo punto nello spazio di ROC. Un classificatore ranking o scoring invece produce un valore continuo di output, una sorta di punteggio; esso può però essere usato con una soglia (ad esempio, il valore di cut off di una rete neurale) per produrre un classificatore binario discreto: se il valore di output è sopra la soglia, il classificatore produce Y, altrimenti N. Ogni valore di soglia fornisce una coppia sensibilitàspecificità, e quindi un punto differente nello spazio di ROC. Concettualmente, possiamo immaginare di variare la soglia da -∞ a +∞ e seguire una curva attraverso lo spazio ROC, che descrive il comportamento del classificatore (Figura 25). Figura 25: Esempi di curve ROC relative a livelli di accuratezza diversi. In questo modo il grafico ROC permette di analizzare la correlazione tra sensibilità e specificità di un test per una gamma di differenti valori di cut off. L’area sottesa25 da una curva ROC (AUC, Area Under Curve) rappresenta un parametro fondamentale per la valutazione della performance (accuratezza) di un test: per accertare la significatività della sua capacità discriminante, si verifica se l’area sotto la curva eccede il valore di - 40 - 0.5, atteso per un classificatore casuale (come mostrato alla fine del paragrafo e nell’esempio in coda allo stesso). Questa procedura corrisponde a verificare se la proporzione dei veri positivi è superiore a quella dei falsi positivi. Per quanto riguarda l’interpretazione del valore di AUC, si può tenere presente la classificazione della capacità discriminante di un test proposta da Swets26 (1998). Essa è basata su criteri largamente soggettivi ed avviene secondo lo schema seguente: • AUC = 0.5 test non informativo • 0.5 < AUC ≤ 0.7 test poco accurato • 0.7 < AUC ≤ 0.9 test moderatamente accurato • 0.9 < AUC < 1.0 test altamente accurato • AUC = 1.0 test perfetto In definitiva, con il calcolo della AUC si può misurare la capacità discriminante del test. Attraverso l’esame della curva ROC è anche possibile individuare il miglior cut off a seconda dell’applicazione. Nel caso, ad esempio, di uno screening, in cui il CAD è tipicamente un primo lettore, è fondamentale che esso raccolga tutti i pazienti positivi, senza lasciare false diagnosi di negatività: di conseguenza sarà privilegiata la massimizzazione della sensibilità anche a scapito della specificità (capacità di individuare un paziente negativo); sarà poi responsabilità del medico distinguere i falsi allarmi dai veri. Nell’uso nella normale prassi clinica (CAD come secondo lettore), può essere invece consigliabile un comportamento inverso: il medico ha il dovere di essere prudente (massima sensibilità) e prescrive diversi esami il cui scopo è essere specifici per confermare ed escludere patologie: l’analisi tramite CAD per secondo lettore può rientrare in questo gruppo di esami. L’analisi ROC è anche di grande utilità quando sia necessario mettere a raffronto la validità di due o più test. Consideriamo, a titolo d’esempio, un grafico ROC con cinque classificatori indicati da A a E, che riportiamo in figura 26: - 41 - Figura 26. Spazio ROC con alcuni punti che rappresentano diversi classificatori. Parecchi punti nello spazio ROC sono degno di nota. Il punto in basso a sinistra (0; 0) rappresenta la strategia di non emissione della classificazione positiva; un tal classificatore non commette errori falsi positivi ma non guadagna veri positivi. La strategia opposta, di classificazione con emissione positiva incondizionata, è rappresentata dal punto (1; 1). Il punto (0; 1) è la classificazione perfetta. Le prestazioni del classificatore D sono perfette. Grossolanamente, un punto nello spazio ROC è migliore di un altro se è al nord-ovest del primo. I classificatori che compaiono sul lato sinistro del grafico, vicino all'asse di X, possono pensarsi come "conservatori": effettuano classificazioni positive solo con una prova ben fondata in modo da fare pochi errori con falsi positivi, ma hanno anche spesso bassi tassi di veri positivi. Classificatori sul lato superiore destro del grafico si indicano come "liberali": fanno classificazioni positive con prova debole in modo da classificare correttamente quasi tutti i positivi, ma hanno spesso alti tassi di falsi positivi. La linea diagonale y = x rappresenta la strategia di ipotizzare casualmente una categoria. Qualsiasi classificatore lungo la diagonale non contiene informazioni sulla categoria. Un classificatore sotto la diagonale ha informazioni utili, ma sta applicando in modo errato le informazioni (Flach e Wu, 2003)27. Esempio Come esempio esplicativo, questo paragrafo mostra che cosa succede quando il classificatore sceglie a caso (e non ha quindi alcuna conoscenza delle entità che sta esaminando). Per quanto esposto in precedenza, il punto nello spazio ROC dovrebbe situarsi sulla diagonale del primo quadrante. Verifichiamolo. - 42 - Sia dato un campione di N soggetti (per esempio, pazienti sospettati di essere portatori di una data patologia). Ipotizziamo che di questi N soggetti la frazione αN (naturalmente 0 ≤ α ≤ 1) sia costituita da individui patologici, mentre la frazione (1 - α) N sia sana. Supponiamo che il classificatore scelga a caso, quando gli è sottoposto un soggetto, la propria diagnosi, con probabilità p di diagnosi di positività. Se, ad esempio, p = 60%, il classificatore asserisce 6 volte su 10 (in maniera però del tutto casuale) che il soggetto è malato. Quindi: • degli αN soggetti malati, α N p saranno giudicati positivi (TP); • degli αN soggetti malati, αN (1-p) saranno giudicati negativi (FN); • degli (1-α) N soggetti sani, (1-α) N p saranno giudicati positivi (FP); • degli (1-α) N soggetti sani, (1-α) N (1-p) saranno giudicati negativi (TN). Calcoliamo la sensibilità (frazione di malati correttamente interpretati come tali) e la specificità (frazione di sani correttamente interpretati come tali), nel seguente modo: sensibilità = TP / (TP + FN) = αN p / (αN p + αN (1-p)) = p specificità = TN / (TN + FP) = (1-α) N (1-p) / ((1-α) N (1-p) + (1-α) N p) = 1 – p. Supponiamo di avere, per esempio, 100 pazienti, di cui 80 sani e 20 malati, N = 100 e α = 20%. Possono presentarsi due casi, a seconda di diversi valori di p, che riporteremo su un grafico: 1° caso: Sia p = 50% (cioè il classificatore “dice” metà delle volte che un paziente è sano e metà delle volte che è malato). Il classificatore ripartirà i pazienti come segue (P indica giudizio di positività, N di negatività): su 20 malati ╔ 10 P ╣ ╚ 10 N (TP) (FN) mentre su 80 sani ╔ 40 P ╣ ╚ 40 N (FP) (TN) Sensibilità = TP / (TP + FN) = 10 / (10 + 10) = 50% (pari a p) - 43 - Specificità = TN / (TN + FP) = 40 / (40 + 40) = 50% (pari a 1 - p) 2° caso: Sia p = 25%. In questo caso: su 20 malati ╔5P ╣ ╚ 15 N (TP) (FN) mentre su 80 sani ╔ 20 P ╣ ╚ 60 N (FP) (TN) Sensibilità = TP / (TP + FN) = 5 / (5 + 15) = 25% (pari a p) Specificità = TN / (TN + FP) = 60 / (60 + 20) = 75% (pari a 1 - p) Verifichiamo dunque che, nel caso qui trattato del classificatore casuale, specificità = 1 – sensibilità. I due punti dello spazio ROC corrispondenti ai casi 1° e 2° sono situati sulla bisettrice del 1° quadrante (Figura 27). 1 0.9 0.8 sensitivity 0.7 0.6 case 1 0.5 0.4 0.3 case 2 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1-specificity Fig. 27 Punti nello spazio ROC corrispondenti al classificatore casuale, per due diversi valori di p. 2.9 Curva FROC Un metodo alternativo per la valutazione di un CAD è lo spazio FROC28 (Free-Response Operating Characteristic), nel quale i parametri usati per valutare le prestazioni del sistema CAD sono la sensibilità e il numero di falsi positivi per scansione. I risultati di un test su un database di immagini - 44 - vengono dunque valutati in funzione della percentuale dei noduli veri rivelati e del numero medio di falsi-positivi introdotti per immagine. Anche in questo caso, quando il classificatore dipende da una soglia, per differenti valori di essa viene generato un punto nel piano cartesiano; il luogo dei punti così ottenuti è la curva di risposta del sistema. Fig. 28 Esempio di curva FROC. - 45 - CAP.3. ANALISI STATISTICA PRELIMINARE DEI RISULTATI Questo capitolo, basandosi sugli strumenti trattati in quello precedente, giunge alla definizione di un sistema CAD piuttosto semplice e preliminare, ma completo, in grado di analizzare una CT toracica fornendo, con buona accuratezza, un elenco di probabili noduli. Il capitolo descrive: • l’applicazione dall’algoritmo Nodule Hunter per l’individuazione di ROI (candidati noduli) omogenee tra loro dal punto di vista della distribuzione di toni di grigio (e quindi di densità); il confronto tra la lista di ROI restituite dal Nodule Hunter e i noduli refertati appartenenti al gold standard per definire la sensibilità dell’algoritmo • il filtraggio sul volume allo scopo di ridurre il numero di falsi positivi • la valutazione delle caratteristiche dei noduli refertati dai radiologi, al fine di stabilire le opportune feature che permettano ai sistemi di classificazione di discriminare tra nodulo e falso positivo • la fase di classificazione delle ROI, con la valutazione del numero di patologie correttamente individuate rispetto alle patologie effettivamente presenti (stabilito in base alle refertazioni dei radiologi). Calcolo della sensibilità, specificità, del punto di lavoro nello spazio ROC e FROC del CAD così ottenuto. Il capitolo giunge così ad una definizione preliminare ma completa del funzionamento di un sistema CAD. Le immagini trattate sono le 24 scansioni CT polmonari assunte come gold standard (paragrafo 2.5). Di queste, circa 3/4 vengono utilizzate per allenare il classificatore (training set) e 1/4 per la verifica del funzionamento (test set). 3.1. Applicazione del Nodule Hunter Partendo dalle dicomdir delle immagini CT del gold standard, e dalle corrispondenti maschere restituite dal segmentatore polmonare realizzato presso la sezione MAGIC5 di Lecce (paragrafo 1.7), ho applicato il sistema di ricerca dei noduli (NH), al fine di cercare le ROI che per la loro densità possono essere noduli polmonari. - 46 - La regola di inclusione scelta è stata, come già scritto nel paragrafo 2.3, quella del “Mean Simple Double Threshold”, mentre la soglia per i valori di grigio (in base ad un’indagine preliminare effettuata dal gruppo Magic5 a Bari) è compresa tra -250 e 1000 e, più precisamente, la media dei voxel deve cadere tra -200 e 1000 mentre il valore del voxel deve essere compreso tra -250 e 1000. Per ogni scansione CT, ho applicato l’algoritmo Nodule Hunter, salvando la matrice delle regioni “cresciute” in un file ROOTIV e le statistiche delle ROI individuate in un altro file ROOT29 . Per ciascuna delle ROI ho inoltre visualizzato (tramite i comandi di ROOT) la fetta che la contiene: nella DICOMDIR originale nella maschera; nella matrice delle ROI individuate dal Nodule Hunter, ciascuna con la sua etichetta. Si noti che i colori con cui appaiono le immagini sono quelli della palette di ROOT, e non quelli originali delle immagini. Riporto di seguito, a titolo esemplificativo, la CT denominata cdPi_S6, contenente – secondo il referto medico – due noduli. CdPi_S6 è la sigla data ad una specifica CT di un paziente (rimasto per noi anonimo): in essa “Pi” indica la provenienza (Pisa) ed S6 la serie di appartenenza. Per questa CT riporto le immagini relative a due delle slice in cui è evidente la presenza di un nodulo per ciascuna: o Slice 30, nodulo di tipo n2 e di coordinate (31, 259, 30), secondo quanto refertato dai radiologi (Figure 29-31); o Slice 119, nodulo di tipo n1 e di coordinate (452, 223, 119), secondo quanto refertato dai radiologi (Figure 32-34). IV ROOT è un potente software di analisi dei dati, sviluppato dal CERN e scritto in C++. I pacchetti forniti da ROOT consentono di visualizzare e analizzare le distribuzioni e le funzioni tramite istogrammi e grafici, dispongono di strumenti statistici per l’analisi dei dati, effettuano calcoli distribuiti utili per analizzare dati in parallelo, dispongono di una visualizzazione 3D e del supporto delle funzioni matematiche standard. Tra queste funzionalità ampiamente sfruttate dai fisici, in particolare nelle applicazioni di Fisica ad alta energia, predomina l’attenzione a migliorare le prestazioni del software, per garantire un’analisi ottimale di ingenti quantità di dati. La versione utilizzata in questo lavoro è la 5.14 che, a differenza delle precedenti, presenta un’ottimizzazione del formato delle strutture dinamiche per immagazzinare i dizionari, riducendo il formato dei moduli eseguibili; inoltre, su Linux, il root.exe standard prende circa 15 MBYTE anziché i 30 della versione precedente. Non è comunque questa l’ultima versione, in quanto il team di sviluppo del software cerca di migliorare continuamente la qualità di questo programma data la sua grande diffusione. - 47 - Figura 29. Slice 30: dicomdir; la circonferenza individua il nodulo Figura 30. Slice 30: maschera Figura 31. Slice 30: roi restituite dal NH. Il nodulo è evidenziato dal cerchietto; altre ROI (indicate dalle frecce) sono rumore dell’immagine (soprattutto situato lungo il bordo dei polmoni) - 48 - Figura 32. Slice119: dicomdir; qui il nodulo è difficilmente individuabile visualmente Figura 33. Slice 119, maschera Figura 34. Slice 119, roi. Il nodulo è indicato dal cerchietto rosso - 49 - 3.2. Studio della sensibilità del Nodule Hunter Dopo aver salvato in un file ROOT le statistiche relative alle diverse ROI identificate dal NH, ho effettuato uno studio sul numero di noduli correttamente inclusi sulla totalità dei noduli presenti: - per la diversa tipologia di nodulo n1,n2,n3 - in assenza di filtraggio sul volume. Più in dettaglio ciò che è stato realizzato è un matching (confronto) automatico tra la lista dei noduli refertati dai radiologi e le ROI restituite dal NH, come indicato nella figura sottostante. Figura 35 Si è provveduto all’applicazione di una macro in ambiente ROOT che, prendendo in input un file di testo contenente il nome delle CT da analizzare e le coordinate dei relativi noduli secondo quanto refertato dai radiologi (Figura36), procedevano come segue: • Lettura del nome della CT da analizzare • Apertura del corrispondente file ROOT contenente le statistiche sulle ROI • Ricerca, per ciascun nodulo della CT considerata, di una corrispondenza con una ROI tra quelle restituite dal NH. • Nel caso di corrispondenza (positività), incremento del numero di patologie totali trovate e del numero di patologie di quello specifico tipo (n1, n2 o n3). Si veda, per chiarezza, lo schema esemplificativo in Figura 37. - 50 - Figura 36. File di testo passato in input alla macro Figura 37: diagramma di flusso della macro di ROOT che confronta i risultati del CAD con le refertazioni dei medici. - 51 - 3.3. Risultati dello studio di sensibilità della fase di NH La lista delle ROI includeva correttamente 27 dei 28 noduli presenti nelle 24 CT analizzate: un nodulo di tipo n1 è stato perso perché non ben discriminato dal background. Riassumendo sono stati individuati • 14 noduli di tipo n1 sui 15 presenti, • 11 noduli di tipo n2 sugli 11 presenti, • 2 noduli di tipo n3 sui 2 presenti. Nella Figura 38 si vede un esempio di quanto visualizzato in ROOT, per il caso specifico della CT cdPi2_S6 . Figura 38 E’ importante mettere in evidenza che a questo stadio l’unica conclusione che si può trarre è che il NH e il segmentatore, insieme, giungono ad una sensibilità pari a TP/(TP+FN) = 27 / 28 = 96.4%, ma il numero di ROI false positive per immagine è dell’ordine di 104 (non è stato ancora effettuato - 52 - il filtraggio sul volume)! Sarà solo con l’introduzione del filtraggio preliminare sul volume, e poi del classificatore, che si potrà avere un’idea della qualità del CAD nel suo complesso. 3.4. Istogramma delle caratteristiche Le roi individuate dal NH nelle CT del Gold Standard possono essere divise in due gruppi: P (positive) e N (negative): le prime sono quelle che corrispondono a noduli refertati da un radiologo, le altre sono false positive. Prima di occuparsi nello studio delle feature, è stato effettuato un filtraggio sul volume come anticipato nel paragrafo 2.6: come soglie approssimative sono state utilizzate arbitrariamente il 10% in meno del minimo volume relativo alle roi positive e il 10% in più del massimo volume delle stesse: sono state dunque conservate le ROI aventi volume soddisfacente la relazione: 30 < V < 1617 (in voxel). Prima del filtraggio, il numero di FP (sulle 24 immagini) era pari a 48467, mentre il numero di FP per immagine CT era 2019; dopo il filtraggio, si è osservata una riduzione notevole di FP riducendoli in numero di 2236 in tutto e a 93 FP/CT. Si è proceduto poi con l’analisi delle proprietà (feature) dei noduli e dei falsi positivi individuati mediante Nodule Hunter (gruppi P e N rispettivamente), pervenendo alle distribuzioni di Figura 39. Sono state rappresentate le distribuzioni dei volumi, dei raggi della sfera circoscritta alla ROI, della sfericità, dell’intensità massima, minima e media, della deviazione standard e della deviazione standard normalizzata (definita come rapporto tra deviazione standard e intensità media) dei noduli P (in rosso) e dei negativi N (in blu). Sebbene sviluppati su un numeroV di noduli ancora troppo basso per avere una statistica significativa, queste analisi sono importanti al fine di stabilire il potere discriminante delle feature per il sistema di classificazione successivo. V Ricordo ancora che questo lavoro ha preso come riferimento le 24 CT del gold standard, contenenti 28 noduli. È ovvio che il numero di dati a disposizione è insufficiente per una buona statistica; è dunque difficile dire con certezza quali tra tutte le feature elencate in precedenza sono le più discriminanti, e quali possano essere aggiunte. - 53 - Figura 39. Distribuzioni delle statistiche per i positivi (in rosso) e negativi (in blu) dopo il filtraggio - 54 - La maggiore fluttuazione che si osserva negli istogrammi delle feature relative alle ROI patologiche è dovuto al minor numero di dati (27 patologiche contro 2236 non patologiche). Tali istogrammi mostrano come alcune feature siano maggiormente discriminanti, mentre altre lo siano poco. Da una prima analisi, ho infatti notato che alcune feature, quali deviazione standard, deviazione standard normalizzata, Imax e Imin , non possono considerarsi discriminanti, in quanto le due curve (quella che rappresenta i positivi e quella che rappresenta i negativi) seguono grossolanamente lo stesso andamento e di conseguenza risultano completamente o parzialmente sovrapposte. Le distribuzioni che non passano inosservate sono, senza dubbio, quelle relative ai volumi, ai raggi ed, in particolare, alla sfericità. Anche la distribuzione delle intensità medie, sembra parzialmente discriminante, in quanto le due distribuzioni sono solo parzialmente sovrapposte. Questa prima analisi ha suggerito quali feature siano più significative per identificare al meglio le due popolazioni, ma lavorando sulla singola feature non posso avere risultati soddisfacenti. Quindi, ho analizzato il problema più accuratamente, cercando di capire stavolta quali feature si accoppiano meglio tra di loro (in spazi di dimensione due); riporto di seguito gli scatter plot così ottenuti (Figure 40, 41, 42). 0.35 500 0.3 400 0.25 300 400 350 300 SFERICITA 0.15 DEV. ST. INTENSITA INTENSITA MEDIA 250 0.2 200 100 200 150 0.1 0 100 0.05 0 -100 0 20 40 60 RAGGIO 80 100 120 -200 50 0 20 40 60 RAGGIO 80 100 120 0 0 20 40 60 RAGGIO 80 100 120 Figura 40. Scatter plot 2D di alcune statistiche per i positivi (in rosso) e negativi (in blu) dopo il filtraggio - 55 - Figura 41. Scatter plot 2D di alcune statistiche per i positivi (in rosso) e negativi (in blu) dopo il filtraggio - 56 - 500 400 350 400 300 300 DEV. ST. INTENSITA INTENSITA MEDIA 250 200 100 200 150 0 100 -100 -200 50 0 0.05 0.1 0.15 0.2 SFERICITA 0.25 0.3 0 0.35 0 0.05 0.1 0.15 0.2 SFERICITA 0.25 0.3 0.35 400 350 DEV. ST. INTENSITA 300 250 200 150 100 50 0 -200 -100 0 100 200 INTENSITA MEDIA 300 400 500 Figura 42. Scatter plot 2D di alcune statistiche per i positivi (in rosso) e negativi (in blu) dopo il filtraggio Quest’analisi conferma quanto osservato in precedenza, ovvero che le feature maggiormente discriminanti sono quelle relative ai volumi, ai raggi ed, in particolare, alla sfericità, ma anche l’intensità media può, per esempio, essere d’aiuto se il classificatore riesce a basarsi su di essa per discriminare. - 57 - Osservando la coppia raggi-volumi, è possibile comprendere che a parità di volumi, i raggi della sfera circoscritta nel caso dei noduli sono più piccoli, questo implica una maggiore sfericità. Quindi posso dire, ancora una volta, che la sfericità è un molto discriminante! D’altra parte è estremamente probabile che molti dei falsi positivi siano frammenti di vasi, e quindi la loro sfericità mi aspetto sia piuttosto bassa rispetto ad oggetti compatti come i noduli. Nella figura seguente, riporto un plot in cui ho messo insieme (in uno spazio a dimensione tre) le variabili decisionali, scelte tra le feature più classificanti, che possono dare un’idea della “separabilità” delle caratteristiche scelte,e cioè ho effettuato uno scatter plot considerando i volumi, i raggi e la sfericità. Figura 43: Scatter Plot in tre dimensioni Ho confermato, in tal modo, che tre buone feature per discriminare i noduli dai negativi sono sfericità, raggio e volume. Non è detto che siano sufficienti, ma risultano comunque avere un alto potere discriminante. A queste tre feature ho voluto aggiungere l’intensità media dei grigi, per valutare se il suo utilizzo apporta vantaggi sensibili. 3.5 Classificazione La scelta di un classificatore ottimale per l’analisi dei dati esula dai limiti che, per forza di cose, è necessario imporre a questo lavoro di Tesi. Quindi, in uno studio preliminare, ho scelto di utilizzare - 58 - un classificatore discreto (basato sull’analisi discriminante) disponibile nel toolbox statistico di Matlab: CLASSIFY. L'analisi discriminante è un metodo di analisi statistica multivariataVI che permette di attribuire degli individui a uno di più gruppi. Per giungere ad un criterio ottimale si utilizzano funzioni discriminanti, le quali ricevono - come valori - variabili che si ritiene abbiano un'importanza per la bontà dell'attribuzione. Il sistema scelto è naturalmente un classificatore super-visionato, cioè un classificatore che è stato allenato prima dell’uso. In esso non vi sono parametri sui quali intervenire per meglio adattarlo al problema, per cui non è possibile disegnare una curva ROC o FROC. Schematizzo, nella figura seguente, la fase di classificazione: I vettori di feature inizialmente determinati vengono divisi in due gruppi: Uno utilizzato per il training (allenamento) del classificatore (circa i ¾ dei vettori di feature) Uno utilizzato per il test (circa ¼ dei vettori, il restante) Figura 44: Fase di classificazione Le fasi della procedura sono: 1. Training: Si passa al classificatore il blocco delle feature degli oggetti di training (positivi e negativi) con la relativa appartenenza ad una o all’altra delle due classi, in base al referto dei VI Con statistica multivariata s'intende quella parte della statistica in cui l'oggetto dell'analisi è per sua natura formato da almeno due componenti. - 59 - medici; il classificatore adatta i propri parametri interni in modo che riflettano la classificazione a priori che gli è stata presentata 2. Test: gli oggetti rimanenti vengono passati al classificatore senza le corrispondenti classi di appartenenza, che il classificatore stesso ipotizza in base alla somiglianza con i casi che ha “conosciuto” durante la fase di Training. 3. Si verifica la qualità della classificazione tramite il calcolo di sensibilità e specificità. Il calcolo di TP, FN, FP e FN si effettua naturalmente in base alla risposta: Gold Standard Classificatore Risultato 1 1 TP 1 0 FN 0 1 FP 0 0 TN Tabella 4: Confronto tra Gold Standard e risposta del classificatore Sono state usate in tutto 24 CT (27 noduli refertati), delle quali 18 per il training (20 noduli) e 6 per il test (7 noduli). Ho provato, per rendermi conto delle differenze, diverse configurazioni visibili in tabella: TP FN FP TN Sensibilità Specificità FP / immagini sfericità volume raggio sfericità 6 1 21 538 85.7 % 96.2 % 3.5 6 1 20 539 85.7 % 96.4 % 3.3 + volume + + raggio + sfericità + intensità media 6 1 19 540 85.7 % 96.6 % 3.2 Senza filtraggio, 4 feature 6 1 1332 5054 85.7 % 79.1 % 222 La prima colonna di risultati mostra cosa succede con l’uso della sola sfericità come parametro discriminante: da sola questa feature dà infatti un contributo importante nella separazione tra la classe dei positivi e quella dei negativi. Un solo nodulo non è stato individuato (il FN). Per “colpa” di questo nodulo (uno su sette), il valore di sensibilità non è troppo alto, e si attesta intorno al 86% - 60 - Le due colonne successive aggiungono volume/raggio, e volume/raggio/intensità media: si vede come via via ci sia un miglioramento a livello di diminuzione di falsi positivi (e quindi di aumento della specificità). L’ultima colonna mostra cosa succederebbe se si eliminasse il filtro sul volume: un aumento enorme dei falsi positivi! In conclusione, sebbene il sistema CAD sia ancora da migliorare, soprattutto nella fase di classificazione, già esso si dimostra in grado di individuare i noduli nelle CT di test con buona sensibilità e una specificità ragionevole. - 61 - CONCLUSIONI E PROSPETTIVE. Il mio lavoro di Tesi si è sviluppato nell’applicazione del Nodule Hunter, algoritmo di ricerca dei noduli, su immagini CT polmonari, nell’analisi della sensibilità dello stesso e valutazione delle caratteristiche dei noduli identificati. Ciò al fine di stabilire delle opportune feature che permettano ai sistemi di classificazione di discriminare tra nodulo e falso positivo. Partendo da quanto restituito dal segmentatore polmonare, realizzato presso la sezione MAGIC5 di Lecce, si è proceduto nella applicazione del sistema di ricerca dei noduli e valutazione del numero di patologie correttamente incluse rispetto al numero totale delle patologie presenti. Al fine di valutare la sensibilità dell’algoritmo è stata effettuata un’analisi sui noduli correttamente identificati tra quelli presenti, con particolare attenzione alle diverse e specifiche tipologie di nodulo (interno, pleurico, sub-pleurico). Lo studio è stato realizzato su ciascuna delle 24 immagini tomografiche polmonari del database della Collaborazione assunte come gold standard. Si è proseguito nell’analisi delle caratteristiche dei noduli identificati al fine di estrarre delle opportune features, quali raggio, volume e sfericità della regione di interesse identificata. Il NH ha evidenziato un’elevata efficienza in termine di inclusione dei noduli, per i diversi tipi di nodulo, dimostrandosi promettente nel futuro inserimento all’interno del CAD in fase di realizzazione. L’algoritmo necessita di una fase di ottimizzazione al fine di riuscire ad ottenere una sensibilità del 100%, ad esempio preoccupandosi di discriminare correttamente anche i noduli con contatto vascolare, difficili da evidenziare in quanto a stretto contatto con strutture non patologiche di simile densità. Prossimi obiettivi saranno: 1. effettuare un test sistematico su un più ampio numero di CT da inserire nel Database della Collaborazione MAGIC-5, al fine di confermare e migliorare la robustezza del sistema di ricerca dei noduli analizzato 2. migliorare l’algoritmo del Nodule Hunter per ottenere una sensibilità del 100% 3. migliorare la fase di classificazione utilizzando una rete neurale al posto dell’analisi discriminante in quanto, essendo la rete neurale uno standard in queste applicazioni ed essendo più adattabile, è sicuramente più appropriata e versatile rispetto all’analisi discriminante fornita da MATLAB. - 62 - BIBLIOGRAFIA 1 Samet JM (ed): Epidemiology of Lung Cancer. New York, Marcl Dekker, 1994 2 Boyle P. and Ferlay J. Cancer incidence and mortality in europe, 2004. Annals of Oncology, 16:481–488, 2005. 3 The Lancet, vol.365, May 14, 2005. 4 Hebert MacMahon, Roger Engelman, Fred Behten, Kenneth Hoffmann, Takayuki Ishida, Cheryl Roe, Charles Metz, Knlo Dol. “Computer-aided diagnosis of pulmonary nodules: results of a largescale observer test”, Radiology. 1999;213:723-726 5 Un approccio per la valutazione della validità dei test diagnostici: le curve R.O.C. (Receiver Operating Characteristic), Ezio Bottarelli , Stefano Parodi. 6 Daniela Catanzaro, ‘Studio di Sistemi Fisico-Computazionali per l’analisi di immagini biomediche’, Tesi di Laurea triennale, A.A.2003/2004, Università degli studi di Lecce. 7 Gurcan M.N., Sahiner B., Petrick N., Chan H., Kazerooni E.A., Cascade P.N.,Hadjiiski L.: ‘Lung nodule detection on thoracic computed tomography images: Preliminary evaluation of a computeraided diagnosis system’, Med. Phys. 29(11), pp.2552-2558 (2002). 8 Diederich S., Lentschig M.G., Overbeck T.R., Wonnanns D., Hemdel W.: ‘Detection of pulmonary nodules at spiral CT: comparison of maximum intensity projection sliding slabs and single-image reporting’, Eur. Radiol. 11 pp. 1345-1350 (2001) 9 Roberto Di Sarno, “Realizzazione ed Analisi Sperimentale di Algoritmi di Ricostruzione Tridimensionale applicati ad Immagini Biomediche”, Tesi di Laurea V.O., A.A.2004/2005, Corso di Laurea in Ingegneria, Università degli Studi di Napoli. 10 http//www.magic5.unile.it 11 Alessandra Carlà, “Metodi Matematico-Fisici per la caratterizzazione delle neoplasie polmonari in immagini TAC”, Tesi di Laurea triennale, A.A.2005/2006, Università degli studi di Lecce. 12 Eleonora Tommasi, “Metodi matematico-fisici per un sistema di Computer Assisted Detection Polmonare”, Tesi di Laurea V.O., A.A.2005/2006, Università degli studi di Lecce, CDL Fisica. 13 Giorgio De Nunzio, Eleonora Tommasi, “ Lung Segmentation: Status Report and Perspectives ”, MAGIC5 - Napoli Collaboration meeting 20/22 giugno 2007 14 Alessandra Retico,“ Status del database di CT polmonari e prestazioni del CAD”, MAGIC-5 Collaboration meeting – Torino, 3-5 Maggio 2006. 15 Gianfranco Gargano, “Sistemi computazionali per la diagnosi automatica di immagini mediche”, Università degli Studi di Bari Facoltà di Scienze Matematiche, Fisiche, Naturali, Dipartimento Interateneo di Fisica Michelangelo Merlin, Dottorato di Ricerca in Fisica XIX Ciclo. - 63 - 16 M. Mancas et al. ‘Segmentation Using a Region Growing Thresholding’, rapp. int.,Faculté Polytechnique de Mons, Circuit Theory and Signal Processing Laboratory. 17 Z. Lin et al., ‘Unseeded region growing for 3D image segmentation’, Pan-Sydney Workshop on Visual Information Processing, December, 2000. Conferences in Research and Practice in InformationTechnology, Vol. 2. P. Eades and J. Jin, Eds. 18 19 S.S. Cross, “Fractals in the pathology”, J. Pathol vol 182 (1997) pp (1-8) Donato Cascio,“Realizzazione di un sistema CAD per la rivelazione di lesioni massive in mammografia”, Tesi di Laurea Triennale, Università degli Studi di Palermo; Facoltà di Scienze MM.FF.NN., Corso di Laurea in Fisica, A.A.2003/2004. 20 L.Li, Y. Zheng, L. Zhang, R. A. Clark, “False-positive reduction in CAD mass detection using a competitive classification strategy”, Med. Phys. 28 (2), February 2001. 21 Tesi di laurea “Impiego di un sistema Computer-Aided Detection (CAD) nella diagnosi del Tumore Polmonare”, di Davide Caramella, A.A. 2005/2006, Fac. di Medicina e Chirurgia di Pisa. 22 Un approccio per la valutazione della validità dei test diagnostici: le curve R.O.C. (Receiver Operating Characteristic), Ezio Bottarelli , Stefano Parodi. 23 Schäfer H. (1989). Constructing a cut-off point for a quantitative diagnostic test. Statistics in Medicine, 8, 1381-91. 24 Tom Fawcett, “ROC Graphs: Notes and Practical Considerations for Researchers”, Pattern Recognition Letters (27), No. 8, June 2006, pp. 882-891. 25 J. A. Hanley e B. J. McNeil, “The Meaning and Use of the Area under a Peceiver operatine Characteristic (ROC) Curve”, Radiology 143, pp (29-36), 1982. 26 Swets J.A. (1998) Measuring the accuracy of diagnostic systems. Science, 240, 1285-93. 27 Flach, P. and S. Wu: 2003, `Repairing concavities in ROC curves'. In: Proc. 2003 UK Workshop on Computational Intelligence. pp. 38-44. 28 P. Chakraborty e H. L. Loek, “Free-Response Methodology: Alternate Analysus and a New Observer-Performance Experiment”, Radiology 174, pp (873-881), 1990. 29 http://root.cern.ch/ - 64 - RINGRAZIAMENTI Per tutti questi anni di lavoro e sacrifici, un ringraziamento speciale va alla mia famiglia, per avermi dato la possibilità di inseguire i miei sogni, per avermi aiutato non solo economicamente, ma soprattutto moralmente, quando ero stanca e scoraggiata, mamma, papà…voi eravate sempre lì ad incoraggiarmi, a rimproverarmi quando sbagliavo… a regalarmi un sorriso quando ne avevo bisogno… grazie a mia madre… per tutti i suoi consigli, la mia vera unica amica… grazie a papà, che, con la sua pazienza si fermava ad ascoltarmi prima di un esame… a farmi giocare come una bambina…solo per vedermi ridere e spensierata come una bambina…sempre!!! Per questo lavoro di tesi e per avermi seguito nella fase più dura della mia carriera universitaria, vorrei ringraziare due persone in particolare, e cioè il mio relatore Giorgio De Nunzio e la mia correlatrice Eleonora Tommasi, a loro va tutto il mio rispetto e la mia ammirazione. Mi avete accolta con semplicità e passo dopo passo, rispettando la mia passione per la Fisica Medica, avete dato anche a me la possibilità di entrare in questo mondo… con umiltà dinanzi ad ogni mia difficoltà… Grazie ad Eleonora, per esser stato un punto di riferimento importante, perché durante le giornate lavorative, tu, non solo lasciavi i tuoi impegni per dedicare le tue ore a spiegarmi ogni cosa con pazienza, ma ti trattenevi anche qualche altro minuto per ascoltare le mie paure e darmi qualche tuo consiglio… Grazie al professore Giorgio De Nunzio perché, nonostante non siano stati periodi semplici per lui, è stato sempre gentile e disponile con me…Grazie per la disponibilità e serietà con cui mi avete affiancata durante il lavoro e la stesura di queste pagine, dando a quest’ultima prova da me sostenuta, un valore personalmente indiscutibile. Siete state due persone veramente speciali e per questo non potrò scordarvi mai. Rimanendo sempre nell’ambiente universitario, vorrei ringraziare tutti i docenti del Corso di Fisica perché, nonostante le difficoltà, siete stati una guida importante per la mia carriera… i migliori! Grazie anche a tutto il personale, ai responsabili dell’ officina per la simpatia e la gentilezza che hanno dimostrato in questi anni, a Tommaso, responsabile della biblioteca, una persona davvero splendida, e a tutto lo staff del Fiorini che mi ha regalato tre anni stupendi!!! Grazie ai miei colleghi… ad Enza, per la sua dolcezza… a Celeste, per la serietà che ha dimostrato ad accogliere ogni mia parola, a Luigi D.R., per avermi aiutato in questi anni a superare le mie difficoltà… a Luigi M., per avermi insegnato nel suo piccolo ad essere una persona più corretta… a Marco, a lui perché è davvero fantastico, perché in ogni giorno trascorso insieme mi hai regalato tanti sorrisi e tanta spensieratezza… ad Adriano e a Leonardo, per ogni chiacchierata e per ogni vostro scherzo… ad Alberto, per esser sempre stato una persona seria, a Mirko, ad Alessandra, a Giovanni, ad Elisabetta, a Vittorio… a tutti i ragazzi che hanno iniziato questo percorso insieme a - 65 - me. Grazie a tutti i miei colleghi più vecchi… a Federica, a Francesca, a Vito, ad Emanuele, a Francesco, a Gabriele, ad Alepolo, ad Alessandra C., a Salvatore, ad Andrea, a tutti i ragazzi della biblioteca, perché tra una mattinata di studio e un pomeriggio a burraco, avete reso intense le mie giornate! Ringrazio anche Andrea M., per esser stato paziente ad esercitarmi nell’esposizione di questa tesi! Grazie alla mia migliore amica e collega Serena, una sorella per me, perché mi sei sempre stata vicina nelle mie paure prima di un esame, nelle mie debolezze, per aver asciugato con un affetto incredibile ogni mia lacrima, per non avermi mai fatto sentire sola, perché sei entrata nella mia vita per donarmi un’amicizia da favola, perché sei unica, perché so che su di te potrò contare…per sempre!!! Grazie alla sua famiglia, per avermi accolta con amore…Grazie ai suoi cugini, Roberto e Chiara, per avermi trattata sempre come una di famiglia!!! Grazie a Francesca, alla mia vera grande sorellina, un esempio di vita per me… per esser stata dolce quando avevo bisogno di conforto e dura quando non riuscivo a capire come affrontare gli ostacoli che in questi 22 anni la vita mi ha posto davanti. Grazie per avermi sopportata sempre con amore ed esser stata sempre presente nonostante la distanza… grazie al suo Salvo, soprattutto per rendere felice una delle persone più importanti della mia vita! Un grazie con il cuore va ai miei amici di sempre… a Marco, per esser entrato all’improvviso nella mia vita ed esserci stato ogni singolo istante di questi otto anni, nelle mie paure, nelle mie lacrime, nelle mie difficoltà scolastiche ed universitarie, grazie perché l’ultimo anno dell’ultima ora della mia carriera scolastica tu c’eri, a farmi capire che potevo raggiungere dentro di me la stessa infinità del mare solo se avessi cacciato tutta la forza… e mi hai aiutato a cacciarla, ad esprimere le mie emozioni, i miei sentimenti, a farmi conoscere un oceano di sensazioni uniche… fino a farmi diventare quella che sono, una donna, fino ad inondare la mia vita dei valori più belli e più preziosi… tu che ci sei stato anche il primo giorno della mia carriera universitaria, ad avermi accompagnato tu davanti a quell’aula dove l’otto settembre 2004 iniziavano i precorsi… ed io ancora piccola, non sapevo che quel giorno mi avrebbe portato a scoprire me stessa e le mie aspirazioni… tu che ci sei anche oggi… il giorno del raggiungimento del mio primo grande traguardo… semplicemente grazie! Grazie a Giancarlo, perché, nonostante le tante difficoltà, mi hai sempre aiutata, donandomi un affetto sincero… grazie per esser diventato negli anni un fratellino, venendomi a distrarre nelle giornate di studio, per i lunghi discorsi, per avermi portato a capire i miei sbagli e per aver contribuito tanto anche tu a crescere… Grazie a Donato, un vero amico, il ragazzo più semplice che conosco… perché mi hai sempre sostenuta ed aiutata… - 66 - Grazie a don Arcangelo, per avermi guidata con amore ad essere una ragazza disciplinata ed esser stato sempre presente nelle mie decisioni più importanti sin da quando avevo otto anni, perché tu mi hai insegnato ad essere umile e a non dire mai… “io sono fatta così, non cambio”, ma “io voglio, io devo migliorare”, con semplicità…mi hai insegnato davvero tanto…eppure tu sai che avrò sempre bisogno del tuo parere…perché tu mi hai cresciuta, tu sai tutto di me, perché a te basta uno sguardo per capirmi… grazie di tutto!!! E come non potrei ringraziare un’amica speciale, di sempre che mi ha accolto e stata vicina in ogni momento, Martina… Grazie a tutti i miei amici di Veglie, a quelli che ci sono da sempre e a quelli che sono entrati nella mia vita negli ultimi anni, ad Andrea e ad Enrica, al dottor Tommaso, alla nostra cantante romana Alessandra e a tutti i ragazzi del mio paese che mi sono stati vicini… ai ragazzi della Body Planet, per avermi fatto rilassare e divertire nell’ultimo periodo di questo percorso. Grazie ai ragazzi di Lecce, che ho avuto modo di conoscere e frequentare in questi mesi, in particolare a Valentina, ad Andrea, a Federica e a Paola… Grazie al gruppetto di amici di Trepuzzi, in particolare ad Antonio, ad Emanuele, ad Alessandro, a Lorenzo, a Mino, a Gianluca, a Luigi, per avermi accolta tra loro con semplicità! Grazie a chi ho conosciuto all’inizio di questo percorso e ritrovato con gioia alla fine, per rendermi piacevole e indimenticabile ogni momento, a Salvatore. Grazie a tutti i miei parenti, in particolare alla mia nonnina, per avermi cresciuta, ai miei zii e ai miei cugini… per esser stati sempre presenti nella mia vita! In particolare grazie a Maria Teresa e a Luigi per avermi indirizzata e sempre aiutata in questo percorso, con i loro consigli da fisici e da cugini!!! In ultimo, ma non per ordine d’importanza vorrei ringraziare una persona che è entrata nella mia vita per sorprendermi… per farmi scoprire la bellezza di un sentimento forte, grazie a te, Tony, non so cosa la vita ci riserva, però quest’anno trascorso insieme a te è stato davvero fantastico… grazie alla sua famiglia, per avermi accolta come una figlia! - 67 -