FR 3007871 A1 20150102 FR 1301524 A 20130628 PROCEDE DE REDUCTION DE BRUIT DANS DES SEQUENCES D'IMAGES FLUOROSCOPIQUES L'objet de l'invention concerne un procédé de réduction de bruit 5 dans des séquences d'images fluoroscopiques par détection des traits dans le domaine des curvelets, appariement des traits détectés et filtrage temporel adapté au type de coefficients associés à un trait. L'invention est notamment utilisée dans le domaine de l'imagerie par rayons X et plus particulièrement celui de l'imagerie médicale. 10 Dans le domaine de l'imagerie médicale, l'imagerie par fluoroscopie à rayons X permet de fournir un flux d'images d'un patient à un médecin lors d'interventions chirurgicales dites minimalement invasives. Ces opérations dites minimalement invasives sont de plus en plus utilisées, 15 notamment car elles provoquent moins de douleurs postopératoires pour les patients et car elles diminuent les risques d'infection. Ces opérations requièrent de pouvoir suivre des objets médicaux dans le système artériel du patient, par exemple à l'aide de séquences d'images acquises par rayons X. Une telle intervention peut être longue et la dose de rayons auxquels le 20 patient est soumis peut avoir des effets néfastes sur la santé des personnes qui sont exposées. Pour la santé du personnel médical comme celle du patient, il est donc nécessaire de réduire le plus possible la dose de rayons reçue. Cependant une baisse de la dose de rayons X se traduit par une augmentation du bruit et une baisse du contraste sur les images. Il est donc 25 important, si l'on veut pouvoir réduire la dose de rayons par image, de disposer d'algorithmes de débruitage ou réduction de bruit, afin de visualiser des images de bonne qualité. Différentes méthodes ont été développées dans l'art antérieur pour réduire le bruit d'images. Ces méthodes font appel, par exemple, à des 30 transformées en ondelettes. Le défaut majeur des transformées en ondelettes est leur difficulté à bien prendre en compte les contours des images. Le nombre d'orientations qu'une ondelette peut prendre dépend du type utilisé. Dans tous les cas, les fonctions de base ne présentent pas d'anisotropie, ce qui ne leur confère pas un caractère optimal pour la représentation des courbes, et au maximum, une ondelette réelle peut prendre 6 orientations différentes. Ce nombre est insuffisant pour représenter de manière optimale la diversité des orientations contenues dans une image naturelle. Bismuth et al dans le document de V.Bismuth et al, intitulé «A device enhancing and denoising algorithm for x-ray cardiac fluoroscopy », publié dans Pattern Recognition, 2008, ICPR, 2008, 19th International Conference on, pp. 1-4, IEEE, 2008, utilisent la transformée en ondelettes pour obtenir un fond débruité, mais qui a tendance à brouiller les contours. Tomic et al, dans le document intitulé « Adaptive spatio-temporal denoising of fluoroscopic x-ray sequences » publié dans Biomedical Signal Processing and control, vol.7, n°2, pp 173-179, 2012, privilégient une approche spatio-temporelle, puisqu'ils réindexent leur signal 2D+ temps en un signal 1D. Ainsi, après l'application d'une transformée en ondelette préservant les contours, ils obtiennent un signal débruité à la fois spatialement et temporellement. Cependant, à cause de la réindexation, la méthode ne permet pas de prendre en compte des mouvements forts tels que les mouvements cardiaques, qui nécessiteraient un recalage spatial. D'autres méthodes se sont concentrées uniquement sur l'aspect temporel, afin de tirer parti de la redondance des images de la séquence et d'éviter une coloration spatiale du bruit. Une méthode décrite dans le document d'Auvray et al. "Joint motion estimation and layer segmentation in transparent image sequences - Application to transparent-motioncompensated noise reduction in x-ray image sequences", 2008, propose un filtrage temporel en compensant les mouvements. Il est possible de faire l'approximation qu'un pixel est associé à un seul vecteur de mouvement. Cela simplifie la méthode, mais introduit des erreurs. Les images fluoroscopiques étant multiplicatives, les couches anatomiques se superposent. Or elles sont animées de mouvements différents et il est probable que plusieurs objets ayant des trajectoires différentes apparaissent sur le même pixel. Auvray et al, proposent ainsi de séparer les couches transparentes et d'évaluer les vecteurs de mouvement sur chacune de ces couches. Cette méthode présente l'inconvénient de devoir évaluer en chaque partie de l'image le nombre de couches transparentes, ce qui est extrêmement difficile à obtenir. La figure 1 schématise une méthode connue de l'art antérieur qui met en oeuvre l'aspect spatial du débruitage par la méthode des curvelets. L'image est soumise à une étape de transformée spatiale 2D, puis les propriétés de corrélation des coefficients sont vérifiées. Si ces propriétés ne sont pas respectées, l'amplitude des coefficients en question est modifiée avant d'appliquer la fonction de seuillage. La méthode utilise, par exemple, trois seuils délimitant quatre zones dans la fonction de seuillage. Ces zones sont utilisées pour vérifier la cohérence entre les coefficients et détecter ainsi des changements importants qui seraient dus au bruit. L'algorithme développé jusqu'à présent permet de préserver les contours lors du débruitage. Le traitement spatial décrit permet de réduire le nombre d'artéfacts présents dans l'image débruitée, mais il ne permet pas de les supprimer totalement. En particulier, plus on baisse la dose plus le nombre d'artefacts augmente. La faible redondance spatiale et les contraintes de temps ne permettent pas d'améliorer les performances de ce traitement. Il est néanmoins possible de l'utiliser avec un filtrage temporel qui moyenne les valeurs d'un pixel de l'image dans le temps. Ce filtre est appliqué avant le filtrage spatial, et l'utilisation conjointe des deux permet d'obtenir des images débruitées sans artefacts. Cependant, afin de préserver les objets en mouvement, les capacités de débruitage du filtre temporel sont réduites. Son utilisation limite donc les possibilités quant à la réduction de dose de rayons. La publication intitulée « Curvelet transform-based technique for tracking of moving objects" de S.Nigam et A.Khare, Computer Vision, IET, vol.6, n°3, pp231-251, 2012 décrit une méthode de suivi d'objets dans les curvelets. Elle utilise la conservation de l'énergie totale (inter et intraéchelles) afin d'actualiser la position de l'objet suivi. Les résultats ont été publiés pour des vidéos non bruitées et montrent de meilleurs résultats de suivi que les méthodes spatiales ou de suivi dans les ondelettes. L'objet de l'invention repose sur une nouvelle approche qui permet d'améliorer les performances du filtrage temporel en termes de réduction de bruit, tout en conservant les objets en mouvement. Le procédé selon l'invention va utiliser les transformées en curvelets discrètes des images de la séquence. L'invention concerne un procédé de réduction de bruit dans une 10 séquence d'images fluoroscopiques acquises par un détecteur à rayons X, une image comprenant un ou plusieurs traits, une image étant représentée par des coefficients curvelets Ct,s,esbri,j où s est l'échelle de l'image, esb sa sous-bande liée à l'angle d'un trait dans l'image et (i,j) sa position relative, le procédé étant caractérisé en ce qu'il comporte en 15 combinaison au moins les étapes suivantes : - on détecte des traits dans une image dans le domaine des curvelets, en utilisant les coefficients curvelets sous-bande par sous-bande et en déterminant la réponse maximale d'un filtre attaché à une sous-bande esb, et on mémorise les traits détectés, 20 - on apparie localement les traits détectés : - on considère un ensemble de coefficients curvelets, on teste si un coefficient curvelet considéré appartient à un trait détecté au temps t ou à un instant antérieur, - si le coefficient curvelet appartient à un trait détecté, on teste si 25 le trait, auquel le coefficient appartient, est apparié à un trait détecté à un temps antérieur, si c'est le cas, alors, on classe le coefficient curvelet dans un premier ensemble, - si le coefficient n'est pas détecté ou si le coefficient curvelet appartient à un trait détecté mais non apparié à un trait détecté 30 à un temps antérieur, alors on constitue au moins un deuxième ensemble, - on applique un premier coefficient pour filtrer temporellement les coefficients curvelets appartenant au premier ensemble et au moins un deuxième coefficient pour filtrer temporellement les coefficients curvelets appartenant au deuxième ensemble, - on détermine l'image débruitée à partir des coefficients curvelets filtrés temporellement. Selon une autre variante de réalisation, le procédé comporte au moins les étapes suivantes : Détection des traits - on détecte le ou les traits dans l'image par traitement dans le domaine des curvelets en concaténant les coefficients curvelets sous-bandes par sous-bandes : - on se place à l'échelle en curvelet de plus haute fréquence smax dans la décomposition, - on calcule, pour chaque coefficient curvelet ct,s,esb,i,i, ses coefficients parents aux échelles inférieures contenant de l'information haute fréquence, - on somme ensuite ces coefficients curvelets pour obtenir une matrice de coefficients concaténés Cconcatene, - on applique la détection des traits sur les matrices de coefficients concaténés, - on calcule pour chaque coefficient concaténé la réponse maximale des filtres orientés rattachés à cette sous-bande : F(c c.rrc: = Ina.r f ir j'a I avec p, q des positions qui donnent une orientation, - on seuille par hystérésis le résultat de la réponse maximale qui donne les traits retenus et enregistrés pour l'image donnée, lorsqu'un coefficient est supérieur au seuil haut, on conserve tout son voisinage étendu supérieur au seuil bas, - on définit un trait référent en sélectionnant la position du trait à l'échelle de fréquence la plus haute, Appariement local des traits, - on considère un ensemble de coefficients curvelets définis à un instant t-1 antérieur à l'instant t, - on teste si un coefficient curvelet appartient à un trait détecté à l'instant t ou à l'instant t-1, - si le résultat du test est négatif, alors on classe le coefficient curvelet comme n'appartenant pas à un objet, - si le résultat du test est positif, alors - on teste si le trait auquel appartient le coefficient est apparié à un trait détecté à l'instant t-1 ou à l'instant t-2, - si le résultat du test est négatif, alors on classe le coefficient curvelet comme n'appartenant pas à un objet, - si le résultat du test est positif, alors on classe le coefficient curvelet comme appartenant à un objet, - on obtient au moins deux ensembles de coefficients correspondant à au moins deux types de coefficients curvelets, Filtrage temporel, - pour les coefficients curvelets n'appartenant pas à un objet, on moyenne le coefficient détecté à l'instant t avec le coefficient détecté à l'instant t-1, - pour les coefficients curvelets appartenant à un objet, on applique un filtrage plus faible, 25 Étape de transformation inverse, - à partir des coefficients filtrés temporellement, on détermine l'image débruitée. Selon un mode de réalisation, l'étape de filtrage temporel on définit deux coefficients de gain a et p., avec 0 La longueur Lmin du plus petit des traits à comparer et la longueur Lmax du plus grand des traits à comparer sont définies, par exemple de la manière suivante : Eb- oc t' - Imin l'intensité la plus faible des deux traits et Imax l'autre intensité ?t- 1.1-1 ph. les exposants I et E désignent les extrema des traits au temps t et t-1. =1/\ (01 - où les e représentent l'orientation des traits détectés aux temps t et t-1. Le procédé peut comporter une étape pour augmenter le contraste d'une image en multipliant les coefficients curvelets ayant un gain est supérieur àgx[31 par un coefficient p, 1 Dans une première étape du procédé selon l'invention, l'image xt bruitée à t, 30, générée par le détecteur de rayons X et transmise au dispositif de traitement d'images, est filtrée spatialement 31 afin d'obtenir des coefficients débruités obtenus par le débruitage spatial. Soit ci° les coefficients discrets de la transformée en curvelet d'une image au temps t. Par la suite, l'exposant D n'est pas précisé pour ne pas surcharger les notations. Un coefficient curvelet est identifié par son échelle s qui représente la résolution de l'image (basse fréquence vs haute fréquence), sa sous-bande esb, qui est liée à l'angle d'un trait dans l'image, et sa position relative représentée par le couple (i, j), les coordonnées d'un coefficient dans la sous-bande de la représentation en curvelet de l'image à laquelle il appartient. Un tel coefficient ou coefficient curvelet est dénoté Ct,s,Osb,i,j- - 11 Les étapes référencées sur la figure 3, 32 permettant de trouver les parents, les voisins corrélés, 33 pour déterminer si ces parents ou voisins corrélés sont dans une même zone et éventuellement modifier étape 34 le coefficient ct, sont décrites dans la demande FR 2 978 273 déposée par le Demandeur et connu de l'Homme du métier. L'étape de seuillage 35 produit les coefficients curvelets débruités spatialement, el -`4'(''..?)' pour une image acquise. La fonction de seuillage 35 est composée, par exemple, de deux étapes : dans un premier temps on vérifie la cohérence de l'amplitude du coefficient curvelet avec les coefficients qui lui sont liés, comme il a été défini précédemment, et on rétablit cette cohérence si besoin est. Dans un second temps, on applique la fonction de seuillage. La fonction de seuillage est définie, par exemple, en fonction de trois seuils T1; T2 et T3 (T1 Le coefficient parent cparent, est le coefficient curvelet qui se trouve à la même position relative que le coefficient curvelet ct,s,esb,i,i, dans la sous-bande représentant la même orientation, à l'échelle de plus basse fréquence. On notera ici s - 1 l'échelle de plus basse fréquence par rapport à l'échelle s du curvelet. Si le nombre d'orientations est plus faible, alors O rem [Osb /2] sinon on garde la même sous-bande erent = oàb De même en appelant nis,Osb et ns,esb les dimensions de la sous-bande à l'échelle s, alors les nouvelles positions du coefficient parent se déduisent de la manière suivante : 1 - parent jparent i x m s-1,0pbarent s,esb jx n s-1 &parent sb et s,osb On va alors vérifier que le coefficient curvelet et,sesb eijlest situé entre les mêmes seuils que les coefficients curvelets voisins levoisins et le coefficient curvelet parent en traitant tous les cas pour des °parent Ct,s-1 Sb iParent JParee appartenances à des zones différentes. Dans la suite, dans un souci de simplification des notations, on enlèvera les indices lorsque la lecture est évidente, et on indiquera juste par la dénomination parent ou voisins les coefficients. A l'issue de l'étape de seuillage spatial, 35, on a donc des coefficients curvelets débruités correspondant à une image donnée. Le procédé selon l'invention met en oeuvre une étape de détection des traits après la décomposition filtrée spatialement de l'image en curvelets. Une décomposition préalablement filtrée permet notamment de réduire les faux-positifs lors de la détection. Sans sortir du cadre de l'invention, il serait aussi possible d'utiliser la décomposition bruitée et les étapes décrites ci-après peuvent s'appliquer sur des coefficients curvelets non filtrés. La détection des traits dans une image se fait par exemple en utilisant une concaténation 36 des échelles de la décomposition en curvelet. 25 On commence par concaténer les coefficients curvelets de l'image sous- - 13 bande par sous-bande. Autrement dit, on se place à l'échelle en curvelet de plus haute fréquence dans la décomposition. On l'appelle smax. On calcule, pour chaque coefficient curvelet, ct,s,eabdi ses parents aux échelles inférieures de fréquence ayant de l'intérêt (autrement dit, contenant de l'information haute fréquence). Dans l'exemple présent, on calcule les parents sur deux échelles seulement, umax=2. On somme ensuite ces coefficients parents. On a donc : tt II I a :À parelit ( 712(1.r tt I C con cal encl u=0 umax est le nombre d'échelles considérés, sn,ax-u est l'indice d'une échelle de la représentation. Les coefficients concaténés ne dépendent donc que du temps t et de la sous-bande esb (dont les indices sont pris à sn,ax). Sur ces matrices de coefficients concaténés, on applique une détection de lignes. On commence par calculer pour chaque coefficient concaténé, la réponse maximale, 37, des filtres orientés rattachés à cette sous-bande 8sb, i.e, par convolution avec un vecteur linéaire orienté : 17 ri +-41.1e 1 1)i1(1:r! s Célri ré' .1(.12C ( ± Les filtres étant des filtres orientés, ils seront calculés en début du procédé, par exemple, ou connus à l'avance, selon des méthodes connues de l'Homme du métier. Le nombre de vecteurs orientés rattachés à une sous-bande dépend des paramètres de la décomposition et de la taille de ce vecteur. Typiquement, pour une décomposition en curvelets de 6 échelles et 12 angles à l'échelle basse fréquence, pour détecter des objets de petite taille, on peut prendre par exemple des vecteurs de longueur 5. Dans ces conditions, 1 ou 2 vecteurs par sous-bandes sont suffisants pour couvrir toutes les orientations. Le résultat de la convolution est ensuite segmenté pour identifier les lignes, par exemple, par le biais d'un seuillage 38 d'hystérésis. Les traits ainsi obtenus sont enregistrés dans une mémoire du dispositif de traitement afin d'être mis en correspondance entre les images. L'avantage d'un seuillage par hystérésis est de limiter les faux-positifs et d'éviter de détecter un segment par morceaux. Le procédé va choisir une valeur de seuil global pour toutes les matrices de coefficients concaténés, un seuil haut ThauFaTotsu et un seuil bas Tbas= 13Totsu avec a>13. Pour ce faire, on va calculer l'histogramme des maximums des sous-bandes concaténées. L'histogramme se présente, dans le cas où certaines sous-bandes ne contiennent que du bruit, par un « pic » à des valeurs basses. Plus loin dans les valeurs, les autres maxima sont représentés. Le seuil global Totsu est donné par la valeur résultante de l'application de la méthode d'Otsu connue de l'Homme du métier sur cet histogramme, cette valeur permettant de séparer un histogramme en deux. Une autre manière de choisir ces seuils serait de les mettre en fonction de l'écart-type du bruit. On aurait ainsi : Thaut = aasb et Tbas = Pasb. L'étape suivante est une étape 40 d'appariement des traits. La détection des traits a permis de récupérer une collection de traits, dont on connaît la position à chaque échelle. Étant donné que ces positions sont liées entre les échelles on ne s'intéresse plus qu'à la position d'un trait qu'on appellera référent, c'est-à-dire la position du trait à l'échelle la plus haute fréquence. L'appariement comprend deux étapes : la définition d'une fonction de coût, et l'optimisation de cette fonction. Il existe plusieurs méthodes d'optimisation connues de l'Homme du métier. Dans l'exemple qui va être décrit, la méthode d'optimisation 25 choisie est la méthode de Kuhn-Munkres. On prend comme fonction de coût, une fonction qui prend en compte les grandeurs jugées importantes dans le domaine des curvelets. Étant donné que les images sont acquises en temps réel (15 à 30 images par seconde), et qu'il s'agit d'images anatomiques, on s'attend à ce 30 que les contours détectés aient été peu modifiés entre deux images. On choisit, par exemple, comme indicateurs de ressemblance les indicateurs suivants : la longueur, l'intensité, le déplacement, l'angle du trait. On cherche à apparier les traits dans le temps, on compare donc un trait détecté au temps t-1, 39, aux traits détectés au temps t, en utilisant les valeurs des coefficients détectés au temps t-1 mémorisés, 40 par exemple dans le système. L'expression « temps t-1 » désigne de manière plus large dans la description un temps antérieur au temps t considéré, (t-1), (t-2), (t-3), Les étapes mises en oeuvre pour l'appariement des traits sont les suivantes. On teste, 41, si le coefficient curvelet appartient à un trait détecté au temps t ou à un trait détecté au temps t-1. Si le coefficient curvelet n'appartient à aucun trait détecté, 42, alors le procédé décrète qu'il n'appartient pas à un objet mais au fond de l'image. Si oui, 43, alors le procédé teste 44 si le trait auquel le coefficient appartient est apparié à un trait détecté au précédent temps t-1 ou au temps t-2. Dans le cas négatif 45, alors le procédé considère le trait comme appartenant au fond de l'image. Dans le cas contraire, les coefficients composant le trait détecté et apparié sont considérés comme faisant partie des objets, 46. A la fin de ces étapes le procédé dispose de plusieurs ensembles de coefficients curvelets et de traits appariés sur lesquels il va appliquer une étape de filtrage temporel 47 adapté au type du coefficient curvelet. Le premier ensemble contiendra, par exemple, les coefficients curvelets qui ont été détectés et appariés, le deuxième ensemble pourra comporter les coefficients curvelets non détectés ou détectés mais non appariés. Le deuxième ensemble pourrait être décomposé, en deux sous-ensembles comprenant pour le premier les coefficients non détectés, et pour le second les coefficients détectés et non appariés. Dans ce cas les coefficients pour l'étape de filtrage temporel seront différents. L'idée par exemple est d'appliquer un filtrage plus fort pour des coefficients détectés et non appariés que pour des coefficients non détectés. Les énergies correspondant aux traits sont définies ci-dessous. On notera Lmin la longueur du plus petit des traits à comparer, et Lmax la longueur du plus grand des traits à comparer. de même on note Imin l'intensité la plus faible des deux traits et lmax l'autre I11. a .r On cherche à minimiser l'énergie globale, donc à établir des énergies à minimiser, et qui sont toutes du même ordre de grandeur. Les longueurs des traits vont être ordonnées pour que l'énergie vaille la même chose qu'il s'agisse d'un allongement du trait ou d'un rétrécissement. Dans l'exemple donné, l'une ou l'autre de ces possibilités sont équivalentes. Il en est de même pour l'intensité. Ainsi, ces énergies seront proches de 0 s'il n'y a pas eu de changement, et proches de 1 s'il y a eu de forts changements dans les caractéristiques du trait. En ce qui concerne le déplacement du trait, on mesure la distance, par exemple au sens de Manhattan, entre les deux extrémités des segments. Autrement dit, on mesure la distance entre une première extrémité du trait détecté au temps t et au temps t-1, et entre l'autre extrémité du trait détecté au temps t et au temps t-1. Cela permet, en cas de rotation par rapport au centre, de ne pas avoir de distance nulle. En outre, afin de rapporter la distance proche de la valeur 1 en cas de déplacement du trait jugé grand, on normalise chacun des résultats par les dimensions de la sous-bande. Ainsi, la distance selon l'un des axes est multipliée par p/m où m est la dimension (dans l'autre cas, on divise par n) et p est un paramètre permettant de fixer le déplacement admissible. Par exemple, si ce paramètre vaut 4, on autorise un déplacement de 1/4 de la dimension. Au delà de cette valeur, l'énergie sera supérieure à 1, et pénalisera fortement l'énergie globale, de sorte que les traits ne seront pas appariés. Pour s'assurer de cela, si l'énergie de déplacement vaut plus de 1, on impose une valeur maximale à l'énergie globale, qui correspond à un appariement impossible : E de:plue-crient E D I 2 Les exposants I et E désignent les extrema des traits au temps t et t-1. Enfin, on définit l'énergie liée à l'angle du trait par : rr.te9I = V X (01 111 où les 0 représentent l'orientation des traits aux temps t et t-1. C'est donc la variation qui est pénalisée, modulo Tr. On multiplie cette énergie par un paramètre y pour qu'elle soit proche de 1 lorsque la variation des orientations est trop forte. Comme nous travaillons en radians, des variations de l'ordre du dixième sont jugées grandes. Ainsi, une valeur de 10 pour ce paramètre permet que l'énergie soit proche de 1 lorsque la variation vaut 0.1 radian. Le paramètre peut être ajusté en fonction de l'amplitude de mouvement qu'on souhaite laisser. L'énergie globale se définit donc comme : g 1 obu 1 r = F2longlic r mt(..resiisc oe d(pht,':H?f:Tet Les coefficients w1, wi, wd, wa, sont des poids traduisant la confiance qu'on a dans les indicateurs. La somme de ces 4 poids doit être égale à 1. Par exemple, le poids associé à l'énergie liée à la longueur est plus faible que celui lié à l'angle, car une petite variation dans les positions extremum du trait (due par exemple à de légers déplacements dans la détection) peut se traduire dans certains cas par des variations assez fortes de la longueur (dans le cas où les longueurs des traits sont faibles, par exemple), tandis que l'angle sera peu impacté par ces petits mouvements. Cependant, la longueur apporte de l'information, et il est donc intéressant de la conserver. On calcule cette énergie globale Eglobale pour tous les couples de traits dont un trait est détecté à t et l'autre à t-1. Afin de limiter les calculs inutiles, on se limite au calcul de l'énergie pour des traits dans des sous- bandes voisines. En effet, si les traits sont dans des sous-bandes éloignées, leurs angles sont très différents et résulterait dans une énergie très élevée. Enfin, comme mentionnée auparavant, on établit une énergie maximale Emax. Si le trait atteint cette énergie maximale ou la dépasse, l'appariement n'est pas possible. Une fois toutes les énergies calculées, on applique la méthode de Kuhn-Munkres qui permet d'obtenir la liste des appariements minimisant le poids des énergies. Les traits ayant été appariés sont considérés comme du signal. Quant aux traits non appariés, ils sont constitués d'un ensemble de coefficients dont la valeur est aberrante. Ils sont communément appelés « outliers ». Par abus de langage nous désignerons aussi par « outlier » ces traits non appariés. L'étape suivante est un filtrage temporel 47 adapté en fonction du type des coefficients. Le filtrage temporel 47 utilise l'information précédemment obtenue sur le type de coefficients curvelets, coefficients détectés et appariés, ou coefficients considérés comme étant du bruit, afin d'appliquer un filtrage différent en fonction du type du coefficient. Cette méthode permet d'appliquer un filtrage fort dans les zones où il n'y a pas eu de mouvement, et un filtrage plus faible dans les zones représentant des traits d'intérêts. Soit act/c',' le gain du filtrage temporel au temps t, qui dépend de la classe des coefficients. On peut écrire le filtrage temporel de la manière suivante Cl 1.S.S 4-:. -1-- (1 - Une méthode de réalisation utilise, par exemple, deux classes de coefficients auxquelles on associe deux coefficients de gain a et [3, avec 0 1. 30 Cela permet d'augmenter à la fois les coefficients détectés, ainsi que les coefficients présents dans les sous-bandes voisines, évitant de nouveau le problème des rebonds proches des contours lors de la reconstruction. Le coefficient doit être choisi tel que : ct Un autre mode de réalisation, qui ne tient pas compte des coefficients du filtrage temporel, serait d'appliquer un coefficient d'augmentation de contraste d'une manière similaire à la méthode de filtrage temporel. On appliquerait un coefficient multiplicateur p aux éléments détectés, avec une décroissance de p à 1 dans un voisinage intra-échelle. Le même procédé est appliqué à partir d'un gain p' (1 La dernière étape 48 du procédé consiste à appliquer une transformée 2D IDCT pour retrouver les images débruitées 49. La figure 4, représente un exemple de système permettant la mise en oeuvre du procédé selon l'invention. Il comporte un détecteur de rayons X, 50, détectant les images, le détecteur étant relié à un dispositif de traitement 51 comprenant un processeur 52 adapté à exécuter les étapes du procédé selon l'invention, une mémoire de stockage 53 des transformées curvelets. Le procédé selon l'invention repose notamment sur un appariement dans les curvelets qui permet notamment de s'affranchir du problème de transparence des images. En effet, par la physique des rayons X, les différentes couches anatomiques se trouvent représentées sur le même plan dans l'image, et un pixel peut représenter différentes couches. Dans ce contexte, un recalage n'est pas vraiment possible puisqu'on ne peut associer un seul vecteur de mouvement à chaque pixel, les couches ayant des mouvements différents, les objets présents sur un pixel auront des mouvements différents. Comme les curvelets séparent les éléments en fonction de leur orientation, et séparent le fond des éléments fins, il est possible sur les coefficients fins de supposer en première approximation, qu'à chaque coefficient peut être associé un seul vecteur de mouvement. REVENDICATIONS1 - Procédé de réduction de bruit dans une séquence d'images fluoroscopiques acquises par un détecteur à rayons X, une image comprenant un ou plusieurs traits, une image étant représentée par des coefficients curvelets Ct,s,Osbii,j où s est l'échelle de l'image, 6sb sa sous-bande liée à l'angle d'un trait dans l'image et (i,j) sa position relative, le procédé étant caractérisé en ce qu'il comporte en combinaison au moins les étapes suivantes : - on détecte (36) des traits dans une image dans le domaine des curvelets, en utilisant les coefficients curvelets sous-bande par sous-bande et en déterminant la réponse maximale d'un filtre attaché à une sous-bande esb, et on mémorise les traits détectés, - on apparie localement les traits détectés, - on considère un ensemble de coefficients curvelets, on teste (41) si un coefficient curvelet considéré appartient à un trait détecté au temps t ou à un instant antérieur, - si le coefficient curvelet appartient à un trait détecté, on teste (44) si le trait, auquel le coefficient appartient, est apparié à un trait détecté à un temps antérieur, si c'est le cas, alors, on classe le coefficient curvelet dans un premier ensemble, - si le coefficient n'est pas détecté (42) ou si le coefficient curvelet appartient à un trait détecté mais non apparié à un trait détecté à un temps antérieur (45), alors on constitue au moins un deuxième ensemble, - on applique un premier coefficient pour filtrer temporellement les coefficients curvelets appartenant au premier ensemble et au moins un deuxième coefficient pour filtrer temporellement les coefficients curvelets appartenant au deuxième ensemble, - on détermine l'image débruitée à partir des coefficients curvelets filtrés temporellement. 2 - Procédé selon la revendication 1 caractérisé en ce qu'il comporte une étape de détection des traits comprenant les étapes suivantes: - on détecte le ou les traits dans l'image par traitement dans le domaine des curvelets en concaténant les coefficients curvelets sous-bandes par sous-bandes, - on se place à l'échelle en curvelet de plus haute fréquence smax dans la décomposition, - on calcule, pour chaque coefficient curvelet cts,esb,i,i, ses coefficients parents aux échelles inférieures contenant de l'information haute fréquence, - on somme ensuite (36) ces coefficients curvelets pour obtenir une matrice de coefficients concaténés c.ncatene, - on applique la détection des traits sur les matrices de coefficients concaténés, - on calcule (37) pour chaque coefficient concaténé la réponse maximale des filtres orientés rattachés à cette sous-bande : = maxfiures ) d F (econcatene) leeancatenegb, j p,qE filtre avec p, q des positions qui donnent une orientation, - on seuille par hystérésis (38) le résultat de la réponse maximale - - 20 qui donne les traits retenus et enregistrés pour l'image donnée, lorsqu'un coefficient est supérieur au seuil haut, on conserve tout son voisinage étendu supérieur au seuil bas, - on définit un trait référent en sélectionnant la position du trait à l'échelle de fréquence la plus haute. 25 3 - Procédé selon la revendication 1 caractérisé en ce qu'il comporte une étape d'appariement local (40) des traits comprenant les étapes suivantes: - on considère un ensemble de coefficients curvelets définis à un instant t-1 antérieur à l'instant t,- on teste (41) si un coefficient curvelet appartient à un trait détecté à l'instant t ou à l'instant t-1, - si le résultat du test est négatif, alors (42), on classe le coefficient curvelet comme n'appartenant pas à un objet, - si le résultat du test est positif (43), alors - on teste (44) si le trait auquel appartient le coefficient est apparié à un trait détecté à l'instant t-1 ou à l'instant t-2, - si le résultat du test est négatif, alors (45) on classe le coefficient curvelet comme n'appartenant pas à un objet, - si le résultat du test est positif, alors (46) on classe le coefficient curvelet comme appartenant à un objet, - on obtient au moins deux ensembles de coefficients correspondant à au moins deux types de coefficients curvelets. 4 - Procédé selon la revendication 1 caractérisé en ce qu'il comporte une étape de filtrage temporel (47) comprenant les étapes suivantes: - pour les coefficients curvelets n'appartenant pas à un objet, on moyenne le coefficient détecté à l'instant t avec le coefficient détecté à l'instant t-1, - pour les coefficients curvelets appartenant à un objet, on applique un filtrage plus faible. 5 - Procédé selon la revendication 1 caractérisé en ce qu'il comporte une étape de transfàrmation inverse (48) où l'on détermine (49) l'image débruitée: à partir des coefficients filtrés temporellement. 6 - Procédé selon la revendication 1 caractérisé en ce que pour l'étape de filtrage temporel on définit deux coefficients de gain a et 6, avec 0 7 - Procédé selon la revendication 6 caractérisé en ce que la décroissance du gain est réalisée de manière linéaire ou gaussienne. 8 - Procédé selon la revendication 1 caractérisé en ce que les coefficients curvelets détectés au temps t sont moyennés avec l'ensemble des coefficients curvelets détectés au temps t-1 et avec lesquels ils sont appariés. 15 9 - Procédé selon la revendication 8 caractérisé en ce que l'on utilise les coefficients curvelets débruités au temps t à la place des coefficients curvelets bruités dans le moyennage, soit pour les coefficients ayant appartenu à un trait au temps précédent, soit pour les coefficients appartenant à un trait apparié à ce temps, soit pour ces deux types de 20 coefficients. 10 - Procédé selon la revendication 1 caractérisé en ce que pour apparier les traits appartenant à un même objet, on exécute les étapes suivantes - on définit une fonction de coût et on utilise comme indicateurs de 25 ressemblance la longueur, l'intensité, le déplacement, l'angle du trait, - on définit l'énergie globale comme : Eglobale = WlElongueur + zntensite WdEdeplacement WaRangle où w, wd et wa traduisent la-confiance des indicateurs, avec wi, wi, wd et wa =1- on calcule cette énergie globale pour tous les couples de traits dont un trait est détecté à t et l'autre à t-1, - on applique une méthode adaptée à obtenir la liste des appariements minimisant le poids des énergies, - si le coefficient curvelet ne correspond pas à un trait, alors le procédé exécute une étape de moyennage temporel. 11 - Procédé selon la revendication 10 caractérisé en ce que l'on définit Lmin la longueur du plus petit des traits à comparer, et Lmax la longueur du plus 10 grand des traits à comparer. ongueur = Li, l'intensité la plus faible des deux traits et Imax l'autre inte rtsite = 1 rnaz Edeplacernent = z + IDE n. 2 les exposants I et E désignent les extrema des traits au temps t et t-1. angle = V X (Oc-1 - Ot)pi où les e représentent l'orientation des traits détectés aux temps t et t-1. 12 - Procédé selon la revendication 6 caractérisé en ce qu'il comporte une 20 étape pour augmenter le contraste d'une image en multipliant les coefficients curvelets ayant un gain est supérieur à I U(13 I par un coefficient p, 1 13 - Procédé selon l'une des revendications précédentes caractérisé en ce qu'on applique un coefficient multiplicateur p aux coefficients curvelets détectés, avec une décroissance de p à 1 dans un voisinage intra-échelle. ^-^