Top Banner
1 Anno accademico 2014/2015 Laboratorio di fisica applicata Software didattico per l’analisi del cariotipo umano Alice Zanna Bonacorsi 1. Introduzione 2. Metodologia 3. Analisi del software in presenza di rumore 4. Risultati Abstract La diagnosi prenatale tramite studio del cariotipo ha assunto negli anni sempre maggiore importanza poiché consente di evidenziare la presenza di anomalie cromosomiche, sia numeriche sia strutturali. Questo progetto di laboratorio di fisica applicata è stato realizzato con utilizzo del software Matlab e ha come scopo l’analisi del cariotipo umano mediante conteggio automatico dei cromosomi per uso didattico. L’utente (lo studente) sceglie un cariotipo e il programma è in grado di segnalare il sesso e la presenza di eventuale aneuploidia autosomica o sessuale. Le performance del programma sono state poi testate in presenza di varie tipologie di rumore. 1. Introduzione In questo progetto si sono analizzate trenta immagini di cariotipo umano (di cui solo nove euploidi) al fine di stabilire in modo automatico la presenza di anomalie numeriche, un esempio è mostrato in Figura 1. Il cariotipo è una microfotografia di cromosomi che sono stati disposti in modo preordinato all’interno di una cellula durante la metafase. Nella preparazione del cariotipo, che avviene in laboratorio, i cromosomi sono affiancati con le braccia corte rivolte verso l’alto e quelle lunghe verso il basso. Convenzionalmente sono numerati secondo la loro dimensione, dal cromosoma più grande al più piccolo: per primi sono messi i cromosomi autosomici, per ultimi quelli sessuali (eccezione all’ordinamento per dimensione).
12

Software didattico per l'analisi del cariotipo umano

Apr 24, 2023

Download

Documents

bruna pieri
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software didattico per l'analisi del cariotipo umano

  1  

Anno accademico 2014/2015

Laboratorio di fisica applicata

Software didattico per l’analisi del cariotipo umano

Alice Zanna Bonacorsi

1. Introduzione 2. Metodologia 3. Analisi del software in presenza di rumore 4. Risultati

Abstract La diagnosi prenatale tramite studio del cariotipo ha assunto negli

anni sempre maggiore importanza poiché consente di evidenziare la presenza di anomalie cromosomiche, sia numeriche sia strutturali. Questo progetto di laboratorio di fisica applicata è stato realizzato con utilizzo del software Matlab e ha come scopo l’analisi del cariotipo umano mediante conteggio automatico dei cromosomi per uso didattico. L’utente (lo studente) sceglie un cariotipo e il programma è in grado di segnalare il sesso e la presenza di eventuale aneuploidia autosomica o sessuale. Le performance del programma sono state poi testate in presenza di varie tipologie di rumore.

1. Introduzione In questo progetto si sono analizzate trenta immagini di cariotipo umano (di cui solo nove euploidi) al fine di stabilire in modo automatico la presenza di anomalie numeriche, un esempio è mostrato in Figura 1. Il cariotipo è una microfotografia di cromosomi che sono stati disposti in modo preordinato all’interno di una cellula durante la metafase. Nella preparazione del cariotipo, che avviene in laboratorio, i cromosomi sono affiancati con le braccia corte rivolte verso l’alto e quelle lunghe verso il basso. Convenzionalmente sono numerati secondo la loro dimensione, dal cromosoma più grande al più piccolo: per primi sono messi i cromosomi autosomici, per ultimi quelli sessuali (eccezione all’ordinamento per dimensione).

Page 2: Software didattico per l'analisi del cariotipo umano

  2  

Figura 1: immagine originale dal database Zooweb (768x576 pixel)

I cromosomi possono essere soggetti a variazioni strutturali: delezioni, duplicazioni, inversioni, traslocazioni. In questo elaborato si sono analizzate esclusivamente le variazione del numero di cromosomi. 2. Metodologia

