Vous êtes sur la page 1sur 33

Calcul de la Transforme de RADON

Sommaire
-Introduction gnrale ..1
-Chapitre I : dfinition du problme . 2

I .1-Introduction 3
I .2-Principe de la transforme de RADON . 3
I .3-Problme pos 4
I .3.1-Pourquoi choisir de la transforme de RADON
I .4.2-Problme

-Chapitre II : Approche mathmatique 5

II. 1-Introduction au thorme de RADON 5
II. 2-Dfinition de la TR dune fonction deux variables. ..6
II. 3-Proprits de la TR.. .8
II .3.1-Linarit
II .3.2-Invariace la translation
II .3 .3-Invariance la rotation
II .3. 4-Changement dchelle
II .3. 5-Insensibilit aux bruits
-Chapitre III :Formulation numrique....9

III. 1-Introduction et choix de la mthode.... ..9
III. 2-Discritisation et dimensionnement. . .9
III. 3-Rsolution numrique.. 11
III .3.1-Optimisation du calcul 11
III .3.2-Optimisation sur la boucle ... .12
III .3.3-Considrations numriques.....13
III. 4-Algorithme de la transforme de RADON. ..15
III. 5-Utilisation de lapproximation linaire..17

-Chapitre IV : Rsolution et Discussion18

IV .1-Rsultats obtenus pour diffrentes images....18
IV. 2-Influence du nombre de projections..19
IV. 3-Influence de la rotation .....21
IV .4-Comparaison avec les rsultats obtenus sur Matlab .22
IV .5-Conclusion .. .. .23
-Conclusion gnrale .. 24
2
-Bibliographie. .25
-Annexe..26
Introduction gnrale :

Lidentification des cibles ariennes a toujours t lune des proccupations majeures de
la surveillance arienne.
Les premiers systmes dvelopps pour identifier les cibles sont les I FF (identification
friend-foe) qui consiste en une srie de questions /rponses entre la cible et la station de
surveillance travers des codes.
La station prend alors des multi dcisions sur la cible cest--dire : cible cooprative ou
hostile. Mais cette mthode sest avre prilleuse lorsque une cible hostile se fait passer pour
un avion civil par exemple.

Pour contourner ce problme, les recherches se sont orientes vers la reconnaissance des
cibles sans leurs participations actives.
Sachant que les ondes lectromagntiques se comportent suivant la gomtrie de la cible et
son mouvement de rotation, la signature radar peut nous fournir beaucoup dinformations sur
une cible quelle soit cooprative ou non.
La signature radar de la cible dpend directement de la surface vue par le radar qui est
appele SER (surface quivalente radar) qui reprsente le pouvoir rflecteur de la cible.
Lune des difficults de la SER est sa grande dpendance de langle de vise du radar.
Les images ISAR (radar ouverture synthtique inverse) reprsentent une distribution
bidimensionnelle de la SER de la cible.
Nous en parlons brivement en disant quelle donne les informations concernant limage en
2D et la puissance des centres de rflexion des ondes sur la cible .Mais la fiabilit de cette
mthode ncessite des algorithmes sophistiqus et un grand espace mmoire pour stocker les
images ISAR pour plusieurs cibles et divers angles dorientation.
Cest ici que commence vraiment notre problme qui consiste exploiter les images ISAR de
manire optimale.

Lidentification et la classification dune cible non cooprative consistent comparer
limage de la cible dtecte des images de rfrence stockes dans une banque de donnes.
Mais lorientation de la cible classifier nest pas connue priori. Il convient donc de rendre
limage de la cible indpendante de langle dobservation.
Ceci dit, un prtraitement des donnes, qui permet de rduire leur taille tout en conservant le
maximum dinformation devient ncessaire.

Si on arrive rendre limage indpendante de langle dobservation, on pourra diminuer
considrablement la taille des donnes.
Afin datteindre ce but, nous allons utiliser la transforme de RADON qui fera lobjet de
notre tude tout au long de ce travail.

3
Notre travail est constitu de quatre chapitres. Le premier chapitre Dfinition du
problme introduit la transforme de RADON et la situe dans le problme.
Le deuxime chapitre approche mathmatique est consacr au formalisme mathmatique
concernant la TR, dfinition et proprits.
Le troisime chapitre formulation numrique consiste a construire un algorithme capable
de calculer la transforme de RADON discrte.
Enfin, dans le dernier chapitre, nous allons analyser les rsultats obtenus, afin daboutir a des
conclusions.
Chapitre I : Dfinition du problme :

I.1. Introduction :

