Descriviamo di seguito le varie fasi in cui si è articolata la realzizazione del del progetto dando una visione di dettaglio sulle attività svolte per portare a termine i singoli obiettivi e fornendo inoltre una visione di insieme del contributo delle singole parti nell’intero progetto.
1 Messa a punto di un sistema per l'analisi dello staining corneale in fluoresceina mediante analisi di immagine
La prima attività che si è reso indispensabile eseguire, propedeutica alla realizzazione del software per lo studio dello staining corneale, è stata quella di prima di effettuare uno studio dello stato dell’arte sui metodi di analisi dello staining corneale e quindi individuare i riferimenti scientifici necessari per lo studio in esame.
È possibile trovare un’estesa bibliografia che tratta le problematiche dello staining corneale associandolo alle implicanza indotte da lenti a contatto. L’analisi dell’integrità della cornea mediante la valutazione delle punteggiature a seguito di un esame con lampada a fessura è infatti oggetto di oltre 2500 articoli scientifici.
Se da un lato però l’analisi delle punteggiature e la sua utilità sono riconosciute in ambito contattologico, dall’altro non c’è uniformità nei metodi impiegati per effettuare la valutazione sulla gravità dello staining. Infatti i differenti autori utilizzano per le valutazioni metodi di gradazione della gravità dello staining molto diversi tra loro. La diversità di metodo porta di conseguenza a una varietà di valutazioni dato che i diversi metodi differiscono anche per modalità di classificazione dello staining e per la precisione ad essa associata.
Un’analisi attenta della letteratura ha portato ad evidenziare gli aspetti comuni alle scale di gradazione delle punteggiature attualmente utilizzate e di individuare i riferimenti per la validazione del software che ISE ha intenzione di realizzare.
Risulta quindi che negli ultimi 20 anni le scale maggiormente utilizzate siano essenzialmente quattro:
· la scala “Efron”
· la scala “Annunziato”
· la scala “CCLRU”
· la scala “Vistakon”
Tutte queste scale di gradazione vanno intese come dei veri e propri sistemi per la valutazione delle complicanze indotte da lenti a contatto, infatti non contengono solo metodi di valutazione e gradazione per lo staining corneale ma anche per molte altre complicanze legate all’uso di lenti a contatto, come ad esempio l’arrossamento congiuntivale e la congiuntivite papillare.
Un aspetto comune alle quattro scale citate è che tutte sono basate su set di immagini di riferimento. In pratica la valutazione della gravità delle punteggiature è effettuata mediante confronto dell’immagine acquisita della cornea del paziente (tramite lampada a fessura) con le immagini di riferimento della scala.
Nel caso della scala Efron e Annunziato le immagini di riferimento sono delle immagini illustrative realizzate ad hoc artisticamente, mentre nei sistemi CCLRU e Vistakon il set di riferimento è rappresentato da fotografie.
Tra le quattro scale la CCLRU realizzata presso il Cornea and Contact Lens Research Unit, è sicuramente quella più utilizzata in ambito contattologico e quindi è stata scelta come punto di partenza e come riferimento per le successive valutazioni.
Punto di partenza ulteriore per le successive valutazioni è rappresentato da:
- Romano F., Montani G., Martino M., Quantitative Analysis of Corneal Staining in Silicon Hydrogel Contact Lens Wear, 32th Clinical Conference and Exhibition of British Contact Lens Association (BCLA);
- Romano F., Montani G., Martino M., Analisi Quantitativa della Punteggiatura Corneale tramite un software di analisi delle immagini, 5° Convegno Assottica], per passare ad progettare l’algoritmo da utilizzare per l’individuazione e la classificazione delle aree colpite da staining.
La necessità di creare un sistema tale da consentire una valutazione oggettiva delle punteggiature e quindi basato su una stima quantitativa dell’entità dello staining ha richiesto lo sviluppo di una metodologia di analisi che permettesse di:
- riconoscere i diversi tipi di punteggiatura
- parametrizzare i dati relativi alla “gravità” dello staining
- classificare in base ai risultati ottenuti lo staining corneale osservato.
I tre punti precedenti sono stati affrontati e risolti in maniera innovativa. Innanzitutto è stato stabilita una classificazione delle punteggiature in base alla loro area effettiva.
Il punto di partenza come già accennato è stato la scala CCLRU. Nella scala CCLRU le punteggiature sono distinte in base al “Tipo” in:
1. Micro punteggiature
2. Macropunteggiature
3. Macropunteggiature coalescenti
4. Patch
Ad ogni “Tipo” è associata un’immagine di riferimento esemplificativa della complicanza associata.
Si è proceduto all’analisi mediante software commerciali sia delle immagini di riferimento della scala CCLRU sia di immagini reali precedentemente classificate in base al “Tipo” definito mediante CCLRU.
Si è scelto di distinguere le diverse tipologie di punteggiature in base alla loro area effettiva (parametro che è possibile stimare mediante i software utilizzati se opportunamente calibrati). A seguito delle analisi svolte è stato possibile individuare la seguente parametrizzazione delle punteggiature:
-
- Micropunteggiature se l’area ≤ 0.002 mm2,
- Macropunteggiature se 0.002 ≤ area ≤ 0.01 mm2,
- Punteggiature coalescenti se 0.01 ≤ area ≤ 0.3 mm2,
- Patch se l’area > 0.3 mm2
Una volta individuata la modalità di classificazione delle punteggiature è stato affrontato il problema di classificare lo staining in base all’ “Estensione” delle punteggiature, definita in accordo alla scala CCLRU in base alla percentuale d’area della cornea effettivamente interessata da staining.
Anche in questo caso si è provveduto ad analizzare mediante software commerciali sia le immagini di riferimento della scala CCLRU che immagini reali.
La scala CCLRU prevede una classificazione in termini di “Estensione” pari a:
Grado di estensione | % area interessata da staining - CCLRU |
0 | <1% |
1 | 1%-15% |
2 | 16%-30% |
3 | 31%-45% |
4 | >46% |
Dalle analisi effettuate è risultato evidente la necessità di ridefinire i vari gradi di estensione in modo da permettere una maggiore sensibilità del sistema di gradazione per gradi di “Estensione” bassi. È stata applicata quindi la gradazione seguente:
Grado di estensione | % area interessata da staining - ISE |
0 | <2,5% |
1 | 2,5%-8% |
2 | 8%-20% |
3 | 20%-45% |
4 | >46% |
Per implementare la classificazione appena descritta al software da realizzare, tenendo conto delle considerazioni precedenti, è possibile infine utilizzare le seguenti formule:
per la definizione del Tipo di staining e
per la definizione del grado di “estensione“
dove Ai è la percentuale d'area del singolo tipo di punteggiatura rispetto all'area totale della selezione, t = 1.30, A0 = 2.19 e A è percentuale di staining rispetto all'area totale.
Le due formule evidenziate hanno il duplice vantaggio di permettere al software da un lato di calcolare immediatamente i gradi per tipo ed estensione sulla base dei dati quantitativi relativi all’area delle single punteggiature, dall’altro di effettuare una classificazione basata su una scala continua di gradazione e non più discreta (così come previsto dalle scala tradizionali).
2 Progettazione, realizzazione, testing e validazione funzionale di un software per l'analisi dello staining corneale in fluoresceina.
Dopo aver effettuato lo studio della bibliografia sulle complicanze indotte da lenti a contatto e messo a punto il sistema per lo studio dello staining corneale in fluoresceina mediante analisi di immagine si è passato alla progettazione, realizzazione, testing e validazione funzionale del software per l’analisi dello staining.
In particolare si sono individuate le possibili soluzioni per l’implementazione dell'interfaccia grafica dell'utente (GUI) nonché degli strumenti necessari a sviluppare l'applicazione, quali linguaggio di programmazione, librerie software e ambienti di sviluppo integrati. Il linguaggio di programmazione scelto è stato Visual Basic mentre l'ambiente di sviluppo SharpDevelop 3.1 che risulta open-source.
Sono stati quindi progettati e implementati gli algoritmi che consentono di effettuare l'analisi delle punteggiature. Precisamente, l'immagine a colori caricata viene convertita in toni di grigio combinando linearmente le tre componenti Rosso, Verde e Blu con gli stessi pesi, ovvero tono di grigio = 1/3 * R + 1/3 * G + 1/3 * B. Per rendere veloce tale conversione si è fatto ricorso alla matrice di colore dell'immagine.
Successivamente l'immagine in toni di grigio è segmentata mediante l'applicazione di una soglia inferiore e di una soglia superiore. I pixel con valori di grigio che sono esterni all'intervallo di interi racchiuso tra le due soglie sono considerati punti di background e, di conseguenza, si imposta il corrispondente valore di grigio a 255 (bianco). Viceversa, i pixel con toni di grigio compresi tra le due soglie sono considerati oggetti di interesse e il corrispondente valore di grigio è impostato a 0 (nero). Anche in questo caso si cerca di rendere più efficiente l'algoritmo di segmentazione evitando di utilizzare le funzioni standard di accesso ai pixel.
L’applicazione delle soglie è effettuata dal medico/operatore che in tal modo effettuerà una prima “analisi” visiva dell’immagine escludendo dalla successiva elaborazione le aree che per la sua esperienza non sono sicuramente segno di uno staining corneale o sono troppo piccole per essere valutate.
L'algoritmo di labeling degli oggetti presenti nell'immagine a 2 colori prodotta dalla
segmentazione opera eseguendo i seguenti passi:
- Scorre tutta l’immagine analizzando ogni pixel
- Per ogni pixel valuta il suo valore (0 o 255 a seconda della soglia applicata) e il valore dei pixel vicini individuando i pixel candidati ad appartenere allo stesso secondo lo schema riportato nella figura seguente, dove in blu è indicato un pixel che identifica un oggetto e in azzurro possibili pixel candidati ad appartenere al medesimo oggetto;
- Ad ogni iterazione viene creata una lista di pixel candidati che verranno analizzati singolarmente.
- Dopo aver effettuato l’analisi del pixel viene impostato il suo valore ad un valore di sfondo in modo che non sia più considerato nella successiva interazione.
- L’algoritmo termina dopo che tutti i pixel dell’immagine sono stati riportati ad un valore di sfondo.
Durante la fase di labeling viene costruita una matrice avente le stesse dimensioni dell'immagine originale che conserva le informazioni necessarie a creare una maschera di colore per le punteggiature presenti.
Sulla base della quantità di pixel correlati che costituiscono ogni area analizzata è possibile classificare le singole zone di analisi come zone affette o non affette da staining ed è possibile classificare le punteggiature di tipo micro, macro, coalescenti e patch.
Infine l'output dell'algoritmo di labeling è formattato opportunamente e reso disponibile per un eventuale salvataggio come file di testo
Dopo aver terminato la prima realizzazione del programma si è passato alla fase di testing e validazione funzionale in modo da verificare la corretta implementazione del codice e per avere spunti di miglioramento.
Per il software realizzato sono stati effettuati test conosciuti come Unit Test.
Lo Unit Testing è una tipologia di test automatico, basata sulla possibilità di sottoporre a test i singoli componenti di un sistema per verificarne la capacità di soddisfare i requisiti.
I suddetti test sono definiti “unitari”, e sono programmi batch che utilizzano le nostre classi inviando messaggi prefissati in modo da poter verificare la risposta della classe stessa. Esistono (almeno) 2 affermati toolkit di unit testing per .NET, entrambi ispirati alla suite xUnit ideata da Kent Beck ed Erich Gamma:
- NUnit
- csUnit
Per i test del software è stato utilizzato NUnit.
Si è proceduto alla valutazione dei test utilizzando l’interfaccia grafica fornita da NUnit. Come si attendeva, i risultati dei test effettuati hanno dato tutti esito positivo.
Si sono apportati successivamente dei miglioramenti al software sia nell’interfaccia che negli algoritmi utilizzati per l’elaborazione scaturiti dall’analisi effettuata descritta al paragrafo seguente, e in particolare la routine di gestione delle soglie è stata modificata in modo tale da permettere incrementi unitari dei valori decisi dall'utente stesso mediante due pulsanti per ciascuna soglia presenti nell'interfaccia.
Si è introdotta la funzionalità che fornisce all'utente la possibilità di impostare la risoluzione dell’immagine da analizzare manualmente, di ricavare la risoluzione dall'immagine stessa, di salvare la risoluzione impostata nel registro di configurazione di windows e di caricare la risoluzione dal registro. Ovviamente sono stati implementati i necessari controlli affinché, prima di avviare un'elaborazione, la risoluzione dell'immagine sia correttamente impostata.
Per le esigenze di sponsorizzazione e di rilasciare una versione di prova agli utenti scelti come beta tester del software si è creata una versione DEMO dello stesso che tiene traccia del numero totale di elaborazioni effettuate in una sessione e del numero di sessioni avviate a partire dall'installazione del software e che rende inutilizzabile il software dopo l’esecuzione di un numero predefinito di elaborazioni (impostato attualmente a 10).
Sono state apportate inoltre modifiche alle routine relative all'elaborazione dell'immagine al fine di migliorare l'efficienza di calcolo, ottenendo in tal modo un notevole incremento dei tempi di esecuzione.
Con la medesima filosofia implementativa è stata realizzata una routine che permette di classificare in maniera visuale le punteggiature presenti, in particolare a ciascuna punteggiatura, in base alla sua estensione, è assegnato un colore come segue:
- blu per le micropunteggiature;
- verde per le macropunteggiature;
- giallo per le macropunteggiature coalescenti;
- rosso per le patch.
3 Valutazione della performance diagnostica del software per l'analisi dello staining corneale in fluoresceina realizzato.
L’ultima fase della realizzazione del progetto è stata quella relativa alla valutazione delle performance diagnostiche del software per l’analisi dello staining corneale in fluoresceina realizzato. Tale fase si è alternata a quella precedente, infatti si è proceduto alla sua valutazione sia dopo aver realizzato la prima versione che dopo l’emissione della seconda release.
Prima di procedere all’analisi delle funzionalità del software è stato necessario selezionare una serie di immagini campione da utilizzare nella fase di test dell’efficacia.
L’attività è stata svolta in collaborazione con Formazione Continua in Medicina (FCM) e il Centro di Ricerca in Contattologia (CRC) dell’Università del Salento. In particolare si è proceduto all’acquisizione tramite lampada a fessura di una serie di immagini in fluoresceina che rispondessero a requisiti di alta qualità (i.e. alta risoluzione e nitidezza).
Tra le immagini fornite è stato selezionato un set di immagini di test scelte in funzione della qualità delle immagini e soprattutto tali da permettere un’effettiva valutazione del software sul più ampio range possibile di gradazione (da complicanze lievi o assenti a complicanze serie).
Le immagini raccolte sono state analizzate mediante software commerciali evidenziando i parametri necessari ad ottimizzare l’analisi. I risultati ottenuti mediante software commerciale sono stati quindi utilizzati per la validazione degli algoritmi utilizzati dal software ISE. È necessario sottolineare che in questa fase è stato necessario utilizzare una prima versione del programma che permettesse di controllare tutti gli step di analisi effettuati. I dati ottenuti mediante il software commerciale infatti sono dati “grezzi” relativi ai conteggi delle punteggiature evidenziate e alla loro area (in px2) e quindi difficilmente confrontabili con i risultati finali in termini di Tipo ed Estensione che il software ISE fornisce.
La prima fase di test effettuata ha evidenziato dei problemi del software ISE nella modalità di conversione in scala di grigi dei colori reali delle immagini acquisite. La conversione in scala di grigi è fondamentale per applicare gli algoritmi di analisi di immagine implementati.
Inoltre è risultato evidente che le modalità di calibrazione (conversione pixel-mm) applicate dal software non davano luogo a risultati realistici.
A seguito dei rilievi effettuati, si è provveduto ad apportare le modifiche descritte al paragrafo precedente al software e a rilasciare un’ulteriore versione del programma correttamente funzionante.
La nuova versione è stata testata utilizzando il set di immagini campione. I risultati ottenuti sono risultati coerenti con quelli ricavati mediante software commerciale. È stata inoltre verificata la corretta funzionalità degli algoritmi finali per la conversione dei risultati dell’analisi in termini di “Tipo” ed “Estensione”.
Una volta terminato il processo di valutazione delle performance diagnostiche del software realizzato, in collaborazione costante con il Centro di Ricerca in Contattologia dell’Università del Salento, si è validato lo stesso utilizzando le immagini raccolte dal CRC durante una campagna promossa allo scopo di valutare gli effetti di sostituti lacrimali nella terapia della sindrome da ”occhio secco”.
Il CRC ha fornito una serie di immagini acquisite tramite lampada a fessura su pazienti affetti da occhio secco, pre e post trattamento con il sostituto lacrimale oggetto di studio.
Le immagini acquisite sono state analizzate mediante il software realizzato e i risultati ottenuti sono stati confrontati con i risultati ottenuti parallelamente dal CRC sulle stesse immagini utilizzando la scala CCLRU.
L’utilizzazione del software ISE nelle valutazioni dello staining corneale risulta non solo possibile, visto il buon accordo con i risultati della scala CCLRU ma anche vantaggiosa poiché permettendo di effettuare una stima quantitativa della complicanza permette di osservare, stimare e valutare anche variazioni lievi nell’evoluzione dello staining (aspetto risultato molto utile nello studo effettuato).
A partire dai risultati ottenuti si è provveduto a preparare in collaborazione con il CRC un lavoro scientifico per il congresso organizzato dalla British Contact Lens Association.
Risultati
L’idea progettuale proposta dal gruppo informale I.S.E. e finanziata dalla Regione Puglia ha portato alla realizzazione di un software efficiente ed efficace per lo studio quantitativo delle complicanze indotte dall’utilizzo di lenti a contatto ed in particolare per l'analisi dello staining corneale in fluoresceina.
Gli sforzi profusi nella buona riuscita del progetto e la collaborazione con importanti realtà quali il Centro di Ricerca in Contattologia dell’Università del Salento e Formazione Continua in Medicina hanno portato alla realizzazione di uno strumento i cui risultati sono validati dal mondo scientifico e che conta quindi di diffondersi come strumento per lo studio delle malattie dovute all’utilizzo di lenti a contatto. I risultati ottenuti nello studio dello staining corneale mediante l’ausilio del software realizzato da I.S.E. sono stati pubblicati nel poster “Quantitative analysis of corneal staining after a peg400 eye drop instillation in mild dry eye patients” 1Giancarlo GM Montani, Optometrist, 2Francesco FR Romano PhD (1Centro di ricerche in Contattologia Università del salento , Lecce, Italy, 2Innovative Solution for Eyes (ISE), Lecce, Italy) presentato alla conferenza BCLA (British Contact Lens Association) Clinical Conference and Exhibition 2010. è stato inoltre utilizzato il nostro software nella realizzazione della tesi di laurea triennale in optometria dal titolo "Attendibilità nella valutazione delle punteggiature corneali effettuata tramite software di analisi delle immagini rispetto all'utilizzo delle grading scales" Autore: Luca Panarese, Relatore Giancarlo Montani
Sviluppi Futuri
Le attività sulle quali l’azienda Innovative Solutions for Eyes di Alessandro, Francesco e Simone Romano s.n.c. punterà il suo focus nel prossimo futuro sono quelle di promozione del software realizzato per cercare di intraprendere rapporti commerciali o di stringere partnership con altre aziende che sviluppano software da utilizzare in ambito medicale. Si continuerà a collaborare con i partner che hanno contribuito alla realizzazione di questo ambizioso progetto cercando di ottenere altri risultati positivi in ambito scientifico e in tale direzione I.S.E. sta valutando di sottomettere l’articolo già pubblicato alla conferenza BCLA al Contact lens & anterior Eye