2.1 Database Per la realizzazione di questo elaborato di laboratorio di fisica applicata è stata usata una raccolta gratuita d’immagini pubblicate a scopo didattico: ‘‘Human karyotype for teaching’’ sul sito ‘http://worms.zoology.wisc.edu/zooweb/Phelps/karyotype.html. Questo sito è una cooperative venture tra ZooWeb e il Laboratorio di Igiene del Wisconsin State. Le immagini presenti sono destinate all'uso nella didattica per aiutare gli studenti a studiare cromosomi umani. 2.2 Analisi del cariotipo umano Il cariotipo è specie-specifico e quello umano normale diploide è costituito da quarantasei cromosomi (22 paia di autosomi e un paio di cromosomi del sesso o eterocromosomi: XX nella femmina, XY nel maschio). L’aneuploidia porta ad avere un numero spaiato di cromosomi e genera solitamente un fenotipo anormale: circa il 5-10% degli oociti umani hanno un numero anomalo di cromosomi e nella maggior parte dei casi a questo consegue un aborto. Tra le anomalie compatibili con la vita ci sono la trisomia 13, la trisomia 18, la trisomia 21 o le anomalie nei cromosomi sessuali. Se l’anomalia colpisce cromosomi grandi che contengono quindi una grande quantità di materiale genetico il fenotipo sarà sicuramente letale. La diagnosi prenatale tramite studio del cariotipo ha assunto negli anni sempre maggiore importanza e viene effettuata attraverso la coltura e lo studio delle cellule fetali presenti nel liquido amniotico o nei villi coriali. 2.3 Algoritmo L’algoritmo ideato è implementato in linguaggio MATLAB ed esegue un conteggio automatico dei cromosomi dando indicazioni sul sesso e sulla presenza di un’eventuale anomalia numerica nei cromosomi sessuali e/o autosomici. L’utente può scegliere l’immagine su cui eseguire il conteggio tramite la funzione uigetfile. Per poter contare correttamente i cromosomi è necessario elaborare le immagini fornite dal laboratorio in modo da eliminare il codice seriale e i numeri sottostanti ai cromosomi, prestando attenzione affinché con queste operazioni sia di tipo morfologico sia locale non vengano eliminati oltre i numeri, anche i cromosomi più piccoli. È inoltre molto importante non alterare eccessivamente la morfologia

Page 3: Software didattico per l'analisi del cariotipo umano

  3  

ed evitare l’eventualità che si uniscano tra loro cromosomi omologhi. Si è quindi cercato un compromesso per ottenere l’eliminazione degli oggetti inutili, ma anche il mantenimento della morfologia dei cromosomi. L’algoritmo prevede una preliminare fase di pre-processing in cui sono svolte operazioni di image enhancement (al contrario dell’image restoration che è un processo oggettivo qui si cerca un miglioramento soggettivo dell’immagine al fine di rendere l’immagine adatta al conteggio). Il cariotipo è prima convertito in livelli di grigio tramite funzione rgb2gray e poi in bianco e nero tramite sogliatura im2bw .

Segmentazione delle immagini

• Thresholding Per eseguire la sogliatura delle immagini è stata usata la funzione im2bw(I, level). I l software Matlab mette a disposizione anche la funzione graythresh(I, level), che utilizza la sogliatura globale con il metodo Otsu: il metodo Otsu intende la sogliatura come un problema di statistica, il cui obiettivo è quello di minimizzare l’errore medio ottenuto dividendo i pixel in due o più classi (o massimizzare la varianza inter-classe). Se siamo in presenza di due classi, una che va dal livello di grigio 0 al livello k, l’altra dal livello k+1 a L-1, allora la varianza intra-classe (within-class) la possiamo esprimere come:

𝜎!! = 𝑃!𝜎!! + 𝑃!𝜎!! dove: P1= 𝑝𝑖!

!!! P2= 𝑝𝑖!!!

!!!!! La funzione graythresh fornisce come soglia 0.7, ma non si è rivelata una soglia idonea poiché, a causa della diversa densità di cromatina, i cromosomi appaiono a strisce e la sogliatura con metodo Otsu aveva come spiacevole risultato il portare ad avere spazi bianchi all’interno del cromosoma, spazi che con le operazioni morfologiche seguenti portavano alla frammentazione orizzontale dei cromosomi. Si è quindi deciso di provare ad aumentare la soglia fino a 0.9, come si vede nell’immagine in Figura 4a (che mostra già anche il complementare dell’immagine), si possono notare delle regioni bianche all’interno dei cromosomi che con l’operazione di apertura necessaria in seguito (al fine di eliminare i numeri sottostanti) portavano alla separazione orizzontale di alcuni cromosomi come si vede in figura 4b. Si è quindi scelto empiricamente un livello pari a 0.99, unico valore che permetteva di rendere i cromosomi degli oggetti compatti come mostrato in Figura 2. L'immagine di output sostituisce tutti i pixel dell'immagine in input con luminanza maggiore del livello con il valore 1 (bianco) e sostituisce tutti gli altri pixel con il valore 0 (nero). L’immagine in bianco e nero con una sogliatura del tipo im2bw(img_gray,0.99) presenta delle sbavature attorno ai cromosomi, che non hanno alcun peso negativo ai fini del conteggio, ma sono stati tolti per conservare l’aspetto originale dei cromosomi.

