• Aucun résultat trouvé

a son voxel sym´etrique situ´e de l’autre cˆot´e du plan D et pour chaque couple de tels voxels conjugu´es, leurs projections sont ´egalement sym´etriques. Ainsi, la connaissance de la partie de l’op´erateur de projection R qui n’agit que sur la moiti´e avant ou arri`ere des voxels est suffisante pour traiter tout le volume, sur des op´erations de projection comme de r´etroprojection. Ceci a pour effet de r´eduire d’un facteur 2 aussi bien le stockage de l’op´erateur R et de remplacer les calculs de projection et de r´etroprojection pour la moiti´e du volume par un simple calcul d’indices de voxels et pixels conjugu´es.

4.2 Factorisation de la r´eponse impulsionnelle

Nous avons d´ecrit la projection des voxels au chapitre 3 en choisissant un mod`ele gaussien pour lequel nous calculons les param`etres de translation τ , dilatation σ et intensit´e h. Or seul un changement dans le param`etre de

dila-tation engendre une nouvelle fonction ou, en d’autres termes, si les projections de deux voxels ne diff`erent que par les param`etres τ et h, la mˆeme fonction gaussienne pr´ecalcul´ee peut ˆetre utilis´ee en la multipliant par un param`etre d’intensit´e h diff´erent et en la translatant. Cette remarque est important car elle permet de ramener le calcul de N fonctions de projections o`u N = 643, ou parfois N = 1283 au calcul des seules fonctions de projection pour lesquelles le param`etre de dilatation σ est diff´erent. Ce param`etre n’a certes aucune raison d’ˆetre identique pour des voxels diff´erents mais nous le ramenons `a un nombre de pixels qui repr´esente le diam`etre de la fonction de projection. D`es lors, pour en-gendrer l’ensemble des fonctions de projection, il suffit de les calculer pour tous les diam`etres possibles, allant de 1 pixel `a un nombre maximal qui d´epend de nombreux param`etres (taille des pixels, taille des voxels, r´esolution intrins`eque du d´etecteur, diam`etre du trou d’entr´ee du collimateur st´enop´e...) mais est tr`es limit´e. Il le serait d´ej`a compte tenu du nombre limit´e de pixels que nous avons dans une dimension sur le d´etecteur (64 ou 128) mais la plupart du temps, le diam`etre maximal de la projection des voxels est de l’ordre de 10 pixels pour un nombre d’´equation M et d’inconnues N de 643 et de l’ordre de 20 pixels pour un nombre d’´equation M et d’inconnues N de 1283. Le calcul de ces diff´erentes fonctions gaussiennes `a deux dimensions devient donc n´egligeable si on les stocke en m´emoire. De plus, nous savons que les fonctions gaussiennes `a deux dimen-sions jouissent de la propri´et´e de s´eparabilit´e sur laquelle nous reviendrons dans le prochain chapitre.

A partir de ces diff´erents ´el´ements que sont la discr´etisation EAR, la sym´etrie avant/arri`ere et la factorisation impulsionnelle, nous allons donc voir comment mettre en œuvre une m´ethode de reconstruction tomographique efficace qui exploite l’ensemble de ces ´economies de calcul.

Chapitre 5

Mise en œuvre de la

m´ethode EAR

Nous avons vu au chapitre pr´ec´edent que toute m´ethode de reconstruc-tion bas´ee sur la r´esolution it´erative d’un syst`eme donnait lieu au calcul d’un op´erateur qui mod´elise la projection de chaque voxel. Ce calcul peut ˆetre lar-gement plus ´economique en mettant en œuvre les diff´erentes r´eductions que nous avons d´ecrites : la discr´etisation EAR, adapt´ee `a la sym´etrie de rotation, la sym´etrie avant/arri`ere et la factorisation des r´eponses impulsionnelles. Nous verrons donc dans un premier temps comment effectuer concr`etement le calcul de notre op´erateur de projection A en tenant compte de ces r´eductions, puis nous d´ecrirons le d´eroulement de la r´esolution it´erative du syst`eme. Enfin, la derni`ere phase consistera `a d´ecrire une m´ethode nous permettant de r´e´echantillonner le volume reconstruit dans la base des voxels EAR dans une nouvelles base, compos´ee de voxels cubiques ou parall´el´epip`ediques.

5.1 L’op´erateur de projection

Nous supposons donn´ee une discr´etisation EAR de l’espace nous donnant nos fonctions de bases vEAR

