• Non ci sono risultati.

Capitolo 4

N/A
N/A
Protected

Academic year: 2021

Condividi "Capitolo 4"

Copied!
30
0
0

Testo completo

(1)

Capitolo 4

4.1 Simulazione dell’algoritmo k-t BLAST

Il linguaggio di programmazione utilizzato nel nostro studio è l’ambiente MATLAB (acronimo di MATrix LABoratory), software ad altissimo livello orientato alla manipolazione di matrici e vettori. Faremo uso di questo linguaggio poiché negli ultimi anni MATLAB è diventato l’ambiente software di riferimento per molti ricercatori in ambito scientifico.

4.2 Caso monodimensionale

Il primo passo è stato quello di esaminare un banale caso monodimensionale. A questo scopo si è creato un semplice fantoccio che simula un andamento periodico, ad esempio una semplice onda triangolare (Figura 1a) che si ripete nel tempo, ad esempio 400 time frame.

Trascurando la componente di rumore è stato applicato quanto esposto nel capitolo 3, partendo dal fantoccio è stato ricavato il relativo k-spazio ed a questo è stata applicata prima la fase di training, ottenendo così la matrice di covarianza 2

, f

x

M , necessaria alla ricostruzione, e, in seguito, la fase di

acquisizione, nella quale si è realizzato, attraverso la funzione mask_create, un sottocampionamento che produce un fattore di accelerazione pari a quattro, si ha così l’altro elemento utile per la ricostruzione, ovvero l’array

ρ

alias.

Successivamente si è applicata la formula di ricostruzione finale del metodo k-t BLAST, creando la funzione posizione necessaria per stimare la matrice di

(2)

Come si può notare l’andamento periodico è perfettamente ricostruito, in questo caso è sempre visibile un leggero aliasing, quindi le ampiezze non sono uguali all’originale, ma per ora è sufficiente un semplice filtraggio per ottenere una copia quasi identica all’originale (per le istruzioni di programma si veda Appendice, Listato1).

(a) (b)

Figura 1: (a) fantoccio originale, (b) fantoccio ricostruito tramite K-t BLAST

Le cose si complicando quando si esamina il caso bidimensionale e si introduce il rumore.

4.3 Caso bidimensionale

Il primo passo è stato quello di adattare il programma visto nel caso monodimensionale al caso bidimensionale.

Come fantoccio è stata presa una sequenza di 36 fette celebrali, di dimensioni 64x64, alle quali è stato applicato un paradigma per simulare l’attivazione nel tempo. Si è così creata un’area attiva 6x6 corrispondente ai pixel dalla riga 20 alla 25, e dalla colonna 20 alla 25.

(3)

I parametri impostabili richiesti dalla simulazione sono il periodo dell’onda che simula l’attivazione (T0), il tempo in cui questa si mantiene bassa (t_on), il tempo di ripetizione (Tr) e il numero di istanti temporali nei quali si preleva la fetta (phases). Il rumore è un parametro variabile impostabile prima dell’esecuzione del paradigma, questo viene moltiplicato per una matrice random (creata attraverso la funzione matlab randn che genera un array di

numeri casuali decimali, appartenenti all’intervallo -2.2/2.2, i quali sono normalmente distribuiti con media zero, varianza ( 2

σ ) pari ad uno e deviazione

standard (

σ

) pari ad uno) all’interno del paradigma, il risultato di tale prodotto

simula il rumore presente in un’immagine reale che poi sarà sommato pixel a pixel alle corrispondenti intensità dell’immagine priva di rumore.

Ipotizziamo di avere a disposizione 80 repliche temporali di ogni fetta e consideriamo, per semplicità, la fetta numero 20 (in Figura 2 è mostrata la fetta 20, all’istante temporale 50). Ci troviamo così a lavorare con una matrice tridimensionale 64x64x80 ( che corrispondono rispettivamente a x, y, tempo ), a differenza del caso prima dove si studiava una matrice 60x100 corrispondenti a x e tempo. x y

(4)

Il metodo propone di studiare separatamente ogni y quindi, dovendo essere elaborata tutta la matrice tridimensionale, i processi saranno replicati per il numero di y ( come specificato in fig. 2 Capitolo 4 ).

Come nel caso esaminato nel paragrafo precedente, anche qui si parte dall’immagine per estrapolarne il k-spazio (attraverso la trasformata inversa di Fourier ) punto di partenza di tutto l’algoritmo e all’interno delle istruzioni di programma ( vedi Appendice, Listato 2) si ritrovano le funzioni mask_create e

posizione, la prima utile per il sottocampionamento e la seconda crea la matrice

di encoding E.

I quattro parametri attraverso i quali andremo a studiare il metodo k-t BLAST sono T0, t_on e rumore, per le diverse accelerazioni. In particolare esamineremo i fattori di accelerazione 2x, 4x, 6x.

Per quanto riguarda le istruzioni di programma, ciò che viene modificato nei tre casi presi in considerazione, sono le due funzioni sopra citate poiché entrambe si devono adattare al sottocampionamento richiesto (ad esempio per un’accelerazione 2x devono essere prelevati i campioni ogni due istanti di tempo).

Per ogni fattore di accelerazione andremo ad esaminare i risultati della simulazione attraverso, principalmente, la stima di due diversi tipi di errore, il primo è l’errore totale commesso, calcolato come energia, ed è pari a:

M

N

N

b

a

Etot

N i N j M k k j i k j i

*

*

)

(

1 1 1 2 , , , ,

∑∑∑

= = =

=

(1)

dove ai,j,k sono i pixel dell’immagine ricostruita, bi,j,k sono quelli dell’immagine

originale con rumore, i sono le righe della matrice che costituisce l’immagine,

j sono le colonne, k gli istanti temporali, N e M sono le dimensioni della

matrice.

Il secondo è l’errore nel tempo, anch’esso calcolato come energia, circoscritto solo alla zona attiva, ottenuto valutandone solo i pixel centrali che comprendono

(5)

le righe dalla 22 alla 24 e le colonne dalla 22 alla 24 quindi l’equazione 1 diventa:

M

b

a

Err

i j M k k j i k j i

*

3

*

3

)