La transforme de RADON a trouv beaucoup dapplication dans le domaine de la science
et de lingnierie. Cette transforme a limportante proprit de convertir des images 2-D en
une srie de projections 1-D. Cela permet de faciliter et dacclrer normment le traitement
de linformation. De plus, la transforme de RADON dun objet est invariante par rapport a la
rotation et a la translation de ce dernier (voir chapitre 2), ce qui lui confre une place
privilgie dans le traitement dimages.

Pour souligner limportance de cette transforme nous allons citer quelques domaines
dapplications :
La tomographie a rayons X, la tomographie a mission de positrons, la tomographie
ultrasonore, lastronomie, la microscopie lectronique, limagerie a rsonance magntique
nuclaire et en gophysique.

I.2. Principe de la transforme de RADON :

La transforme de RADON bidimensionnelle consiste, trs brivement, a faire des
projections successives dune fonction f(x,y) suivant diffrentes directions tel que
schmatis dans la figure .1.



Figure.1 : reprsentation du domaine spatial et du domaine de RADON
Donc, pour chaque droite de direction donne correspond une projection estime par
lintgrale de la fonction sur la droite (voir dfinition, chapitre 2).Chaque rayon est index
4
par sa distance par rapport a lorigine et son angle. Une dfinition mathmatique et plus
rigoureuse sera donne dans lapproche mathmatique.

Comme le voyons sur la figure 1, dans le domaine de RADON, une ligne est reprsente
par un point. Des caractristiques gomtriques de limage originale produisent des pics ou
des groupements de points dans le domaine de RADON. Cest ce qui constitue la force de
cette transforme et sa large utilisation dans le traitement dimages.

I.3. Problme pos :

I.3.1. Pourquoi choisir la transforme de RADON :

La TR offre plusieurs avantages qui sont linvariance la rotation et la translation, en
plus de sa grande insensibilit par rapport aux bruits.

Comme notre cible est sans cesse en mouvement, avec des changements climatiques
permanents, nous avons pens que la transforme de RADON tait la mieux adapte pour
notre tude.
I.3.2. Problme :

La base de donnes qui est en notre possession est constitue dimages de type ISAR.
Quest-ce quune image ISAR ?
Cest une image obtenue a partir de la SER dun radar, qui fait apparatre les points les plus
rflchissants de la cible sous forme de points brillants. Voici reprsentes sur la figure 2 un
exemple dimages ISAR davions de deux types diffrents.

Chaque image est dimensionne en pixels (dans notre cas : 96*96) et chaque pixel a un
niveau de gris bien dtermin. Ceci permet de la reprsenter par une fonction a deux variables
f(x, y) dont les valeurs seront stockes dans une matrice.


Figure 2 : Images ISAR de deux types davions
Notre problme consiste a calculer la transforme de RADON de la fonction ainsi obtenue.
5
En entre : Matrice
() g
reprsentant limage a projeter.
En sortie : Matrice
() Rg
reprsentant les diffrentes projections.
.Chapitre II : Approche mathmatique :
II.1. Introduction et Thorme de RADON :

Depuis la mcanique cleste qui a conduit au dveloppement du calcul diffrentiel, il est
apparu que bon nombre de phnomnes naturels taient rgis par des quations diffrentielles,
ceci justifie limportance et ltendue de cette thorie mathmatique qui sest alors
dveloppe pour elle-mme.

Voici un exemple de rsultat appartenant a cette thorie.
Rappelons dabord que si f (t) est une fonction dfinie sur un intervalle [a, b] son intgrale :