j , j = 1, . . . , N . Sauf indication contraire, que nous rencontrerons dans la section concernant le r´e´echantillonnage du volume sur des voxels cubiques et o`u nous devrons donc faire une distinction entre diff´erents types de voxels, nous d´esignerons les voxels EAR par vj, j = 1, . . . , N . Ces voxels se projettent sur P diff´erentes positions du d´etecteur, nous donnant M ´equations de projections. Chaque position du d´etecteur nous donne donc K = M/P ´equations, ce qui repr´esente pr´ecis´ement le nombre de pixels sur le d´etecteur. Nous avons donc le syst`eme `a r´esoudre :

Aqx = bq pour q = 0, . . . , P − 1. (5.1) Chaque colonne Aq·,jrepr´esente la projection du voxel j sur la grille de pixels, c’est-`a-dire la proportion des photons ´emis par le volume correspondant au voxel j qui atteint la surface correspondant aux diff´erents pixels indic´es par i `a la posi-tion q du d´etecteur. Le mod`ele de projection que nous avons propos´e au chapitre 3 est un mod`ele gaussien, enti`erement d´etermin´e par les param`etre de

transla-tion τ (centre de la gaussienne), de dilatatransla-tion σ (´ecart-type de la gaussienne) et d’intensit´e (proportion de photons ´emis par le voxel j qui atteint le d´etecteur). Nous avons donc d´efini diff´erents op´erateurs qui effectuent ces trois calculs pour une position unique du d´etecteur que nous choisissons arbitrairement, pour fixer les id´ees, « au-dessus » du champ de vue. Plus pr´ecis´ement, le champ de vue ´

etant cylindrique de hauteur et diam`etre c, centr´e `a l’origine, la hauteur ´etant l’axe (Oz), le trou d’entr´ee Sq du collimateur est dans le plan (Oxy). A la po-sition q = 0 pour laquelle nous voulons calculer l’op´erateur de projection, les coordonn´ees de S0sont (0, Sy0) et le d´etecteur se trouve dans le plan y = y0.

Pour chaque voxel vj de centre cj, nous calculons τj = Aτ(cj), qui est converti en l’indice du pixel qui contient Aτ(cj). Nous calculons ensuite djpg = Aσ(cj) que nous convertissons d’abord en diam`etre de la projection dj

p= dj pg+ g en rajoutant la constante g de la r´esolution intrins`eque du d´etecteur suivant l’´equation (3.14), puis en ´ecart-type, exprim´e en nombre de pixels dont la lon-gueur est dp. On obtient : σj = [dj

p/4dp] d’apr`es la remarque 3.1, o`u [x] est l’arrondi de x `a l’entier le plus proche. Enfin nous calculons hj = Ah(cj), le pa-ram`etre d’intensit´e, qui inclut le calcul de la distance d’att´enuation rjatt. Nous obtenons ainsi les trois param`etres relatifs `a notre gaussienne (voir figure 5.1).

Fig. 5.1 – Interpr´etation des trois param`etres calcul´es pour d´eterminer la pro-jection d’un voxel de centre cj `a travers un trou centr´e en S0sur un plan y = y0. Nous avons donc, dans un premier temps, associ´e au voxel vj un triplet (τj, σj, hj) dont les composantes sont respectivement de type int, short int et float. Notons σmax= maxjj). Nous pr´ecalculons alors la base des fonctions de projection possibles, c’est-`a-dire les fonctions :

Rσ(x, y) =    hj σj e x2 +y2 2.σ2j sipx2+ y2≤ 2σ 0 sinon

La projection du voxel vj s’obtient donc comme :

A(vj) = hjRσj(xi, yi) ∗ δτj (5.2) o`u le points (xi, yi) est le centre du pixel bi. La convolution Rσj(xi, yi) ∗ δτj est donc une convolution discr`ete entre la fonction R, ´evalu´ee sur les centres des pixels et la masse de Dirac associ´ee au pixel central de la projection du voxel vj.

REMARQUE 5.1 Les gaussiennes bidimensionnelles poss`edent l’int´eressante propri´et´e de s´eparabilit´e : la convolution avec une gaussienne bidimensionnelle peut ˆetre remplac´ee par deux convolution perpendiculaires avec des gaussiennes `

a une dimension. N´eanmoins, il est plus avantageux de pr´ecalculer des masques gaussiens `a deux dimensions de taille n2 qui nous permettent de ne faire que n2 multiplications plutˆot que de pr´ecalculer des masques de taille n, qui nous feraient calculer une convolution `a une dimension dans un sens, soit n mul-tiplications, puis dans l’autre sens, soit n2 multiplications (au total : n + n2

multiplications). Ce choix est justifi´e par le tr`es petit nombre de masques que nous avons `a pr´ecalculer.

Lorsque le d´etecteur tourne, la projection s’obtient en associant au voxel vj

un triplet qui a d´ej`a ´et´e calcul´e pour la position q = 0 pour un autre voxel, situ´e sur la mˆeme couronne a de la discr´etisation EAR. A cet effet, nous utilisons la permutation ηaq de la d´efinition 4.1. Nous obtenons :

Aq(vj) = A ◦ ηqa(vj) (5.3) D`es lors, avec un volume x exprim´e dans la base des voxels vj comme

x =

N3

X

j=1

xj.vj (5.4)

o`u xj ≥ 0 pour tout j = 1 · · · N3, la projection de ce volume se calcule comme : Aqx = N3 X j=1 xjAqvj (5.5)

5.2 R´esolution du syst`eme lin´eaire dans la base