(

24 22 24 22 1 2 , , , ,

∑ ∑∑

= = =

=

(2)

così che si possa meglio evidenziare la parte più importante da ricostruire, cioè la zona attiva.

In quest’ultimo caso il SNR è stato calcolato nel tempo, ovvero per ogni pixel appartenente alla zona di interesse è stato calcolato il relativo SNR come segue: ) var( ) var( log 10 k k r b SNR = (3)

dove k sono gli istanti temporali, var è la varianza del vettore ( in questo caso

1x80 ) composto dall’evoluzione di un singolo pixel nel tempo, r sono i pixel della matrice che simula il rumore.

Per poter applicare l’equazione 2 è necessario che l’SNR calcolato per ognuno dei pixel presi in considerazione sia il medesimo, così che i nove pixel esaminati possano essere valutati insieme senza introdurre errori.

Inoltre, per ognuno dei fattori di accelerazione studiati si prendono in considerazione cinque differenti valori del rumore, in particolare si è testato il metodo nei seguenti casi: rumore = 0.3; 0.6; 0.9; 1.2; 1.5, parametri che andranno moltiplicati per la matrice random e poi sommati al fantoccio come già specificato. Valutando l’intensità massima dei pixel del fantoccio privo di rumore, essa risulta pari ad I=63.7107, quindi 0.3 è un rumore relativamente

basso, anche se moltiplicato per gli estremi dell’intervallo a cui appartengono i numeri casuali forniti dalla matrice random, mentre 1.5 è abbastanza alto da

(6)

Per ognuno di questi si sono valutate tre diverse attivazioni, caratterizzate dai parametri T0 e t_on all’interno del paradigma ( f0 è la frequenza fondamentale

dell’onda) schematizzabili come segue:

Andiamo adesso a valutare separatamente le varie accelerazioni.

4.3.1 Accelerazione 2x

Per ottenere tale fattore di accelerazione è stato preso un campione ogni due istanti di tempo (come mostra figura 1a, Capitolo 3), tale sottocampionamento genera un aliasing si è svolto l’algoritmo ottenendo i risultati in Tabella 1, per quanto riguarda l’errore totale Etot, e Tabella 2 per l’errore nella zona attiva Err.

Tabella1: Errore totale calcolato come indica eq. 1, per i diversi valori del rumore, del periodo

dell’onda e di t_on.

Come si può notare in questo caso la ricostruzione non risente dei differenti paradigmi applicati, infatti, a parità di rumore l’errore totale non cambia, e com’è ovvio tale rumore cresce al crescere del rumore applicato.

Noise=0.3 Noise=0.6 Noise=0.9 Noise=1.2 Noise=1.5

T0=15/t_on=3 0.1009 0.3898 0.8705 1.5392 2.3717 T0=30/t_on=9 0.1010 0.3855 0.8444 1.5674 2.3616 T0=42/t_on=21 0.1034 0.3856 0.9109 1.5585 2.3181 SNR 153.6020 76.8018 51.1957 38.3994 30.7139 T0 t_on

a) T0=15 sec, t_on=3 sec,f 0 =0.066Hertz

b) T0=30 sec, t_on=9 sec,f0=0.033Hertz

(7)

Noise=0.3 Noise=0.6 Noise=0.9 Noise=1.2 Noise=1.5 Err 0.2580 0.6096 1.1200 1.8218 2.6239 T0=15/t_on=3 SNR 21.4154 9.2537 5.5280 3.4271 2.3654 Err 0.2172 0.5223 1.0287 1.7734 2.6751 T0=30/t_on=9 SNR 24.4139 12.3705 8.3081 5.0060 3.2579 Err 0.2018 0.2849 0.3961 0.4277 0.6719 T0=42/t_on=21 SNR 25.2564 13.0025 8.8286 5.0768 3.9742 Tabella 2: Errore nella zona attiva, calcolato come indica eq. 2, per i diversi valori del rumore,

del periodo dell’onda e t_on.

In tabella 2 è mostrato il valore dell’SNR, per ogni valore dei parametri T0 e t_on e per ogni valore del rumore, calcolato come indica eq. 3, questo per verificare quanto detto nel paragrafo corrispondente.

Le tabelle sopra riportate sono graficate rispettivamente in figura 3 e 4, per quanto riguarda la tabella 1 è sufficiente mostrare un solo caso dato che gli errori sono circa uguali.

(8)

Figura 4: Curve

Err_SNR, per ogni valore dei parametri scelti per testare il metodo, ovvero periodo dell’onda T0 e t_on .I punti contrassegnati dal rombo corrispondono ai valori riportati in tabella 2. a) T0=15 t_on=3 b) T0=30 t_on=9 c) T0=42 t_on=21

(9)

Sia dai grafici di figura 4, sia dalla tabella 2 si nota che non c’è molta differenza tra i valori dell’errore per T0=15, t_on=3 e per T0=30, t_on=9 a parità di rumore ed anche in questo caso, come per il calcolo dell’errore totale, l’errore nella zona attiva aumenta all’aumentare del rumore. Si nota, invece, che per T0=42 e t_on=21 l’errore nella zona attiva Err diventa significativamente più piccolo,

paragonato agli altri casi, quanto più aumenta il rumore, infatti nel caso di rumore pari a 0.3 l’entità dell’errore è circa la stessa ( Tabella 2 ) mentre per gli altri si nota una grande differenza, questo significa che nel caso di rumori bassi la periodicità dell’attivazione non influenza la ricostruzione, però, nel complesso, il metodo di ricostruzione k-t BLAST dà risultati migliori nel caso di attivazioni più lente.

Quindi se andiamo a ricostruire l’immagine accelerando di 2 il processo di acquisizione, la periodicità dell’attivazione celebrale ( caratterizzata dai parametri T0 e t_on ) influenza la bontà della ricostruzione, fortunatamente l’attivazione celebrale reale è più simile al caso T0=42, t_on=21, come vedremo nel Capitolo 5.

Una cosa da notare è che (vedi tabelle 1 e 2 e Figure corrispondenti) Err è

maggiore di Etot, nei casi a) e b), a parità di parametri, ciò significa che la