b
a
dt t f ) (
reprsente laire comprise sous son graphe, et que le processus dintgration est en quelque
sorte inverse de la drivation.

_Considrons maintenant une fonction de deux variables f(x, y) dfinie sur un domaine
du plan, par exemple un disque. A toute droite traversant ce disque, on associe lintgrale de
f sur lintervalle constitu par lintersection du disque et de la droite. Il sagit donc de laire
indique sur la figure 3.

6

Figure 3 : aire reprsentant lintgrale de f sur un segment
Supposons que la droite est dquation y=A x+B, elle est donc dtermine par les nombres A
et B, et on peut noter S (A, B) laire attache a la droite.

A la fonction f(x, y) on a ainsi associ une nouvelle fonction S (A, B).On peut alors se
demander si connaissant la fonction S, on peut retrouver la fonction f. Il ne sagit pas
seulement dune question de calcul pratique, mais il faut sassurer que deux fonction f et g
diffrentes ne peuvent pas donner la mme fonction S, car sinon de S on ne saura pas sil faut
remonter a f ou a g.

La rponse est oui, S dtermine f .Cest le thorme de la transforme de RADON.
Il a t dmontr par RADON en 1917, simplement parce quil tait intress par ltude
abstraite du calcul diffrentiel et intgral, sans souci des applications.

Ce rsultat qui tait a priori purement thorique, a dbouch sur une application
inattendue : Le scanner mdical. En effet, lorsquon fait une radiographie dun corps, on
envoie des rayons qui sont affaiblis lorsquils rencontrent la matire, et la quantit soustraite
mesure lintgrale de la densit de matire sur le chemin parcouru.

II.2. Dfinition de la TR dune fonction a deux variables :

Soient (x, y) les coordonnes cartsiennes dun point dans un espace a 2-D, g(x, y) une
fonction continue a support compact, L un ensemble de droites dans ce plan dfini par :


sin cos y x +
(II.2.1)
La transforme de RADON est tout simplement donne par lintgrale sur la droite L :

L
dl y x g y x Rg ) , ( ) , (
(II.2.2)
Avec le changement de variable suivant :




cos sin
sin cos
q y
q x
+

(II.2.3)
on obtient la reprsentation schmatise sur la figure 4, et lquation mathmatique de cette
transformation devient :


+ dq q q g Rg ) cos sin , sin cos ( ) , ( (II.2.4)

7


Figure 4 : ligne intgrale de RADON

En introduisant un changement de variable appropri dans la formule prcdente nous
obtenons :


dx x x g Rg ) cot
sin
, (
sin
1
) , (


(II.2.5)
En utilisant limpulsion de Dirac,
(.)
(voir Annexe A), on obtient :



dxdy y x y x g Rg ) sin cos ( ) , ( ) , (
(II.2.6)

Lintgrale tant value sur la droite dfinie par lquation II.2.1.
Si maintenant, on considre lquation de la droite L sous la forme,


+ x p y *
(II.2.7)
On obtient la formule donnant la TR :


dxdy px y y x g p Rg ) ( ) , ( ) , (
(II.2.8)
Il existe dautres dfinitions de la transforme de RADON (voir Annexe A), qui sont
identiques et quivalentes aux prcdentes.

II.3. Proprits de la TR :

8
Dans cette partie nous allons exposer les proprits de la TR pour mieux comprendre
limportance de cette transforme en particulier dans le traitement et la reconnaissance
dimages.

II.3.1. Linarit :

i
i i
i
i i
g y x g R ) , ( )) , ( (
(II.3.1)
II.3.2. Invariance a la translation :

Daprs la dfinition II.2.5 on a immdiatement :
) , sin cos ( ) , (
0 0 0 0
y x Rg y y x x g (II.3.2)
Donc, une translation de limage de
) , (
0 0
y x
se traduit par une translation
0

dans la
direction de

. On dit alors que la TR est invariante.


II.3.3. Invariance a la rotation :

Avec le mme raisonnement on a :

) , ( ) cos sin , sin cos ( + + Rg y x y x g
(II.3.3)
Une rotation de limage dun angle

se traduit par une translation de

dans la direction
de. Do linvariance a la rotation de la TR.
II.3.4. Changement dchelle :


) , (
1
) , (

Rg y x g
(II.3.4)
Contrairement au changement la translation et a la rotation, on remarque que la TR nest
pas invariante a lchelle. Cependant linformation gomtrique est toujours prserve.
II.3.5. Insensibilit aux bruits :
Un autre grand avantage de la transforme de RADON est sa robustesse vis--vis des
bruits blancs.
Chapitre III : Formulation numrique :
III.1. Introduction et choix de la mthode :
9

Dans notre problme, nous allons appliquer la TR a des images qui sont reprsentes par
des pixels avec diffrents niveau de gris.
Donc la discrtisation dans ce cas est directement lie au nombre de pixels ainsi que la
prcision. Do lobligation de faire des approximations dues a la discontinuit des pixels et
les rsultats obtenus seront considrs du point de vue qualitatif que quantitatif.

Ceci explique la mthode choisie qui a pour principe dapprocher par lentier le plus proche
les valeurs non entires
Limage sera reprsente par une fonction bidimensionnelle dont les valeurs seront stockes
dans une matrice.

Etant donn, daprs la dfinition II.2.7, que la transforme de RADON est calcule par
lintgrale suivant des droites, nous avons expos une autre mthode qui utilise les mme
rsultats que la premire plus une interpolation linaire .
III.2. Discrtisation et dimensionnement :
Limage
N M *
pixels sera donne par une matrice de dimension
N M *
reprsentant
la fonction
) , ( y x g
.
Pour couvrir toute limage, nous poserons :


< < 0
et max min

Discrtisons les paramtres :
x m x x x
m
+
min ,
1 ....., 1 , 0 M m
y n y y y
n
+
min ,
1 ....., 1 , 0 N n
(III.2.2)
+ k
k min ,
1 ....., 1 , 0 K k
+ h
h min ,
1 ....., 1 , 0 H h
Le traitement se fera sur des images carres (et cest le cas pour les images ISAR), donc
nous aurons :


y x
(III.2.3)
N M (III.2.4)


De plus les images sont centres do :
10


2
) 1 (
2
) 1 (
2
) 1 (
max min
max min min
max min
H
x
M
y x y
x
M
x x
(III.2.5)
ainsi, discrtisons la fonction
) , ( y x g
:


) , ( ) , (
n m
y x g n m g
(III.2.6)

De mme pour la transforme de RADON discrte on notera :

) , ( ) , (
k h
Rg k h Rg
(III.2.7)

Il est clair que :

]
]
]