Figura 2: immagine complementare e

sogliata con im2bw(img_gray, 0.99)

Page 4: Software didattico per l'analisi del cariotipo umano

  4  

L’immagine binaria ottenuta con sogliatura è stata poi trasformata nella sua complementare tramite funzione imcomplement (Figura 2), operazione necessaria poiché la funzione bwconncomp , usata in seguito, considera come oggetti gli elementi bianchi.

• Operazioni morfologiche La parte più importante del codice, ai fini del conteggio, è costituita dalle operazioni morfologiche sulle immagini. L’immagine in bianco e nero in Figura 2 richiede un’operazione di apertura per eliminare i pixel attorno ai cromosomi e soprattutto i numeri sottostanti i cromosomi. Si è prima tentato con un filtro mediano poiché i punti attorno ai cromosomi simulavano quasi un rumore impulsivo. Il filtro mediano ha tolto i pixel bianchi intorno al cromosoma (Figura 5), ma non si è stato utile per togliere i numeri sottostanti, si è perciò optato per l’operazione di apertura con imopen(im,se) , Figura 3, che utilizza come elemento strutturale un disco di raggio 2. L’operazione di apertura consiste in sequenza nelle operazioni di erosione e dilatazione e rende generalmente più omogenei i contorni eliminando le parti sottili.

𝐴 ∘ 𝐵 = (𝐴⊝ 𝐵)⊕ 𝐵 (1)

Figura 3: imopen applicata a img_bin con soglia 0.99 con funzione im2bw

Figura 4a: img_bin con soglia 0.9 Figura 4b: apertura su immagine binaria con

soglia 0.9

Page 5: Software didattico per l'analisi del cariotipo umano

  5  

Figura 5: filtro mediano applicato a img_bin

• Eliminazione oggetti piccoli

Le coppie di cromosomi omologhi erano state tutte numerate dal laboratorio e inoltre tutte le immagini presentavano in un angolo un numero di serie che le identificava. Lo scopo dell’elaborato è di contare i cromosomi, quindi è necessario eliminare lettere e numeri dannosi al conteggio. L’apertura tramite imopen elimina efficacemente i pixel bianchi attorno ai cromosomi (creati dalla sogliatura), ma non elimina del tutto i numeri sottostanti. Si è quindi tentato di aumentare le dimensioni del disco per l’apertura, ma sebbene si riuscissero a eliminare efficacemente i numeri, si otteneva un mutamento eccessivo della morfologia del cromosoma. L’eliminazione adeguata delle piccole macchie dannose per il conteggio è stata ottenuta usando bwareaopen(BW,P) che consente di rimuovere dall’immagine binaria gli oggetti con meno di P pixel.

Figura 6: eliminazione di tutte le macchie inutili- CUTNUMBER

CUTvalue = 90; CUTnumber = bwareaopen(openBW, CUTvalue); imshow(CUTnumber); title('Cromosomi privati delle macchie più piccole'); CC = bwconncomp(CUTnumber1,4); Number_of_Cromosome1 = CC1.NumObjects NUMERO_COMPONENTI=Number_of_Cromosome; disp(['NUMERO COMPONENTI= ' num2str(NUMERO_COMPONENTI)]); if NUMERO_COMPONENTI==46 msgbox('CARIOTIPO EUPLOIDE','Conteggio','custom',icon) elseif NUMERO_COMPONENTI==47; disp('CARIOTIPO ANEUPLOIDE') elseif NUMERO_COMPONENTI==45; disp('CARIOTIPO ANEUPLOIDE: monosomia') end

Page 6: Software didattico per l'analisi del cariotipo umano

  6  

• Conteggio cromosomi

Una volta che l’immagine è stata elaborata e privata di tutti gli oggetti inutili, i cromosomi sono stati contati tramite funzione bwconncomp(BW, conn) che restituisce le componenti connesse presenti nell’immagine (Figura 6) e consente di specificare la connettività desiderata per le componenti connesse, in questo caso è 4.