maggior parte del rumore si concentra proprio nella zona attiva, ovvero dove si ha l’attivazione celebrale. Mentre nel caso c) si ha un’ottima ricostruzione della zona attiva quindi l’errore più alto è quello totale in quanto somma tutti gli errori presenti in tutta la matrice tridimensionale (x, y e tempo).

Andiamo comunque ad esaminare cosa succede quando ricostruisco un pixel nel tempo, nei casi a) e b), appartenente alla zona attiva per la quale è stato calcolato Err. Figura 5 mostra l’andamento del pixel di coordinate x=23, y=23 e

rumore pari a 0.3, essendoci poca differenza nel valore di Err per i due possibili

casi di T0 e t_on, si evidenzia il caso T0=15, t_on=3, la curva rossa è l’andamento simulato originale con rumore sempre pari a 0.3, mentre la curva blu è la ricostruzione. Figura 6 mostra il caso con rumore pari a 1.5.

(10)

Figura 5: Andamento intensità nel tempo di un pixel ricostruito della zona attiva (curva blu) e

dello stesso originale con rumore (curva rossa), per rumore pari a 0.3, T0=15 e t_on=3.

Figura 6: Andamento intensità nel tempo di un pixel ricostruito della zona attiva (curva blu) e

(11)

Figura 7: Andamento intensità nel tempo di un pixel ricostruito della zona attiva (curva blu) e

dello stesso pixel originale senza rumore (curva rossa), per rumore pari a 1.5, T0=15 e t_on=3.

Come si può notare nel caso di rumore pari a 0.3 (Figura 5), quindi un rumore relativamente basso, la ricostruzione dell’attivazione è molto buona e la periodicità è perfettamente ricostruita, mentre nel caso di rumore pari a 1.5 (Figura 6), che è relativamente alto rispetto alle intensità dell’immagine di partenza, si nota che, rispetto all’andamento del pixel originale, c’è un netto peggioramento.

Quindi la quantità del rumore presente influenza molto la ricostruzione.

Se però andiamo a vedere cosa succede se sovrappongo l’andamento nel tempo del pixel ricostruito di coordinate x=23, y=23 con l’andamento dello stesso pixel originale e privo di rumore (Figura 7), si nota che le due curve si assomigliano di più, soprattutto per quanto riguarda il periodo dell’onda che è praticamente uguale, anche se rimane una certa differenza nelle ampiezze. Se ne deduce che il metodo di ricostruzione k-t BLAST risolve in parte il problema creato dalla presenza di un forte rumore, la curva che si ottiene dalla

(12)

Questo, probabilmente, è dovuto al filtraggio passa basso che si esegue nella fase di training del metodo infatti, come già detto nel Capitolo 3, l’accuratezza dei dati di training è fondamentale per la buona riuscita della ricostruzione, poiché è da essi che si ha l’informazione sulla distribuzione del segnale nello spazio x-f, utile per costruire la matrice di covarianza che genera il filtro di ricostruzione del metodo k-t BLAST ( vedi eq. 4b e Figura 2, Capitolo 3).

Andiamo a vedere cosa succede se cambio la banda passante di tale filtro. Il filtraggio che è stato applicato nell’algoritmo seleziona solo 15 linee centrali del k-spazio, con i risultati visti in Figura 6 e Figura 7, se per esempio andiamo a selezionare 21 linee centrali del k-spazio i risultati sono mostrati in Figura 8 e Figura 9.

Si nota che, usando un filtro con banda passante più ampia la ricostruzione peggiora sia che si confronti l’andamento nel tempo del pixel ricostruito di coordinate x=23, y=23 (T0=15, t_on=3, rumore pari a 1.5) con l’originale con rumore (Figura 8) sia che si confronti con l’originale senza rumore (Figura 9).

Figura 8: Andamento intensità nel tempo di un pixel ricostruito della zona attiva (curva blu) e

dello stesso pixel originale con rumore (curva rossa), per rumore pari a 1.5, T0=15 e t_on=3, usando un filtro passa basso con banda passante più ampia.

(13)

Figura 9: Andamento intensità nel tempo di un pixel ricostruito della zona attiva (curva blu) e

dello stesso pixel originale senza rumore (curva rossa), per rumore pari a 1.5, T0=15 e t_on=3, usando un filtro passa basso con banda passante più ampia.

Probabilmente questo succede perché, andare a selezionare una zona centrale del k-spazio più ampia, significa prelevare componenti del segnale a frequenza maggiore, infatti il k-spazio ha una struttura tale che (come visto nel Capitolo 1) al centro ci sono le componenti a bassa frequenza, e più ci allontaniamo dal centro più s’incontrano alte frequenze e quindi preleviamo più segnale, anche quello con componente frequenziale più alta, come può essere il rumore.

Questo si riflette nella matrice di covarianza 2 , f

x

M con un aumento del valore

dei suoi elementi. Figura 10 mostra l’andamento di questa matrice per la colonna y=23, per tutte le x, tutte le frequenze, per rumore pari a 1.5 (caso peggiore) e per T0=15, t_on=3, nel caso in cui si esegue un filtraggio che seleziona solo 15 linee centrali del k-spazio, mentre Figura 11 mostra con precisione l’andamento di tale filtro nel caso di x=23, per 15 linee centrali selezionate (curva blu) confrontato con l’andamento in frequenza dello stesso

(14)

Figura 10: Andamento filtro passa basso utilizzato nella fase di training per la colonna y=23,

rumore pari a 1.5, T0=15, t_on=3 e 15 linee centrali del k-spazio selezionate.

Figura 11: Andamento del filtro passa basso utilizzato nella fase di training, nei due diversi casi

considerati di banda passante, per il pixel di coordinate x=23, y=23, rumore pari a 1.5, T0=15, t_on=3

(15)

I due picchi che si vedono in entrambe le figure corrispondono alla zona attiva. Come si può notare i valori della curva rossa sono, in media, più alti rispetto a quelli corrispondenti alla curva blu, tali valori, moltiplicati per la matrice di encoding E (che è una matrice di 1 e 0) come richiesto dall’algoritmo di