180
K
et
0
min

(III.2.8)
ou est valu en degr.
le symbole
[ ] .
permet darrondir a lentier le plus proche.

Conformment a lquation II.2.5 nous avons :

2 2
y x +
(III.2.9)

et puisque nos images comme on la dit sont centres et de dimension
M M *
on a
immdiatement :

2
max
M

(III.2.10)


]
]
]

1
2
max

H
(III.2.11)

Il apparat maintenant clairement que les paramtres dont nous aurons besoins se rduisent
a :
. , , , M x
III.3. Rsolution numrique :
Daprs lquation II.2.5 on a :

11
dx x p y x g Rg
h k
k
k h
) , (
sin
1
) , (


(III.3.1)
avec
k
k
k
p

sin
cos

(III.3.2)

k
h
h

sin


Approchons maintenant lintgrale III.3.1 par la somme :

1
0
) , (
sin
) , (
M
m
n m
k
k h
y x g
x
Rg


(III.3.3)
avec :
[ ]
h m k n
x p y +
(III.3.4)
Le symbole
[ ] .
signifie approcher a lentier le plus proche.

Maintenant utilisons les formules III.2.2 nous obtenons :

]
]
]

+ +

y
y x p x m p
n
h k k min min

(III.3.5)
III.3.1-Optimisation de calcul :
Pour minimiser les calculs dans notre algorithme nous poseront daprs III.3.5 :
n=
[ ] + m
(III.3.6)

avec :
y
x p
k



y
y x p
h k

min min

(III.3.7)
Do enfin notre somme III.3.3 prendra la forme :

[ ]

1
0
) , (
sin
) , (
M
m
k h
m m g
x
Rg


(III.3.8)
Des formules III.3.2 et III.3.6 nous dduisons les valeurs de et

:

k
k
y
x

sin
cos


12
(III.3.9)
k
k k h
y
y x

sin
sin cos
min min


Maintenant sachant que :
y x
et
min min
y x
les formules III.3.9 se simplifient et
prennent la forme :
k
k

sin
cos


(III.3.10)
III.3.2-Optimisation sur la boucle :
Ceci nous permettra de gagner dans le temps de la boucle, puisque nous savons que les
valeurs de la fonction nexiste que pour :
[ ] 1 0 1 0 + M m M n

Do :



1 M
m , pour 0 >



m
M 1
, pour 0 <
pour 0 > :

'

'

]
]
]

, 0 max
min
m
et

'

'

]
]
]

1
, 1 min
max
M
M m

(III.3.11)
Pour : 0 <

'

'

]
]
]

1
, 0 max
min
M
m
Et

'

'

]
]
]

, 1 min
max
M m

Ainsi, nous avons pu diminuer de manire significative le nombre ditrations dans une
boucle.
III.3.3-Considrations numriques :
Observons attentivement les formules III.3.9 donnant et

, nous constatons
que lorsque :
0
k

alors
0 sin
k

, et ceci peut nous causer des problme du point de


vue prcision.
Pour palier a ce problme nous allons procder comme suit :
13
k
k k h
x
x

sin
) sin (cos
min

Pour
2
2
>
k
: nous considreront les projections suivant laxe des x , soit les droites :
h k
x p y +
Donc les formules utiliser sont celles donnes par III.3.8 et III.3.10.
Pour
2
2
>
k
: nous considreront les projections suivant laxe y, soit les droites :

h k
y p x +

Et les formules utilises sont obtenues de manire analogue en permutant x et
y
, et en
introduisant quelque changements, ainsi on obtiendra les formules :

[ ]

1
0
) , (
cos
) , (
M
n
k h
n n g
x
Rg


(III.3.12)
Avec les nouvelles valeurs de et
donnes par :

1

(III.3.13)
k
k k h
x
x

cos
) sin (cos
min

+


Les valeurs de
max
n
et
min
n
sont donnes par :

Pour 0 > :

'

'

]
]
]