• Due pixel p e q sono detti connessi in una regione S se esiste un path tra di essi formato

interamente di pixel appartenenti a S. Se il numero di oggetti trovati da bwconncomp è 46 il cariotipo è riconosciuto come euploide e l’utente visualizza un box con la diagnosi di cariotipo euploide tramite la funzione msgbox . Se il numero di cromosomi è diverso da 46 il cariotipo è segnalato come aneuploide.

• Riconoscimento del sesso e anomalie sessuali Il passo successivo è stabilire se il cariotipo appartiene a un maschio o a una femmina e verificare la presenza di anomalie cromosomiche sessuali. Ricordando che alcune delle più importanti combinazioni cromosomiche sessuali sono:

Cromosoma X

Cromosoma Y Sesso Causa

X Y Maschio sano - X X Femmina sana -

XX Y Maschio con sindrome di Klinefelter

Mancata disgiunzione meiosi II o I

X

YY Maschio con sindrome di Jacobs

Mancata disgiunzione meiosi II o I

XXX

0 Femmina affetta da Sindrome della Tripla X

Mancata disgiunzione meiosi II o I

X

0 Femmina affetta da sindrome di Turner

Mancata disgiunzione meiosi II o I

Per capire il numero di cromosomi sessuali Y è stata selezionata tramite imcrop una parte dell’immagine, la stessa porzione è stata utilizzata per valutare il cromosoma Y in tutte le immagini usate nel programma. Sebbene esse non siano identiche, sono però molto simili, poiché dello stesso formato e provenienti dallo stesso laboratorio. Può comunque verificarsi la sgradita eventualità che la sotto-immagine selezionata includa una piccola parte di altri cromosomi. Si è ovviato al problema facendo un conteggio che escludesse le aree inferiori ad un certo numero di pixel ed è stato così possibile usare la stessa porzione per ogni immagine senza necessità di modificarla ogni volta. La funzione bwconncomp esegue un conteggio dei cromosomi dentro la porzione d’immagine selezionata, la funzione regionprops(BW, properties) restituisce le proprietà desiderate (in questo caso l’area) di tutti gli oggetti trovati da bwconncomp , viene poi creato grazie a cat un vettore con i valori delle aree. Il ciclo for consente di valutare ognuno degli oggetti e if permette di considerare solo gli oggetti che hanno un’area superiore a 50 pixel. La funzione regionprops è uno strumento molto potente poiché è in grado di fornire moltissime informazioni sulle regioni segmentate come area, centroide, boundingbox, etc. Lo stesso procedimento è stato utilizzato per il cromosoma sessuale X. y=imcrop(CUTnumber,[640 470 270 270]); ycc = bwconncomp(y,8); yblobs=regionprops(ycc, 'Area');

Page 7: Software didattico per l'analisi del cariotipo umano

  7  

areasy = cat(1, yblobs(:).Area); nyblobs=0; for i=1:size(areasy) if areasy(i)>50 nyblobs=nyblobs+1; end end

• Riconoscimento delle anomalie autosomiche Se nella prima parte dello script sono individuati 47 oggetti nell’immagine, dopo l’analisi del sesso del nascituro, si passa all’analisi del tipo di trisomia autosomica: trisomia 10, trisomia 13, trisomia 15, trisomia 16, trisomia 18, e trisomia 21. La tecnica per trovare il numero di cromosomi nella sotto immagine associata all’ennesimo cromosoma è la stessa usata per trovare il numero di Y e di X: si seleziona una sotto-immagine con imcrop che sarà uguale per tutte le immagini del database e si utilizza regionprops per il calcolo dell’area degli oggetti. Considerando per il conteggio con bwconncomp solo gli oggetti con area superiore a 90 pixel. Al termine dell’analisi viene mostrata all’utente la diagnosi (Figura 7) e il sesso, inoltre gli viene richiesto tramite funzione questdlg se desidera visualizzare la trisomia (Figura 8).

Figura 7: message dialog box

Figura 8: trisomia del cromosoma 21