ricostruzione ( Capitolo 3, eq. 4a ), vengono a loro volta moltiplicati per la matrice (ρaliasEρx, f) che contiene i valori dei dati dell’immagine affetta sia da aliasing ( come mostra Figura 4, Capitolo 3 l’array x-f ) sia dal rumore, tale moltiplicazione risolve l’aliasing poiché da luogo ad una codifica, ed in più ha la capacità di risolvere il rumore poiché esso si manifesta in spike variabili di ampiezza che si sommano all’intensità dell’immagine originale, tali spike saranno tanto meno evidenti quanto più basso è il valore del filtro che li va a moltiplicare. Quindi, meno linee si selezionano per creare tale filtro, più basso è il valore degli elementi che lo compongono. É necessario, però, tenere presente che l’ampiezza degli elementi della matrice che genera il filtro ha un limite inferiore, deciso dal fatto che non si può diminuire troppo il numero di linee centrali del k-spazio prelevate per il filtro nella fase di training, poiché tali linee selezionate devono contenere le informazioni a bassa frequenza presenti nel centro del k-spazio, diminuire troppo la banda passante del filtro significherebbe perdere delle informazioni importanti sulla distribuzione del segnale nello spazio x-f, necessarie per una buona ricostruzione.

4.3.1.1 Sottostima del rumore

Andiamo adesso a vedere cosa succede se nell’algoritmo di ricostruzione sottostimiamo o sovrastimiamo la varianza del rumore, sempre nel caso di fattore di accelerazione 2x.

Questo test è importante poiché, quando l’algoritmo di ricostruzione trovato sarà applicato al caso reale, non avremo a disposizione nessuna informazione sull’entità del rumore presente nell’immagine e la varianza in tal caso sarà

(16)

approssimativa, quindi avere a disposizione degli standard calcolati con la simulazione rende possibile una stima più precisa.

Anche in questo caso studieremo i cinque casi del rumore presi in considerazione nel paragrafo precedente, per i tre tipi di paradigmi utilizzati, caratterizzati, come si è visto, dai parametri T0 e t_on.

L’errore totale (Etot) commesso è calcolato come nell’equazione 1 e l’errore

nella zona attiva (Err) è calcolato come nell’equazione 2.

Gli errori sono stati calcolati per ogni valore della sottostima che parte dal 10% della varianza del rumore ( ad esempio per rumore=0.3 nell’algoritmo è stato inserito 0.3*0.1) fino al 100%, e per una sovrastima che parte dal 110% fino al 150%. I risultati sono riportati in tabella 3 per Etot e tabella 4 per Err.

T0=15 / ton=3 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 0.6279 0.2315 0.1553 0.1284 0.1161 0.1095 0.1057 0.1034 0.1019 0.1009 N=0.6 2.1151 0.8271 0.5745 0.4848 0.4434 0.4211 0.4078 0.3994 0.3937 0.3898 N=0.9 5.5215 2.1240 1.4149 1.1561 1.0341 0.9673 0.9270 0.9009 0.8831 0.8705 N=1.2 9.2144 3.6893 2.4831 2.0359 1.8238 1.7075 1.6373 1.5919 1.5611 1.5392 N=1.5 12.5795 5.2167 3.6201 3.0295 2.7493 2.5955 2.5025 2.4421 2.4010 2.3717 T0=30 / ton=9 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 0.6935 0.2515 0.1651 0.1341 0.1195 0.1117 0.1070 0.1041 0.1022 0.1010 N=0.6 2.1827 0.8420 0.5778 0.4839 0.4406 0.4174 0.4037 0.3951 0.3894 0.3855 N=0.9 3.9176 1.6456 1.1853 1.0201 0.9435 0.9022 0.8776 0.8621 0.8516 0.8444 N=1.2 12.1599 4.6054 2.9169 2.2829 1.9796 1.8122 1.7105 1.6445 1.5994 1.5674 N=1.5 13.8517 5.6308 3.8042 3.1225 2.7981 2.6199 2.5122 2.4426 2.3952 2.3616 T0=42 / ton=21 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 0.7409 0.2646 0.1712 0.1375 0.1216 0.1128 0.1076 0.1042 0.1020 0.1006 N=0.6 2.0706 0.8152 0.5680 0.4799 0.4391 0.4172 0.4042 0.3961 0.3907 0.3870 N=0.9 5.7502 2.1885 1.4429 1.1706 1.0424 0.9724 0.9304 0.9033 0.8850 0.8721 N=1.2 9.1747 3.6737 2.4740 2.0296 1.8192 1.7041 1.6349 1.5903 1.5601 1.5389 N=1.5 12.6236 5.2255 3.6225 3.0301 2.7496 2.5959 2.5032 2.4433 2.4025 2.3737

Tabella 3: Errore totale (Etot) calcolato per ogni valore del rumore, per ogni T0 e t_on e per

(17)

Figura 12: Curve Etot-stima per ogni sottostima della varianza del rumore per T0=15, t_on=3. I

punti contrassegnati corrispondono ai valori riportati in tabella 3.

T0=15 / ton=3 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 0.7212 0.4100 0.2876 0.2702 0.2400 0.2387 0.2314 0.2390 0.2430 0.2580 N=0.6 1.0746 0.6245 0.6787 0.5363 0.5790 0.5497 0.5529 0.6316 0.6037 0.6096 N=0.9 3.1728 1.4914 1.0485 1.1738 1.0305 1.0935 1.0795 1.0588 1.1067 1.1200 N=1.2 4.6659 3.4268 2.3135 1.7508 1.8576 1.7829 1.8695 1.7755 1.7627 1.6218 N=1.5 8.1756 6.1430 3.8802 2.7254 2.6710 2.5278 2.6407 2.5777 2.6791 2.6239 T0=30 / ton=9 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 1.2132 0.6713 0.4956 0.3968 0.3324 0.2884 0.2582 0.2378 0.2248 0.2172 N=0.6 1.0966 0.6939 0.5606 0.5013 0.4767 0.4712 0.4767 0.4887 0.5044 0.5223 N=0.9 3.1092 1.7594 1.2497 1.0701 1.0002 0.9775 0.9776 0.9895 1.0075 1.0287 N=1.2 4.3906 1.6432 1.5409 1.5443 1.5770 1.6180 1.6602 1.7007 1.7385 1.7734 N=1.5 12.3989 4.9735 3.4907 2.9969 2.7970 2.7108 2.6754 2.6646 2.6666 2.6751 T0=42 / ton=21 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 0.6020 0.4421 0.3628 0.3144 0.2845 0.2669 0.2580 0.2552 0.2569 0.2018 N=0.6 0.8700 0.4378 0.3824 0.3630 0.3416 0.3217 0.3052 0.2997 0.2956 0.2849 N=0.9 1.0427 0.5253 0.5020 0.4889 0.4784 0.4369 0.4557 0.4154 0.3925 0.3961 N=1.2 2.2177 0.7955 0.5669 0.5398 0.5104 0.5192 0.4789 0.4464 0.4435 0.4277 N=1.5 4.9272 1.6242 0.9752 0.7703 0.7060 0.6738 0.6719 0.6797 0.6920 0.6719

