TesiOmarZandonà - la pagina web di Omar Zandonà

annuncio pubblicitario
Università degli Studi di Verona
FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI
Corso di Laurea Triennale in Informatica Multimediale
Analisi comparativa di tecniche di registrazione applicate ad
immagini di testa-collo e del seno in risonanza
Autori:
Relatore:
Alessio Montagnini vr076776
Omar Zandonà vr077840
Ch.ma Prof. Gloria Menegaz
Correlatore:
Ing. Francesca Pizzorni Ferrarese
Anno Accademico 2009–2010
Indice
1 Registrazione
1.1 Costruzione del processo di registrazione . . . . . . . . .
1.2 Metriche . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Campionamento delle immagini . . . . . . . . . . . . . .
1.4 Interpolazione . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Trasformazioni . . . . . . . . . . . . . . . . . . . . . . .
1.6 Ottimizzazioni . . . . . . . . . . . . . . . . . . . . . . .
1.7 Multi-Risoluzione . . . . . . . . . . . . . . . . . . . . . .
1.7.1 Riduzione della complessità dei dati . . . . . . .
1.7.2 Riduzione della complessità delle trasformazioni
.
.
.
.
.
.
.
.
.
2 La Risonanza magnetica e metodi di acquisizione delle
gini
2.1 Risonanza magnetica nucleare . . . . . . . . . . . . . . . .
2.1.1 Tempo di rilassamento longitudinale-T1 . . . . . .
2.1.2 Tempo di rilassamento trasversale o rilassamento
spin-T2 . . . . . . . . . . . . . . . . . . . . . . . .
2.2 La tecnica di diffusione . . . . . . . . . . . . . . . . . . . .
2.3 DWI: Diffusion-Wieghted-Imaging . . . . . . . . . . . . .
2.4 DTI: Diffusion-Tensor-Imaging . . . . . . . . . . . . . . .
2.5 DCE: Diffusion-Contrast-Enhanched . . . . . . . . . . . .
2.6 Metodi a singola modalità verso metodi multimodali . . .
2.7 Misure di similitudine per la registrazione delle immagini
3 Strumenti ed algoritmi utilizzati
3.1 Standard e formati di immagini mediche .
3.2 Il programma 3D Slicer . . . . . . . . . .
3.3 Elastix . . . . . . . . . . . . . . . . . . . .
3.4 Fsl . . . . . . . . . . . . . . . . . . . . . .
3.5 Filtro Anisotropico . . . . . . . . . . . . .
3.5.1 Algoritmi di Perona e Malik . . . .
3.5.2 Codice . . . . . . . . . . . . . . . .
3.6 Region Growing . . . . . . . . . . . . . . .
3.7 Strumento per l’analisi oggettiva dei dati
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
13
14
14
15
16
17
17
18
imma19
. . . . 19
. . . . 19
spin. . . . 20
. . . . 20
. . . . 21
. . . . 22
. . . . 22
. . . . 23
. . . . 23
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
25
26
28
32
33
33
36
37
38
INDICE
4 Realizzazione e sviluppo
4.1 Immagini del seno . . . . .
4.1.1 Traccia di Sviluppo .
4.1.2 Risultati . . . . . . .
4.2 Immagini di testa-collo . . .
4.2.1 Traccia di Sviluppo .
4.2.2 Risultati . . . . . . .
5
.
.
.
.
.
.
.
.
.
.
.
.
Conclusioni
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
41
43
50
62
63
67
79
A Codice del filtro anisotropico 3D
83
Bibliografia
87
4
Elenco delle tabelle
3.1
3.2
Metriche disponibili in elastix . . . . . . . . . . . . . . . . . . .
Interpolazioni disponibili in elastix . . . . . . . . . . . . . . . . .
4.1
4.2
4.3
4.4
Tabella generale dei parametri . . . . . . . . . . . . . . . . . . .
Raffinazioni successive in elastix . . . . . . . . . . . . . . . . . .
Parametri utilizzati in FSL . . . . . . . . . . . . . . . . . . . . .
Risultati ottenuti nella registrazione Rigida in elastix, corrispondenti alle prime 12 prove riportate in tabella 4.1 . . . . . . . . .
4.5 Risultati ottenuti nella registrazione Affine in elastix, corrispondenti alle prove da 13 a 24 riportate in tabella 4.1 . . . . . . . .
4.6 Risultati ottenuti nella trasformazione BSpline in elastix . . . .
4.7 Risultati ottenuti nella fase di raffinamento dei risultati in elastix
4.8 Risultati ottenuti in FSL . . . . . . . . . . . . . . . . . . . . . .
4.9 Tabella risultati dopo eliminazione del rumore . . . . . . . . . . .
4.10 Risultati ottenuti in elastix . . . . . . . . . . . . . . . . . . . . .
4.11 Risultati ottenuti in elastix . . . . . . . . . . . . . . . . . . . . .
4.12 Risultati ottenuti in elastix . . . . . . . . . . . . . . . . . . . . .
5
29
29
44
45
46
51
53
55
57
58
59
72
74
76
Elenco delle figure
1.1
Componenti basilari della registrazione . . . . . . . . . . . . . . .
12
3.1
Tipiche immagini di risonanza magnetica del cervello. Da sinistra
verso destra, è raffigurata rispettivamente la ricostruzione assiale,
sagittale e coronale. . . . . . . . . . . . . . . . . . . . . . . . . .
Esempio di applicazione di un filtro anisotropico . . . . . . . . .
Funzioni g(∗) proposte da Perona e Malik . . . . . . . . . . . . .
Funzioni di flusso . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
33
34
35
3.2
3.3
3.4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
Immagine moving di tipo dwi, a destra si evidenzia la lesione
oggetto di idagine . . . . . . . . . . . . . . . . . . . . . . . . . . .
Immagine di riferimento di tipo dce-21 . . . . . . . . . . . . . . .
Nella parte evidenziata troviamo l’errore propagato dalla DWI. .
Registrazione dell’immagine simmetrica su DCE e successivo riutilizzo della trasformazione generata su immagine DWI. . . . . .
Registrazione dell’immagine simmetrica su DCE (utilizzando come passo intermedio di registrazione l’immagine DWI) e successivo riutilizzo della trasformazione generata su immagine DWI. .
Eliminazione dell’errore con applicazione di maschera generata utilizzando l’algoritmo di region growing sull’immagine DCE
filtrata con il filtro Anisotropico 3D . . . . . . . . . . . . . . . . .
Applicazione del filtro anisotropico sull immagine dce-21 . . . . .
Maschera dell’immagine dce-21 . . . . . . . . . . . . . . . . . . .
Grafico in norma 2: parametrizzazioni rigide utilizzando elastix
nelle ascisse ed errore nelle ordinate . . . . . . . . . . . . . . . .
Registrazione rigida . . . . . . . . . . . . . . . . . . . . . . . . .
Confronto tra registrazione rigida e volume di riferimento . . . .
Grafico in norma 2: parametrizzazioni affine utilizzando elastix
nelle ascisse ed errore nelle ordinate . . . . . . . . . . . . . . . .
Registrazione affine . . . . . . . . . . . . . . . . . . . . . . . . . .
Confronto tra registrazione affine e volume di riferimento . . . .
Grafico in norma 2: tutte le parametrizzazioni con elastix nelle
ascisse ed errore nelle ordinate . . . . . . . . . . . . . . . . . . .
Registrazione BSpline . . . . . . . . . . . . . . . . . . . . . . . .
Grafico degli errori in norma 2 dei test con “flirt”: numero delle
parametrizzazioni nelle ascisse ed errore nelle ordinate . . . . . .
Registrazione affine con applicazione della maschera per l’eliminazione del rumore . . . . . . . . . . . . . . . . . . . . . . . . . .
7
42
43
46
47
47
48
49
50
51
52
52
53
54
54
56
56
59
60
ELENCO DELLE FIGURE
4.19 Confronto tra registrazione con eliminazione del rumore e volume
di riferimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.20 Grafico degli errori: 8 immagini dce dello stesso paziente nell’asse
delle ascisse e valore fra 0 e 1 di errore nell’asse delle ordinate. .
4.21 Risultato utilizzando la parametrizzazione Rigida6 del seno della
2◦ paziente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.22 Confronto fra dce e risultato utilizzando la parametrizzazione
Rigida6 del seno della 2◦ paziente. . . . . . . . . . . . . . . . . .
4.23 Acquizione testa e collo DWI . . . . . . . . . . . . . . . . . . . .
4.24 Acquizione testa e collo T2 . . . . . . . . . . . . . . . . . . . . .
4.25 Acquizione testa e collo DCE . . . . . . . . . . . . . . . . . . . .
4.26 Primo approccio di registrazione utilizzando volume intermedio
T1 (T2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.27 Secondo approccio di registrazione utilizzando volume intermedio
T1 (T2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.28 Registrazione Affine DWI to T2 . . . . . . . . . . . . . . . . . . .
4.29 Confronto fra registrazione DWI-T2 e T2 . . . . . . . . . . . . .
4.30 Registrazione Affine T2 to DCE . . . . . . . . . . . . . . . . . . .
4.31 Confronto fra registrazione T2 e DCE . . . . . . . . . . . . . . .
4.32 Registrazione Affine DCE to T2 . . . . . . . . . . . . . . . . . . .
4.33 Grafico degli errori in norma 2 dei test con elastix : numero delle
parametrizzazioni nelle ascisse ed errore nelle ordinate . . . . . .
4.34 Trasformazione Rigida . . . . . . . . . . . . . . . . . . . . . . . .
4.35 Confronto fra trasformazione rigida-rigida DWI-DCE e DCE . .
4.36 Grafico degli errori in norma 2 dei test con elastix : numero delle
parametrizzazioni nelle ascisse ed errore nelle ordinate . . . . . .
4.37 Trasformazione Affine-Affine . . . . . . . . . . . . . . . . . . . . .
4.38 Confronto fra trasformazione affine-affine DWI-DCE e DCE . . .
4.39 Grafico degli errori in norma 2 dei test con elastix : numero delle
parametrizzazioni nelle ascisse ed errore nelle ordinate . . . . . .
4.40 Trasformazione Affine-BSpline . . . . . . . . . . . . . . . . . . . .
4.41 Confronto fra trasformazione Affine-BSpline DWI-DCE e DCE .
8
61
62
62
63
64
64
65
66
66
68
68
69
69
70
72
73
73
74
75
75
76
77
77
Introduzione
L’elaborazione digitale delle immagini in medicina è un campo in continuo sviluppo. In particolare le tecniche di registrazione di tali immagini sta diventando
sempre più uno strumento di importanza rilevante sia dal punto di vista diagnostico che dal punto di vista scientifico. L’intento di questa tesi è in primo luogo
descrivere e studiare vie di realizzazione di tale procedimento sulle immagini di
risonanza magnetica del seno e del cervello umano. In secondo luogo confrontare
i diversi approcci utilizzati in relazione ai diversi tools adottati. Le acquisizioni
delle immagini tramite la risonanza magnetica o MRN stanno avendo interessanti sviluppi grazie all’introduzione delle tecniche di diffusione che permettono
di avere informazioni qualitative diverse di una stessa parte anatomica. Nel corso del nostro elaborato abbiamo utilizzato due diverse tecniche di acquisizione:
DWI e DCE, le cui peculiarità verranno in seguito analizzate.
Dopo aver descritto nel primo capitolo i principi basilari della registrazione
delle immagini da un punto di vista matematico e da un punto di vista implementativo passeremo alla descrizione dei fondamenti della risonanza magnetica,
delle diverse acquisizioni e dell’imaging medico attuale. Successivamente elencheremo gli strumenti e i tool utilizzati nella realizzazione della nostra esperienza
andando a considerare per ognuno di essi efficienza e complessità. Concluderemo
nel capitolo “Realizzazione e Sviluppo” con la presentazione di alcuni risultati (i
più significativi) ottenuti. I risultati saranno accompagnati da un’analisi completa, da una descrizione del codice utilizzato e da una valutazione matematica
sviluppata per ottenere un giudizio formale che sarà ripreso e ampliato nelle
conclusioni finali.
9
Capitolo 1
Registrazione
Basi teoriche sul processo di registrazione
In questo capitolo vengono presentati i concetti base per la comprensione del
problema in modo da rendere chiaro l’uso dei tool elastix [2] e FSL[3] (che verranno presentati in seguito). La “Image Registration” è un’importante strumento nel campo delle immagini medicali. In molte situazioni cliniche le immagini
di un paziente sono realizzate allo scopo di analizzare la situazione temporale
del paziente. Queste immagini sono acquisite con, per esempio, scanner a raggi
X, scanner a risonanza magnetica , che si basa sull’interazione di un campo magnetico statico con le molecole d’acqua presenti all’interno di ciascun organo del
nostro corpo, Tomografia Computerizzata (o più semplicemente TAC), la quale
sfrutta l’interazione dei tessuti con radiazioni di opportuna lunghezza d’onda,
e scanner a ultrasuoni, per fornire la conoscienza dell’anatomia del soggetto[1].
La combinazione dei dati del paziente, mono-modali o multi-modali, spesso contiene informazioni cliniche aggiuntive che non è possibile avere con un’analisi
separata delle immagini. Come messo in evidenza da diversi specialisti, solo
attraverso la combinazione dei dati eterogenei acquisiti nei diversi studi è possibile ottenere un reale guadagno a livello dell’informazione sulla quale i medici
possono basare le proprie valutazioni cliniche. A tal fine, deve essere trovata la
relazione spaziale fra le immagini. Il compito della registrazione è quindi quello
di trovare una mappatura spaziale “uno ad uno” tra i voxel1 di una immagine
e i voxel dell’altra immagine. Nelle prossime sezioni si introduce la descrizione
matematica del processo di registrazione.
1.1
Costruzione del processo di registrazione
Nel processo della registrazione sono convolte due immagini:
• fixed image IF (x): immagine di partenza
• moving image IM (x): immagine deformata
1 Un
voxel è un elemento di volume che rappresenta un valore di intensità di segnale o di
colore in uno spazio tridimensionale, analogamente al pixel che rappresenta un dato di un’immagine bidimensionale. I voxel vengono spesso usati come elemento base per la visualizzazione
e l’analisi di dati medici e scientifici. Per semplificare, un voxel corrisponde ad un volume
corporeo che viene poi rappresentato da un pixel nell’immagine bidimensionale.
11
CAPITOLO 1. REGISTRAZIONE
Figura 1.1: Componenti basilari della registrazione
L’obiettivo della registrazione è quello di trovare uno spostamento u(x) che
costruisca l’immagine IM (x + u(x)) spazialmente allineata a IF (x). Una formulazione equivalente è vedere la registrazione come un problema che consiste nel trovare una trasformazione T(x) = x + u(x) che costruisca IM (T(x))
spazialmente allineata a IF (x). La qualità dell’allineamento è definita da una
misurazione della distanza o da una misura della somiglianza S, come la somma
delle differenze al quadrato (SSD), il rapporto di correlazione, o la misura di
informazione reciproca (mutual information measure: MI). Poichè il problema è
malposto per la trasformazione non-rigida T, viene spesso introdotto un termine P in modo da regolarizzare la mappatura. Comunemente il problema della
registrazione è formulato come un problema di ottimizzazione dove la funzione
di costo C è ridotta al minimo:
b = arg min C(T; IF , IM ),
T
con
C(T; IF , IM ) = −S(T; IF , IM ) + γP(T)
(1.1)
(1.2)
dove γ è una costante per regolare l’andamento di trasformazioni nonrigide.
Per risolvere il problema della minimizzazione esistono due possibili appocci:
parametrico e non parametrico. In questa tesi sono presentate solo le tecniche
parametriche in quanto i tool utilizzati si basano su questo tipo di approccio.
Nel metodo parametrico il numero di possibili trasformazioni è limitato dall’introduzione di parametri (modelli) nella formula T. Il problema originale quindi
si ottimizza e diventa:
b µ = arg min C(Tµ ; IF , IM )
T
Tµ
(1.3)
dove µ sta ad indicare che la trasformazione è parametrizzata: il vettore µ conterrà quindi tutti i parametri introdotti. Per esempio, quando la trasformazione
è modellata in 2D (trasformazione rigida), il vettore dei parametri µ conterrà
un angolo di rotazione e una traslazione nelle direzioni x e y. Miglioriamo la
scrittura dell’equazione 1.3:
b = arg min C(µ; IF , IM )
µ
µ
(1.4)
da questa equazione diventa chiaro che il problema originale 1.1 è semplificato.
In figura 1.1 si vedono le componenti generali della registrazione parametrica in
12
CAPITOLO 1. REGISTRAZIONE
uno schema a blocchi. Diverse componenti possono essere ritrovate dalle equazioni 1.1 e 1.4; Alcune invece verranno introdotte nel seguito del capitolo. Come
elemento di base abbiamo le immagini. Il significato di immagine in questo particolare procedimento assume un’importanza fondamentale. Le immagini trattate
vengono generate dall’acquisizione fisica attraverso vari metodi. Per questo motivo devono essere ricche di informazioni in modo da immagazzinare esattamente
il collegamento fra spazio fisico (reale) e quello dei voxel digitalizzati. Poi abbiamo la funzione di costo C, o “metrica”, che definisce la qualità dell’allineamento.
Come accennato in precedenza, il costo della funzione consiste in una misura
di somiglianza S e un termine regolatore P. La definizione della misura di somiglianza introduce il componente “sampler”. La procedura di ottimizzazione
nello schema a blocchi è introdotto invece per risolvere il problema 1.4. Il meccanismo di ottimizzazione necessita della componente di interpolazione basata
sul valore dell’intensità in quanto il processo di unione non avviene per voxel
(quindi non si basa sulla posizione dell’immagine). Un’altra cosa implicita nello
schema è l’utilizzo di strategie multi-risoluzione per velocizzare la registrazione
che verrà spiegata in questo capitolo.
1.2
Metriche
Di seguito sono descritte in modo indicativo alcune metriche. Fra parentesi è
indicato anche il relativo comando con il tool elastix:
• Somma delle Differenze Quadrate (SSD): (AdvancedMeanSquares)
X
1
(IF (xi ) − IM (Tµ (xi )))2
(1.5)
SSD(µ; IF , IM ) =
|ΩF |
xi ∈ΩF
con ΩF dominio della fixed image e |ΩF | numero di voxel.
• Coefficiente di Correlazione Normalizzato (NCC): (AdvancedNormalizedCorrelation)
P
xi ∈ΩF (IF (xi ) − IF )(IM (Tµ (xi )) − IM )
N CC(µ; IF , IM ) = qP
P
2
2
xi ∈ΩF (IF (xi ) − IF )
xi ∈ΩF (IM (Tµ (xi )) − IM )
(1.6)
P
con la media dei valori di grigio IF = |Ω1F | xi ∈ΩF (IF (xi )) e IM =
P
1
xi ∈ΩF (IM (Tµ (xi )).
|ΩF |
• Mutua Informazione (MI): (AdvancedMattesMutualInformation)
X X
p(f, m; µ)
M I(µ; IF , IM ) =
p(f, m; µ) log2
(1.7)
pF (f )pM (m; µ)
m∈LM f ∈LF
dove LF e LM sono insiemi contenenti intensità regolarizzate, p è la probabilità congiunta discreta, e pF e pM sono le probabilità marginali di
fixed image e moving image .
• Mutua Informazione Normalizzata (NMI): (NormalizedMutualInformation)
La NMI è definita da N M I = (H(IF ) + H(IM ))/H(IF , IM ), con H che
denota l’entropia. Questa definizione può essere comparata con la definizione di MI. Riscrivendo cosı̀ MI in termini di entropia H: M I =
H(IF ) + H(IM ) − H(IF , IM ).
13
CAPITOLO 1. REGISTRAZIONE
• Kappa Static (KS): (AdvancedKappaStatic)
P
2 xi ∈ΩF 1IF (xi )>0,IM (Tµ (xi ))>0
KS(µ; IF , IM ) = P
xi ∈ΩF 1IF (xi )>0 + 1IM (Tµ (xi ))>0
(1.8)
dove 1 è la funzione che vale 1 se le condizioni in apice sono verificate.
La misura SSD è adatta per immagini con una distribuzione uguale delle
intensità (es. per immagini catturate con la stessa modalità di scanner). La
misura NNC è meno rigorosa e consiste in una relazione lineare fra i valori di
intensità di fixed image con moving image. Può quindi essere usata spesso.
Anche la misura MI è molto generale: è solo una relazione fra le distribuzioni
probabilistiche di intensità fra fixed image e moving image. Non è adatta per
immagini monomodali ma solo per quelle multimodali. La misura NMI funziona
bene anche su immagini monomodali al contrario di MI. Mentre per concludere
KS è particolarmente adatta per la registrazione di immagini binarie (molto
utile per la registrazione di immagini segmentate).
1.3
Campionamento delle immagini
P
In formule come la 1.5 si trovano espressioni del tipo xi ∈ΩF questo significa che
è necessario un ciclo in ogni punto dell’immagine fixed. La fase di campionamento serve per limitare computazionalmente questo processo. Il campionamento
può essere effettuato in diversi modi, tra i quali presentiamo i più utilizzati:
• Full: il campionamento full semplicemente seleziona tutti i voxel con
coordinate xi nella fixed image .
• Grid: il campionamento grid definisce una griglia regolare sull’immagine fixed e seleziona le coordinate xi sopra la griglia. In questo modo il campionamento Grid effettua un sottocampionamento dell’immagine fixed. La grandezza della griglia (o equivalentemente del fattore di
sottocampionamento) viene definita dall’utente.
• Random: un campionamento Random seleziona casualmente un numero
definito dall’utente di voxel dell’immagine fixed, le cui coordinate formano le xi . Tutti i voxel hanno la stessa chance di essere selezionati. Un
campione può essere selezionato più volte.
• Random Coordinate: uguale al Random tuttavia le coordinate casuali
non sono limitate dalla posizione dei voxel. Coordinate fra voxel possono
anche essere selezionate. I valori IF (xi ) di quelle locazioni fra più voxel
saranno calcolati per interpolazione.
Mentre a prima vista il full sampler sembra la scelta più ovvia, in pratica
non è sempre vero in quanto richiede un costo computazionale più elevato per
immagini molto grandi.
1.4
Interpolazione
Come detto in precedenza, durante la fase di ottimizzazione del valore IM (Tµ (x))
la valutazione non viene effettuata sulla base della posizione dei voxel. Questo
14
CAPITOLO 1. REGISTRAZIONE
significa che è necessaria una fase di interpolazione sull’intensità nelle posizioni
che risultano essere fra più voxel. Esistono diversi metodi per l’interpolazione,
che variano in velocità e qualità. Di seguito sono riportati alcuni esempi (come
in precedenza fra parentesi è presente il comando elastix):
• Nearest neighbour: (NearestNeighborInterpolator) Questa è la tecnica
più semplice. Richiede poche risorse ma è di bassa qualità. Come letteralmente esprime il metodo, il valore di ritorno sarà il valore dell’intensità
del voxel più vicino.
• Linear: (LinearInterpolator) Il valore di ritorno è una media pesata di
tutti i voxel vicini, con la distanza di ogni voxel presa come peso.
• N -th order B-spline: (BSplineInterpolator o BSplineInterpolatorFloat)
Più alto è l’ordine maggiore sarà la qualità del risultato, ma anche maggiore sarà la quantità di tempo di computazione. Di fatto l’interpolazione
nearest neighbour (grado del polinomio N=0) e l’interpolazione lineare
(grado del polinomio N=1) vengono ancora molto utilizzate per la loro
velocità di esecuzione.
Durante la fase di registrazione l’interpolazione migliore è quella lineare (grado del polinomio N=1) in quanto è l’interpolazione che offre il miglior trade-off
frà qualità e velocità. Per generare il risultato finale invece, i.e. la deformazione
risultato dalla registrazione, è richiesto tipicamente l’utilizzo di un alto grado
di interpolazione (es. grado polinomiale N=3).
1.5
Trasformazioni
I modelli di trasformazione usati in Tµ determinano che tipo di deformazione
possiamo trattare fra l’immagine fixed e l’immagine moving. Di seguito sono
riportate le trasformazioni in ordine di “flessibilità”:
• Translation: (TranslationTransform)
Tµ (x) = x + t
(1.9)
con t vettore di traslazione. Il vettore dei parametri sarà semplicemente
definito da µ = t.
• Rigid: (EulerTransform)
Tµ (x) = R(x − c) + t + c
(1.10)
con R matrice di rotazione e c centro di rotazione. L’immagine è trattata
come un corpo rigido: può essere traslata e ruotata ma non può essere
scalata.
• Similarity: (SimilarityTransform)
Tµ (x) = sR(x − c) + t + c
(1.11)
con s parametro di scalatura. Questo significa che l’immagine è trattata
come un oggetto che può essere traslato, ruotato e scalato.
15
CAPITOLO 1. REGISTRAZIONE
• Affine: (AffineTransform)
Tµ (x) = A(x − c) + t + c
(1.12)
dove A è una matrice senza restrizioni.
• B-splines: (BSplineTransform)
Per la categoria delle trasformazioni “non rigide” le B-Spline [4] sono
spesso utilizzate come una parametrizzazione:
X
Tµ (x) = x +
pk β 3 (x − xk )
(1.13)
xk ∈Nx
con xk i punti di controllo, β 3 il cubo della B-Spline polinomiale multidimensionale, pk il vettore dei coefficienti B-Spline (in senso lato, gli
spostamenti dei punti di controllo), e Nx l’insieme di tutti i punti di controllo nel supporto compatto della B-Spline in x. I punti di controllo
xk sono definiti su una griglia che viene applicata alla fixed image . In
questi punti avremo le direzioni e i moduli di scalatura per effettuare la
modellazione della moving image .
• Thin-plate splines: (SplineKernelTransform) Thin-plate splines è un’altra trasformazione non-rigida. La trasformazione si basa su un’insieme di
punti di interesse nella fixed image e nella moving image . Lo spostamento
dei punti di interesse dk = xm − xf forma il vettore dei parametri µ. La
posizione dei punti di interesse nell’immagine fixed è data dall’utente. La
trasformazione è espressa come somma di una componente affine e di una
componente “non-rigida”:
X
Tµ (x) = x + Ax + t +
ck G(x − cfix
(1.14)
k )
xk
dove gli xk sono le posizioni dei punti di interesse nell’immagine fixed,
G(r) la funzione di base e ck sono i coefficienti corrispondenti ad ogni
punto di interesse. I coefficienti ck e gli elementi A e t sono costruiti per
lo spostamento di ogni punto di interesse. La scelta specifica per ogni
funzione base G(r) determina il “comportamento fisico”.
1.6
Ottimizzazioni
Per risolvere il problema dell’ottimizzazione 1.4, i.e. per ottimizzare il vettore dei parametri di trasformazione, comunemente si impiega una strategia di
ottimizzazione iterativa:
µk+1 = µk + ak dk
(1.15)
con dk la “direzione cercata” al passo k e ak fattore scalare di guadagno che
controlla la grandezza del passo nella direzione cercata. Di seguito sono illustrati
due importanti metodi:
• Gradient descent (GD): (StandardGradientDescent o RegularStepGradientDescent)
16
CAPITOLO 1. REGISTRAZIONE
questo metodo prende la direzione cercata come il negativo del gradiente
della funzione di costo:
µk+1 = µk − ak g(µk )
(1.16)
∂C
con g(µk ) = ∂µ
valutata nella posizione corrispondente µk . Diverse scelte
esistono per il fattore di guadagno ak .
• Robbins-Monro (RM): (StandardGradientDescent o FiniteDifferenceGradientDescent)
La ottimizzazione RM calcola la derivata della funzione di costo g(µk )
con una approssimazione g̃k
µk+1 = µk − ak g̃k
(1.17)
tale approssimazione è potenzialmente più veloce nella computazione. Naturalmente per funzionare l’errore assoluto fra g(µk ) e g̃k deve essere
minimo.
Di seguito riportiamo i comandi per altre strategie di ottimizzazione che possono essere utilizzate in elastix: FullSearch, ConjugateGradient, ConjugateGradientFRPR,
QuasiNewtonLBFGS, RSGDEachParameterApart, SimultaneousPerturbation,
CMAEvolutionStrategy.
1.7
Multi-Risoluzione
Si distinguono due strategie gerarchiche per la tecnica multirisoluzionale delle
immagini: riduzione della complessità dei dati e riduzione della complessità delle
trasformazioni.
1.7.1
Riduzione della complessità dei dati
È comune iniziare il processo di registrazione utilizzando immagini con una bassa
complessità, es., immagini che hanno subito un filtraggio di smoothing. Questo
incrementa le chance di successo della registrazione. Consideriamo ora una serie
di immagini ottenute con un uso incrementale del filtro di smoothing. Se le immagini non sono solo filtrate dallo smoothing ma sono anche sotto-campionate, i
dati non hanno solo una complessità minore ma sono effettivamente in quantità
minore. Da ora in poi serie di immagini smooth e sotto-campionate le chiameremo piramidi. Esistono molti tipi di piramidi: piramidi di Gauss, piramidi di
Laplace, piramidi spline, piramidi wavelet ecc. Sicuramente la più comune è la
piramide di Gauss:
1. Gaussian pyramid: (FixedRecursiveImagePyramid e MovingRecursiveImagePyramid)
Applica smoothing e sotto-campionamento
2. Gaussian scale space: (FixedSmoothingImagePyramid e MovingSmoothingImagePyramid)
Applica smoothing e non applica il sotto-campionamento
17
CAPITOLO 1. REGISTRAZIONE
1.7.2
Riduzione della complessità delle trasformazioni
La seconda strategia multirisoluzionale è iniziare la registrazione con meno gradi di libertà per il modello della trasformazione. Il grado di libertà di una
trasformazione equivale alla lunghezza (numero di elementi) del vettore µ dei
parametri.
Un esempio di questo si può ottenere applicando trasformazioni di crescente
difficoltà computazionale, se consideriamo una strategia a tre livelli possiamo
ottenere: al primo livello una trasformazione rigida (che produce solo 3 parametri di traslazione in µ), al secondo una trasformazione affine e al terzo una
trasformazione B-Spline.
18
Capitolo 2
La Risonanza magnetica e
metodi di acquisizione delle
immagini
In questo capitolo descriviamo alcuni metodi di acquisizione delle immagini relative alla risonanza magnetica. Citeremo brevemente i fondamenti su cui si basa
la risonanza, i cui principi fisici esulano dallo scopo della nostra trattazione, ed
elencheremo le principali tecniche di acquisizione su cui si basano le immagini
che abbiamo utilizzato e che fanno riferimento alla tecnica di diffusione. Andremo poi a definire le peculiaritá di metodi a singola modalità e dei metodi
multimodali per poi descrivere le misure di similitudine per la registrazione delle
immagini in medicina
2.1
Risonanza magnetica nucleare
La Risonanza Magnetica Nucleare (RMN o, raramente, RNM), in inglese Nuclear Magnetic Resonance (NMR), è una tecnica di indagine sulla materia basata sulla misura della precessione dello spin di protoni o di altri nuclei dotati
di momento magnetico quando sono sottoposti ad un campo magnetico[5]. Le
indagini mediche che sfruttano la RMN son dette anche tomografia a risonanza magnetica e danno informazioni diverse rispetto alle immagini radiologiche
convenzionali: il segnale di densità in RMN è dato infatti dal nucleo atomico dell’elemento esaminato, mentre la densità radiografica è determinata dalle
caratteristiche degli orbitali elettronici degli atomi colpiti dai raggi X.
2.1.1
Tempo di rilassamento longitudinale-T1
Il tempo di rilassamento longitudinale o rilassamento spin-reticolo o spin-lattice
o T1, è una costante di tempo della risonanza magnetica nucleare, che è un
fenomeno della fisica nucleare sfruttato per tecniche d’indagine della materia,
anche in campo biomedico a scopo diagnostico.
Il segnale raccolto al termine dell’irraggiamento dei nuclei con onde elettromagnetiche è costituito da onde aventi la medesima frequenza caratteristica della
19
CAPITOLO 2. LA RISONANZA MAGNETICA E METODI DI
ACQUISIZIONE DELLE IMMAGINI
precessione nucleare. L’andamento del tempo di questo segnale è determinato
da due costanti di tempo chiamate T1 e T2.
Se si perturba un campo magnetico con una magnetizzazione longitudinale,
a 180◦ , i nuclei atomici immersi nel campo invertiranno il proprio vettore di
magnetizzazione, fenomeno che avviene in aumento nel corso del tempo.
In ogni momento l’apparecchio RMN misura i valori della magnetizzazione
residua a un determinato tempo di eco (TE) dal quale, mediante una formula
esponenziale, risulta facile risalire al valore di T1. La scelta del tempo TE è
molto importante, poiché ne viene il contrasto che l’immagine può ottenere. In
genere T1 ha un tempo più lento rispetto a T2 poiché, essendo incrementale,
occorre un tempo sufficientemente lungo per permetterne l’apprezzamento (ma
non troppo lungo da eliminare il contrasto).
2.1.2
Tempo di rilassamento trasversale o rilassamento
spin-spin-T2
Il tempo di rilassamento trasversale o rilassamento spin-spin è una costante di
tempo della risonanza magnetica nucleare, è un fenomeno della fisica nucleare
sfruttato per tecniche d’indagine della materia e in campo biomedico a scopo
diagnostico.
Se si perturba una popolazione di atomi immersi in un campo magnetico,
quindi con spin allineati allo stesso, tramite un impulso a radiofrequenza in modo
da deflettere la direzione dell’orientamento totale degli spin di 90◦ rispetto al
campo magnetico principale, e quindi si azzera l’impulso di eccitazione, i nuclei
atomici immersi nel campo magnetico perderanno gradualmente il sincronismo
di precessione in misura diversa a seconda della disomogeneità della materia
stessa, durante il loro riallineamento al campo magnetico. Questo è correlabile
alla magnetizzazione iniziale e al tempo t, detto tempo “di risonanza” o “di eco”
(TE).
In ogni momento l’apparecchio RMN misura i valori della magnetizzazione
residua a un determinato tempo TE dal quale, mediante una formula logaritmica, risulta facile risalire al valore di T2. La scelta del tempo TE è molto
importante, poiché ne viene il contrasto che l’immagine può ottenere.
Essendo la formula del decadimento logaritmica, si dice comunemente che il
T2 di una sostanza è pari al tempo impiegato a ridurre la sua magnetizzazione
trasversale al 36,79% del suo valore originario (essendo 1/e=0,3679...), ma da
un punto di vista chimico il T2 di una sostanza è determinato dalla libertà di
movimento delle molecole in essa contenute: in acqua pura il T2, determinato
sul rilassamento degli atomi di idrogeno, è massimo (alcuni secondi), mentre
raggiunge valori brevi per i solidi cristallini (nell’ordine dei microsecondi).
2.2
La tecnica di diffusione
La RMN di diffusione [6] è una tecnica sensibile ai movimenti Browniani di
translazione delle molecole d’acqua su piccole distanze (diffusione). Il crescente interesse per tale tecnica è legato al fatto che le immagini di DWI (Diffusion Wieghted Imaging) evidenziano ad esempio le variazioni della mobilità dei protoni dell’acqua indotte dall’ischemia entro pochi minuti dall’attacco
ischemico.
20
CAPITOLO 2. LA RISONANZA MAGNETICA E METODI DI
ACQUISIZIONE DELLE IMMAGINI
Poiché le immagini pesate in diffusione sono molto sensibili al movimento,
sono essenziali sequenze ultraveloci per generare immagini diagnostiche. L’uso di
tecniche ecoplanari ha permesso di acquisire una singola slice in meno di 150 ms,
con la possibilità di eseguire uno studio completo del cervello in circa due minuti.
Per ottenere una sequenza in diffusione è necessario poter applicare dei potenti
gradienti di diffusione. Il primo gradiente pone fuori fase i protoni e viene detto
“dephasing gradient”, il secondo li ripone in fase se non vi è stato movimento
delle molecole dell’acqua. Il principio basilare della misurazione sta nel fatto
che ogni movimento delle molecole dell’acqua nel tempo di osservazione risulta
in una perdita di segnale e, quindi, in una diminuita intensità delle immagini.
In una immagine di diffusione, le strutture con veloce diffusione appariranno
più scure in quanto soggette ad una più alta attenuazione del segnale, mentre
le strutture con una minore velocità di diffusione appariranno più chiare.
2.3
DWI: Diffusion-Wieghted-Imaging
Un’altra tecnica di misurazione della diffusione è l’imaging pesato in diffusione
(Diffusion-weighted imaging, o DWI). Questa tecnica permette la misurazione
della distanza di diffusione delle molecole d’acqua. Più breve è questa distanza,
più chiara appare la regione considerata. In seguito ad una ischemia cerebrale
ad esempio le immagini DWI sono molto sensibili ai cambiamenti patofisiologici
che avvengono nella lesione. Si pensa che l’aumento delle barriere alla diffusione
delle molecole d’acqua come risultato dell’edema citotossico (rigonfiamento delle cellule), sia responsabile dell’incremento del segnale in una scansione DWI.
Altre teorie propongono che l’effetto sia dovuto a cambiamenti nella permeabilità cellulare o al venir meno della flusso citoplasmatico dipendente dall’ATP.
L’aumento del segnale DWI appare entro 5-10 minuti dall’insorgenza dei sintomi dell’attacco ischemico (in contrasto con la tomografia computerizzata, che
normalmente identifica i cambiamenti nei tessuti con un ritardo di 4-6 ore) e
rimane per un periodo fino a due settimane. La TC, per la sua scarsa sensibilità
all’ischemia acuta, è normalmente usata per verificare che non ci sia emorragia,
che impedirebbe l’uso dell’attivatore tissutale plasminogeno (t-PA).
È stato anche proposto che le misure di diffusione tramite MRI potrebbero
essere in grado di identificare cambiamenti molto piccoli nella diffusione dell’acqua extracellulare, il che potrebbe avere applicazioni nel campo della risonanza
magnetica funzionale: il corpo cellulare di un neurone si ingrandisce quando
conduce un potenziale d’azione, impedendo di conseguenza la naturale diffusione delle molecole d’acqua. Dai risultati su modelli animali e dalle informazioni
ottenute da pazienti con ictus (e parzialmente anche nei tumori) tale tecnica ha
le premesse per rivoluzionare la attuale diagnostica per immagini. Questo tipo
di imaging misura la diffusione delle molecole d’acqua nei tessuti biologici. In
un mezzo isotropico (ad esempio in un bicchiere d’acqua), le molecole di liquido
si muovono di moto browniano casuale. Invece nei tessuti biologici la diffusione
può essere anisotropica. DWI è quindi una modifica delle normali le tecniche di
risonanza magnetica, ed è un approccio che utilizza la misura del moto browniano delle molecole. L’ acquisizione RMN utilizza il comportamento dei protoni
in acqua per generare contrasto tra le caratteristiche clinicamente rilevanti di
una parte anatomica particolare. La natura versatile della RMN è dovuta a
questa capacità di produrre contrasto. Pesata in T1, le molecole di acqua in
21
CAPITOLO 2. LA RISONANZA MAGNETICA E METODI DI
ACQUISIZIONE DELLE IMMAGINI
un campione vengono eccitati con l’imposizione di un campo magnetico forte.
Pesata in T2, il contrasto è prodotto misurando la perdita di coerenza o di sincronia tra i protoni dell’acqua. Quando l’acqua è in un ambiente dove si può
liberamente diffondere, il rilassamento tende a richiedere più tempo. In alcune
situazioni cliniche, questo può generare contrasto tra una superficie patologica
ed il tessuto sano circostante.
2.4
DTI: Diffusion-Tensor-Imaging
I tessuti umani riescono a sopravvivere solo entro uno stretto intervallo di temperature in cui la maggior parte dei componenti dei tessuti è allo stato liquido.
Inoltre, i tessuti mostrano a livello microscopico una struttura altamente disomogenea; infatti le membrane cellulari e i vari organelli ostacolano il movimento
libero dell’acqua e di altre molecole. Pertanto la misura della mobilità dell’acqua
può risultare un valido strumento per descrivere la struttura dei tessuti su scala
microscopica, ben oltre la capacità di risoluzione delle usuali metodiche di imaging. L’imaging pesato in diffusione (DWI) e l’imaging del tensore di diffusione
(DTI) sono tecniche di Risonanza Magnetica, sensibili alle proprietà diffusive
delle molecole d’acqua e si presentano come importanti strumenti per la diagnosi
anche nella pratica clinica. Queste metodiche permettono di ottenere immagini
in cui l’intensità del segnale è legata al movimento casuale delle molecole d’acqua, grazie all’inclusione nella sequenza di intensi impulsi di gradiente di campo
magnetico, applicati prima e dopo un impulso a radio frequenza di 180◦ . Il
risultato è una diminuzione del segnale, che può essere ricondotta al coefficiente
di diffusione D. La mappa della variazione dell’intensità del segnale (DWI) può
fornire utili informazioni solo sulla diffusione lungo la direzione lungo la quale è
stato applicato il gradiente di campo magnetico. In molti tessuti, come nella sostanza bianca cerebrale, la diffusione è anisotropa, ovvero la mobilità dell’acqua
dipende dalla direzione, essendo questo un processo tridimensionale, e pertanto
si descrive tramite un tensore, detto tensore di diffusione (D). È possibile determinare i sei elementi indipendenti del tensore di diffusione con l’acquisizione di
almeno sei immagini pesate in diffusione acquisite lungo direzioni non collineari
e di un’immagine di riferimento non pesata in diffusione.
L’imaging di diffusione è un MRI metodo che produce in vivo immagini di
risonanza magnetica di tessuti biologici ponderata con le caratteristiche locali
di diffusione dell’acqua.
2.5
DCE: Diffusion-Contrast-Enhanched
Gli studi DCE (Diffusion Contrast Enhanched) permettono di tracciare nel tempo la distribuzione del mezzo di contrasto paramagnetico nell’organo, al fine di
poter individuare valori di vascolarizzazione e permeabilità caratteristici di tessuti tumorali soggetti ad angiogenesi. Solitamente l’impiego di tale tecnica diagnostica avviene valutando in modo semiquantitativo l’andamento nel tempo del
segnale MR. L’utilizzo clinico della DCE-MRI si concentra sulla localizzazione
di tumori cerebrali e mammellari, infiammazioni, ischemie e demielinizzazioni.
Per quanto riguarda l’utilizzo di questa tecnica per la diagnosi dei tumori
essa consente di:
22
CAPITOLO 2. LA RISONANZA MAGNETICA E METODI DI
ACQUISIZIONE DELLE IMMAGINI
• delineare le zone tumorali (radioterapia)
• stimare il grado del tumore (malignità)
• modulare la radioterapia in base alle mappe di Ktrans
• monitorare il trattamento alla chemio e/o radioterapia
2.6
Metodi a singola modalità verso metodi multimodali
Un’altra classificazione può essere quella tra i metodi a singola modalità e quelli multi modali. I metodi a singola modalità tendono a registrare immagini
nella stessa modalità acquisita dallo stesso tipo di scanner/sensore, mentre i
metodi multimodali di registrazione d’immagini tendono a fare la registrazione
d’immagini acquisite dai diversi tipi di scanner o sensori.
I metodi di registrazione multi-modale usati nell’imaging medico come immagini di un paziente sono spesso ottenuti da diversi scanner. Gli esempi includono
la registrazione delle immagini della TC/MRI cerebrali o dell’intero corpo, come
la PET/CT, a scopi di localizzazione dei tumori, la registrazione d’immagini col
contrasto (TC e RMN) rispetto ad immagini senza contrasto (TC e RMN) per
la segmentazione di parti specifiche dell’anatomia, e la registrazione d’immagini dell’ecografia (ultrasuoni) rispetto a immagini della TC per la localizzazione
della prostata nella radioterapia.
2.7
Misure di similitudine per la registrazione
delle immagini
Il confronto tra immagini simili viene ampiamente usato nell’imaging medico.
Una misura della similitudine delle immagini quantifica il grado di somiglianza
tra i pattern d’intensità in due immagini. La scelta di una particolare modalità
di misurazione delle similtudini dipende dal tipo e modalità d’acquisizione delle
immagini che devono essere sottoposte a registrazione. Alcuni esempi comuni
di somiglianza delle immagini includono la correlazione incrociata, la Mutual
Information vista precedentemente, la somma del quadrato delle differenze di
intensità, e la quota di uniformità dell’immagine.
L’informazione mutua e l’informazione mutua normalizzata sono i metodi
di misura della similarità delle immagini più usati per la registrazione delle
immagini multimodali. La correlazione incrociata, la somma delle differenze
d’intensità elevate al quadrato e le uniformità del radio dell’immagine vengono
comunemente usate per la registrazione d’immagini in mono-modalità.
23
Capitolo 3
Strumenti ed algoritmi
utilizzati
In questo capitolo verranno descritti tool utilizzati e alcuni algoritmi sviluppati.
Il nostro intento è quello di dare una visione chiara dei processi e delle strategie
elaborate nel corso della nostra ricerca.
3.1
Standard e formati di immagini mediche
Iniziamo quindi con il riportare i due formati utilizzati per la rappresentazione
delle immagini biomedicali:
• DICOM: lo standard DICOM[7](Digital Imaging and Communications in
Medicine, immagini e comunicazione digitali in medicina) definisce i criteri per la comunicazione, la visualizzazione, l’archiviazione e la stampa
di informazioni di tipo biomedico quali ad esempio immagini radiologiche. Lo standard DICOM è pubblico, nel senso che la sua definizione è
accessibile a tutti. La sua diffusione si rivela estremamente vantaggiosa
perché consente di avere una solida base di interscambio di informazioni tra apparecchiature di diversi produttori, server e PC, specifica per
l’ambito biomedico. I dati radiologici rappresentabili come immagini o
le immagini vere e proprie che vengono archiviate secondo lo standard
DICOM sotto forma di file vengono comunemente chiamate immagini DICOM. L’errore più comune che viene fatto nell’interpretazione del termine
è che queste siano assimilabili ad altri formati di compressione dell’immagine (es. JPEG, GIF, etc.). In verità lo standard DICOM applicato alla
codifica dei file non è nient’altro che un metodo per incapsulare i dati e
per definire come questi debbano essere codificati o interpretati, ma non
definisce alcun nuovo algoritmo di compressione. La maggior parte delle volte, l’immagine viene archiviata in forma non compressa, secondo la
codifica con la quale viene prodotta, ma esistono molti software che sono
in grado di produrre o interpretare file DICOM contenenti dati compressi
secondo vari algoritmi (JPEG, JPEG Lossless, JPEG Lossy, vari algoritmi
dello standard JPEG2000, ecc.).
25
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
Un file DICOM oltre all’immagine vera e propria,include anche un “Header”. Le informazione contenute nell’Header DICOM sono molteplici,per
esempio: nome e cognome del paziente, il tipo di scansione, posizione e
dimensione dell’immagine ecc. Le informazioni dell’Header vengono scritte in XXX byte del file DICOM,la dimensione ovviamente varia a seconda
della quantità di informazioni memorizzate. Tutte le informazioni memorizzati nell’Header vengono catalogate in gruppi di elementi, detti anche
“Tag DICOM” .
Esistono numerosi programmi che consentono la visualizzazione di immagini DICOM su normali PC, spesso anche liberamente scaricabili via rete
internet. Molti di questi permettono anche di eseguire sulle immagini
elementari operazioni di post-processing, quali misure lineari e di area.
• NII: I file in formato Nifti mantengono le stesse proprietà dei file DICOM
con il vantaggio-svantaggio di avere un unico file per la rappresentazione
del volume; la conversione da un formato all’altro è effettuabile con il
programma 3DSlicer. Noi abbiamo utilizzato due programmi a linea di
comando: DiNifti e DiffUnpack. Esempio di conversione:
diff-unpack API/00010001 dce-1.nii
Querying dicom files... 100% Found 30 single images in the
series.
Volume dimension: 88 128 30 Voxel size: 2.344 2.344 5.000
Writing output files... 100%
Figura 3.1: Tipiche immagini di risonanza magnetica del cervello. Da sinistra
verso destra, è raffigurata rispettivamente la ricostruzione assiale, sagittale e
coronale.
3.2
Il programma 3D Slicer
3D Slicer (Slicer)[8] è un pacchetto di software gratuito, open source per la visualizzazione scientifica e l’analisi delle immagini. Slicer permette di creare “stacks
26
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
di immagini”, partendo da immagini DICOM (Come fa SPM), trasformandole in blocchi di dati tri, quadri e pentadimensionali (ad esempio mostrando la
contemporanea variazione di due parametri, in un reticolo tridimensionale nel
tempo), ad esempio in filmati 3D riguardanti la fMRI, la PET, ecc.
3D Slicer permette anche di confrontare due o più risonanze magnetiche
di uno stesso soggetto nel tempo, per determinare se è apparsa una lesione
(nel individuo sano), se sono apparse nuove lesioni, oppure se queste si sono
ingrandite o ridotte.
3D Slicer viene utilizzato in molte applicazioni medicali, tra queste lo studio
dell’autismo, della sclerosi multipla, del lupus eritematoso sistemico, del carcinoma prostatico, della schizofrenia, nella biomeccanica ortopedica, nella BPCO,
nella malattia cardiovascolare, nella neurochirurgia e nella radioterapia.
Le capacità di Slicer 3D includono:
• Capacità di leggere e di scrivere (per anonimizzare) le immagini DICOM
e un buon numero di altri formati
• Visualizzazione interattiva delle immagini, triangolazione di modelli di
superficie 3D, e volume rendering.
• Editing manuale.
• Fusione e co-“registering” (fusione dei dati di due immagini in tempi
diversi) usando algoritmi di trasformazione rigida e non-rigida
• Segmentazione automatica
• Analisi e visualizzazione dei dati di diffusione del tensore di imaging.
• Tracking di dispositivi per procedure mediche guidate dall’imaging.
Slicer è compilato per l’utilizzo in molteplici piattaforme, includendo Windows, Linux, e Mac OS X.
Viene distribuito sotto una licenza BSD, gratuita e open source. La licenza
di 3D-Slicer non pone restrizioni all’uso del software. Comunque, gli autori
non dichiarano formalmente che il software possa essere utile per alcun compito
particolare. La responsabilità di adempiere alle leggi e alle regolamentazioni
nazionali ricade interamente sull’utente. Slicer non è mai stato approvato per
l’uso clinico in USA o in qualsiasi altro paese.
La piattaforma di Slicer fornisce funzionalità per la segmentazione di immagini e algoritmi di analisi delle immagini. Sono supportati molti formati di
file d’immagine standard, e l’applicazione integra capacità di interfaccia per il
software della ricerca biomedica.
Slicer è stato usato in molteplici ricerche cliniche. Nella ricerca sulla terapia
guidata da immagini, Slicer si utilizza frequentemente per costruire e visualizzare raccolte di dati provenienti dalla MRI che in seguito possono essere disponibili sia per pianificare l’intervento che in ambito intra-operatorio, permettendo
l’acquisizione di coordinate spaziali per il monitoraggio della posizione e del
lavoro degli strumenti operatori. In effetti, Slicer è stato già impiegato nella
“image-guided therapy”, ed attualmente le sue funzioni vengono aumentate e
perfezionate da molti team di ricerca in collaborazione con ingegneri informatici.
In aggiunta alla ricostruzione di modelli 3D dalle immagini RMN convenzionali, Slicer è stato usato anche per presentare informazioni derivate dalla fMRI
27
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
(Imaging di Risonanza Magnetica funzionale) che consiste nell’usare la MRI per
calcolare il flusso sanguigno nelle varie aree del cervello, in relazione più o meno
diretta all’attività neurale encefalica oppure del midollo spinale.
Il campo più avanzato in MRN è quello dello studio del tensore di diffusione “DTI” e “DWI” (usando la RMN per misurare le restrizioni o facilitazioni
date al libero movimento dell’acqua dai fasci di tessuto, permettendo cosı̀ la
ricostruzione di complesse strutture tridimensionali di fasci nervosi, nervi, vasi encefalici, il movimento del liquor nei ventricoli e acquedotti, ecc.) anche
in associazione con programmi di “trattografia” come TrackVis. Le procedure
di diffusione vengono impiegate dall’elettrocardiografia, anche sotto sforzo, per
studiare spasmi e stenosi transienti delle coronarie. Ad esempio, il pacchetto
DTI integrato in 3D-Slicer permette la conversione e l’analisi delle immagini
DTI. I risultati di queste analisi possono essere integrati con i risultati forniti
dalle analisi di MRI morfologica, l’angiografia in RMN e la fMRI.
3.3
Elastix
Elastix[9]è un software open source, basato su ITK[7]. Il software consiste
in una collezione di algoritmi che sono comunemente utilizzati per risolvere i
problemi della registrazione. elastix utilizza un approccio parametrico nella
registrazione, questo significa che impostando le configurazioni di input posso
velocemente ottenere risultati più o meno buoni a seconda delle immagini utilizzate. L’interfacciamento è a linea di comando, questo permette l’utilizzo di
script che semplificano il processamento di elevate quantità di dati. Sempre
nel pacchetto elastix scaricabile all’indirizzo http://elastix.isi.uu.nl/ è presente il programma Transformix che accompagna il processo di registrazione permettendo di effettuare trasformazioni riutilizzando i parametri generati da una
registrazione.
Alcuni esempi di utilizzo:
elastix -f ... -m ... -out out1 -p param1.txt
elastix -f ... -m ... -out out2 -p param2.txt -t0 out1/TransformParameters.0.txt
elastix -f ... -m ... -out out3 -p param3.txt -t0 out2/TransformParameters.0.txt
La chiamata al programma richiede l’impiego di input che sono determinati
dai comandi:
• “-f”: immagine di riferimento;
• “-m”: immagine da mappare;
• “-out”: path della directory di destinazione (i risultati saranno contenuti
in questa cartella);
• “-p”: file di testo contenente i parametri da utilizzare;
• “-t0”: (non obbligatorio) file contenente i parametri generati dalla registrazione, il file viene utile se si utilizza lo strumento trasformix.
I possibili parametri con il comando -p sono già stati riportati durante l’esposizione delle tecniche di registrazione.
Rivediamo questi comandi in comode tabelle:
28
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
Nome
Somma delle Differenze Quadrate (SSD)
Coefficiente di Correlazione Normalizzato (NCC)
Mutua Informazione (MI)
Mutua Informazione Normalizzata (NMI)
Kappa Static (KS)
Comando
AdvancedMeanSquares
AdvancedNormalizedCorrelation
AdvancedMattesMutualInformation
NormalizedMutualInformation
AdvancedKappaStatic
Tabella 3.1: Metriche disponibili in elastix
Nome
Nearest neighbour
Linear
N -th order B-spline
Comando
NearestNeighborInterpolator
LinearInterpolator
BSplineInterpolator o BSplineInterpolatorFloat
Tabella 3.2: Interpolazioni disponibili in elastix
Nome
Translation
Rigid
Similarity
Affine
B-splines
Thin-plate splines
Comando
TranslationTransform
EulerTransform
SimilarityTransform
AffineTransform
BSplinesTransform
SplineKernelTransform
Introduciamo brevemente il programma Transformix presente nel pacchetto
elastix. Il programma permette di utilizzare i parametri di uscita da una
trasformazione. Di seguito riportiamo la sintassi:
transformix -in inputImage -out outputDirectory -tp TransformParameters.txt
dove:
• -in l’immagine di input cioè quella su cui si vogliono applicare i parametri;
• -out cartella dove si salveranno i risultati (diario di computazione, calcoli
effettuati, immagine risultato);
• -tp file dei parametri creati da una registrazione che si vogliono utilizzare
(naturalmente questa procedura può dare anche risultati inutili: si pensi
ad esempio ad una applicazione di trasformazione generata utilizzando A
come immagine fixed e B come immagine moving, nel caso in cui A=B il
risultato sarà una immagine A mappata in modo errato su A stessa. Si
genera quindi un risultato poco interessante e quindi non utilizzabile per
nessuno scopo).
Di seguito è riportato un esempio di file dei parametri utilizzati nelle varie
registrazioni con i relativi commenti:
5
// Vi en e d e f i n i t o i l t i p o d i p i x e l i n t e r n o ,
// u s a t o p e r l a c o m p u t a z i o n e i n t e r n a
// I n g e n e r a l e e ’ s e t t a t o a f l o a t
// NB: q u e s t o non e ’ i l t i p o d e l l ’ immagine !
( FixedInternalImagePixelType ” f l o a t ”)
29
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
( MovingInternalImagePixelType ” f l o a t ”)
10
// La d i m e n s i o n e d e l l ’ immagine f i x e d e d e l l ’ immagine moving
( FixedImageDimension 3 )
( MovingImageDimension 3 )
15
// S p e c i f i c a r e s e s i v u o l e t e n e r c o n t o d e l l a
coseni
// d e l l ’ immagine .
// Raccomandato : t r u e .
( UseDirectionCosines ” true ”)
cosi detta direzione
dei
// ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ Componenti p r i n c i p a l i ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
20
25
30
35
// I s e g u e n t i componenti u s u a l m e n t e s o n o s e t t a t i i n q u e s t o modo :
( R e g i s t r a t i o n ” M u l t i R e s o l u t i o n R e g i s t r a t i o n ”)
( I n t e r p o l a t o r ” L i n e a r I n t e r p o l a t o r ”)
( ResampleInterpolator ” F i n a l L i n e a r I n t e r p o l a t o r ”)
( Resampler ” D e f a u l t R e s a m p l e r ” )
// S e t t a g g i d e i metodi p e r l a r i s o l u z i o n e :
( FixedImagePyramid ” F i x e d R e c u r s i v e I m a g e P y r a m i d ” )
( MovingImagePyramid ” MovingRecursiveImagePyramid ” )
// Componenti s e g u e n t i s o n o molto i m p o r t a n t i :
// L ’ o t t i m i z z a t o r e A d a p t i v e S t o c h a s t i c G r a d i e n t D e s c e n t (ASGD) l a v o r a i n
// g e n e r a l e molto bene . La t r a s f o r m a z i o n e e l a m e t r i c a s o n o i m p o r t a n t i
// e n e c e s s a r i d e f i n i r l i i n m an ie r a a d a t t a p e r l e d i v e r s e a p p l i c a z i o n i
( Optimizer ” AdaptiveStochasticGradientDescent ”)
( Transform ” A f f i n e T r a n s f o r m ” )
( Metric ” NormalizedMutualInformation ”)
// ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ T r a s f o r m a z i o n i ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
40
// S c a l a l a r o t a z i o n e comparandola con l a t r a s l a z i o n e ( devono
// e s s e r e n e l l o s t e s s o i n s i e m e d i v a l o r i )
( AutomaticScalesEstimation ” true ”)
45
// Automaticamente s i suppone c h e l a t r a s l a z i o n e i n i z i a l e e ’ a l l i n e a t a
// con i l c e n t r o g e o m e t r i c o d e l l ’ immagine f i x e d e d e l l ’ immagine moving
( AutomaticTransformInitialization ” true ”)
50
// Le t r a s f o r m a z i o n i s o n o c o m b i n a t e p e r a d d i z i o n e o p e r c o m b i n a z i o n e .
// I n g e n e r a l e , l a c o m p o s i z i o n e e ’ l a m i g l i o r o p z i o n e
// Questo comando non i n f l u e n z a d i molto i l r i s u l t a t o
( HowToCombineTransforms ”Compose ” )
// ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ Misura d i S i m i l a r i t a ’ ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
55
60
// Numero d i l i v e l l i d i g r i g i o i n o g n i l i v e l l o d i r i s o l u z i o n e ,
// p e r l a mutual i n f o r m a t i o n . Lavora bene s e s e t t a t o a 16 o 3 2 .
( NumberOfHistogramBins 3 2 )
// Se usiamo una maschera , q u e s t o e ’ molto i m p o r t a n t e .
// Se l a maschera v i e n e u t i l i z z a t a p e r i m p o s t a r e una r e g i o n e
// d i i n t e r e s s e , s e t t a r e a f a l s e .
( ErodeMask ” f a l s e ” )
// ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ M u l t i r i s o l u z i o n e ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
65
// Numero d i r i s o l u z i o n i . 1 . e ’ s u f f i c i e n t e p e r l i v e l l o d i d e f o r m a z i o n e
// p i c c o l o . 3 o 4 e f f e t t u a una buona r i s o l u z i o n e . Per immagini g r a n d i
// e ad e l e v a t a d e f o r m a z i o n e 5 o 6 e ’ una buona s c e l t a .
( NumberOfResolutions 4)
70
75
// I l f a t t o r e d i s o t t o c a m p i o n a m e n t o / b l u r r i n g p e r l e immagini p i r a m i d a l i .
// Per d e f a u l t , l e immagini s o n o s o t t o c a m p i o n a t e d i un f a t t o r e 2
comparato
// comparato con l a r i s o l u z i o n e s u c e s s i v a .
// Un e s e m p i o d i r i c a m p i o n a m e n t o p i r a m i d a l e d i una immagine 2D e ’ i l
seguente :
/ / ( ImagePyramidSchedule 8 8 4 4 2 2 1 1 )
30
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
( ImagePyramidSchedule 8 8 8
4 4 4
2 2 2
1 1 1 )
// ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ O t t i m i z z a t o r e ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
80
// Massimo numero d i i t e r a z i o n i p e r o g n i l i v e l l o d i r i s o l u z i o n e :
// p e r o t t e n e r e i n una t r a s f o r m a z i o n e r i g i d a un buon l a v o r o s i s e t t a
200 −500.
( MaximumNumberOfIterations 3 0 0 )
85
// P as s o d i o t t i m i z z a z i o n e i n mm. Per d e f a u l t e ’ u s a t a l a d i m e n s i o n e d e l
voxel .
/ / ( MaximumStepLength 1 . 0 )
// ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ Campionamento d e l l ’ immagine ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
90
// Numero d i campionamenti u s a t i n e l l a c o m p u t a z i o n e d e l l a
// mutual i n f o r m a z i o n . Con A d a p t i v e S t o c h a s t i c G r a d i e n t D e s c e n t 2000
// s o n o s u f f i c i e n t i .
( NumberOfSpatialSamples 2 0 4 8 )
95
// R i p u l i s c e q u e s t i campionamenti i n o g n i i t e r a z i o n e , e
// i n modo random .
( NewSamplesEveryIteration ” true ”)
( ImageSampler ”Random ” )
100
105
110
li
seleziona
// ∗∗∗∗∗∗∗∗∗∗∗∗∗ I n t e r p o l a z i o n e e r i c a m p i o n a m e n t o ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
// Ordine d e l l ’ i n t e r p o l a z i o n e B−S p l i n e u s a t a d u r a n t e l a r e g i s t r a z i o n e /
ottimizzazione .
// Puo ’ aumentare l a a c c u r a t e z z a d e l r i s u l t a t o s e s e t t a t a a 3 .
// E ’ s c o n s i g l i a t o s e t t a r l o a z e r o . Mentre s e t t a t o ad uno e f f e t t u a una
interpolazione
// l i n e a r e . I n m o l t i c a s i a p p l i c a t i q u e s t a e ’ una buona s c e l t a .
( BSplineInterpolationOrder 3)
// Ordine d i i n t e r p o l a z i o n e B−S p l i n e u s a t a d u r a n t e l a d e f o r m a z i o n e
finale .
// 3 da ’ una buona a c c u r a t e z z a ; e ’ raccomandata i n m o l t i c a s i .
// 1 da ’ una a c c u r a t e z z a p e g g i o r e d e l l a p r e c e d e n t e ( e f f e t t u a una
interpolazione lineare )
// 0 da ’ una a c c u r a t e z z a p e g g i o r e , ma e ’ a p p r o p r i a t a p e r immagini
binarie .
( FinalBSpline Interpolat ionOrder 3)
115
// V a l o r e d e i p i x e l e s t e r n i
( DefaultPixelValue 0)
d e l l ’ immagine s e t t a t o p e r d e f a u l t a 0 .
120
// S e t t a r e q u e s t o comando quando s i v u o l e g e n e r a r e l ’ immagine moving
deformata .
// S i puo ’ s e t t a r e ad e s e m p i o a f a l s o s e s i e ’ i n t e r e s s a t i
// s o l a m e n t e a l l a d e f o r m a z i o n e f i n a l e non r i g i d a .
( WriteResultImage ” true ”)
// Tipo d i p i x e l d e l f o r m a t o d e l l ’ immagine d e l l a
effettuata .
( ResultImagePixelType ” short ”)
( ResultImageFormat ” n i i ” )
registrazione
I parametri utilizzati sono di chiaro significato. Il programma prende in input
l’immagine e i parametri di trasformazione e produce in output il risultato all’interno di una directory. Naturalmente sta all’utente accertarsi di effettuare una
operazione di trasformazione “sensata”: questo significa che i parametri generati da una registrazione potranno essere utilizzati solo in un contensto coerente.
Transformix verrà utilizzato in più di una occasione nella nostra trattazione,
per affrontare alcune problematiche che vedremo in seguito.
31
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
3.4
Fsl
La FMRIB Software Library (con acronimo: FSL), che si può tradurre in italiano “libreria software per la risonanza magnetica funzionale”, consiste in una serie
di programmi che contengono strumenti per l’analisi delle immagini e programmi
di statistica per l’analisi dei dati provenienti da immagini di risonanza magnetica
funzionale, strutturale e di risonanza magnetica a tensore di diffusione.
I programmi FSL sono disponibili sia come file binario pre-compilato che
come codice sorgente disponibile sia per Mac OS X che per i PC. Vengono
concessi gratuitamente per l’utilizzo non commerciale.
Di seguito i programmi utilizzati ed una breve descrizione:
• BET -brain extraction-: (strumento per l’estrazione cerebrale) segmenta
(separa) il cervello dal non-cervello generando dati in forma di maschere
binarie, fornisce una modellazione delle superfici del cranio e dello scalpo.
• FLIRT: è uno strumento di registrazione delle immagini lineare.
• FNIRT: è uno strumento di registrazione delle immagini non lineare.
• FSLMATHS: è uno strumento per le operazioni matematiche da effettuare
sulle immagini, ammette diversi comandi come -add (addizione) o -mul
(moltiplicazione) che rappresentano gli operatori. Nel progetto è stato
utilizzato per la moltiplicazione di una registrazione con una maschera
allo scopo di eliminare rumore.
• FSLView: è uno strumento per la visualizzazione delle immagini nei formati Nifti Dicom ecc. È stato utilizzato anche per la costruzione di modelli
tridimensionali dei volumi usati.
Gli strumenti più utilizzati sono “Flirt” e “Fnirt”. “Flirt” è il programma
principale per effettuare la trasformazione affine (o in generale quella lineare).
Le opzioni principali sono: un volume di input (-in) e uno di riferimento (-ref );
Il calcolo della trasformazione affine che registra l’immagine di input sull’immagine di riferimento produce in output con il comando (-omat) la matrice affine e
con il comando(-out) l’immagine di input trasformata. Altri comandi che abbiamo utilizzato sono stati (-cost) che specifica la metrica da utilizzare (-interp)
per specificare l’interpolazione (-forcescaling) per ricampionare l’immagine di
input su quella di riferimento. Il programma “Fnirt” si utilizza invece per la registrazione non lineare. A seguire un esempio dell’utilizzo di questo programma
(limitatamente al nostro utilizzo):
fnirt -v –in=“dwi.nii” –ref=“dce.nii” –splineorder=2 –iout=“nonlineare.nii” –cout=“non-lineare-warp.nii”
I comandi -in e -ref sono rispettivamente per l’immagine moved e per l’immagine fixed; il comando -splineorder serve per impostare il grado della trasformazione non lineare. Mentre i comandi di output sono -iout per la produzione
dell’immagine risultato e -cout per la produzione del warp (analogamente alla matrice affine prodotta da flirt). Per concludere il comando -v produce in
output durante la fase di registrazione tutte le informazioni sviluppate e tutti i
passi eseguiti in tempo reale.
32
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
3.5
Filtro Anisotropico
Il filtro anisotropico (in inglese Anisotropic filtering, abbreviato quindi in AF) è
un metodo utilizzato nella grafica computerizzata per accrescere la qualità delle
immagini che ritraggono texture poste su superfici inclinate rispetto al punto di
osservazione (figura 3.2). Come il filtro bilineare e trilineare esso riduce l’effetto
di aliasing, inoltre causa meno sfuocamento in corrispondenza degli angoli di
visuale più estremi conservando maggiore dettaglio.
Figura 3.2: Esempio di applicazione di un filtro anisotropico
L’uso del filtro anisotropico è abbastanza costoso in termini di risorse ed
è diventato una caratteristica standard delle schede video a disposizione dei
normali consumatori negli anni novanta.
Questo filtro è ormai diventato comune nelle schede grafiche moderne, attivabile sia dall’utente attraverso le impostazioni dei driver, sia dalle applicazioni
grafiche o dai videogiochi.
3.5.1
Algoritmi di Perona e Malik
L’idea base di questo algoritmo è semplice[11]. Se si effettua la convoluzione tra
l’immagine e un kernel gaussiano si ottiene l’immagine di partenza filtrata con un
passa basso. Se si itera questa operazione sulle immagini che man mano si vanno
generando si ottiene una serie di immagini ognuna delle quali ha tre parametri:
x e y che sono le dimensioni, e t che indica il numero di iterazioni per ottenere
l’immagine in questione. Quindi l’immagine I(x, y, 0) corrisponde all’originale
mentre le immagini I(x, y, t) sono quelle ottenute mediante la convoluzione;
all’aumentare di t le immagini sono sempre più sfocate.
Questo procedimento è quello che viene chiamato filtraggio lineare, perchè è
indipendente dalle caratteristiche locali dell’immagine.
Inoltre questa convoluzione corrisponde, come dice Koenderink, alla soluzione della funzione di diffusione:
It = ∆I = (Ix x + Iy y)
Inoltre Koenderink [12] giustifica l’utilizzo della funzione di diffusione definendo
due concetti che sono concordanti con la sua scelta. Il primo è il criterio di
causalità (che viene rispettato anche da Perona e Malik). Il secondo è il criterio
33
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
di omogeneità, per il quale il “blurring” deve essere spazio-invariante. Questo
criterio viene contestato da Perona e Malik, che lo considerano frutto di una
semplificazione. È anzi su questo punto che sta la differenza tra filtraggio lineare
e quello non lineare.
Anzichè eseguire un “blurring” costante, questo viene modulato in funzione
delle caratteristiche locali dell’immagine, che vengono rappresentate mediante
il coefficiente di diffusione c(x, y, t). La funzione di diffusione diventa quindi:
It = ∇(c(x, y, t)∇I)
Per fare in modo che il filtro agisca maggiormente all’interno delle regioni e non
nei contorni, la quantità c deve essere prossima a zero nei contorni e prossima ad
uno nelle zone da filtrare. Una quantità che può rappresentare bene un contorno
è il gradiente: maggiore è il modulo del gradiente nel punto in questione e
maggiore sarà la probabilità che si tratti di un contorno. La quantità c può
essere scelta quindi in funzione del gradiente:
c = g(k ∇I(x, y, t) k)
le funzioni proposte da Perona (3.1) e Malik (3.2), per la corrispondenza tra il
modulo del gradiente e la quantità c sono le seguenti:
g(∇I) = e−(
k∇Ik
K
2
)
(3.1)
1
g(∇I) =
1+
k∇Ik
K
2
(3.2)
Il parametro k deve essere calcolato in relazione alle caratteristiche dell’imma-
Figura 3.3: Funzioni g(∗) proposte da Perona e Malik
gine considerata, e regola la pendenza delle due funzioni.
34
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
Come si può vedere in figura 3.3, queste funzioni hanno un valore massimo pari ad uno, in corrispondenza del gradiente nullo. All’aumentare del
gradiente le funzioni tendono a zero, in modo che per valori alti di gradiente,
corrispondenti ad un contorno, il coefficiente di diffusione sia circa nullo.
Per capire meglio il funzionamento dell’algoritmo è conveniente definire una
funzione di flusso:
φ(∇I) = g(∇I) · ∇I
La funzione di diffusione può essere quindi vista come:
It = ∇ · (φ(∇I))
Il flusso è massimo per valori di gradiente prossimi a k (figura 3.4). Quindi
se si vuole eliminare il rumore dell’immagine bisogna scegliere un valore di k
prossimo al gradiente del rumore. La certezza che applicando questo filtro viene
Figura 3.4: Funzioni di flusso
rispettato il criterio di causalità viene data dal teorema del massimo principio
citato da Perona e Malik.
La funzione di diffusione può essere discretizzata, e resa molto semplice e
facilmente implementabile, nella seguente maniera:
∂
∂
∂
∂
∂
I(x, y, t) =
c(x, y, t) I(x, y, t) +
c(x, y, t) I(x, y, t) ≈
∂x
∂x
∂x
∂y
∂y
1
∆x
≈
, y, t (I(x + ∆x, y, t) − I(x, y, t)) +
c x+
(∆x)2
2
1
∆x
c
x
−
,
y,
t
(I(x,
y,
t)
−
I(x
−
∆x,
y,
t))
+
−
(∆x)2
2
35
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
1
∆y
+
c x, y +
, t (I(x, y + ∆y, t) − I(x, y, t)) +
(∆y)2
2
∆y
1
c
x,
y
−
,
t
(I(x,
y,
t)
−
I(x,
y
−
∆y,
t))
=
−
(∆y)2
2
= φeast + φwest + φnorth + φsouth
I(x, y, t + ∆t) ≈ I(x, y, t) + ∆t · (φeast + φwest + φnorth + φsouth )
In cui i valori di φ possono essere approssimati, per ogni punto con:
φeast = g(|∇east I|) · (∇east I)
φwest = g(|∇west I|) · (∇west I)
φnorth = g(|∇north I|) · (∇north I)
φsouth = g(|∇south I|) · (∇south I)
In cui:
∇east I(i,j) = I(i,j+1) − I(i,j)
∇west I(i,j) = I(i,j−1) − I(i,j)
∇north I(i,j) = I(i−1,j) − I(i,j)
∇south I(i,j) = I(i+1,j) − I(i,j)
Mentre il termine ∆t viene solitamente posto a 1/4.
3.5.2
Codice
Lo script “anisodiff3d.m” applica il filtro anisotropico, secondo le formule di
Perona (3.1) e Malik (3.2), prendendo in ingresso:
• VOL: immagine 3D in scala di grigi;
• NUM-ITER: numero di iterazioni;
• DELTA-T: integrazione costante (0 <= ∆t <= 3/44) (di solito impostato
sempre al valore massimo di 3/44);
• KAPPA: valore di soglia che modifica la rigidità del metodo;
• OPTION: se impostato ad 1 applica l’algoritmo di Perona (3.1) altrimenti
se impostato a 2 applica l’algoritmo di Malik (3.2).
• VOXEL-SPACING: vettore 3x1 che rappresenta la grandezza di un voxel
(in millimetri) nell’immagine 3d (x, y, z), se l’immagine è di tipo DICOM
l’informazione può essere ricavata dal file dicominfo.
Per l’analisi completa dello script sviluppato si rimanda all’appendice. Di
seguito riportiamo invece un esempio di utilizzo:
36
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
function
5
10
5
10
f i l t r a t a = f i l t r a ( immagine )
img=immagine . img ;
d e l t a t = 3/44;
num iter = 2;
kappa = 8 0 ;
option = 2;
v o x e l s p a c i n g = ones ( 3 , 1 ) ;
p r i m o s t e p = a n i s o d i f f 3 D ( img , n u m i t e r ,
voxel spacing ) ;
immagine . img=p r i m o s t e p ;
f i l t r a t a =immagine ;
return
d e l t a t , kappa , o p t i o n ,
%Lo s c r i p t c a r i c a l ’ immagine , l o f i l t r a , c r e a l a maschera con r e g i o n
growing e s a l v a
clear all
d c e=l o a d n i i ( ’ c o n v e r t i t i / d c e _ 1 3 . n i i ’ ) ;
r i s u l= f i l t r a ( dce ) ;
r i s u l t a t o=c r e a m a s c h e r a ( r i s u l . img , 6 ) ;
d c e . img=r i s u l t a t o ;
clear risultato
r i s u l t a t o=d c e ;
s a v e n i i ( r i s u l t a t o , ’ maschera_13aniso . nii ’ ) ;
%Questo v i e n e r i p e t u t o p e r o g n i immagine da f i l t r a r e
...
3.6
Region Growing
La tecnica di “region growing” si basa sul raggruppamento automatico di regioni
di pixel che hanno una proprietà in comune. Ad esempio gruppi di pixel che
hanno la medesima luminosità. Suddividiamo l’immagine in cluster ossia in
zone con pixel aventi luminosità uguale. Si definisce poi una “distanza” ossia
una misura fra due cluster diversi. Se tale misura diventa inferiore ad un valore
prefissato allora i due cluster presi in esame si uniscono in un nuovo cluster
altrimenti si continua la ricerca fino a che non si finiscono tutte le coppie di
cluster. La ricerca parte da un punto preso nella regione di interesse.
Nel nostro progetto questa tecnica è stata utilizzata per lo sviluppo di alcune
maschere 3D.
Di seguito riportiamo il codice per l’applicazione bidimensionale:
5
10
f u n c t i o n [ g , NR, SI , TI ] = r e g i o n g r o w ( f , S , T)
%REGIONGROW Perform s e g m e n t a t i o n by r e g i o n g r o w i n g .
%
[ G, NR, SI , TI ] = REGIONGROW( F , SR , T) .
S can be an a r r a y ( t h e
%
same s i z e a s F) w i t h a 1 a t t h e c o o r d i n a t e s o f e v e r y s e e d p o i n t
%
and 0 s e l s e w h e r e .
S can a l s o be a s i n g l e s e e d v a l u e . S i m i l a r l y ,
%
T can be an a r r a y ( t h e same s i z e a s F) c o n t a i n i n g a t h r e s h o l d
%
v a l u e f o r e a c h p i x e l i n F . T can a l s o be a s c a l a r , i n which
%
c a s e i t becomes a g l o b a l t h r e s h o l d .
%
%
On t h e output , G i s t h e r e s u l t o f r e g i o n growing , w i t h e a c h
%
r e g i o n l a b e l e d by a d i f f e r e n t i n t e g e r , NR i s t h e number o f
%
r e g i o n s , S I i s t h e f i n a l s e e d image u s e d by t h e a l g o r i t h m , and TI
%
i s t h e image c o n s i s t i n g o f t h e p i x e l s i n F t h a t s a t i s f i e d t h e
%
threshold test .
15
20
f = double ( f ) ;
% I f S i s a s c a l a r , o b t a i n t h e s e e d image .
i f numel ( S ) == 1
S I = f == S ;
S1 = S ;
else
% S i s an a r r a y . E l i m i n a t e d u p l i c a t e , c o n n e c t e d s e e d l o c a t i o n s
% t o r e d u c e t h e number o f l o o p e x e c u t i o n s i n t h e f o l l o w i n g
% s e c t i o n s o f code .
37
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
S I = bwmorph ( S , ’ s h r i n k ’ , I n f ) ;
J = f i n d ( SI ) ;
S1 = f ( J ) ; % Array o f s e e d v a l u e s .
25
end
35
TI = f a l s e ( s i z e ( f ) ) ;
f o r K = 1 : l e n g t h ( S1 )
s e e d v a l u e = S1 (K) ;
S = a bs ( f − s e e d v a l u e ) <= T ;
TI = TI | S ;
end
40
% Use f u n c t i o n i m r e c o n s t r u c t w i t h S I a s t h e marker image t o
% obtain the r e g i o n s c o r r e s p o n d i n g to each seed i n S . Function
% bwlabel a s s i g n s a d i f f e r e n t i n t e g e r to each connected r e g i o n .
[ g , NR] = b w l a b e l ( i m r e c o n s t r u c t ( SI , TI ) ) ;
30
A seguire lo script ottimizzato per il nostro utilizzo (con estensione al 3D):
5
10
15
f u n c t i o n r i s u l t a t o=c r e a m a s c h e r a ( immagine , t )
%Crea Maschera
%i n p u t :
%immagine=immagine 3d
%t l i v e l l o d i t h r e s h o l d
%
%o u t p u t :
%r i s u l t a t o=maschera 3d
clear risultato ;
[ s i z e 1 s i z e 2 s i z e 3 ] = s i z e ( immagine ) ;
r i s u l t a t o=z e r o s ( s i z e 1 , s i z e 2 , s i z e 3 ) ;
maschera=z e r o s ( s i z e 1 , s i z e 2 ) ;
maschera ( c e i l ( s i z e 1 / 2 ) , c e i l ( 3 ∗ s i z e 2 / 4 ) ) =1;
f o r k =1:1: s i z e 3
r i s u l t a t o ( : , : , k ) = r e g i o n g r o w ( immagine ( : , : , k ) , maschera , t ) ;
end
return
3.7
Strumento per l’analisi oggettiva dei dati
Per la valutazione dei risultati ottenuti abbiamo utilizzato una funzione chiamata Tester scritta in codice C++ e basata sulle librerie di ITK (Insight Segmentation and Registration Toolkit) che permette di analizzare la registrazione
effettuata in base a tre parametri significativi i cui range vanno da 0 a 1;
• Errore calcolo NMI: Errore che indica il valore della Mutual Information.
• Errore calcolo RMSDifferences: Errore che indica la differenza di luminosità relative delle immagini registrate.
• Errore calcolo EdgeOverlap : Errore che indica il valore di sovrapposizione
degli edge delle due immagini registrate.
L’esecuzione del programma è computazionalmente costosa e il risultato va interpretato a seconda delle immagini a registrate. Ad esempio nella nostra elaborazione teniamo conto principalmente del terzo valore restituito, quello che
si riferisce alla sovrapposizione degli edge che, nel nostro caso rappresenta il
parametro più significativo in quanto la natura stessa delle immagini utilizzate è sensibilimente diversa (i.e. DWI/DCE) Nel caso del valore relativo alla
MutualInformation avremo un risultato positivo in cui esso si avvicinerà ad 1
mentre nel caso degl’altri due parametri calcolati essi risulteranno positivi se
tenderanno a 0. Per normalizzare i risultati e avere anche una visualizzazione
38
CAPITOLO 3. STRUMENTI ED ALGORITMI UTILIZZATI
grafica dell’analisi dei dati (questo argomento sarà trattato approfonditamente
nel capitolo 4) abbiamo creato una funzione (Matlab) che di seguito riportiamo:
%E r r o r e Mutual I n f o r m a t i o n
MI = [ ] ;
5
10
15
20
%E r r o r e D i f f e r e n z a
DI = [ ] ;
Intensita
%E r r o r e EdgeOverlap
EO= [ ] ;
%N o r m a l i z z a z i o n e
matrix n or m=z e r o s ( s i z e (MI) , 3 ) ;
m a t r i x=c a t ( 3 , MI , DI ,EO) ;
matrix n or m ( : , 1 )=normc(1− m a t r i x ( : , 1 ) ) ;
matrix n or m ( : , 2 )=normc ( m a t r i x ( : , 2 ) ) ;
matrix n or m ( : , 3 )=normc ( m a t r i x ( : , 3 ) ) ;
%G r a f i c i
x=[1:36];
figure
p l o t ( x , m a tr i x n or m ( : , 1 ) , ’ - g ’ , ’ L i n e W i d t h ’ , 2 )
h o l d on
p l o t ( x , m a tr i x n or m ( : , 2 ) , ’ - r ’ , ’ L i n e W i d t h ’ , 2 )
25
p l o t ( x , m a tr i x n or m ( : , 3 ) , ’ - b ’ , ’ L i n e W i d t h ’ , 2 )
30
g r i d on
%l e g e n d ( ’ MI ’ , ’NRMS’ , ’EDGE’ )
l e g e n d ( ’ MI ’ , ’ NRMS ’ , ’ E d g e O v e r l a p ’ )
yl a be l ( ’ Error ’ )
x l a b e l ( ’ Registration Case ’ )
39
Capitolo 4
Realizzazione e sviluppo
In questo capitolo tratteremo nel dettaglio tutte le analisi e le operazioni svolte
nella nostra ricerca. Descriveremo come a partire dalle immagini di Risonanza
Magnetica di diversa acquisizione e natura arriveremo a creare una buona registrazione attraverso gli algoritmi e i parametri messi a disposizione dai tool visti
in precedenza e che tratteremo separatamente solo dopo aver effettuato un approfondimento sui metodi di “raffinamento” che abbiamo seguito (sia per FSL
e elastix) ai fini di evitare la creazione di una mole di dati troppo elevata e di
difficile analisi. Le operazioni di svolgimento, i dati ottenuti e le le registrazioni
effettuate sia relative alle immagini del seno e a quelle di testa-collo, verranno
qui di seguito elaborati e rappresentati.
4.1
Immagini del seno
Le immagini del seno dei 5 soggetti analizzati sono organizzate in un dataset,
forniteci dalla Fondazione IEO [13], contenenti le acquisizioni di tipo DWI all’interno della relativa cartella (breast-diff-weigthed) e 8 serie di immagini DCE
acquisite a distanza di 60 secondi l’une dalle altre, dopo l’iniezione del liquido
di contrasto.
• dce-13 : Acquisizione contemporanea all’inserimento del liquido di contrasto
• dce-14 : Acquisizione dopo 1 minuto dall’inserimento del liquido
• dce-19 : Acquisizione dopo 2 minuti dall’inserimento del liquido
• dce-21 : Acquisizione dopo 3 minuti dall’inserimento del liquido (volume
di riferimento)
• dce-23 : Acquisizione dopo 4 minuti dall’inserimento del liquido
• dce-25 : Acquisizione dopo 5 minuti dall’inserimento del liquido
• dce-27 : Acquisizione dopo 6 minuti dall’inserimento del liquido
• dce-29 : Acquisizione dopo 7 minuti dall’inserimento del liquido
41
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Il contrasto maggiore che permette una migliore visualizzazione delle patologie (in questo caso un nodulo al seno), avviene a distanza di 2-3 minuti
dall’inserimento del liquido (dce-13), quindi abbiamo utilizzato come immagini
di riferimento (o campione rappresentativo) quelle ottenute dopo tale intervallo di tempo (nel nostro dataset sono indicate con l’identificativo dce-21). La
visualizzazione della patologia in modo chiaro e ben definito ci ha permesso
di utilizzare quest’ultima come parametro di confronto con le registrazioni che
verranno effettuate, in quanto rappresenta una variante anatomica sostanziale.
Le immagini forniteci sono nel formato DICOM descritto nel capitolo 3 e per
essere utilizzate dai tool sono state convertite nel formato nii attraverso, come
abbiamo visto, il comando dinifti oppure attraverso diff-unpack.
Figura 4.1: Immagine moving di tipo dwi, a destra si evidenzia la lesione oggetto
di idagine
42
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.2: Immagine di riferimento di tipo dce-21
4.1.1
Traccia di Sviluppo
Lo sviluppo è stato strutturato con l’obiettivo di ricercare la registrazione migliore per i volumi in nostro possesso utilizzando come immagine di riferimento
la DCE e come immagine di input la DWI. Tale procedimento può essere inteso
e pensato come registrazione multimodale per l’aumento della capacità informativa dell’immagine DWI[15]. Per quanto riguarda elastix possiamo scomporre
la nostra ricerca in tre fasi. In primis ci siamo occupati di effettuare un set di
registrazioni utilizzando i parametri di maggior rilevanza (“brute force”). Una
volta ottenuto il risultato migliore abbiamo continuato con il settaggio dei parametri meno rilevanti (che hanno quindi un impatto minore sulla registrazione)
in modo da migliorare ancor più la qualità della registrazione (procedimento
“top down”). Come passo finale al risultato ottenuto abbiamo applicato diversi
procedimenti di alto livello per aumentare al massimo il livello di qualità della
registrazione. Per la valutazione ci siamo concentrati in un primo tempo sul
risultato visivo della registrazione confrontando direttamente l’output ottenuto
con la DCE e poi con l’ausilio del tester già presentato all’inizio (valutazione
oggettiva). Per quanto riguarda FSL il procedimento è stato effettuato in modo
simile. Sono state sviluppate diverse registrazioni con diversi parametri in modo
da ottenere un criterio di registrazione per questo tipo di immagini volumetriche. Procedendo con ordine di seguito in tabella troviamo i parametri utilizzati
nella prima fase di registrazione con elastix:
43
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
N◦
1
2
2
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Trasformazione
Rigida
Rigida
Rigida
Rigida
Rigida
Rigida
Rigida
Rigida
Rigida
Rigida
Rigida
Rigida
Affine
Affine
Affine
Affine
Affine
Affine
Affine
Affine
Affine
Affine
Affine
Affine
BSpline
BSpline
BSpline
BSpline
BSpline
BSpline
BSpline
BSpline
BSpline
BSpline
BSpline
BSpline
Interpolazione
Nearest neighbour
Nearest neighbour
Nearest neighbour
Nearest neighbour
Linear
Linear
Linear
Linear
BSpline
BSpline
BSpline
BSpline
Nearest neighbour
Nearest neighbour
Nearest neighbour
Nearest neighbour
Linear
Linear
Linear
Linear
BSpline
BSpline
BSpline
BSpline
Nearest neighbour
Nearest neighbour
Nearest neighbour
Nearest neighbour
Linear
Linear
Linear
Linear
BSpline
BSpline
BSpline
BSpline
Campionamento
Random
Random
RandomCoordinate
RandomCoordinate
Random
Random
RandomCoordinate
RandomCoordinate
Random
Random
RandomCoordinate
RandomCoordinate
Random
Random
RandomCoordinate
RandomCoordinate
Random
Random
RandomCoordinate
RandomCoordinate
Random
Random
RandomCoordinate
RandomCoordinate
Random
Random
RandomCoordinate
RandomCoordinate
Random
Random
RandomCoordinate
RandomCoordinate
Random
Random
RandomCoordinate
RandomCoordinate
Tabella 4.1: Tabella generale dei parametri
44
Metrica
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
MI
NMI
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
N◦
1
2
3
4
5
6
7
8
9
Metrica
Somma delle Differenze Quadrate (SSD)
Somma delle Differenze Quadrate (SSD)
Somma delle Differenze Quadrate (SSD)
Mutua Informazione Normalizzata (NMI)
Mutua Informazione Normalizzata (NMI)
Mutua Informazione Normalizzata (NMI)
Coefficiente di Correlazione Normalizzato (NCC)
Coefficiente di Correlazione Normalizzato (NCC)
Coefficiente di Correlazione Normalizzato (NCC)
Numero iterazioni
2
4
3
2
4
3
2
4
3
Tabella 4.2: Raffinazioni successive in elastix
Dove MI sta per “Mutual Information” mentre NMI per “Normalized Mutual
Information”. È facile notare che l’idea di fondo è la prova di alcuni ingressi
(parametri di input al tool elastix) provando tutte le combinazioni possibili.
Come vedremo nella sezione Risultati gli output migliori prodotti da queste
registrazioni sono stati ottenuti con la trasformazione Affine, in particolare la
registrazione che ha ottenuto la miglior valutazione è la numero 18. L’influenza
maggiore nella scelta dei parametri è data dalla scelta del tipo di trasformazione.
Come passo ulteriore abbiamo quindi riutilizzato il set di parametri utilizzati
nel tentativo migliore modificando di volta in volta alcuni parametri.
Le modifiche riportate partendo dalla configurazione numero 18 sono visibili
in tabella 4.2.
Questo ultimo tentativo non ci ha portato ad un miglioramento del risultato ma ha confermato la configurazione 18 (naturalmente alzando il numero di
iterazioni per l’ottimizzazione otteniamo un miglioramento del risultato). Aumentando il numero di iterazioni per l’ottimizzazione come abbiamo effettuato
in questi test ci siamo accorti che le performance peggiorano di un fattore non
significativo. Un fattore invece importante per ottenere un rapporto risultatoprestazioni efficiente è quello di utilizzare un campionamento Random. Come
già detto durante le premesse impostare un campionamento Full durante il processo di registrazione produce un risultato migliore ma peggiora drasticamente i
tempi di calcolo. In tabella 4.3 riportiamo la combinazione dei parametri utilizzata per la prova effettuata con FSL. Come passo successivo abbiamo applicato
la trasformazione 18 a tutte le fasi di propagazione del liquido di contrasto
(a tutte le immagini DCE da noi in possesso) verificando cosı̀ se veramente i
risultati ottenuti possono essere ritenuti accettabili per questo tipo di immagini.
Una prima considerazione finale sulla registrazione ottenuta ci ha fatto notare che in alcune parti del volume risultato è presente un artefatto dell’immagine
su un lato (figura 4.3).
L’errore si è propagato dalla immagine DWI. Questa distorsione è probabilmente dovuta ad un movimento del soggetto durante il processo di acquisizione
della immagine DWI. L’obiettivo che ci siamo prefissati in questa fase è stato
quello di vedere quanto ha influito sul processo di registrazione questa distorsione. Per fare ciò abbiamo ideato un meccanismo che ci ha permesso di ottenere la
trasformazione da applicare alla DWI senza registrare direttamente l’immagine
DWI con rumore. La nostra idea è stata quella di creare un “atlante” sviluppato
sfruttando la simmetria del corpo umano. Abbiamo utilizzato la parte sinistra
45
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
N◦
1
2
3
4
5
6
7
8
9
10
11
12
Interpolazione
Nearest Neighbour
Nearest Neighbour
Nearest Neighbour
Nearest Neighbour
Lineare
Lineare
Lineare
Lineare
Trilineare
Trilineare
Trilineare
Trilineare
Metrica
Mutulal Information
Correlation Ratio
Normalised Correlation
Normalised Mutual Information
Mutulal Information
Correlation Ratio
Normalised Correlation
Normalised Mutual Information
Mutulal Information
Correlation Ratio
Normalised Correlation
Normalised Mutual Information
Tabella 4.3: Parametri utilizzati in FSL
Figura 4.3: Nella parte evidenziata troviamo l’errore propagato dalla DWI.
del volume DWI, che a differenza della parte destra non è stata rovinata nel
processo di acquisizione, per ricostruire simmetricamente la parte danneggiata.
In altre parole ci siamo creati una nuova immagine DWI replicando simmetricamente la parte sinistra non danneggiata. Questa nuova immagine, che da ora in
poi chiameremo immagine “simmetrica”, ci è servita per avere una riproduzione
ideale di una immagine DWI “perfetta” (per perfetta intendiamo naturalmente
una immagine senza deformazioni o rumore). L’immagine simmetrica è stata
poi registrata sull’immagine DCE. La trasformazione ottenuta da quest’ultima
registrazione è stata applicata poi all’immagine DWI. In figura 4.4 possiamo
vedere questo primo processo di registrazione.
In questa registrazione la trasformazione generata serve per mappare l’immagine simmetrica sull’immagine DCE. Quindi tale trasformazione non può ancora
essere riutilizzata per mappare effettivamente l’immagine DWI sulla DCE. Ecco
perchè, come è possibile vedere in figura 4.5, abbiamo introdotto un’ ulteriore
46
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.4: Registrazione dell’immagine simmetrica su DCE e successivo
riutilizzo della trasformazione generata su immagine DWI.
registrazione. Ora viene effettuata una prima registrazione utilizzando l’immagine simmetrica come immagine moved e l’immagine DWI come immagine fixed
riportando cosı̀ l’immagine simmetrica in un sistema di riferimento uguale alla
DWI. Il risultato di questa prima registrazione viene riutilizzato come immagine moved nella seconda registrazione con immagine fixed DCE. In altre parole
si effettua una nuova registrazione fra il risultato della prima registrazione e
l’immagine DCE generando cosı̀ la trasformazione necessaria per passare dalla
DWI alla DCE.
Figura 4.5: Registrazione dell’immagine simmetrica su DCE (utilizzando come
passo intermedio di registrazione l’immagine DWI) e successivo riutilizzo della
trasformazione generata su immagine DWI.
Ricordiamo che lo scopo di utilizzare questo meccanismo è quello di verificare
se l’errore (difetto) presente nell’acquisizione DWI influenza la registrazione. Il
metodo per verificare ciò è quello di eliminare il rumore. Abbiamo cercato quindi
di sviluppare un modo che fosse il più possibile automatizzato non introducendo
nessuna operazione manuale per l’eliminazione dell’errore nella immagine DWI.
Ricapitolando utilizziamo una immagine senza rumore prodotta solamente utilizzando la parte sinistra della DWI. L’immagine simmetrica sfrutta appunto la
simmetria del corpo umano per ottenere cosı̀ una immagine molto simile alla
DWI. L’immagine simmetrica viene registrata sulla immagine DWI. Il risultato
viene poi registrato sulla DCE. I parametri prodotti saranno la trasformazione
da applicare alla DWI per ottenere il risultato finale. Si nota che durante la
47
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
prima registrazione “simmetrica to dwi” l’immagine di riferimento è proprio la
DWI che contiene la distorsione. Si nota anche però dai risultati che la registrazione produce una buona immagine che non contiene la distorsione DWI e che
quindi sicuramente non introduce errore nel processo di registrazione.
Otteniamo cosı̀ una nuova registrazione “dwi to dce” che contiene ancora la
distorsione ma che è stata generata in modo libero da essa. Prima di confrontare il risultato con la registrazione diretta “dwi-dce” decidiamo di eliminare
definitivamente l’errore che ora non ci serve più. Per l’eliminazione dell’errore abbiamo utilizzato una maschera generata con l’algoritmo di region growing
sull’immagine DCE (filtrata con il filtro anisotropico per un risultato più pulito). La moltiplicazione diretta (effettuata con il tool fslmaths di FSL) della
maschera ottenuta con i risultati delle registrazioni “dwi to dce” ci dà il risultato. In figura 4.6 vediamo una estensione di 4.5 con l’aggiunta di eliminazione
dell’errore con maschera.
Figura 4.6: Eliminazione dell’errore con applicazione di maschera generata utilizzando l’algoritmo di region growing sull’immagine DCE filtrata con il filtro
Anisotropico 3D
I risultati ottenuti verranno prodotti in dettaglio nella sezione Risultati ma
possiamo anticipare che la differenza fra le due registrazioni (registrazione diretta e registrazione utilizzando simmetrica) è minima, questo sta a significare che
anche se l’immagine DWI contiene una distorsione questa non produce errori
durante la fase di registrazione e quindi si ripercuote solo minimamente.
Per l’applicazione del filtro anisotropico ed in seguito per la creazione della
maschera 3D (applicata come parametro di registrazione) per i motivi descritti
precedentemente (eliminazione della distorsione) sono stati creati degli script
Matlab per automatizzare sia i processi di caricamento delle immagini che le
operazioni di filtraggio e di segmentazione (ricordiamo che tutte le immagini
sono salvate nel formato .nii che in Matlab viene descritto con una struttura con
4 campi, da cui da uno di essi si estrae la matrice che rappresenta l’immagine). Il
48
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
filtraggio anisotropico viene applicato al volume dell’acquisizione dce-21 tramite
l’algoritmo visto nel capitolo precedente.
Figura 4.7: Applicazione del filtro anisotropico sull immagine dce-21
I seed per il Region Growing sono stati calcolati inizialmente (sempre sulla
l’acquisizione dce-21) in modo manuale attraverso individuazione delle zone di
interesse. Questo procedimento però non permetteva di creare una maschera
accettabile per tutte le fette del volume in quanto alcune di esse (come naturale
nelle acquisizioni di risonanza) non contenevano più le informazioni utilizzate
per fissare i nostri seed. Considerato questo incoveniente si è proceduto in modo
complementare a quanto appena detto: è stata quindi costruita una maschera
sullo sfondo (background) per ogni fetta del volume, al fine di conservare ogni
informazione utile per ognuna di essa.
49
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.8: Maschera dell’immagine dce-21
4.1.2
Risultati
I risultati qui mostrati sono rappresentati nelle tabelle e nelle immagini seguenti divisi secondo le diverse trasformazioni utilizzate nelle registrazioni. Dopo
un’analisi soggettiva della registrazione e, attraverso uno strumento fornito dal
programma 3DSlicer, da un confronto diretto con l’immagine di riferimento 4.2
abbiamo convertito il risultato ottenuto nel formato DICOM. La riconversione a
questo formato ci permette di eseguire il programma Tester che, come descritto
nel capitolo precedente, permette un’analisi oggettiva e quantitativa in termini
di Mutual Information, Differenza di Intensità ed Edge Overlap. Per quanto
riguarda le immagini relative al seno i primi due indici sono poco significativi
perchè la registrazione è multimodale (es. DWI su DCE). Interessante invece è
il confronto fra i gradienti che quantifica l’errore della sovrapposizione (si effettuano calcoli sulla distanza dei contorni delle due immagini). Successivamente,
abbiamo estrapolato i dati ottenuti dall’esecuzione del programma e attraverso
uno script Matlab (visto sempre nel capitolo 3), normalizzati e visualizzati in
un grafico per avere un’informazione generale del lavoro effettuato.
Trasformazione Rigida
Con elastix i risultati ottenuti dal confronto della registrazione con il volume
di riferimento utilizzato (dce-21) sono riportati nella tabella seguente:
50
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Numero
1
2
3
4
5
6
7
8
9
10
11
12
Mutual Information
0.107703
0.109381
0.108304
0.108314
0.112827
0.112956
0.112985
0.113186
0.111759
0.111026
0.111065
0.111634
Differenza di intensità
0.293771
0.293170
0.293523
0.293346
0.288628
0.288534
0.288789
0.288471
0.291824
0.291507
0.292640
0.291492
Edge Overlap
0.273984
0.273946
0.273648
0.273647
0.260448
0.260400
0.260655
0.260681
0.265628
0.265875
0.266425
0.266284
Tabella 4.4:
Risultati ottenuti nella registrazione Rigida in elastix,
corrispondenti alle prime 12 prove riportate in tabella 4.1
Figura 4.9: Grafico in norma 2: parametrizzazioni rigide utilizzando elastix
nelle ascisse ed errore nelle ordinate
Confrontando i risultati riportati in figura 4.9, anche alla luce di quelli ottenuti con le altre modalità di trasformazione, possiamo vedere come questo
tipo di trasformazione produca buone registrazioni (numeri: 5,6,7,8) quando
abbiamo utilizzato un’interpolazione lineare che permette al contrario dell’interpolazione BSpline di non alterare i valori d’intensità dell’immagine ottenuta
e inoltre conservare una buona risoluzione, al contrario dell’interpolazione NearestNeighbour. Anche ad un confronto visivo è possibile notare la bontà della
registrazione ottenuta.
51
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.10: Registrazione rigida
Figura 4.11: Confronto tra registrazione rigida e volume di riferimento
Trasformazione Affine
La trasformazione affine ha fornito i risultati migliori da un punto di vista soggettivo e anche dai risultati ottenuti grazie al Tester (grafico 4.12) possiamo
notare che si ripresenta la situazione vista nel caso della trasformazione rigida.
Infatti le registrazioni migliori sono state effettuate utilizzando l’interpolazione
lineare tra i punti dell’immagine fissa e quella mobile (Numero 5,6,7,8).
52
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Numero
1
2
3
4
5
6
7
8
9
10
11
12
Mutual Information
0.112423
0.109469
0.095731
0.109826
0.112104
0.113391
0.112048
0.113216
0.110861
0.112423
0.109930
0.109905
Differenza di intensità
0.286743
0.287128
0.274874
0.287638
0.281345
0.284664
0.281941
0.283576
0.284156
0.286743
0.282332
0.286566
Edge Overlap
0.267715
0.276869
0.281985
0.276208
0.262907
0.261173
0.262403
0.261561
0.268853
0.267715
0.26924
0.267502
Tabella 4.5:
Risultati ottenuti nella registrazione Affine in elastix,
corrispondenti alle prove da 13 a 24 riportate in tabella 4.1
Figura 4.12: Grafico in norma 2: parametrizzazioni affine utilizzando elastix
nelle ascisse ed errore nelle ordinate
In particolare la registrazione numero 6 è risultata particolarmente buona
sia da un punto di vista quantitativo che qualitativo e rappresenta il punto di
partenza per un’ulteriore raffinamento del processo di registrazione. Possiamo
vedere dalle immagini seguenti come la registrazione rispecchia i contorni e
le informazioni del volume usato come riferimento nonostante la presenza del
fenomeno di ghosting che tratteremo, in termini di risultati ottenuti, in seguito.
Come vedremo analizzando le immagini della registrazione deformabile (o
53
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.13: Registrazione affine
Figura 4.14: Confronto tra registrazione affine e volume di riferimento
BSpline), le trasformazioni rigide e affine, che comportano una registrazione
lineare, sono ottimali per effettuare una registrazione multimodale. La trasformazione B-Spline rispetto ad una trasformazione lineare possiede molti più
gradi di libertà. Ricordando alcuni dei fondamenti teorici la registrazione può
essere vista come il problema di trovare una minimizzazione per una data metrica. La trasformazione BSpline permette di trovare tale minimizzazione con
54
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
un elevato grado di libertà. Questo causa alcune volte una deformazione eccessiva dell’immagine moving. Per capire questo processo è necessario considerare
lo spostamento di un punto (nell’immagine moving) in una posizione dell’immagine fixed in modo da minimizzare il valore dell’errore secondo la metrica
selezionata. Questo processo idealmente buono perde di “stabilità” se considerato globalmente. Infatti se ogni punto si muove indipendentemente dagli
altri otteniamo un risultato errato. In realtà la trasformazione BSpline è uno
strumento “potente” (che attraverso uno sviluppo più approfondito di quello
affrontato da noi) può essere settato e limitato per arginare questo effetto di
deformazione. Considerando le prove effettuate possiamo concludere che trasformazioni BSpline funzionano solo se effettuate con registrazioni monomodali.
Cioè quando le informazioni (i valori di intensità) contenute nelle immagini di
input sono molto simili e sono coerenti.
Trasformazione BSpline
Come premesso sopra, la trasformazione BSpline (figura 4.16) da un punto di
vista soggettivo, crea una registrazione errata. Ma naturalmente da un punto
di vista oggettivo e numerico, la registrazione ha avuto successo in alcuni casi
anche più delle precedenti Affine e Rigida. Il valore delle metriche si è minimizzato al massimo: per esempio se consideriamo la metrica “Mutual Information”
utilizzata nelle prove 1,5 e 9 otteniamo un evidente miglioramento nel campo
“Mutual Information” del programma Tester (grafico 4.15). Tutto questo non
ha però prodotto il risultato migliore sperato. La minimizzazione dell’errore
dettato dalla Metrica ha causato una eccessiva traslazione dei voxel coinvolti
causando una eccessiva deformazione.
Numero
1
2
3
4
5
6
7
8
9
10
11
12
Mutual Information
0.155688
0.141059
0.151939
0.141717
0.156958
0.148296
0.158923
0.150727
0.167372
0.155688
0.169669
0.16408
Differenza di intensità
0.238078
0.213782
0.206935
0.203801
0.212619
0.204777
0.203963
0.214584
0.236604
0.238078
0.233286
0.238342
Edge Overlap
0.268917
0.265236
0.269406
0.265269
0.263418
0.260844
0.263209
0.262315
0.273168
0.268917
0.272744
0.270281
Tabella 4.6: Risultati ottenuti nella trasformazione BSpline in elastix
55
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.15: Grafico in norma 2: tutte le parametrizzazioni con elastix nelle
ascisse ed errore nelle ordinate
Figura 4.16: Registrazione BSpline
56
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Raffinamento
Come abbiamo visto, la registrazione migliore è stata ottenuta con la trasformazione affine e nella nostra ricerca il risultato migliore si è avuto nella registrazione
affine numero 6. A partire da questa configurazione abbiamo iterato un processo di raffinamento attraverso la modifica dei parametri meno importanti ma
comunque non trascurabili per la registrazione. In parametri settati in questo
nuovo set di registrazioni, riguardano, come abbiamo visto, il tipo di metrica e
il numero di iterazioni dell’ottimizzazione. Anche in questo caso abbiamo utilizzato sia l’approccio soggettivo che quello oggettivo analizzando e raggruppando
i dati ricavati dalla funzione Tester come segue:
Numero
0
1
2
3
4
5
6
7
8
Mutual Information
0.0743407
0.0921767
0.0708796
0.0982557
0.11347
0.108603
0.0918939
0.0999608
0.0923162
Differenza di intensità
0.263661
0.25877
0.261671
0.28485
0.284559
0.292234
0.276577
0.262783
0.268545
Edge Overlap
0.285718
0.278022
0.285021
0.264495
0.261021
0.26032
0.273187
0.273123
0.276109
Tabella 4.7: Risultati ottenuti nella fase di raffinamento dei risultati in elastix
Dai dati ottenuti possiamo affermare che la migliore registrazione (con trasformazione affine) ottenuta avviene utilizzando la metrica della Mutua Informazione Normalizzata con 3 iterazioni di ottimizzazione (quindi quella di partenza).
In figura 4.13 abbiamo l’immagine finale ottenuta e in 4.14 un confronto con la
dce-21.
Fsl
I risultati ottenuti con FSL sono molto simili ai risultati ottenuti con elastix.
Tutte le considerazioni fatte nel caso elastix si rispecchiano su FSL. Anche
qui la registrazione avviene in modo corretto solo utilizzando una registrazione
lineare. Di seguito riportiamo una tabella contenente i risultati ottenuti con il
programma Tester utilizzando i parametri precedentemente introdotti:
57
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Numero
1
2
3
4
5
6
7
8
9
10
11
12
Mutual Information
0.103874
0.092814
0.0944517
0.0964465
0.103093
0.0822152
0.0916931
0.0951526
0.0967916
0.0919036
0.094093
0.0966201
Differenza di intensità
0.295117
0.299786
0.295776
0.295663
0.293827
0.298358
0.294432
0.294354
0.290351
0.294853
0.291023
0.290855
Edge Overlap
0.274743
0.273641
0.274376
0.274356
0.266619
0.266058
0.266805
0.26648
0.261482
0.261059
0.261673
0.261463
Tabella 4.8: Risultati ottenuti in FSL
Considerando questi valori e rapportandoli ai valori ottenuti con elastix a
parità di parametri notiamo una elevata similarità. Anche ad una visione soggettiva dei risultati rapportati a quelli di elastix otteniamo la conferma che i
due tool funzionano utilizzando algoritmi simili. Nel grafico 4.17 possiamo osservare come l’errore tende a migliorare verso le ultime configurazioni. Tuttavia
l’errore visualizzato è in norma 2 questo evidenzia notevolmente una differenza
di valutazione fra le varie parametrizzazioni: in realtà non c’è molta differenza
nei risultati ottenuti. I tempi di computazione sono accettabili se confrontati con i tempi ottenuti in elastix. Questo ci porta a concludere che a parità
di complessità computazione i due tool si comportano in modo analogo sia per
quanto riguarda il tempo di esecuzione sia da un punto di vista qualitativo. Non
è possibile invece stilare una descrizione dei risultati della trasformazione non
lineare “fnirt” in quanto le conclusioni ottenute non mutano dalle conclusioni
di elastix.
58
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.17: Grafico degli errori in norma 2 dei test con “flirt”: numero delle
parametrizzazioni nelle ascisse ed errore nelle ordinate
Operazioni di eliminazione del rumore
Nella tabella seguente sono riportati alcuni valori degli errori ottenuti con diverse configurazioni già citate in precedenza:
Descrizione
1◦ prova
2◦ prova
3◦ prova
4◦ prova
Mutual Information
0.115566
0.106294
0.120321
0.107307
Differenza di intensità
0.0.278307
0.278288
0.27905
0.279403
Edge Overlap
0.23167
0.235993
0.238735
0.235962
Tabella 4.9: Tabella risultati dopo eliminazione del rumore
Dove:
• 1◦ prova - Applicazione della maschera ottenuta dalla dce senza filtraggio
anisotropico direttamente al risultato migliore
• 2◦ prova - Applicazione della maschera ottenuta dalla dce con filtraggio
anisotropico direttamente al risultato migliore
• 3◦ prova - Applicazione della maschera ottenuta dalla dce senza filtraggio
anisotropico al risultato ottenuto con atlante
59
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
• 4◦ prova - Applicazione della maschera ottenuta dalla dce con filtraggio
anisotropico al risultato ottenuto con atlante
I risultati confermano chiaramente il fatto che il rumore presente nella parte
destra dell’immagine dwi non influenza direttamente il risultato della registrazione. Questo è dovuto al fatto che l’applicazione della maschera non migliora i
risultati in modo significativo. La trasformazione che ci ha permesso di ottenere
il risultato migliore è stata la BSpline (numero 35 della tabella 4.1).
Figura 4.18: Registrazione affine con applicazione della maschera per
l’eliminazione del rumore
60
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.19: Confronto tra registrazione con eliminazione del rumore e volume
di riferimento
Applicazione della tecnica ad altri volumi
Per verificare l’effettiva correttezza dei dati ottenuti abbiamo ottenuto i parametri che hanno prodotto i risultati migliori su tutte le dce (possediamo 8 immagini
dce rappresentanti le varie fasi di acquisizione dopo l’immissione del liquido di
contrasto). In questo modo possiamo verificare che le conclusioni redatte nella
dce-21 siano veritiere anche nelle altre immagini. Come mostra il grafico 4.20 (la
valutazione dell’errore è positiva se il valore tende a 0) i risultati ottenuti sono
completamente uniformi su tutte le immagini dce. Questo significa che la parametrizzazione selezionata con la dce-21 funziona anche con le altre 7 immagini
dce. Dopo aver fatto questo primo passo di riutilizzo della parametrizzazione
ottenuta abbiamo provato ad espandere il campo di applicazione anche ad immagini dello stesso tipo di altri pazienti. Il risultato è stato molto positivo: nelle
figure 4.21 e 4.22 (rispettivamente il risultato migliore del 2◦ seno utilizzato e
un confronto con la rispettiva dce) è possibile prendere atto di ciò. La configurazione migliore ottenuta con questi nuovi pazienti è risultata essere molto
simile alla configurazione migliore del primo seno esaminato. Infatti otteniamo
una buona registrazione solo con una trasformazione di tipo lineare. In figura
4.21 è stata utilizzata la configurazione Rigida6. Anche con questo tipo di volumi la configurazione BSpline non dà buoni risultati deformando eccessivamente
l’immagine dwi.
61
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.20: Grafico degli errori: 8 immagini dce dello stesso paziente nell’asse
delle ascisse e valore fra 0 e 1 di errore nell’asse delle ordinate.
Figura 4.21: Risultato utilizzando la parametrizzazione Rigida6 del seno della
2◦ paziente.
4.2
Immagini di testa-collo
Le immagini di testa-collo, forniteci dalla Fondazione IRCCS [14], sono organizzate in un dataset molto ampio che contiene le varie acquisizione organizzate in
cartelle ordinate cronologicamente (giorno dell’acquisizione). Le immagini contengono lo sviluppo temporale della situazione clinica di un paziente che delinea
la presenza di elementi tumorali nei linfonodi.
Solo alcune cartelle contengono le informazioni necessarie alla nostra ricerca
e quindi dopo una comunque non rapida analisi dell’immagini abbiamo ridotto il
nostro dataset a quattro cartelle, le uniche che contenevano tutte le acquisizioni
62
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.22: Confronto fra dce e risultato utilizzando la parametrizzazione
Rigida6 del seno della 2◦ paziente.
utili (DCE,DWI,T1 e T2) :
• 08apr08 (cartella di riferimento)
• 26aug08
• 12may09
• 19aug09
Ognuna di queste cartelle si suddivide a sua volta in cartelle contenenti, come
sopra accennato, le diverse modalità di acquisizione. Le immagini DWI come
visto anche nell’altro scenario risultano a bassa risoluzione, le immagini DCE
hanno una risoluzione migliore ma risultano comunque inferiori da un punto di
vista di informazioni che si possono ricavare, alle immagini morfologiche date
dall’aquisizione T1 e quella T2. Le immagini DCE sono circa 2100 per ogni cartella principale, e rappresentano 70 volumi di acquisizione diversi (ogni volume
è costituito da 30 immagini ciascuno). Ogni volume rappresenta una sequenza
di immagini che descrivono la regione anatomica che parte dalle spalle e risale
fino alla base del cervello. Nel nostro nuovo dataset descriviamo ogni volume
con un nome identificativo dce+10.nii per esempio. La cartella di riferimento,
oovero l’aquisizione alla diagnosi della malattia, contiene le informazioni più
utili da un punto di vista medico (tumore ai linfonodi e quindi relativo ingrandimento) e consentono anche a noi di fissare delle caratteristiche e dei parametri
importanti per valutare la buona riuscita della registrazione. Le altre cartelle
contengono un miglioramento graduale delle condizioni fisiche del paziente che
ne dimostrano la guarigione.
4.2.1
Traccia di Sviluppo
Per le immagini di testa-collo abbiamo seguito una traccia di sviluppo simile a
quella utilizzata per il seno. Per questo dominio applicativo ci siamo concentrati
come per il seno su un insieme di parametri. Le registrazioni sono state effettuate
utilizzando tutte le combinazioni di questo insieme di parametri. Tale insieme
è lo stesso considerato per la registrazione del seno (tabella 4.1). In questo
caso i primi risultati hanno evidenziato che nessuna registrazione diretta fra
l’immagine DWI e DCE dava risultati qualitativamente accettabili. Un ipotesi
possibile per questo insuccesso è la grossa differenza di intensità e risoluzione
fra i due volumi usati.
63
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.23: Acquizione testa e collo DWI
Figura 4.24: Acquizione testa e collo T2
64
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.25: Acquizione testa e collo DCE
Abbiamo tentato di aggirare l’ostacolo sfruttando un supporto intermedio
con una qualità informativa maggiore. Il supporto ci è stato dato dalle immagini
di acquisizione T1 e/o T2 le cui caratteristiche fisiche sono elecante nel relativo
paragrafo. Queste acquisizioni danno un importante accrescimento dal punto di
vista della risoluzione.
Abbiamo sviluppato principalmente due linee di sviluppo:
• La prima (figura 4.26) consiste in:
1. Registrazione dell’immagine DWI sull’immagine di riferimento T2
(T1)
2. Registrazione dell’immagine T2 sull’immagine di riferimento DCE.
3. Trasformazione attraverso il tool trasformix utilizzando la (1) con i
parametri della (2).
Il confronto in questo caso verrà effettuato tra il risultato ottenuto nel
punto (3) e l’immagine di riferimento DCE.
• La seconda consiste in:
1. Registrazione dell’immagine DWI sull’immagine di riferimento T2
(T1)
2. Registrazione dell’immagine DCE sull’immagine di riferimento T2.
65
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.26: Primo approccio di registrazione utilizzando volume intermedio T1
(T2)
In questo caso invece il confronto avverrà direttamente fra i due risultati
ottenuti (figura 4.27)
Figura 4.27: Secondo approccio di registrazione utilizzando volume intermedio
T1 (T2)
Il fattore comune fra i due processi è quello di applicare delle registrazioni
intermedie fra le diverse modalità di acquisizione come si evince dalle figure 4.26
e 4.27. Le registrazioni intermedie sono state effettuate con la stessa tecnica
utilizzata per le registrazioni delle immagini del seno. In particolare abbiamo
applicato 36 registrazioni della DWI sulla T2, 36 registrazioni della T2 sulla
DCE e 36 registrazioni della DCE sulla T2.
Nel caso del primo approccio per il processo di trasformazione (trasformix)
abbiamo eseguito una combinazione dei risultati ottenuti nelle registrazioni intermedie. Questa combinazione sarà descritta in dettaglio nella relativa sezione
“Risultati”. Nel secondo approccio invece abbiamo eseguito semplicemente un
confronto fra i due insiemi di risultati intermedi. In tutti e due gli approcci
abbiamo eseguito poi un’analisi oggettiva attraverso il programma “Tester”.
Come detto all’inizio di questa sezione il volume usato per le elaborazioni
mostra la patologia al massimo della sua espansione. I vari tipi di acquisizione riescono ad enfatizzare in maniera diversa queste informazioni in base alla
66
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
loro natura e quindi abbiamo riscontrato una difficoltà maggiore nella fase di
registrazione rispetto a volumi con presenza minore del fattore patologico. Per
affrontare queste difficoltà abbiamo tentato di utilizzare diverse tecniche di filtraggio e di mascheramento che purtroppo non hanno dato gli effetti sperati.
In particolare abbiamo provato l’utilizzo di particolari maschera create con la
tecnica del region growing sui vasi: l’idea è stata quella di trovare nel modo più
automatico possibile punti in comune fra le due immagini in input nel processo
di registrazione. Inoltre, abbiamo tentato di creare una maschera analogamente
a quanto fatto con il seno (utilizzando quindi la stessa tecnica di region growing applicata al background) in modo tale da contenere l’allargamento laterale
dell’immagine T2.
4.2.2
Risultati
I risultati qui mostrati sono rappresentati nelle tabelle e nelle immagini seguenti
divisi secondo le diverse trasformazioni utilizzate nelle registrazioni. Abbiamo
anche in questo caso estrapolato i dati ottenuti dall’esecuzione del programma
Tester e attraverso uno script Matlab li abbiamo normalizzati e visualizzati in
un grafico per avere una descrizione generale del lavoro effettuato. A differenza
delle immagini del seno qui abbiamo una diversa modalità di descrizione dei
risultati all’interno del processo di registrazione totale. In particolare descriveremo uno alla volta i passi intermedi effettuati e poi descriveremo i tentativi di
miglioramento che hanno avuto successo o meno.
Registrazione della DWI sulla T2
Come si può notare dalla figura 4.23 e dalla figura 4.25 l’acquisizione DWI
presenta una risoluzione minore dal punto di vista informativo della acquisizione DCE. Come già detto l’acquisizione T2 è densa di informazioni ed è ad
alta risoluzione quindi questa peculiarità ci consente di utilizzarla come supporto nel processo di registrazione, come passo intermedio nella registrazione
totale DWI to DCE. Come ben descritto nella traccia di sviluppo costruiamo
una registrazione usando come immagini fissa la T2 e come immagine mobile
la DWI, questa prima registrazione viene effettuata in entrambi i processi di
realizzazione (refconf1 e 4.27). Per fare ciò, abbiamo utilizzato la stessa tecnica
utilizzata nell’altro esperimento cioè abbiamo effettuato 36 registrazioni frutto
della combinazione lineare dell’insieme dei parametri descritti in tabella 4.1.
La miglior registrazione in questo primo passo è stata ricavata con la trasformazione Affine (parametrizzazione numero 18 della tabella 4.1) ed è visibile
in figura 4.28. Considerata la notevole differenza di risoluzione e in generale
di contenuto informativo possiamo dire che il primo passo intermedio ha dato
buoni risultati e soprattutto ci fornisce una prima trasformazione che ci avvicina all’immagine DCE e ci da quindi una ottima base per effettuare la seconda
registrazione.
67
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.28: Registrazione Affine DWI to T2
(a) Confronto tratto cortico spinale
(b) Confronto visione assiale
Figura 4.29: Confronto fra registrazione DWI-T2 e T2
Registrazione della T2 sulla DCE
Nel caso del primo approccio (figura 4.26) costruiamo poi una seconda registrazione usando come immagini fissa la DCE e come immagine mobile la T2.
Per fare ciò, abbiamo utilizzato la stessa tecnica utilizzata nell’altro esperimento cioè abbiamo effettuato 36 registrazioni frutto della combinazione lineare
dell’insieme dei parametri descritti in tabella 4.1.
Anche in questo caso la miglior registrazione in questo primo passo è stata
ricavata con la trasformazione Affine (parametrizzazione numero 18 della tabella 4.1) ed è visibile in figura 4.30. Questa seconda trasformazione ci ha fornito
i parametri per il passaggio finale da applicare alla registrazione eseguita precedentemente (DWI to T2). In figura 4.31 si nota che la registrazione non è
68
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
ottima in quanto i bordi dei linfonodi (soprattutto nella parte sinistra dell’immagine) non sono perfettamente “sovrapponibili”. Questo errore si ripercuoterà
nel passaggio finale come vedremo nei prossimi paragrafi.
Figura 4.30: Registrazione Affine T2 to DCE
(a) Confronto tratto cortico spinale
(b) Confronto visione assiale
Figura 4.31: Confronto fra registrazione T2 e DCE
69
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Registrazione della DCE sulla T2
Nel caso del secondo approccio (figura 4.27) costruiamo invece una seconda registrazione usando come immagini fissa la T2 e come immagine mobile la DCE.
Per fare ciò, abbiamo utilizzato la stessa tecnica utilizzata nell’altro esperimento cioè abbiamo effettuato 36 registrazioni frutto della combinazione lineare
dell’insieme dei parametri descritti in tabella 4.1.
La registrazione ottenuta non ha soddisfatto le nostre aspettative in quanto
da un punto di vista soggettivo le immagine risultante non dava delle informazioni essenziali per un possibile confronto con la prima registrazione (intensità
troppo forte che nascondeva i casi patologici).
Figura 4.32: Registrazione Affine DCE to T2
L’insuccesso di questa possibile via di sviluppo, cioè quella basata sul confronto diretto fra le registrazioni DWI to T2 e DCE to T2 ci ha indirizzato a
concentrarci sul primo approccio descritto (figura 4.26). Nei prossimi paragrafi saranno descritti i risultati ottenuti dall’ultimo passo di questo processo: la
trasformazione con il tool trasformix. Verranno quindi elencate le combinazioni
effettuate e verranno esposti i motivi delle scelte adottate. Per limitare i tempi
di computazione e di valutazione dei risultati (una registrazione con relativa
fase di testing può durare anche alcune ore) abbiamo cercato di generare delle trasformazioni in qualche modo collegate fra loro. Dopo una attenta analisi
abbiamo quindi scelto di applicare trasformazioni dello stesso tipo delle registrazioni del primo passo in modo da non stravolgere lo sviluppo della registrazione.
Di seguito elenchiamo le trasformazioni effettuate:
• Trasformazione Rigida-Rigida: Trasformazione di tipo Rigida (con
i parametri generati dalla registrazione con trasformazione Rigida T2
to DCE) sul risultato della registrazione con trasformazione Rigida nel
passaggio DWI to T2.
70
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
• Trasformazione Affine-Affine: Trasformazione di tipo Affine (con i parametri generati dalla registrazione con trasformazione Affine T2 to DCE)
sul risultato della registrazione con trasformazione Affine nel passaggio
DWI to T2.
• Trasformazione BSpline-BSpline: Trasformazione di tipo BSpline (con
i parametri generati dalla registrazione con trasformazione BSpline T2
to DCE) sul risultato della registrazione con trasformazione BSpline nel
passaggio DWI to T2.
• Trasformazione Affine-BSpline: Trasformazione di tipo BSpline (con
i parametri generati dalla registrazione con trasformazione Rigida T2
to DCE) sul risultato della registrazione con trasformazione Affine nel
passaggio DWI to T2.
71
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Trasformazione Rigida-Rigida
Con elastix i risultati prodotti da questa trasformazione calcolati dal programma Tester sono riportati nella tabella seguente, dove abbiamo rappresentato
solo i dati relativi alle trasformazioni che hanno generato da un punto di vista soggettivo un buon risultato (l’esperienza maturata con il lavoro effettuato
sulle immagini del seno ci ha insegnato che effettuare dei confronti oggettivi
su immagini dal contenuto informativo diverso è controproducente sia a livello
computazionale che a livello di espressività dei dati ottenuti).
Come si evince dalla tabella, la trasformazione che ci ha fornito i risultati
Numero
1
2
3
4
5
6
7
8
9
10
11
12
Mutual Information
—–
0.148491
—–
—–
—–
0.164397
—–
0.164039
0.149607
—–
—–
—–
Differenza di intensità
—–
0.139755
—–
—–
—–
0.137748
—–
0.137423
0.13887
—–
—–
—–
Edge Overlap
—–
0.489498
—–
—–
—–
0.478968
—–
0.481055
0.485994
—–
—–
—–
Tabella 4.10: Risultati ottenuti in elastix
Figura 4.33: Grafico degli errori in norma 2 dei test con elastix : numero delle
parametrizzazioni nelle ascisse ed errore nelle ordinate
72
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
migliori è stata la numero 6 (Fig. 4.34). Un primo approccio per effettuare
il confronto, per ottenere una valutazione soggettiva del risultato, è quello di
confrontare i tratti cortico spinali delle immagini coinvolte. In particolare i due
tratti cortico spinali devono essere coincidenti confrontandoli sul piano sagittale. Quando il risultato è “accettabile” si passa ad una seconda valutazione
più approfondita guardando le due visioni assiali. Nel nostro caso una buona
sovrapposizione dei linfonodi rappresenta un risultato adeguato alle aspettative,
in quanto strutture oggetto di indagine per queste acquisizioni. I risultati riportati mostrano come preannunciato che l’errore introdotto nella registrazione
T2 to DCE si ripercuote sul risultato finale peggiorandolo.
Figura 4.34: Trasformazione Rigida
(a) Confronto tratto cortico spinale
(b) Confronto visione assiale
Figura 4.35: Confronto fra trasformazione rigida-rigida DWI-DCE e DCE
73
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Trasformazione Affine-Affine
Con elastix i risultati prodotti da questa trasformazione calcolati dal programma Tester sono riportati nella tabella seguente:
Numero
1
2
3
4
5
6
7
8
9
10
11
12
Mutual Information
—–
—–
—–
—–
—–
0.183706
—–
0.178569
0.163765
0.15804
0.163352
0.161221
Differenza di intensità
—–
—–
—–
—–
—–
0.126964
—–
0.12808
0.13178
0.134077
0.130708
0.13207
Edge Overlap
—–
—–
—–
—–
—–
0.479107
—–
0.477231
0.484573
0.485488
0.4844887
0.485207
Tabella 4.11: Risultati ottenuti in elastix
Come si evince dalla tabella, la trasformazione che ci ha fornito i risultati mi-
Figura 4.36: Grafico degli errori in norma 2 dei test con elastix : numero delle
parametrizzazioni nelle ascisse ed errore nelle ordinate
gliori è stata la numero 6 (Fig. 4.37). Per il confronto diretto con gli strumenti
messi a disposizione dal programma 3DSlicer utilizziamo lo stesso approccio
descritto nella sezione della trasformazione Rigida-Rigida
74
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.37: Trasformazione Affine-Affine
(a) Confronto tratto cortico spinale
(b) Confronto visione assiale
Figura 4.38: Confronto fra trasformazione affine-affine DWI-DCE e DCE
Trasformazione BSpline-BSpline
Abbiamo già visto nella sezione dedicata al seno come la trasfromazione non
lineare per immagini di diversa acquisizione, non fornisce risultati apprezzabili.
Sia con FSL che con elastix le immagini prodotte non soddisfano gli obiettivi
da noi cercati. Questa tecnica che ricordiamo viene riproposta due volte nell’arco del processo da noi seguito amplifica l’errore “esponenzialmente”. Non
abbiamo quindi effettuato verifiche con il programma Tester per non eseguire
una computazione lenta e inutile.
Trasformazione Affine-BSpline
Con elastix i risultati prodotti da questa trasformazione calcolati dal programma Tester sono riportati in tabella 4.12.
75
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Numero
1
2
3
4
5
6
7
8
9
10
11
12
Mutual Information
—–
—–
—–
—–
—–
0.72514
—–
0.159616
0.16349
—–
—–
—–
Differenza di intensità
—–
—–
—–
—–
—–
0.130623
—–
0.13255
0.131528
—–
—–
—–
Edge Overlap
—–
—–
—–
—–
—–
0.480812
—–
0.488556
0.489551
—–
—–
—–
Tabella 4.12: Risultati ottenuti in elastix
Figura 4.39: Grafico degli errori in norma 2 dei test con elastix : numero delle
parametrizzazioni nelle ascisse ed errore nelle ordinate
Come si evince dalla tabella, la trasformazione che ci ha fornito i risultati migliori è stata la numero 6 (Fig. 4.40). I risultati riportati mostrano come anche
in questo caso l’errore introdotto nella registrazione T2 to DCE si ripercuote sul
risultato finale peggiorandolo. Abbiamo già discusso di come la trasformazione
BSpline non produce un risultato accettabile, anche qui, pur usando questo tipo di trasformazione solo per una parte del processo complessivo, otteniamo i
medesimi risultati.
76
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
Figura 4.40: Trasformazione Affine-BSpline
(a) Confronto tratto cortico spinale
(b) Confronto visione assiale
Figura 4.41: Confronto fra trasformazione Affine-BSpline DWI-DCE e DCE
77
Conclusioni
Gli obiettivi principali perseguiti durante questa tesi sono stati i seguenti:
1. Analisi e comprensione dello stato dell’arte nell’analisi delle immagini biomedicali ed, in particolare, del ruolo svolto dalla registrazione all’interno
di essa.
2. Studio di due tool parametrici “Elastix” ed “Fsl” e loro confronto.
3. Sviluppo dell’approccio più adatto per la registrazione multimodale di
immagini del seno e del distretto (testa e collo) di alcuni casi patologici, per
ottenere nei limiti del possibile una metodologia “standard” riapplicabile
a situazioni cliniche dello stesso tipo.
Lo studio dello stato dell’arte relativo alla registrazione ci ha dato le conoscenze adeguate, da un lato, per comprendere come utilizzare i tool parametrici presentati. Dall’altro lato, invece, ci ha dato la possibilità di individuare
problematiche ancora aperte su tale tecnica.
In primo luogo ci siamo concentrati sulle acquisizioni DWI e DCE del seno di un particolare paziente. Il nostro obiettivo è stato quello di effettuare
la registrazione dell’immagine DWI sull’immagine DCE. Questo ci ha portato
allo sviluppo di diverse vie risolutive che in molti casi non hanno portato al
raggiungimento dei risultati attesi: in particolar modo la nostra conclusione è
che in un approccio di questo genere di tipo intramodale la soluzione migliore
è quella della trasformazione di tipo lineare. Per trasformazione lineare intendiamo naturalmente tutti gli approcci rigidi e affini presentati. Abbiamo visto
come pur parlando di parti anatomiche identiche la registrazione multimodale
non può mai essere effettuata nello stesso modo. Possiamo quindi tracciare un
insieme ristretto di parametri da utilizzare ma non possiamo in alcun modo fissarli, questo perchè la diversità umana influenza notevolmente l’intero processo
(soprattutto in soggetti malati, dove la fenomenologia può essere molto diversa). Per esempio possiamo notare quanto detto nelle figure 4.2 e 4.21. In nostro
lavoro di valutazione dei risultati ottenuti è avvenuto complementariamente in
due modi: una prima valutazione di tipo soggettivo con il confrotto diretto del
risultato sull’immagine di riferimento utilizzando particolari strumenti offerti
dal programma 3DSlicer e una seconda valutazione più oggettiva attraverso la
valutazione di alcune metriche più o meno significative.
La conclusione più importante e considerevole a cui siamo arrivati è come la
trasformazione non lineare, pur essendo “sulla carta” la miglior soluzione, non
si sia rilevata utile ai nostri scopi (figura 4.16). Il motivo, per niente intuitivo, è
da ricercare nel fatto che la trasformazione BSpline utilizzata è talmente efficace che modifica l’immagine moving in maniera “drastica”, deformandola. Tale
79
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
trasformazione localmente ha la capacità di trovare la corrispondenza dei voxel
fra le due immagini considerate in modo da minimizzare al massimo la metrica
utilizzata. Questo processo, idealmente ottimale, se esteso sul risultato globale
fà comprendere come il risultato possa diventare errato. In una registrazione
che coinvolge immagini con differenze molto evidenti di intensità (l’esempio più
evidente di questo è quando si pensa al tratto cortico spinale visto nella sezione
di test-collo: assume valore di intensità opposti nelle acquisizioni DWI e DCE)
questo effetto è devastante ecco perchè nelle nostre prove di tipo multimodale la
registrazione non lineare non ha dato i risultati sperati. Questa conclusione ha
un’altro effetto essenziale sulla valutazione dei risultati: i risultati migliori sono
stati ritenuti tali perchè non solo avevano il più basso errore di Edge Overlap
ma anche perchè soddisfacevano una valutazione soggettiva diretta. Nelle trasformazioni BSpline l’errore si abbassava notevolmente rispetto a quella lineare
(appunto perchè effettivamente la metrica era stata minimizzata al massimo) ma
le immagini risultanti non permettevono un riscontro adeguato con le immagini
di rifermento. La tecnica BSpline si è rilevata utile invece quando abbiamo affrontato il problema della registrazione monomodale fra l’immagine simmetrica
e la DWI. In questo caso l’informazione presente nelle due immagini era molto
simile e un approccio non lineare ci ha permesso di ottenere un risultato ottimo.
Questa registrazione monomodale si è rilevata utile anche per evidenziare come
non solo il tipo di trasformazione ma anche altri parametri come l’interpolazione
e la metrica cambiano drasticamente a seconda del tipo di immagini coinvolte.
Nella seconda parte della tesi è stato trattato il problema della registrazione
della stessa modalità di acquisizione ma di un’altra parte anatomica: la regione
tasta-collo. Questa parte di sviluppo è stata molto più difficoltosa della precedente in quanto le immagini in nostro possesso non erano di elevatà qualità e
risoluzione. Per generare una registrazione corretta siamo dovuti ricorrere ad
un passaggio intermedio utilizzando una immagine ad alta risoluzione (acquisizione T1 e/o T2) per migliorare la qualità e per aumentare le informazioni
necessarie nel processo. In ogni modo abbiamo potuto consolidare le conclusioni già ottenute nel seno, per cui la registrazione che anche in questo caso è
stata di tipo multimodale è avvenuta utilizzando lo stesso insieme di parametri.
Per questo tipo di registrazione ci siamo concentrati solo su un paziente questo
perchè avevamo la possibilità di utilizzare volumi acquisiti in diversi periodi.
Uno dei punti deboli dello stato dell’arte è sicuramente il fatto che non
tutte le parti anatomiche del corpo umano sono trattate in modo completo ed
esaustivo in egual misura, nel nostro caso possiamo dire che il problema della
registrazione del cervello è molto più discusso rispetto a quello del seno.
Altro punto fondamentale della nostra tesi è l’utilizzo simultaneo dei due tool
FSL ed Elastix. A parità di parametri utilizzati (quando naturalmente questo è
stato possibile) abbiamo ottenuto sostanzialmente i medesimi risultati a meno
di qualche piccolo caso particolare. Questo ci indica come i due tool si basano su
algoritmi per l’effettuazione della trasformazione molto simili. Tuttavia mentre
l’utilizzo di Elastix porta quasi sempre a risultati concreti (talvolta anche errati),
l’utilizzo di parametri non corretti in FSL non dà sempre un output visibile sul
quale dedurre possibili soluzioni. Notoriamente FSL ha maturato nella sua
creazione una particolare tendenza per le immagini del cervello, questo però
non ha migliorato le nostre registrazioni in quanto ricordiamo che le immagini
in nostro possesso erano quelle di testa e collo (all’interno di FSL troviamo
particolari tool che permettono l’estrazione diretta del cervello dai volumi in
80
CAPITOLO 4. REALIZZAZIONE E SVILUPPO
ingresso per effettuare eventuali maschere, tale tecnica non ha funzionato nelle
nostre prove). Anche da un punto di vista dell’utilizzo, che ricordiamo è per
tutti e due a linea di comando, risulta essere nettamente migliore Elastix che
permette il richiamo di file “.txt” contenenti le parametrizzazioni volute. Inoltre
con Elastix è possibile definire una quantità maggiore di parametri rispetto a
FSL, che vanno dalla configurazione del tipo di campionamento alla modalità
di ottimizzazione. In questo modo Elastix acquisisce una certa flessibilità non
garantita da FSL che limita (nella versione con l’interfaccia grafica in modo
notevole) la possibilità di “movimento” all’interno delle configurazioni possibili.
Concludendo possiamo quindi considerare Elastix migliore rispetto a FSLma
questo giudizio è derivato dalla nostra esperienza e quindi di natura personale
ma comunque supportato dai risultati ottenuti in questa ricerca.
Ovviamente tutte le soluzioni proposte sono probabilmente migliorabili a
condizione di aumentare il costo computazionale dell’intero processo: si pensi ad
esempio ad un campionamento “Full” al posto di quello “Random” utilizzato. Il
nostro studio si è soffermato solo sull’utilizzo di due tool ma esiste un panorama
molto ampio di programmi che risolvono questo tipo di problematiche.
Le tecniche di registrazione, di validazione e di analisi dei risultati possono
essere il punto di partenza per un ulteriore processo di raffinamento e quindi
per un possibile sviluppo futuro. In particolare il processo sviluppato per la
registrazione delle immagini del seno, l’utilizzo dell’atlante come possibile strumento di miglioramento per alcuni problemi delle immagini è già ampiamente
adottato nelle attuali ricerche avanzate e ben descritto in letteratura [16] [17]
[18]. Mentre nella nostra ricerca abbiamo cercato di sfruttare la simmetria del
corpo come strumento di ottimizzazione per la definizione dei contorni e per
l’eliminazione del rumore, l’idea di utilizzare questa tecnica è utile per delineare
caratteristiche e proprietà fisiologiche che possono essere tralasciate usando un
processo “standard”. Le varie tecniche di registrazione sono in continuo sviluppo e stanno diventando una componente costante nell’imaging medico. La
registrazione dell’immagini biomediche costituisce quindi un’importante strumento diagnostico è il suo sviluppo e seguito parallelamente dall’analisi medica
dei risultati.
Da un punto di vista prettamente informatico questa esperienza che ha coinciso anche con il periodo tirocinio svolto all’interno del laboratorio VIPS della
facoltà di Scienze MM.FF.NN dell’Università di Verona, ci ha permesso di sviluppare algoritmi e tecniche avanzate di elaborazione digitale dell’immagini. In
particolare abbiamo affinato strumenti e conoscenze sulla manipolazione delle
immagini biomedicali e sull’utilizzo dei tool e programmi usati attualmente anche in ambiente di ricerca e industriale. Per un buon conseguimento dei risultati
abbiamo considerato varie aspetti dei strumenti utilizzati, come la complessità
degli algoritmi utilizzati, il modello di validazione costruito e il procedimento
di pianificazione del progetto. A conclusione di questo elaborato possiamo affermare di ritenerci soddisfatti per le conoscenze acquisite durante il periodo
di lavoro, dove abbiamo anche sperimentato concretamente il lavoro in team,
inoltre abbiamo avuto la possibiltà di utilizzare software e concetti teorici visti
durante il ciclo di studi in maniera approfondita su un campo di ricerca in pieno
sviluppo.
81
Appendice A
Codice del filtro
anisotropico 3D
5
10
15
20
25
30
f u n c t i o n d i f f v o l = a n i s o d i f f 3 D ( v o l , n u m i t e r , d e l t a t , kappa , o p t i o n ,
voxel spacing )
%ANISODIFF3D C o n v e n t i o n a l a n i s o t r o p i c d i f f u s i o n
%
DIFF VOL = ANISODIFF3D(VOL, NUM ITER, DELTA T, KAPPA, OPTION,
VOXEL SPACING) p e r f o m s
%
c o n v e n t i o n a l a n i s o t r o p i c d i f f u s i o n ( Perona & Malik ) upon a s t a c k o f
gray s c a l e images .
%
A 3D network s t r u c t u r e o f 26 n e i g h b o r i n g n o d e s i s c o n s i d e r e d f o r
d i f f u s i o n conduction .
%
%
ARGUMENT DESCRIPTION :
%
VOL
− g r a y s c a l e volume d a t a (MxNxP) .
%
NUM ITER − number o f i t e r a t i o n s .
%
DELTA T − i n t e g r a t i o n c o n s t a n t ( 0 <= d e l t a t <= 3 / 4 4 ) .
%
U s u a l l y , due t o n u m e r i c a l s t a b i l i t y t h i s
%
p a r a m e t e r i s s e t t o i t s maximum v a l u e .
%
KAPPA
− g r a d i e n t modulus t h r e s h o l d t h a t c o n t r o l s t h e
conduction .
%
OPTION
− c o n d u c t i o n c o e f f i c i e n t f u n c t i o n s p r o p o s e d by
Perona & Malik :
%
1 − c ( x , y , z , t ) = exp ( −( n a b l a I / kappa ) . ˆ 2 ) ,
%
p r i v i l e g e s high−c o n t r a s t e d g e s o v e r low−
c o n t r a s t ones .
%
2 − c ( x , y , z , t ) = 1 . / ( 1 + ( n a b l a I / kappa ) . ˆ 2 ) ,
%
p r i v i l e g e s wide r e g i o n s o v e r s m a l l e r o n e s
.
%
VOXEL SPACING − 3 x1 v e c t o r column w i t h t h e x , y and z
dimensions of
%
the voxel ( m i l i m e t e r s ) . In p a r t i c u l a r , only
c u b i c and
%
a n i s o t r o p i c v o x e l s i n t h e z−d i r e c t i o n a r e
considered .
%
When d e a l i n g w i t h DICOM images , t h e v o x e l
spacing
%
d i m e n s i o n s can be e x t r a c t e d u s i n g MATLAB’ s
dicominfo ( . ) .
%
%
OUTPUT DESCRIPTION :
%
DIFF VOL − ( d i f f u s e d ) volume w i t h t h e l a r g e s t s c a l e −
space parameter .
% Convert i n p u t volume t o d o u b l e .
vol = double ( vol ) ;
% Useful variables .
[ rows c o l s p a g s ] = s i z e ( v o l ) ;
83
APPENDICE A. CODICE DEL FILTRO ANISOTROPICO 3D
35
% PDE ( p a r t i a l d i f f e r e n t i a l
d i f f v o l = vol ;
clear vol
40
45
equation )
initial
condition .
% Center voxel d i s t a n c e s .
x = voxel spacing (1) ;
y = voxel spacing (2) ;
z = voxel spacing (3) ;
dx = 1 ;
dy = 1 ;
dz = z /x ;
dd = s q r t ( dxˆ2+dy ˆ 2 ) ;
dh = s q r t ( dxˆ2+dz ˆ 2 ) ;
dc = s q r t ( ddˆ2+dz ˆ 2 ) ;
50
55
60
65
70
75
80
% 3D
h1 =
h2 =
h3 =
h4 =
h5 =
h6 =
c o n v o l u t i o n masks − f i n i t e
z e r o s ( 3 , 3 , 3 ) ; h1 ( 2 , 2 , 2 ) =
z e r o s ( 3 , 3 , 3 ) ; h2 ( 2 , 2 , 2 ) =
z e r o s ( 3 , 3 , 3 ) ; h3 ( 2 , 2 , 2 ) =
z e r o s ( 3 , 3 , 3 ) ; h4 ( 2 , 2 , 2 ) =
z e r o s ( 3 , 3 , 3 ) ; h5 ( 2 , 2 , 2 ) =
z e r o s ( 3 , 3 , 3 ) ; h6 ( 2 , 2 , 2 ) =
differences .
−1; h1 ( 2 , 2 , 1 )
−1; h2 ( 2 , 2 , 3 )
−1; h3 ( 2 , 1 , 2 )
−1; h4 ( 2 , 3 , 2 )
−1; h5 ( 3 , 2 , 2 )
−1; h6 ( 1 , 2 , 2 )
=
=
=
=
=
=
1;
1;
1;
1;
1;
1;
=
=
=
,1)
,1)
,1)
,1)
,1)
1;
1;
1;
=
=
=
=
=
1;
1;
1;
1;
1;
h7 = z e r o s ( 3 , 3 , 3 ) ;
h8 = z e r o s ( 3 , 3 , 3 ) ;
h9 = z e r o s ( 3 , 3 , 3 ) ;
h10 = z e r o s ( 3 , 3 , 3 )
h11 = z e r o s ( 3 , 3 , 3 )
h12 = z e r o s ( 3 , 3 , 3 )
h13 = z e r o s ( 3 , 3 , 3 )
h14 = z e r o s ( 3 , 3 , 3 )
h7 ( 2 , 2 , 2 ) =
h8 ( 2 , 2 , 2 ) =
h9 ( 2 , 2 , 2 ) =
; h10 ( 2 , 2 , 2 )
; h11 ( 2 , 2 , 2 )
; h12 ( 2 , 2 , 2 )
; h13 ( 2 , 2 , 2 )
; h14 ( 2 , 2 , 2 )
−1; h7 ( 3 , 1 , 1 )
−1; h8 ( 2 , 1 , 1 )
−1; h9 ( 1 , 1 , 1 )
= −1; h10 ( 3 , 2
= −1; h11 ( 1 , 2
= −1; h12 ( 3 , 3
= −1; h13 ( 2 , 3
= −1; h14 ( 1 , 3
h15
h16
h17
h18
=
=
=
=
zeros
zeros
zeros
zeros
(3
(3
(3
(3
,3
,3
,3
,3
,3)
,3)
,3)
,3)
;
;
;
;
h15 ( 2
h16 ( 2
h17 ( 2
h18 ( 2
,2
,2
,2
,2
,2)
,2)
,2)
,2)
=
=
=
=
−1;
−1;
−1;
−1;
h15 ( 3
h16 ( 1
h17 ( 3
h18 ( 1
,1
,1
,3
,3
,2)
,2)
,2)
,2)
=
=
=
=
1;
1;
1;
1;
h19
h20
h21
h22
h23
h24
h25
h26
=
=
=
=
=
=
=
=
zeros
zeros
zeros
zeros
zeros
zeros
zeros
zeros
(3
(3
(3
(3
(3
(3
(3
(3
,3
,3
,3
,3
,3
,3
,3
,3
,3)
,3)
,3)
,3)
,3)
,3)
,3)
,3)
;
;
;
;
;
;
;
;
h19 ( 2
h20 ( 2
h21 ( 2
h22 ( 2
h23 ( 2
h24 ( 2
h25 ( 2
h26 ( 2
,2
,2
,2
,2
,2
,2
,2
,2
,2)
,2)
,2)
,2)
,2)
,2)
,2)
,2)
=
=
=
=
=
=
=
=
−1;
−1;
−1;
−1;
−1;
−1;
−1;
−1;
h19 ( 3
h20 ( 2
h21 ( 1
h22 ( 3
h23 ( 1
h24 ( 3
h25 ( 2
h26 ( 1
,1
,1
,1
,2
,2
,3
,3
,3
,3)
,3)
,3)
,3)
,3)
,3)
,3)
,3)
=
=
=
=
=
=
=
=
1;
1;
1;
1;
1;
1;
1;
1;
% Anisotropic diffusion .
f o r t = 1: num iter
85
90
95
100
105
% F i n i t e d i f f e r e n c e s . [ i m f i l t e r ( . , . , ’ conv ’ ) can be r e p l a c e d by convn
( . , . , ’ same ’ ) ]
% Due t o p o s s i b l e memory l i m i t a t i o n s , t h e d i f f u s i o n
% w i l l be c a l c u l a t e d a t e a c h page / s l i c e o f t h e volume .
f o r p = 1 : pags −2
d i f f 3 p p = d i f f v o l ( : , : , p : p+2) ;
aux = i m f i l t e r ( d i f f 3 p p , h1 , ’ c o n v ’ ) ; n a b l a 1 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h2 , ’ c o n v ’ ) ; n a b l a 2 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h3 , ’ c o n v ’ ) ; n a b l a 3 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h4 , ’ c o n v ’ ) ; n a b l a 4 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h5 , ’ c o n v ’ ) ; n a b l a 5 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h6 , ’ c o n v ’ ) ; n a b l a 6 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h7 , ’ c o n v ’ ) ; n a b l a 7 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h8 , ’ c o n v ’ ) ; n a b l a 8 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h9 , ’ c o n v ’ ) ; n a b l a 9 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h10 , ’ c o n v ’ ) ; n a b l a 1 0 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h11 , ’ c o n v ’ ) ; n a b l a 1 1 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h12 , ’ c o n v ’ ) ; n a b l a 1 2 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h13 , ’ c o n v ’ ) ; n a b l a 1 3 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h14 , ’ c o n v ’ ) ; n a b l a 1 4 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h15 , ’ c o n v ’ ) ; n a b l a 1 5 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h16 , ’ c o n v ’ ) ; n a b l a 1 6 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h17 , ’ c o n v ’ ) ; n a b l a 1 7 = aux ( : , : , 2 ) ;
aux = i m f i l t e r ( d i f f 3 p p , h18 , ’ c o n v ’ ) ; n a b l a 1 8 = aux ( : , : , 2 ) ;
84
APPENDICE A. CODICE DEL FILTRO ANISOTROPICO 3D
110
115
120
125
130
135
140
145
150
155
160
165
170
175
aux
aux
aux
aux
aux
aux
aux
aux
=
=
=
=
=
=
=
=
imfilter
imfilter
imfilter
imfilter
imfilter
imfilter
imfilter
imfilter
( diff3pp
( diff3pp
( diff3pp
( diff3pp
( diff3pp
( diff3pp
( diff3pp
( diff3pp
, h19 , ’ c o n v ’ ) ;
, h20 , ’ c o n v ’ ) ;
, h21 , ’ c o n v ’ ) ;
, h22 , ’ c o n v ’ ) ;
, h23 , ’ c o n v ’ ) ;
, h24 , ’ c o n v ’ ) ;
, h25 , ’ c o n v ’ ) ;
, h26 , ’ c o n v ’ ) ;
nabla19
nabla20
nabla21
nabla22
nabla23
nabla24
nabla25
nabla26
% Diffusion function .
i f o p t i o n == 1
c1 = exp ( −( n a b l a 1 / kappa ) . ˆ 2 ) ;
c2 = exp ( −( n a b l a 2 / kappa ) . ˆ 2 ) ;
c3 = exp ( −( n a b l a 3 / kappa ) . ˆ 2 ) ;
c4 = exp ( −( n a b l a 4 / kappa ) . ˆ 2 ) ;
c5 = exp ( −( n a b l a 5 / kappa ) . ˆ 2 ) ;
c6 = exp ( −( n a b l a 6 / kappa ) . ˆ 2 ) ;
c7 = exp ( −( n a b l a 7 / kappa ) . ˆ 2 ) ;
c8 = exp ( −( n a b l a 8 / kappa ) . ˆ 2 ) ;
c9 = exp ( −( n a b l a 9 / kappa ) . ˆ 2 ) ;
c 1 0 = exp ( −( n a b l a 1 0 / kappa ) . ˆ 2 ) ;
c 1 1 = exp ( −( n a b l a 1 1 / kappa ) . ˆ 2 ) ;
c 1 2 = exp ( −( n a b l a 1 2 / kappa ) . ˆ 2 ) ;
c 1 3 = exp ( −( n a b l a 1 3 / kappa ) . ˆ 2 ) ;
c 1 4 = exp ( −( n a b l a 1 4 / kappa ) . ˆ 2 ) ;
c 1 5 = exp ( −( n a b l a 1 5 / kappa ) . ˆ 2 ) ;
c 1 6 = exp ( −( n a b l a 1 6 / kappa ) . ˆ 2 ) ;
c 1 7 = exp ( −( n a b l a 1 7 / kappa ) . ˆ 2 ) ;
c 1 8 = exp ( −( n a b l a 1 8 / kappa ) . ˆ 2 ) ;
c 1 9 = exp ( −( n a b l a 1 9 / kappa ) . ˆ 2 ) ;
c 2 0 = exp ( −( n a b l a 2 0 / kappa ) . ˆ 2 ) ;
c 2 1 = exp ( −( n a b l a 2 1 / kappa ) . ˆ 2 ) ;
c 2 2 = exp ( −( n a b l a 2 2 / kappa ) . ˆ 2 ) ;
c 2 3 = exp ( −( n a b l a 2 3 / kappa ) . ˆ 2 ) ;
c 2 4 = exp ( −( n a b l a 2 4 / kappa ) . ˆ 2 ) ;
c 2 5 = exp ( −( n a b l a 2 5 / kappa ) . ˆ 2 ) ;
c 2 6 = exp ( −( n a b l a 2 6 / kappa ) . ˆ 2 ) ;
e l s e i f o p t i o n == 2
c1 = 1 . / ( 1 + ( n a b l a 1 / kappa ) . ˆ 2 ) ;
c2 = 1 . / ( 1 + ( n a b l a 2 / kappa ) . ˆ 2 ) ;
c3 = 1 . / ( 1 + ( n a b l a 3 / kappa ) . ˆ 2 ) ;
c4 = 1 . / ( 1 + ( n a b l a 4 / kappa ) . ˆ 2 ) ;
c5 = 1 . / ( 1 + ( n a b l a 5 / kappa ) . ˆ 2 ) ;
c6 = 1 . / ( 1 + ( n a b l a 6 / kappa ) . ˆ 2 ) ;
c7 = 1 . / ( 1 + ( n a b l a 7 / kappa ) . ˆ 2 ) ;
c8 = 1 . / ( 1 + ( n a b l a 8 / kappa ) . ˆ 2 ) ;
c9 = 1 . / ( 1 + ( n a b l a 9 / kappa ) . ˆ 2 ) ;
c 1 0 = 1 . / ( 1 + ( n a b l a 1 0 / kappa ) . ˆ 2 )
c 1 1 = 1 . / ( 1 + ( n a b l a 1 1 / kappa ) . ˆ 2 )
c 1 2 = 1 . / ( 1 + ( n a b l a 1 2 / kappa ) . ˆ 2 )
c 1 3 = 1 . / ( 1 + ( n a b l a 1 3 / kappa ) . ˆ 2 )
c 1 4 = 1 . / ( 1 + ( n a b l a 1 4 / kappa ) . ˆ 2 )
c 1 5 = 1 . / ( 1 + ( n a b l a 1 5 / kappa ) . ˆ 2 )
c 1 6 = 1 . / ( 1 + ( n a b l a 1 6 / kappa ) . ˆ 2 )
c 1 7 = 1 . / ( 1 + ( n a b l a 1 7 / kappa ) . ˆ 2 )
c 1 8 = 1 . / ( 1 + ( n a b l a 1 8 / kappa ) . ˆ 2 )
c 1 9 = 1 . / ( 1 + ( n a b l a 1 9 / kappa ) . ˆ 2 )
c 2 0 = 1 . / ( 1 + ( n a b l a 2 0 / kappa ) . ˆ 2 )
c 2 1 = 1 . / ( 1 + ( n a b l a 2 1 / kappa ) . ˆ 2 )
c 2 2 = 1 . / ( 1 + ( n a b l a 2 2 / kappa ) . ˆ 2 )
c 2 3 = 1 . / ( 1 + ( n a b l a 2 3 / kappa ) . ˆ 2 )
c 2 4 = 1 . / ( 1 + ( n a b l a 2 4 / kappa ) . ˆ 2 )
c 2 5 = 1 . / ( 1 + ( n a b l a 2 5 / kappa ) . ˆ 2 )
c 2 6 = 1 . / ( 1 + ( n a b l a 2 6 / kappa ) . ˆ 2 )
end
=
=
=
=
=
=
=
=
aux ( :
aux ( :
aux ( :
aux ( :
aux ( :
aux ( :
aux ( :
aux ( :
,:
,:
,:
,:
,:
,:
,:
,:
,2)
,2)
,2)
,2)
,2)
,2)
,2)
,2)
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
% D i s c r e t e PDE s o l u t i o n .
d i f f v o l ( : , : , p+1) = d i f f v o l ( : , : , p+1) + . . .
delta t ∗ ( . ..
( 1 / ( dz ˆ 2 ) ) ∗ c1 . ∗ n a b l a 1 + ( 1 / ( dz ˆ 2 ) ) ∗ c2 . ∗ n a b l a 2 +
...
( 1 / ( dx ˆ 2 ) ) ∗ c3 . ∗ n a b l a 3 + ( 1 / ( dx ˆ 2 ) ) ∗ c4 . ∗ n a b l a 4 +
...
85
APPENDICE A. CODICE DEL FILTRO ANISOTROPICO 3D
( 1 / ( dy ˆ 2 ) ) ∗ c5 . ∗ n a b l a 5 +
...
...
( 1 / ( dc ˆ 2 ) ) ∗ c7 . ∗ n a b l a 7 +
...
( 1 / ( dc ˆ 2 ) ) ∗ c9 . ∗ n a b l a 9 +
+ ...
( 1 / ( dh ˆ 2 ) ) ∗ c 1 1 . ∗ n a b l a 1 1
nabla12 + . . .
( 1 / ( dh ˆ 2 ) ) ∗ c 1 3 . ∗ n a b l a 1 3
nabla14 + . . .
...
( 1 / ( dd ˆ 2 ) ) ∗ c 1 5 . ∗ n a b l a 1 5
nabla16 + . . .
( 1 / ( dd ˆ 2 ) ) ∗ c 1 7 . ∗ n a b l a 1 7
nabla18 + . . .
...
( 1 / ( dc ˆ 2 ) ) ∗ c 1 9 . ∗ n a b l a 1 9
nabla20 + . . .
( 1 / ( dc ˆ 2 ) ) ∗ c 2 1 . ∗ n a b l a 2 1
nabla22 + . . .
( 1 / ( dh ˆ 2 ) ) ∗ c 2 3 . ∗ n a b l a 2 3
nabla24 + . . .
( 1 / ( dh ˆ 2 ) ) ∗ c 2 5 . ∗ n a b l a 2 5
nabla26 ) ;
180
185
190
( 1 / ( dy ˆ 2 ) ) ∗ c6 . ∗ n a b l a 6 +
( 1 / ( dh ˆ 2 ) ) ∗ c8 . ∗ n a b l a 8 +
( 1 / ( dh ˆ 2 ) ) ∗ c 1 0 . ∗ n a b l a 1 0
+ ( 1 / ( dc ˆ 2 ) ) ∗ c 1 2 . ∗
+ ( 1 / ( dc ˆ 2 ) ) ∗ c 1 4 . ∗
+ ( 1 / ( dd ˆ 2 ) ) ∗ c 1 6 . ∗
+ ( 1 / ( dd ˆ 2 ) ) ∗ c 1 8 . ∗
+ ( 1 / ( dh ˆ 2 ) ) ∗ c 2 0 . ∗
+ ( 1 / ( dh ˆ 2 ) ) ∗ c 2 2 . ∗
+ ( 1 / ( dc ˆ 2 ) ) ∗ c 2 4 . ∗
+ ( 1 / ( dc ˆ 2 ) ) ∗ c 2 6 . ∗
end
% I t e r a t i o n wa r ni n g .
f p r i n t f ( ’\ rIteration %d\n ’ , t ) ;
beep on
beep , p a u s e ( 0 . 2 ) , beep
beep o f f
195
200
end
205
% ”End o f Program ” w ar n in g .
beep on ;
beep , p a u s e ( 0 . 5 ) , beep , p a u s e ( 0 . 5 ) , beep , p a u s e ( 0 . 5 ) ,
beep , p a u s e ( 0 . 5 ) , beep , p a u s e ( 0 . 5 ) , beep , p a u s e ( 0 . 5 ) ;
86
Bibliografia
[1] Roger P.Woods: concetti basilari sulla registratura di immagini-UCLA
School of Medicine.
[2] Elastix: a toolbox for rigid and nonrigid registration of images,
http://elastix.isi.uu.nl/index.php
[3] Fsl: a toolbox for rigid and nonrigid registration of brain images,
http://www.fmrib.ox.ac.uk/fsl/index.html
[4] D. Rueckert, L. I. Sonoda, C. Hayes, D. L. G. Hill, M. O. Leach, and D.
J. Hawkes. Nonrigid registration using free-form deformations: Application
to breast MR images. IEEE Trans. Med. Imag., 18(8):712 – 721, 1999.
[5] Wikipedia: fondamenti della Risonanza Magnetica Nucleare
http://www.wikipedia.org/wiki/Risonanza_magnetica
[6] Wikipedia: Imaging a risonanza magnetica,
http://it.wikipedia.org/wiki/Imaging_a_risonanza_magnetica
[7] Digital Imaging in Communications and Medicine (DICOM) – Part1 : Introduction and Overview – National Electrical Manufacturers Association
Rosslyn, Virginia USA.
[8] 3DSlicer: a multi-platform, free and open source software package for
visualization and medical image computing, http://www.slicer.org/
[9] Manuale di Elastix, Stefan Klein and Marius Staring, January 6-2010.
[10] ITK: Insight Segmentation and Registration Toolkit, www.itk.org
[11] Decodifica di files DICOM e restauro di immagini di Risonanza Magnetica,
Salvatore La Bua, Calogero Crapanzano, Pietro Amato, Università degli
Studi di Palermo.
[12] J. Koenderink, The structure of images, Biol. Cybern., (1984) vol. 50, 363370.
[13] Fondazione IEO istituto europeo di oncologia,
http://www.ieo.it/italiano/index.asp
[14] Fondazione IRCCS istituto nazionale dei tumori,
http://www.istitutotumori.mi.it/default.asp
87
BIBLIOGRAFIA
[15] Materiale del corso di Elaborazione di immagini in medicina tenuto dal
prof.Andrea Giacchetti, Università degli Studi di Verona.
[16] Non-rigid Atlas-to-Image Registration by Minimization of ClassConditional Image Entropy, Emiliano D’Agostino, Frederik Maes,
Dirk Vandermeulen, Paul Suetens.
[17] Tissue-Based Affine Registration of Brain Images to form a Vascular Density Atlas, Derek Cool, Dini Chillet, Jisung Kim, Jean-Phillipe Guyon,
Mark Foskey, Stephen Aylward.
[18] Whole-brain functional magnetic resonance imaging mapping of acute nociceptive responses induced by formalin in rats using atlas registration-based
event-related analysis, Yen-Yu I. Shih, You-Yin Chen, Chiao-Chi V. Chen,
Jyh-Cheng Chen, Chen Chang, Fu-Shan Jaw.
88
Scarica