3. Analisi del software dopo l’inserimento di rumore In seguito al lavoro di analisi del cariotipo si è deciso di analizzare le performance del software dopo aver corrotto le immagini con tre tipi di rumore. Esistono numerose fonti di rumore che possono esser descritte dalla probability density function di una funzione gaussiana, esponenziale, gamma, etc. In questo caso il rumore è stato inserito grazie alla funzione Matlab imnoise(I, type,m,v). La funzione imnoise scala l’immagine in valori da [0 1], quindi i due valori usati per la varianza: v1=0.005, v2=0.02 corrispondono a deviazioni standard σ1=0.07 e σ2=0.15 nell’intervallo [0 1] che danno su di una immagine a 8 bit con 255 livelli di grigio:σ1=20 e σ2=40. Infine è stato aggiunto, sempre tramite imnoise, rumore impulsivo di tipo “sale e pepe” con densità di 0.02.

Page 8: Software didattico per l'analisi del cariotipo umano

  8  

Figura 9a, 9b, 9c: cariotipo corrotto con rumore gaussiano σ1=20, σ2=40 e sale e pepe

L’inserimento di rumore gaussiano con σ1 (Figura 9a) o di rumore impulsivo di tipo “salt&pepper” (Figura 9c), sebbene peggiori la qualità dell’immagine, non inficia le capacità del software di effettuare una diagnosi corretta analizzando il cariotipo. Il 100% delle immagini è ancora riconosciuto dal software con la corrispondente patologia. Mentre l’inserimento di rumore gaussiano con σ2 (Figura 9b) rende il software completamente inabile a eseguire una diagnosi corretta poiché l’immagine è molto compromessa, in particolare le operazioni di erosione esasperano i buchi che si creano all’interno separando orizzontalmente la maggior parte dei cromosomi.

• Image restoration

L’inserimento di rumore gaussiano con σ2 =40 ha reso tutte le 30 immagini inadatte a un conteggio corretto, per questo motivo si è cercato di studiare quale filtro fosse più adeguato per la restaurazione delle immagini corrotte. Si sono applicati un filtro di Wiener tramite funzione Matlab wiener2(I,[m n]) con m=n=5 e un filtro di media locale con fspecial(‘average’, hsize) con hsize =5. Le immagini restaurate con i due filtri di Wiener e di media locale sono state poi (come le immagini non corrotte) sottoposte a sogliatura utilizzando non più un level pari a 0.99, ma pari a 0.9. Il valore di 0.99 utilizzato per le immagini originali rendeva l’immagine completamente nera, le immagini sono poi state sottoposte ad apertura sempre tramite imopen con un elemento strutturale circolare di raggio 2 e gli oggetti piccoli sono stati tolti tramite bwareaopen aumentando leggermente il valore di taglio (cutvalue). In tabella 1 si può vedere come l’image restoration abbia portato alla classificazione corretta del 86,6% delle immagini.

Il metodo di Wiener consiste in un filtraggio che minimizza l’errore quadratico medio, il metodo considera sia le immagini sia il rumore come variabili casuali e cerca di trovare un valore 𝑓 dell’immagine non corrotta f tale che l’errore quadratico medio tra di essi sia il minimo. Questa misura dell’errore è data da:

𝑒! = 𝐸 (𝑓 − 𝑓)! dove E è il valore atteso dell’argomento.

Page 9: Software didattico per l'analisi del cariotipo umano

  9  

Il minimo della funzione di errore 𝑒!  è dato, nel dominio delle frequenze, dall’espressione:

𝐹 =  1

𝐻(𝑢, 𝑣)|𝐻 𝑢, 𝑣 |!

𝐻(𝑢, 𝑣)! + 𝑆𝜂(𝑢, 𝑣)𝑆𝑓(𝑢, 𝑣)

 𝐺(𝑢, 𝑣)

dove: H u, v = funzione  di  degrado |H u, v |! =  H∗(u, v)H(u, v) Sη u, v = spettro  di  potenza  del  rumore Sf u, v = spettro  di  potenza  dell!immagine  non  degradata Il risultato tra parentesi quadre è noto come filtro di Wiener o filtro dei minimi quadrati. Come funzione di degrado H(u,v) si utilizza spesso la funzione Modulation Transfer Function (MTF) o la PSF e come N è spesso utilizzata la funzione NPS (Noise-Power-Spectrum). Se il rumore è nullo il filtro di Wiener si comporta come un filtro inverso. Generalmente alle basse frequenza si comporta come un filtro inverso quando invece le frequenze aumentano il valore di MTF non bilancia più quello di NPS che comincia a prevalere.

𝐹𝑖𝑙𝑡𝑒𝑟 =  1