(18)

Figura 13: Curve Err-stima per una sottostima della varianza del rumore per T0=15, t_on=3. I

punti contrassegnati corrispondono ai valori riportati in tabella 4.

In Figura 12 sono stati graficati i valori riportati in tabella 3 solo nel caso T0=15 e t_on=3 poiché, come si può notare, i valori risultano molti simili negli altri casi. Allo stesso modo in Figura 13 sono riportati i valori solo nel caso T0=15, t_on=3, anche se il valore dell’errore cambia (come riportato in tabella 4) l’andamento si mantiene sempre decrescente. Anche nello studio delle sottostime si nota un andamento migliore per il caso T0=42, t_on=21, quindi per attivazioni cerebrali lente.

Importante è valutare il grafico in Figura 13, poiché esso contiene informazioni sulla zona attivata del cervello. La prima cosa da notare è che i comportamenti delle curve non sono uguali per i diversi rumori, per rumori bassi ( pari a 0.3 e 0.6) anche aumentando la sottostima non si ha un evidente aumento dell’errore fino al 10%, mentre per rumori maggiori tale aumento si verifica per sottostime della varianza del rumore più alte, pari al 40%, quindi è necessaria una valutazione della varianza del rumore più precisa a seconda dell’entità del rumore presente nell’immagine.

Nella tabella 5 sono riportati i valori dell’errore nella zona attiva nel caso di una sovrastima della varianza del rumore, essi sono poi graficati in Figura 14.

(19)

Tabella 5:

Errore nella zona attiva (Err) calcolato per ogni valore del rumore, per ogni T0 e t_on e per ogni valore della sovrastima applicata. T0=15 / t_on=3 100% 110% 120% 130% 140% 150% N=0.3 0.2580 0.2637 0.2736 0.2837 0.2940 0.3041 N=0.6 0.6096 0.6082 0.6235 0.6376 0.6507 0.6628 N=0.9 1.1200 1.1332 1.1472 1.1597 1.1710 1.1811 N=1.2 1.6218 1.6244 1.6374 1.6492 1.6598 1.6695 N=1.5 2.6239 2.7051 2.7184 2.7302 2.7408 2.7502 T0=30 / t_on=9 100% 110% 120% 130% 140% 150% N=0.3 0.2172 0.2138 0.2136 0.2159 0.2200 0.2256 N=0.6 0.5223 0.5412 0.5606 0.5799 0.5988 0.6173 N=0.9 1.0287 1.0512 1.0740 1.0966 1.1186 1.1398 N=1.2 1.7734 1.8054 1.8348 1.8617 1.8864 1.9091 N=1.5 2.6751 2.6870 2.7004 2.7144 2.7285 2.7422 T0=42 /t_on=21 100% 110% 120% 130% 140% 150% N=0.3 0.2247 0.2315 0.2454 0.2346 0.2380 0.2347 N=0.6 0.2885 0.3035 0.3201 0.3377 0.3556 0.3737 N=0.9 0.3905 0.4054 0.4235 0.4433 0.4639 0.4848 N=1.2 0.5109 0.5386 0.5655 0.5912 0.6155 0.6384 N=1.5 0.7705 0.7883 0.8080 0.8283 0.8485 0.8682

(20)

Come si può notare, sia dalla tabella che da Figura 5, si ha un leggero aumento dell’errore al crescere della sovrastima applicata in tutti i casi di rumore studiati. Questo ci sarà utile quando andremo a studiare il caso reale, poiché in tal caso, non avendo informazioni sull’entità del rumore presente, potremo stabilire quanto sia esatto il calcolo della varianza del rumore, valutata attraverso i pixel di background, che è un parametro fondamentale all’interno dell’algoritmo di ricostruzione del metodo k-t BLAST, infatti, come abbiamo visto nelle varie tabelle, gli errori di ricostruzione Etot ed Err aumentano a seconda della

precisione di tale parametro.

Per quanto riguarda i diversi parametri T0 e t_on, nel caso di accelerazione 2x, non si notano grandi differenze nell’entità dell’errore calcolato, bisogna, infatti, tenere presente che il rumore aggiunto alla sequenza di immagini cerebrali simulate è un rumore random, quindi un certo grado di variabilità dei risultati studiati a parità di rumore è inevitabile.

4.3.2 Accelerazione 4x

I procedimenti di analisi svolti in questo paragrafo sono simili al caso precedente, per i diversi valori del rumore e nei tre diversi casi studiati per il paradigma caratterizzato da T0 e t_on è stato calcolato l’errore totale Etot (eq.1

pag. 50) e l’errore nella zona attiva Err (eq. 2 pag. 51). In Tabella 6 sono

riportati i valori dell’errore totale.

Noise=0.3 Noise=0.6 Noise=0.9 Noise=1.2 Noise=1.5

T0=15/t_on=3 0.2548 0.8454 2.1022 3.7032 5.4135

T0=30/t_on=9 0.2529 0.8564 2.0969 3.7051 5.4236

T0=42/t_on=21 0.2171 0.8507 1.8451 3.4641 5.0307