, 0 max
min
n Et

'

'

]
]
]

1
, 1 min
max
M
M n
(III.3.14)
Pour : 0 <

'

'

]
]
]

1
, 0 max
min
M
n Et

'

'

]
]
]

, 1 min
max
M n

Ainsi on aura contourn le problme et notre algorithme sera plus prcis.
Dans notre problme, la fonction
g
a transformer nest pas continue, on manipule des
pixels, donc comme on la dj dis cest le cot information qui nous intresse et comme
x .ne contient aucune information il sera ngligs, cest--dire nous poserons : 1 x .
Dans le cas o on veut calculer la TR dune fonction continue, autrement dit approximer
quantitativement la TR, on doit prendre en compte x car il reprsente la prcision.

Aprs ces simplifications, rsumons les formules obtenues :
Pour
2
2
>
k
:
14

[ ]

max
min
) , (
sin
) , (
m
m
k h
m m g
x
Rg



Avec
k
k

sin
cos



k
k k h
x
x

sin
) sin (cos
min


Pour
2
2
>
k
:

[ ]

max
min
) , (
cos
) , (
n
n
k h
n n g
x
Rg



Avec

1


k
k k h
x
x

cos
) sin (cos
min

+

Les entiers
max min max min
, , , n n m m
sont donns par les formules III.3.11 et III.3.14 .
Rappelons que dans notre cas : 1 x pour des raisons explique prcdemment. (Voir
considration numrique)
III.4. Algorithme de la TR :
En entre nous avons :
() g
,
, , M
.
En sortie on aura la matrice : g_radon.
Subrotines utilises dans lalgorithme :
Radon_Donne : subrotine qui permet de calculer
min
, , x K H
partir
Des formules III.2.5, III.2.8 , III.2.11.
Radon_Remplire : permet de remplir les vecteurs
()
et
()
en
utilisant III.2.2.
Radon_Limite : permet de calculer
max min max min
, , , n n m m
suivant
Les formules III.3.11, III.3.14.
Round : fonction qui permet dapprocher par lentier le plus proche.
Les codes donnant ces diffrentes subrotines sont donns dans lAnnexe B.

15
Lalgorithme de la TR se prsentera comme suit :
Dbut
Calcul de K et H \\ Appel de Radon_Donne
Remplissage des vecteur
()
et
()
\\ Appel de Radon_Remplire
Pour 0 k jusqu' 1 K avec un pas 1
Costheta=
k
cos
Sintheta=
k
sin
rho=
) sin (cos
min k k
x +

Si 2 / 2 sin >
k
alors
Alpha=
k k
sin / cos
Bta= (

h

rho)/sintheta
Calcul de
min
m
et
max
m
\\ appel de Radon_Limite
Somme = 0
Pour
min
m m
jusqu'
max
m
avec un pas 1
Somme=somme+
, (m g
round (alpha*m+bta
))

Fin
g_radon (h, k)=summe/abs (sintheta)
Fin
Sinon
Alpha=
k k
cos / sin
Pour 0 h jusqu' 1 H avec un pas 1
Bta= (

h

rho)/costheta
16
Calcul de
min
n
et
max
n
\\ appel de Radon_Limite
Somme= 0
Pour
min
n n
jusqu'
max
n
avec un pas 1
Somme=somme+
( g
round (alpha* n+bta
) ), n
Fin
g_radon (h, k)=somme/abs (costheta)
Fin
Fin Si
Fin


III.5. Utilisation de lapproximation linaire:
Par souci de prcision, on se propose dans cette partie dintroduire une interpolation
linaire dans le calcul prcdent.

Le changement naffectera que les formules III.3.8 et III.3.12.
Dfinissons dabord le paramtre :

n n

, avec +

m n et
[ ] + m n

reprsente lcart entre la valeur de

n
et lentier le plus proche n.
Do linterpolation applique a III.3.8 :

+ +

1
0
)) 1 , ( ) , ( ) 1 ((
sin
) , (
M
m
k h
n m g n m g
x
Rg


(III.5.1)

De mme posons pour III.3.12 :
m m

, avec +

n m et [ ] + n m
Do linterpolation :

+ +

1
0
)) , 1 ( ) , ( ) 1 ((
cos
) , (
M
n
k h
n m n m g
x
Rg


(III.5.2)
Lalgorithme est le mme sauf quon utilisera les formules III.5.1 et III.5.2.
17
Chapitre IV : Rsolution et discussion :
IV.1. Rsultat Obtenu pour diffrentes images :
Voici reprsentes, figure 5, la transforme de Radon pour deux images diffrentes avec
un nombre de projections gal 175 .

18



Figure 5 : TR de deus images distinctes avec 175 projections
On remarque que la signature de chaque image diffre de lautre, ceci rsulte de lunicit
de la transforme de RADON.
Dans les deux cas on voit quil est possible de ngliger la partie suprieure et infrieur de la
TR obtenue car elle ne contient aucune information sur limage originale.

IV.2. Influence du nombre de projections :
Considrons limage donne par la figure 6 :









Figure 6 : Image ISAR dun appareil


19
Appliquons la transforme de RADON avec diffrents nombre de projections, 31,60,121,et
175 projections, ce qui revient a faire varier le pas , nous obtenons pour limage
prcdente les signatures ci-dessous.

Nous remarquons que plus le nombre de projections augmente et plus la signature devient
plus claire et les discontinuits disparaissent.


60 projections
121 projections
20
175 projections

31 projections
IV.3.Influence de la rotation :
Dans cette partie nous allons visualiser leffet de la rotation de limage originale sur la TR,
pour cela, nous allons choisir un nombre donn de projections, soit 121, et effectuer une
rotation donne soit 45 degrs.
Nous obtenons le rsultat de la figure 7 :
21






22
Figure 7 : TR aprs une rotation de 45 degrs de limage originale
On voit clairement quune rotation dans le domaine spatial se traduit par une translation
dans le domaine de RADON suivant laxe . Donc la TR est bel et bien invariante pour la
rotation.
IV.4.Comparaison avec les rsultats obtenus sur Matlab :
Une comparaison qualitative montre que les deux signature donnes par le VB et
MATLAB sont presque identique.(voir figure 8 et 9)
Nanmoins une comparaison quantitative et plus pousse simpose. Pour cela nous allons
procder a la corrlation pour pouvoir confondre ou non les deux signatures.
TR donne par VB
TR donne par MATLAB

Figure 8 : TR obtenues pour 30 projections
23
TR donne par VB
TR donne par MATLAB
Figure 9 : TR obtenues pour 120 projections
Rsultats de la corrlation :

Pour diffrent nombre de projections, nous avons calcul le coefficient de corrlation pour
les deux mthodes utilises, les rsultats sont donns dans le tableau figure 10.
Daprs le tableau, on remarque que les deux mthodes ont approximativement la meme
prcision avec une lgre amlioration pour la deuxime mthode grce a linterpolation
linaire.
Figure 10 : Coefficient de corrlation des deux mthodes relativement a MATLAB

La diffrence entre les rsultats obtenus avec le VB et ceux de MATLAB est du au fait
que MATLAB utilise des mthodes dinterpolation et dapproximation diffrentes, et du fait
quil est mieux adapt pour le calcul matriciel.
IV.5-Conclusion :
Daprs les rsultats obtenus prcdemment, on a pu vrifier lunicit de la signature ainsi
que linvariance par rapport a la rotation.
Le nombre de projection effectu dtermine la prcision de la signature obtenue.
31
projections
121
projections
175
projections
Sans interpolation
linaire 0.7028 0.7106

0.7144
Avec interpolation
linaire 0.7089 0.7110 0.7161
24
Lutilisation des mthodes dapproximation tel linterpolation linaire permettent de modifier
relativement la signature finale, mais du point de vu qualitatif elle na pas de grande
importance.
Conclusion gnrale :
Il existe plusieurs mthodes de calcul de la Transforme de RADON, utilisant diffrentes
approches. Dans ce travail, nous avons expos une mthode permettant darriver a un rsultat
satisfaisant surtout du point de vue proprits.
Limportance de cette transforme rside dans le fait quelle permet de rduire
sensiblement la taille de notre base de donne, et davoir un traitement plus acclr de
linformation.
Notons que cette transforme peut tre inverse, et ainsi remonter dune signature obtenue
dans le domaine de RADON a limage correspondante dans le domaine spatiale . Ceci
constitue meme le principe du scanner mdical.
Notons quil existe une autre transforme dduite directement de celle de RADON appele
transforme de HOUGH, cette dernire est mieux adapte dans le cas dimages sparse
cest--dire dont la matrice est pleine de zros.

25
BIBLIOGRAPHIE
[1] N. MEZHOUD, Identification et classification de cibles radar non coopratives au
moyen dimages de type ISAR, EMP, 30/ 12/ 2003.
[2] Ali .Mohamed-Djafar, Transforme de Radon et reconstruction dimage, Ecole
suprieur dlectricit, 05/ 02/2002.
[3] Luc Lemaire, La recherche mathmatique aujourdhui, Universit Libre de
Bruxelles, 2000.
[4] Formation traitement dimage avec interactive Data language (IDL), copyright RSI,
France, 2005
[6] A. Averbuch, R.R. Coifman, D. L. Donoho, M. Israeli, J.Waldn, a notion of Radon
Transform for Data in a Cartesian Grid
[7] A.J.Higginson, Analyzing Ship Wakes in Synthetic Aperture Radar Images
(developpement of the RedBox Application), Defence research and developpement
Canada-Ottawa, December 2002.
[8] Peter Toft. Curve Parameter Detection using the Radon Transform. Part I, 1996
26
[9] Peter Toft. Appendices, Part III ,1996
[10] Stphane Grognet, Calcul Symbolique et rigidit en courbure ngative ,06/12 /2002
[11] Crlos A. Berenstein, Enrico casadio Tarabusi, and Arpad Kursa, Radon Transform on
spaces, Procedings of the American Mathematical Society, 1997.

ANNEXE A

Impulsion de Dirac :
Limpulsion de Dirac est dfinie par :
+ si x=0
(x) =
0 ailleurs
Autre dfinition de la transforme de Radon :
27
Transforme de Hough :
La transforme de HOUGH dune fonction
g
est dfinie par :



dy dx y y x x y x g y x g ) ( ) ( ) , ( ) , (

ANNEXE B
Programmes en VB :
Function round(ByVal X As Double) As Integer

Dim N As Integer
'--------------------------------------------------------------------------------------------------
'cette fonction permet de donner l'entier le plus proche du reel positif x
'--------------------------------------------------------------------------------------------------

N = Int(X)
If X - N > 0.5 Then round = N + 1 Else round = N

End Function
___________________________________________________________________________
Sub roundmat(ByRef X() As Double, _
ByVal N As Integer, _
ByVal m As Integer)

Dim i As Integer, J As Integer
'----------------------------------------------------------------------------------------------------
'Cette subrotine permet d'arrondir chaque lment
' d 'une matrice a l 'entier le plus proche
'----------------------------------------------------------------------------------------------------
For i = 0 To N - 1
For J = 0 To m - 1
X(i, J) = round(X(i, J))
28
Next J
Next i

End Sub
___________________________________________________________________________
Sub Radon_Remplire(ByVal N As Integer, _
ByVal dx As Double, _
ByVal xmin As Double, _
ByRef X() As Double)

Dim i As Integer
'------------------------------------------------------------------------------------
' Cette subrotine permet de remplir un vecteur avec un pas constant dx
'------------------------------------------------------------------------------------
ReDim X(0 To N - 1)
For i = 0 To N - 1
X(i) = xmin + i * dx
Next i
End Sub
___________________________________________________________________________
___________________________________________________________________________
Sub Radon_Donne(ByVal m As Integer, _
ByVal dphi As Double, _
ByVal drho As Double, _
ByRef k As Integer, _
ByRef h As Integer, _
ByRef xmin As Double, _
ByRef rhomin As Double)


Const pi As Double = 3.14159
-------------------------------------------------------------------------------------------------------
cette subrotine permet de calculer des parametres utiliss dans la fonction principale
-------------------------------------------------------------------------------------------------------
k = round(pi / dphi)
h = round((Sqr(2) * m) / drho + 1)
xmin = -(m - 1) / 2
rhomin = (-(h - 1) / 2) * drho
End Sub
___________________________________________________________________________
Sub Radon_limite(ByVal m As Integer, _
ByVal alpha As Double, _
ByVal beta As Double, _
ByRef mmin As Integer, _
ByRef mmax As Integer)

--------------------------------------------------------------------------------------------------
cette subrotine calcule les limites de la boucle utilise dans la fonction principale
29
--------------------------------------------------------------------------------------------------
If alpha > 0 Then
mmin = max(0, round(-beta / alpha))
mmax = min(m - 1, round((m - 1 - beta) / alpha))
ElseIf alpha < 0 Then
mmin = max(0, round((m - 1 - beta) / alpha))
mmax = min(m - 1, round(-beta / alpha))
Else
mmin = 0
mmax = m - 1

End If
End Sub
___________________________________________________________________________
Fonctions donnant la TR:
___________________________________________________________________________
Function Radon_transform(ByRef g() As Double, _
ByVal m As Integer, _
ByVal dphi As Double, _
ByVal drho As Double, _
ByRef Rg() As Double, _
Optional ByRef k As Integer, _
Optional ByRef h As Integer) As Integer

'------------------------------------------------------------------------------------------------
'Declaration de variables
'------------------------------------------------------------------------------------------------

Dim rho() As Double, phi() As Double, rhof As Double, N As Double
Dim xmin As Double, rhomin As Double, somme As Double
Dim alpha As Double, beta As Double, mmin As Integer, mmax As Integer
Dim i As Integer, J As Integer, t As Integer, R As Integer

'-----------------------------------------------------------------------------------------------
' Radon_transform permet de calculer la transforme de Radon d'une fonction
' discrete donne par la matrice g() et nous rend en sortie une matrice Rg
' Parametres d'entre:
' M :dimension de la matrice g()
' dphi:pas de l'angle polaire
' drho:pas du rayon polaire
'-------------------------------------------------------------------------------------------------

30
Call Radon_Donne(m, dphi, drho, k, h, xmin, rhomin) 'Calcul de K,H,xmin et rhomin
Call Radon_Remplire(k, dphi, 0, phi()) 'remplissage du vecteur phi()
Call Radon_Remplire(h, drho, rhomin, rho()) 'remplissage du vecteur rho()

ReDim Rg(h, k)
For i = 0 To k - 1
rhof = xmin * (Cos(phi(i)) + Sin(phi(i)))
If Sin(phi(i)) > 1 / Sqr(2) Then
alpha = -Cos(phi(i)) / Sin(phi(i))
For J = 0 To h - 1
beta = (rho(J) - rhof) / Sin(phi(i))
Call Radon_limite(m, alpha, beta, mmin, mmax)
somme = 0
For t = mmin To mmax
N = alpha * t + beta
If N >= 0 And N < m Then
somme = somme + g(t, round(N))
End If
Next t
Rg(J, i) = somme / Abs(Sin(phi(i)))
Next J
Else
alpha = -Sin(phi(i)) / Cos(phi(i))
For J = 0 To h - 1
beta = (rho(J) - rhof) / Cos(phi(i))
Call Radon_limite(m, alpha, beta, mmin, mmax)
somme = 0
For t = mmin To mmax
N = alpha * t + beta
If N >= 0 And N < m Then
somme = somme + g(round(N), t)
End If
Next t
Rg(J, i) = somme / Abs(Cos(phi(i)))
Next J

End If
Next i
End Function
___________________________________________________________________________
Function Radon_Lineartrans(ByRef g() As Double, _
ByVal m As Integer, _
ByVal dphi As Double, _
ByVal drho As Double, _
ByRef Rg() As Double, _
Optional ByRef k As Integer, _
Optional ByRef h As Integer) As Integer

'------------------------------------------------------------------------------------------------------
'Declaration de variables
31
'------------------------------------------------------------------------------------------------------

Dim rho() As Double, phi() As Double, rhof As Double, N As Double
Dim xmin As Double, rhomin As Double, somme As Double
Dim alpha As Double, beta As Double, mmin As Integer, mmax As Integer
Dim i As Integer, J As Integer, t As Integer, R As Integer, w As Double

'------------------------------------------------------------------------------------------------------
' Radon_Lineartrans utilise le meme principe que Radon_transform
' mais avec une interpolation linaire.
'-------------------------------------------------------------------------------------------------------

Call Radon_Donne(m, dphi, drho, k, h, xmin, rhomin) 'Calcul de K,H,xmin et rhomin
Call Radon_Remplire(k, dphi, 0, phi()) 'remplissage du vecteur phi()
Call Radon_Remplire(h, drho, rhomin, rho()) 'remplissage du vecteur rho()

ReDim Rg(h, k)
For i = 0 To k - 1
rhof = xmin * (Cos(phi(i)) + Sin(phi(i)))
If Sin(phi(i)) > 1 / Sqr(2) Then
alpha = -Cos(phi(i)) / Sin(phi(i))
For J = 0 To h - 1
beta = (rho(J) - rhof) / Sin(phi(i))
Call Radon_limite(m, alpha, beta, mmin, mmax)
somme = 0
For t = mmin To mmax
N = alpha * t + beta
w = N - round(N)
If N >= 0 And N < m Then
somme = somme + (1 - w) * g(t, round(N)) + w * g(t, round(N) + 1)
End If
Next t
Rg(J, i) = somme / Abs(Sin(phi(i)))
Next J
Else
alpha = -Sin(phi(i)) / Cos(phi(i))
For J = 0 To h - 1
beta = (rho(J) - rhof) / Cos(phi(i))
Call Radon_limite(m, alpha, beta, mmin, mmax)
somme = 0
For t = mmin To mmax
N = alpha * t + beta
w = N - round(N)
If N >= 0 And N < m Then
somme = somme + (1 - w) * g(round(N), t) + w * g(round(N) + 1,
t)
End If
Next t
Rg(J, i) = somme / Abs(Cos(phi(i)))
Next J
32

End If
Next i
End Function
Remarques de lenseignant
33