𝑀𝑇𝐹 𝑢, 𝑣|𝑀𝑇𝐹 𝑢, 𝑣 |!

𝑀𝑇𝐹 𝑢, 𝑣 ! + 𝑁!

La MTF esprime le proprietà di trasferimento del contrasto di un rivelatore in funzione della frequenza spaziale: specifica quindi a ogni frequenza spaziale qual è il valore della frazione di contrasto che è possibile apprezzare sull’immagine. L’ultimo filtro utilizzato per la valutazione dell’SNR è la media non locale: il non local means è un algoritmo di rimozione del rumore abbastanza recente che, a differenza dei filtri di media locale, che prendono il valore medio dell’intorno di pixel e lo sostituiscono al pixel in output, fa la media tra vicini simili in tutta l'immagine (in regioni anche molto lontane tra loro). Esistono quindi due passi: la localizzazione dei vicini simili (sulla quale esiste vasta letteratura) e l’operazione di media sui vicini una volta trovati. Ciò si traduce in una minore perdita di dettaglio dell'immagine rispetto ai filtri di media locale. Date le N regioni simili si sostituisce il pixel centrale con la media (pesata o normale) fatta su tutti gli intorni simili. I metodi per trovare vicini simili sono tantissimi: uno dei più veloci è la minimizzazione del Mean Square Error.

min 𝑟𝑖 − 𝑠𝑖 !!

!!!

dove: ri = i vinci r-esimi si = i vicini s-esimi Il software Matlab non mette a disposizione una funzione per il filtro di media non locale, si è quindi utilizzata una demo messa a disposizione dal creatore dell’algoritmo non local means disponibile gratuitamente sul sito: http://demo.ipol.im. L’immagine corretta con filtro di Wiener in Figura 11, rispetto a quella corretta con filtro di media locale (Figura 12), da’ un’idea migliore del contenuto dell’immagine, l’immagine risulta più nitida e le bande di cromatina si riescono a distinguere meglio, l’immagine corretta con filtro di media ha perso visibilmente la componente rumorosa, ma allo stesso tempo risulta sfuocata. L’immagine corretta con filtro non local means (Figura 13) è visivamente quella con minore rumore e i cromosomi sono intatti, osservando nel dettaglio si può notare che i bordi sono solo leggermente sfuocati.

Page 10: Software didattico per l'analisi del cariotipo umano

  10  

Figura 10: cariotipo degradato con rumore gaussiano σ2=40

Figura 11: cariotipo restaurato con filtro di Wiener

Figura 12: cariotipo corretto con filtro di media locale 5x5

Figura 13: cariotipo corretto con filtro non local means

Tabella 1: percentuali di diagnosi corretta per immagini non rumorose, rumorose e restaurate Per valutare il miglioramento oggettivo della qualità delle immagini restaurate si è utilizzato come parametro il rapporto segnale–rumore (SNR): questo rapporto esprime quanto un segnale è più intenso rispetto alle fluttuazioni. Il rapporto segnale rumore è calcolato come:

SNR   =SN

Area ROI S N SNR

Cariotipo affetto da rumore gaussiano σ2=40 13440 240 20 12 Correzione con filtro di Wiener 13440 240 4 60 Correzione con local means 13440 240 4.3 56 Correzione con non local means 13440 253 2 126

Tabella 2: SNR prima e dopo le correzioni dell’immagine in figura 10 per cui il software da’ una diagnosi corretta

Immagini originali

Immagini affette da

rumore gaussiano σ1=20

Immagini affette da

rumore Salt & Pepper

Immagini affette da

rumore gaussiano σ2=40

Immagini affette da

rumore gaussiano σ2=40

corrette con media locale

Immagini affette da

rumore gaussiano σ2=40

corrette con Wiener filter

Diagnosi corretta

100% 100% 100% 0% 86.6% 86.6%

Page 11: Software didattico per l'analisi del cariotipo umano

  11  

Immagini corrette ma diagnosi errata Area ROI S N SNR

Trisomia13XX1 filtrato con media locale 13440 240.7 4.2 57.2 Trisomia13XX4 filtrato con media locale 13440 240.5 4.2 56.6 Trisomia15XX1 filtrato con media locale 13440 240.6 4.2 57.7 Trisomia18XX2 filtrato con media locale 13440 240.7 4.2 57.2 Trisomia13XX1 filtrato con Wiener 13440 241 4.1 58.8 Trisomia13XX4 filtrato con Wiener 13440 240.5 4 58.8 Trisomia15XY1 filtrato con Wiener 13440 240.8 4.2 56.8 Trisomia18XX2 filtrato con Wiener 13440 240.3 4.3 56