SNR 153.6418 76.8228 51.2144 38.4055 30.7247 Tabella 6: Errore totale calcolato come indica eq. 1, per i diversi valori del rumore, del periodo

(21)

Come era prevedibile l’ampiezza di tali errori rispetto al caso di fattore di accelerazione 2x, a parità di rumore e paradigmi, è più alto. Questo è dovuto al fatto che viene applicato un sottocampionamento più rado, ovvero si preleva un campione ogni quattro istanti di tempo, la ridondanza dell’informazione che procura il software applicato alla macchina della Risonanza Magnetica viene sfruttata in modo più impegnativo, questo porta un peggioramento nella ricostruzione rispetto al caso già analizzato.

Si nota, comunque, un aumento dell’errore al crescere del rumore e un leggero miglioramento nel caso di T0=42, t_on=21.

In Tabella 7 sono riportati i valori dell’errore nella zona attiva Err con il

corrispondente SNR nel tempo calcolato come mostra eq. 3 a pag. 51, come si può vedere essi sono circa uguali per i differenti paradigmi applicati.

Noise=0.3 Noise=0.6 Noise=0.9 Noise=1.2 Noise=1.5 Err 1.5271 2.0052 2.3692 3.8377 5.8666 T0=15/t_on=3 SNR 21.1295 9.8366 5.2848 3.2926 3.0138 Err 1.5258 1.2618 2.1181 3.7151 6.3922 T0=30/t_on=9 SNR 23.8581 13.1166 7.6772 4.9997 3.3896 Err 1.0391 1.0490 1.1479 1.8901 2.0583 T0=42/t_on=21 SNR 24.6098 13.6789 7.7962 5.0389 3.5929 Tabella 6: Errore nella zona attiva, calcolato come indica eq. 2, per i diversi valori del rumore,

del periodo dell’onda e t_on.

Anche in questo caso si nota un significativo miglioramento dell’errore nel caso T0=42, t_on=21 rispetto agli altri casi studiati, soprattutto per rumori maggiori di 0.9, infatti per rumore basso, come 0.3, gli errori di ricostruzione sono molto simili. Anche se l’entità dell’errore è maggiore rispetto al caso di accelerazione 2x, si può allo stesso modo concludere che si ha una migliore ricostruzione nel caso di attivazioni cerebrali lente.

Gli andamenti degli errori rispetto all’SNR corrispondente sono superflui in quanto simili a quelli di Figure 3 e 4, analizzati nel caso di accelerazione 2x, sono sempre curve decrescenti al decrescere del rumore e variano tra loro solo

(22)

Interessante è verificare cosa succede per un pixel attivato, come fatto nel caso precedente, in modo da verificare quanto è effettivamente peggiorata la ricostruzione dell’attivazione cerebrale. Figura 15 mostra l’andamento nel tempo del pixel (o voxel) attivato di coordinate x=23, y=23 per rumore pari a 0.3, T0=15 e t_on=3.

Figura 15: Andamento intensità nel tempo di un pixel ricostruito della zona attiva (curva blu) e

dello stesso originale con rumore (curva rossa), per rumore pari a 0.3, T0=15 e t_on=3.

Come si può notare c’è un visibile peggioramento di tale andamento rispetto al caso di fattore di accelerazione 2x, l’entità del rumore aggiunto nel caso mostrato è bassa e la periodicità è, in media, ben ricostruita, si ha tuttavia un aumento delle ampiezze maggiore rispetto al caso esaminato nel paragrafo 4.3.1.

Il problema maggiore nel caso di ricostruzione con fattore di accelerazione pari a 4 consiste proprio nella presenza del rumore, mentre nel caso precedente si avevano buone ricostruzioni anche con rumori relativamente alti adesso si presentano ricostruzioni non molto buone già nel caso di rumore pari a 1.2, anche nel caso T0=42 e t_on=21, che apparentemente sembra il migliore, rumori troppo alti producono una ricostruzione non ottimale. Guardiamo, allora,

(23)

cosa succede in tal caso all’andamento del pixel ricostruito rispetto all’originale con e senza la presenza del rumore, se già in questo si evidenziano problemi nella ricostruzione, nei casi T0=15, t_on=3 e T0=30, t_on=9 le cose andranno sicuramente peggio, come mostra la tabella 6. Figura 16 mostra l’andamento del pixel di coordinate x=23, y=23, per un periodo dell’onda che simula l’attivazione pari a T0=42, t_on=21 e rumore pari a 1.2.

Figura 16: Andamento intensità nel tempo di un pixel ricostruito della zona attiva (curva blu) e

dello stesso originale con rumore (curva rossa), per rumore pari a 1.2, T0=42 e t_on=21.

Si nota una maggiore presenza di spike di intensità, dovuti al rumore, lungo tutta la curva ricostruita con il metodo k-t BLAST.

Anche adesso, come nel caso di accelerazione 2x, è comunque presente il vantaggio, anche se meno incisivo, apportato dal metodo che è quello di risolvere, in certa parte, il rumore. A questo proposito si veda Figura 17 che mostra l’andamento del pixel ricostruito nel tempo confrontato con l’andamento originale privo di rumore per gli stessi parametri per i quali è stato estrapolato

(24)

Figura 17: Andamento intensità nel tempo di un pixel ricostruito della zona attiva (curva blu) e

dello stesso originale senza rumore (curva rossa), per rumore pari a 1.2, T0=42 e t_on=21.

Mentre nel caso esaminato nel paragrafo 4.3.1 la curva ricostruita non presentava spike di intensità, in questo caso la risoluzione del rumore è peggiore.

Questo, probabilmente, è dovuto al fatto che essendoci un sottocampionamento che produce quattro repliche che si sovrappongono (nel caso prima erano due) si ha una sovrapposizione per quattro anche della componente rumorosa, poiché il filtro passa basso presente nella fase di training, che è il responsabile dell’entità del rumore presente nella ricostruzione (come visto nel paragrafo 4.3.1 pag. 61), dipende solo dal rumore e dai parametri del paradigma, ed è dunque indipendente dal fattore di accelerazione, gli elementi del filtro che prima andavano a moltiplicare una componente di rumore di una certa entità, adesso gli stessi devono moltiplicare componenti più alte, questo fa sì che nella ricostruzione non si riesca a risolvere completamente il rumore.

Per quanto riguarda tale filtro, come abbiamo visto nel caso di fattore di accelerazione pari a 2, se aumentiamo la sua banda passante, aumentando il numero di linee centrali del k-spazio utilizzate, si ha un aumento dell’ampiezza

(25)

dei suoi elementi e dunque un peggioramento della ricostruzione. Non si aggiungerebbe niente di nuovo all’analisi del metodo andando ad esaminare cosa succede in particolare se si selezionano 21 linee centrali, in quanto i risultati sono già chiari dal paragrafo 4.3.1.

Si conclude che l’applicazione del metodo di ricostruzione k-t BLAST per ottenere una velocità di acquisizione dei dati quattro volte superiore al normale, risente in modo più pesante della presenza del rumore, questo si può vedere sia dalle Tabelle 5 e 6, nelle quali è riportata l’entità degli errori commessi, sia dalle Figure 16 e 17. Abbiamo esaminato il caso di rumore pari a 1.2, e non 1.5 come fatto nel caso di accelerazione 2x, perché già nel primo caso si evidenzia in maniera chiara il problema, nel secondo la ricostruzione peggiora ulteriormente.

4.3.2.1 Stima del rumore

Vediamo adesso cosa succede se andiamo a sottostimare la varianza del rumore, parametro che verrà inserito nella formula finale dell’algoritmo di ricostruzione.

Come visto nel caso di fattore di accelerazione pari a 2, si vanno a costruire due tabelle che contengono, rispettivamente, l’errore totale Etot per sottostime

che variano dal 10% al 100% per ogni rumore e per tutti i diversi casi di paradigma utilizzati, caratterizzati dai parametri T0 e t_on, e l’errore nella zona attiva Err circoscritto alla zona che va dalla riga 22 alla 24 e dalla colonna 22

alla 24, come indica l’eq.2 a pag. 51, sempre per tutti i rumori analizzati e per i diversi paradigmi studiati.

In Figura 18 è riportato l’andamento delle curve corrispondenti ai valori presenti in Tabella 7, mentre in Figura 19 quelli presenti in Tabella 8. Poiché in tutti e tre i casi di paradigmi studiati, l’andamento delle curve rimane decrescente al diminuire dell’entità della sottostima applicata è sufficiente mostrare un solo

(26)

T0=15 / ton=3 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 14.1936 3.8283 1.7942 1.0643 0.7212 0.5327 0.4181 0.3433 0.2917 0.2548 N=0.6 40.5356 11.3021 5.3769 3.2307 2.2190 1.6633 1.3257 1.1055 0.9540 0.8454 N=0.9 99.0697 29.0393 14.0036 8.4289 5.7672 4.2931 3.3925 2.8024 2.3951 2.1022 N=1.2 160.4087 48.9272 23.9822 14.5667 10.0255 7.4940 5.9405 4.9193 4.2125 3.7032 N=1.5 213.8154 67.1779 33.3931 20.4816 14.2107 10.6993 8.5376 7.1134 6.1260 5.4135 T0=30 / ton=9 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 13.3047 3.6161 1.7121 1.0260 0.7014 0.5219 0.4119 0.3395 0.2892 0.2529 N=0.6 41.3255 11.5651 5.5092 3.3100 2.2712 1.6996 1.3519 1.1248 0.9685 0.8564 N=0.9 98.7294 28.9665 13.9765 8.4148 5.7577 4.2855 3.3859 2.7964 2.3895 2.0969 N=1.2 160.8170 49.0487 24.0383 14.5974 10.0437 7.5054 5.9477 4.9239 4.2155 3.7051 N=1.5 214.6927 67.4592 33.5272 20.5581 14.2590 10.7319 8.5608 7.1305 6.1389 5.4236 T0=42 / ton=21 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 10.3055 2.8008 1.3351 0.8081 0.5592 0.4218 0.3378 0.2827 0.2445 0.2171 N=0.6 43.3945 12.1533 5.7800 3.4646 2.3711 1.6860 1.3417 1.1168 0.9619 0.8507 N=0.9 81.9283 23.7174 11.4432 6.9284 4.7827 3.5980 2.8761 2.4040 2.0787 1.8451 N=1.2 149.4693 45.0162 21.9741 13.3411 9.1970 6.8948 5.4858 4.5616 3.9232 3.4641 N=1.5 198.8210 61.4758 30.3874 18.6173 12.9355 9.7681 7.8252 6.5488 5.6661 5.0307

Tabella 7: Errore totale (Etot) calcolato per ogni valore del rumore, per ogni T0 e t_on e per

ogni valore della sottostima applicata.

Figura 18: Curve Etot-stima per ogni sottostima della varianza del rumore per T0=42, t_on=21.

(27)

Si nota che, a differenza del caso con fattore di accelerazione pari a 2, l’errore totale aumenta molto andando a sottostimare la varianza, già per una sottostima del 40% gli errori sono dell’ordine delle decine, cosa che prima succedeva per una sottostima del 10%. Dunque più aumento il fattore di accelerazione più si ha la necessità di avere una buona stima della varianza, questo a causa, come già detto, dell’entità del sottocampionamento utilizzato. Valutiamo adesso cosa succede all’errore nella zona attiva Err per le varie