Tabella 3: SNR dopo le correzioni delle quattro immagini di cariotipo per cui il software da’ una diagnosi non corretta anche dopo la correzione

I valori di S e di N in Tabella 2 sono stati presi tramite funzioni messe a disposizione dal linguaggio Matlab: S è stato preso come valore medio dei livelli di grigio nella ROI (Region Of Interest) tramite mean2 , la ROI è stata selezionata in una sezione uniforme del cariotipo tramite imcrop , mentre N è stato preso come deviazione standard nella medesima ROI tramite funzione std2 . 4. Risultati

L’elaborazione delle immagini di cariotipo umano, eseguita con le funzioni messe a disposizione da Matlab, ha permesso di contare e individuare con successo il sesso e le anomalie autosomiche presenti mostrando all’utente, per ogni immagine, una diagnosi corretta. Questo progetto ha la finalità di aiutare gli studenti che si approcciano allo studio della genetica: affinché siano introdotti a uno studio più interattivo e innovativo della materia. Si è inoltre cercato di capire come alcune fonti di rumore (gaussiano con due diverse varianze e rumore impulsivo di tipo “salt & pepper”) agissero sull’efficienza del software: l’inserimento di rumore impulsivo e di rumore gaussiano con deviazione standard pari a venti livelli di grigio non corrompe le immagini al punto da rendere fallace il software di classificazione. Il rumore gaussiano con σ2=40 invece corrompe a tal punto l’immagine da rendere impossibile la classificazione per tutte le immagini (Tabella 1), si è così cercato di correggere le immagini con due filtri, al fine di ottenere di nuovo una diagnosi corretta. Sono stati utilizzati due tipi di filtri (uno nel dominio spaziale ed uno nelle frequenze): un filtro di media locale ed un filtro di Wiener. La riparazione con filtro di Wiener e di media locale (con le dovute modifiche alla sogliatura delle immagini rispetto al software primario) porta a una diagnosi corretta quindi a un corretto funzionamento del software in 26 casi su 30: per 4 casi (gli stessi per il filtro di media e filtro di Wiener) si ha una frammentazione dei cromosomi con conseguente conteggio errato degli stessi. Si è cercato di sondare se esistesse una relazione tra le immagini che portano al malfunzionamento e il loro rapporto segnale rumore, ma esso non risulta un parametro utile per discriminare tra le immagini che portano ad una diagnosi veritiera e quelle che non portano ad una diagnosi, vedi Tabella 3. In media il rapporto segnale rumore dopo la correzione con Wiener delle immagini che non hanno una diagnosi corretta è di 57.6, mentre per le immagini per cui la diagnosi è corretta dopo la correzione, l’SNR medio è di 58. Lo stesso vale per la correzione con media locale. Non si può quindi prendere in considerazione il rapporto segnale rumore per discriminare tra le immagini che portano ad una diagnosi e quelle che non lo fanno. La ragione del malfunzionamento risiede probabilmente nel fatto che si utilizzano una soglia per la sogliatura identica per tutte le immagini e un’operazione di apertura con un disco di medesima dimensione per tutte le immagini, evidentemente per le 4 immagini sarebbe stato necessario modificare ad hoc l’algoritmo per evitare il frammentarsi dei cromosomi. Il parametro SNR è però molto utile per la comparazione tra i risultati ottenuti dai filtri atti al miglioramento delle immagini. Si può concludere che il filtro non local means è

Page 12: Software didattico per l'analisi del cariotipo umano

  12  

quello che restituisce una migliore percezione visiva (Figura 13) e un migliore SNR (Tabella 2) rispetto alle immagini corrette con gli altri due filtri. Bibliografia

• http://worms.zoology.wisc.edu/zooweb/Phelps/karyotype.html • http://demo.ipol.im/demo/bcm_non_local_means_denoising.html • “A Review on Methods for Automatic Counting of Objects in Digital Images”, Barbedo,

2012 • cap. 5 “Restauro e ricostruzione di immagini” R. Gonzalez • cap. 10 “Segmentazione di immagini” R. Gonzalez • “Non-Local Means Denoising”, Image Processing On Line, (2011), A. Buades, B. Coll and

J.M. M. 2009