sottostime. T0=15 / ton=3 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 69.0326 9.1184 9.4034 4.4202 4.1365 1.7402 2.6561 2.2356 1.5203 1.5231 N=0.6 102.3836 14.5436 11.4027 8.3702 3.4670 2.2212 2.5750 2.5448 1.2415 2.0052 N=0.9 97.3474 28.0395 16.6717 12.4940 11.8693 4.2410 4.0249 4.0471 2.4691 2.3692 N=1.2 192.5707 57.9204 26.5885 13.8890 9.0060 5.3665 5.2816 4.8297 4.9810 3.8377 N=1.5 268.2119 84.8892 26.1295 22.6484 9.6641 7.9700 10.3289 6.8814 7.6160 5.8666 T0=30 / ton=9 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 19.6966 10.7959 6.2279 4.6295 3.6390 2.8273 2.3957 1.9987 1.7988 1.5258 N=0.6 38.3949 15.7136 8.8067 4.3634 3.8730 2.8029 2.0448 1.8878 1.3065 1.2618 N=0.9 72.6515 28.6194 12.7642 8.2886 5.6994 3.4287 3.1006 2.9503 2.3994 2.1181 N=1.2 93.0681 65.2268 18.5177 14.5653 9.6844 3.3531 4.2944 5.3008 4.0628 3.7151 N=1.5 167.8697 70.7690 25.0922 17.5414 14.1237 9.6475 8.6338 6.5223 7.5953 6.3922 T0=42 / ton=21 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% N=0.3 24.1598 8.7206 5.1653 3.6145 2.7307 2.1539 1.7473 1.4468 1.2177 1.0391 N=0.6 55.2782 17.0340 8.5379 5.2031 3.5226 2.5511 1.9396 1.5324 1.2502 1.0490 N=0.9 43.4213 13.1774 6.5725 3.9923 2.7049 1.9721 1.5201 1.2260 1.0275 0.8901 N=1.2 59.6985 17.9030 8.6196 5.0967 3.4007 2.4666 1.9058 1.5485 1.3109 1.1479 N=1.5 118.8226 33.4070 15.6521 9.1687 6.1146 4.4476 3.4458 2.8013 2.3652 2.0583

Tabella 8: Errore nella zona attiva (Err) calcolato per ogni valore del rumore, per ogni T0 e t_on

e per ogni valore della sottostima applicata.

Per quanto riguarda l’errore nella zona attiva Err è maggiormente visibile il

miglioramento che si ha per attivazioni lente, simulate con l’utilizzo dei parametri T0=42, t_on=21, infatti tale errore studia in particolare cosa succede

(28)

Figura 18: Curve Err-stima per ogni sottostima della varianza del rumore per T0=42, t_on=21. I

punti contrassegnati corrispondono ai valori riportati in tabella 8.

Come si può notare, com’è successo per l’andamento dell’errore totale, anche nel caso dell’errore nella zona attiva, Err è dell’ordine delle decine per

sottostime del 40%. Questo è imputabile alla ragione già esaminata per l’errore totale in precedenza analizzato.

Nel caso di paradigma caratterizzato dai parametri T0=42, t_on=21, come già notato nelle Tabelle 5 e 6 si ha un netto miglioramento della ricostruzione per tutte le sottostime analizzate, gli andamenti sono sempre decrescenti al decrescere della sottostima applicata, per tutti i rumori esaminati. Per un rumore pari a 1.5 l’errore nel caso di sottostima del 10% è addirittura dell’ordine delle centinaia, comunque abbiamo visto che tale rumore, applicando il metodo di ricostruzione per fattore di accelerazione 4, non dà buoni risultati anche se avessimo una stima precisa della sua varianza.

Andando ad esaminare una sovrastima della varianza del rumore si hanno gli stessi risultati visti nel caso di accelerazione 2x, ovvero un leggero aumento sia dell’errore totale sia dell’errore nella zona attiva, all’aumentare della sovrastima applicata nella formula di ricostruzione finale.

(29)

4.3.3 Accelerazione 6x

Questo caso, purtroppo, non ha dato risultati molto soddisfacenti, L’unico caso in cui si può dire che i risultati siano interessanti è per rumore pari a 0.3 e parametri con cui si simula l’attivazione pari a T0=42, t_on=21, che abbiamo visto essere il caso migliore anche per le altre accelerazioni. In tutti gli altri casi non si ha una ricostruzione accettabile.

Questo, probabilmente, è dovuto al sottocampionamento richiesto per ottenere tale fattore di accelerazione, infatti, si ha un aliasing caratterizzato dalla sovrapposizione di sei repliche che deve essere risolto tramite la codifica presente nella formula finale. Essa deve essere, dunque, molto più precisa rispetto a quella necessaria nei due casi di accelerazione visti nei paragrafi precedenti. Inoltre si ha una sovrapposizione di sei anche della componente rumorosa, questo fa sì che per rumori maggiori di 0.3 il rumore totale da risolvere con il filtraggio finale, presente nella formula di ricostruzione, sia molto alto, e crei seri problemi alla ricostruzione dell’immagine originale.

I risultati, per i parametri sopra citati, sono riportati in Figura 19, per il pixel di coordinate x=23, y=23.

(30)

In questo caso l’errore totale è pari a Etot=2.1962 e l’errore nella zona attiva,

calcolato come nell’eq. 2 pag. 51, è pari ad Err=4.5582. Come si può notare tali

errori sono già alti per il caso analizzato, in confronto agli errori trovati negli altri casi di accelerazione visti a parità di parametri. Si vede, comunque, che la periodicità dell’attivazione è ricostruita correttamente e non sono presenti spike di intensità nella curva blu. Andare a verificare cosa succede per gli altri rumori mostrerebbe ricostruzioni non accettabili, basta infatti vedere cosa succede per rumore pari a 0.6. Figura 20 mostra questo ultimo caso.

Figura 19: Andamento intensità nel tempo di un pixel ricostruito della zona attiva (curva blu) e

dello stesso originale con rumore (curva rossa), per rumore pari a 0.6, T0=42 e t_on=21.

Un altro motivo per il quale questa ricostruzione non risulta soddisfacente, può essere dovuto anche a come è stata costruita la funzione posizione, all’interno del listato di programma utile per la simulazione, che fornisce la matrice di encoding. In essa è richiesto che la matrice che costituisce l’immagine nel tempo abbia numero di righe e colonne divisibile per il fattore di accelerazione, per risolvere tale problema è stata aggiunta una cornice di zeri in modo tale che le dimensioni dell’immagine divengono 66x66.

Figura

Figura 1:  (a) fantoccio originale, (b) fantoccio ricostruito tramite K-t BLAST
Figura 3: Curva Etot-SNR per T0=15, t_on=3.
Figura 4: Curve
Figura 6: Andamento intensità nel tempo di un pixel ricostruito della zona attiva (curva blu) e
+7

Riferimenti

Documenti correlati