Navigateur échographique
La présente invention concerne le domaine du traitement d'images. Plus particulièrement, elle concerne le domaine de l'imagerie échographique médicale.
Il existe des échographes, réalisant des images en deux dimensions, par exemple d'organes de patients. Ces systèmes nécessitent un spécialiste sur le lieu où se trouve le patient échographié. En effet, seul le spécialiste est à même de diriger la sonde pour trouver une vue qui lui permette, à lui ou à un médecin, de réaliser un diagnostic. Lorsqu'un tel spécialiste n'est pas disponible, il faut transférer le patient, ce qui est coûteux et délicat.
Il existe également des systèmes d' échographié en trois dimensions. Dans de tels systèmes, une sonde à ultrasons se déplace tout autour du patient pour acquérir une représentation de son volume. La fonction navigation en trois dimensions n'existe que sur des appareils dédiés à cette application. A l'heure actuelle, ces systèmes sont rares et ont un prix très élevé. Ceci limite donc leur utilisation. Par exemple, l'implantation de ces systèmes n'est pas envisageable dans les petits hôpitaux, ou les dispensaires isolés.
En outre, la technologie « 3D » (trois dimensions) ne s'adapte pas sur les appareils « 2D » (deux dimensions) existants. Ainsi, le passage à une telle technologie représente un investissement très lourd, puisqu'il implique le remplacement de tout le matériel d'imagerie.
Dans des applications où le lieu de l'acquisition des données et le lieu du diagnostic sont distants, les dispositifs de l'art antérieur présentent également de nombreux inconvénients.
Dans les systèmes 3D connus, le volume de données est très important, car ces systèmes visent à une reconstitution de tout le volume considéré. Ainsi, il faut prévoir des canaux de communication importants. Ceci rend ces systèmes incompatibles avec des applications critiques, comme par exemple des applications spatiales.
Dans ces applications, un spationaute peut être amené à acquérir lui-même les données, par exemple, par application d'une sonde sur un organe à diagnostiquer. Ensuite, il communique les données vers la terre pour analyse et établissement du diagnostic. Dans ces conditions, il faut concilier plusieurs exigences : communiquer un minimum d'information, mais en communiquer assez pour permettre à un médecin de faire le diagnostic, ou naviguer dans les données reçues pour choisir la vue la plus adaptée à cet effet.
Les systèmes 2D connus sont inapplicables dans de telles situations, car ils impliquent le choix judicieux, dès l'acquisition des données, de la vue appropriée au diagnostic. La présente invention vient améliorer la situation.
A cet effet, selon un premier aspect de l'invention, on propose un procédé de traitement de données d'images comportant les étapes :
- recevoir un premier ensemble de données d'images échographiques représentant un volume donné, cet ensemble étant organisé selon des premiers plans partageant un segment commun ;
- reconstituer, à partir du premier ensemble de données, un deuxième ensemble de données d'images représentant au moins en partie le volume donné, ce deuxième ensemble étant organisé selon des deuxièmes plans parallèles les uns aux autres.
Ce procédé permet l'interprétation d'un examen échographique réalisé à distance, par exemple en utilisant un porte sonde 2D. L'expert a la possibilité à distance ou a posteriori (après le départ du patient) de naviguer dans le volume d'images échographiques 2D capté lors de la mise en mouvement de la sonde sur le patient.
On réalise une acquisition de données de manière très simple, tout en permettant de corriger d'éventuelles imprécisions de manipulation par navigation dans des données plus légères que celle d'un système 3D.
Le passage à des plans parallèles permet un stockage et des calculs plus aisés que dans l'art antérieur. Ainsi, l'invention permet une navigation totalement libre dans un bloc d'images échographiques.
En outre, la présente invention ne nécessite pas d'investissement important car elle peut reprendre les sondes échographiques 2D existantes.
Dans une utilisation avantageuse, les images sont acquises par un porte sonde « tuteur ». Un tel porte sonde permet la rotation de la sonde autour d'un point de la surface sur laquelle la sonde est disposée. Le porte sonde permet d'obtenir, même étant manipulé par un non initié, une séquence d'images régulières centrée sur la position initiale de la sonde. Une localisation approximative est compensée par la possibilité de plusieurs saisies proches permettant à l'expert de réaliser un diagnostic fiable. Selon l'invention, la tolérance à l'imprécision du positionnement de la sonde est plus grande que dans l'art antérieur puisque la navigation dans le volume permet un repositionnement correct par rapport à l'organe
visualisé, pour déceler une pathologie éventuelle. De plus, la navigation permet un déplacement plus libre, une focalisation plus précise sur la cible, et un examen suivant tous les points de vue. Le médecin est ainsi assuré d'avoir accès à toutes les vues possibles.
On permet donc, à partir de n'importe quel échographe 2D, d'accéder à des fonctionnalités de navigation 3D. La présente invention est implantable sur n'importe quel échographe 2D existant.
Avantageusement, dans un souci de réduire encore le volume des données à traiter, on peut en outre prévoir la sélection d'une région d'intérêt dans le volume donné, et prévoir que le deuxième ensemble de données représente cette région d'intérêt.
Dans des réalisations avantageuses, chaque deuxième plan est reconstitué par l'association de segments extraits des premiers plans, et les segments extraits appartiennent à un même plan perpendiculaire au plan bissecteur de ceux des premiers plans qui forment l'angle direct le plus grand.
Cette disposition permet un passage des plans en secteur d'angle aux plans parallèles de sorte à ne pas mettre en œuvre des calculs trop complexes tout en gardant une précision suffisante pour la navigation dans les données.
La navigation peut être réalisée en prévoyant que l'on reconstitue un plan quelconque de la partie du volume donné en juxtaposant un ensemble de segments d'intersection de ce plan avec les deuxièmes plans.
En outre, on peut prévoir que les plans reconstitués comportent des segments interpolés entre les segments extraits.
La présente invention a encore pour objet un programme informatique comportant des instructions pour la mise en œuvre du procédé selon l'invention lorsque le programme est exécuté par un processeur, par exemple, le processeur d'un système de traitement d'images. La présente invention vise aussi un support lisible par un ordinateur sur lequel est enregistré un tel programme d'ordinateur.
Selon un second aspect de l'invention, on prévoit un système de traitement de données d'images échographiques comportant :
- des moyens de réception d'un premier ensemble de données d'images échographiques représentant un volume donné, cet ensemble étant organisé selon des premiers plans partageant un segment commun ;
- des premiers moyens de stockage pour le traitement de ces données ; et
- un module de traitement adapté pour reconstituer, à partir du premier ensemble de données, un deuxième ensemble de données d'images représentant au moins en partie ledit volume donné, ce deuxième ensemble étant organisé selon des deuxièmes plans parallèles les uns aux autres.
En outre, le système peut comporter des deuxièmes moyens de stockage pour recevoir le deuxième ensemble de données, et le module de traitement peut être adapté pour reconstituer un plan quelconque de ladite partie du volume donnée en juxtaposant un ensemble de segments d'intersection dudit plan avec les deuxièmes plans.
Dans des réalisations particulières, le système peut comporter des moyens d'affichage pour afficher le plan quelconque, et/ou des moyens de communication pour transmettre le deuxième ensemble de données d'images.
Les avantages procurés par le programme informatique, et le système de traitement de données d'images, tels que succinctement exposés ci-dessus, sont au moins identiques à ceux mentionnés plus haut en liaison avec le procédé de traitement de données d'images selon l'invention.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des figures annexées parmi lesquelles: la figure 1 illustre le système de traitement d'images selon un mode de réalisation de l'invention dans un contexte d'utilisation ; la figure 2 illustre des étapes d'un mode de réalisation du procédé selon l'invention ; les figures 3 à 6 illustrent diverses représentations d'un volume échographié mises en œuvre par le procédé ; la figure 7 illustre une vue quelconque du volume échographié ; la figure 8 illustre les cas de figure pour une rotation du plan de visualisation ; la figure 9 illustre une interface homme machine selon un mode de réalisation de l'invention.
Une vue en 3D est souvent représentée par une suite d'images 2D contiguës. Une telle suite comporte un ensemble d'images représentant des coupes parallèles ou sectorielles du volume considéré.
Afin de proposer une navigation en temps réel fluide, il convient d'établir des limites au volume des données qui doivent être traitées. En effet, le traitement d'images nécessite l'utilisation d'une quantité importante de la mémoire vive de l'ordinateur le mettant en œuvre.
Une bonne fluidité permet un rafraîchissement de l'écran sur lequel les images sont affichées suffisamment rapide lors d'un déplacement. Cela permet une navigation générant une suite d'images sans discontinuité ni instabilité (par exemple, une période de rafraîchissement (« frame rate ») de 5 images par seconde permet un bon confort de navigation).
Dans la suite, on présente la visualisation en deux étapes. Tout d'abord, l'élaboration d'un volume représentant l'objet échographié, puis la navigation dans ce volume.
Le procédé selon l'invention permet d'effectuer les tâches suivantes : Sélection d'une zone d'intérêt,
Elaboration de la matrice de points image du volume d'images sectoriel, Navigation à l'intérieur de ce volume.
Les deux premiers points constituent une phase de pré-traitement et ne doivent donc pas excéder un certain temps de calcul. En effet, une attente dépassant les 2 ou 3 minutes paraît trop longue pour l'utilisateur. Dans une réalisation avantageuse, on vise un prétraitement n'excédant pas 1 minute.
Que cela soit pour le temps de calcul, ou pour une limite de mémoire vive, le volume de données traitées ne doit pas excéder un certain seuil qui dépend évidemment des caractéristiques de la machine sur laquelle sera mis en œuvre le procédé. Pour améliorer les possibilités, nous avons choisi de réaliser le stockage des données ainsi que leur utilisation de manière fragmentaire. En effet, le volume calculé serait trop dense pour être traité intégralement.
Un objectif de l'invention est donc de concilier deux facteurs contradictoires : maximiser la qualité de l'image produite et minimiser les temps de calcul.
En référence à la figure 1, on décrit un contexte général de mise en œuvre de l'invention. Une sonde échographique SOND est placée à la surface SURF sous laquelle se trouve un objet OBJ à visualiser. Par exemple, il s'agit d'un organe d'un patient. Par exemple encore, la sonde est portée par un robot « tuteur ». La sonde est posée en un point de la surface puis mise en rotation autour de l'axe AX de cette surface. La sonde acquiert ainsi un ensemble de plans formant le champ de visualisation CHMP. Bien sûr, le mouvement de la sonde est tel que l'objet à visualiser se trouve dans le champ.
La sonde transmet les images au système de traitement SYS, pour réaliser le procédé tel que décrit dans la suite, le système peut être couplé à un écran ECR pour visualiser et éventuellement naviguer dans le volume de données délivré par le système. Il peut également être couplé à un autre système de navigation distant, via un port de communication COM.
Le système comporte une entrée E pour recevoir les données d'image, un processeur PROC pour traiter les données. Il comporte en outre des mémoires MEMl et MEM2 pour le stockage d'informations. Par exemple MEMl constitue la mémoire vive du système et MEM2 constitue un moyen de stockage durable. Enfin, le système comporte des sorties S et COM qui constituent respectivement une sortie directe, par exemple vers l'écran, et un port de communication (avec ou sans fil).
Le système met en œuvre un programme d'ordinateur qui peut être implémenté selon l'organigramme de la figure 2, et de la description du mode de réalisation du procédé donnée ci-après.
En référence à la figure 2, on résume les étapes du mode de réalisation du procédé selon l'invention qui va être décrit plus en détails dans la suite.
Dans une première étape S20, on obtient un ensemble de plans acquis par la sonde. Ensuite, on sélectionne, à l'étape S21, une région d'intérêt dans les images pour focaliser les traitements sur cette région. Comme on le verra par la suite, afin de passer d'une représentation sectorielle de la région d'intérêt à une représentation par plans parallèles, on extrait des segments avantageusement choisis des images acquises à l'étape S22.
A partir de ces segments, on réalise une extrapolation, à l'étape S23 pour reconstituer les plans parallèles. L'ensemble de ces plans est ensuite stocké en mémoire à l'étape S24 pour transmission, sauvegarde, ou pour navigation.
Dans la suite, on revient en détails sur ces différentes étapes.
Sélection d'une zone d'intérêt
La sonde, qui capte les images reste sur un point fixe et effectue un balayage en prenant un faisceau d'images régulièrement espacées, c'est à dire formant entre deux images consécutives des angles constants.
Des logiciels de navigation dans une section angulaire ont déjà été développés, mais ils ne traitent pas tout le volume acquis, us limitent le traitement à un parallélépipède inclus dans le secteur angulaire. Ici, au contraire, toutes les données sont prises en compte, et l'on se propose de reconstituer le parallélépipède qui englobe le secteur angulaire fourni.
La figure 3 illustre un tel parallélépipède P. Sur cette figure, on retrouve les plans issus de la sonde Pl, P2, P3, P4, P5. us forment un secteur angulaire d'angle A.
Notre objectif principal étant d'obtenir une bonne fluidité dans la navigation, le volume d'informations traitées doit être le plus léger possible. On ne conserve donc que les zones d'intérêt de l'image.
Cette phase s'effectue manuellement, par exemple par sélection via une souris ou un stylet sur un écran, pour la première image de la série à partir d'une proposition par défaut qui peut être validée ou modifiée par l'utilisateur puis automatiquement pour toutes les autres images de la séquence.
Elaboration du volume
L'élaboration du volume permettant la navigation spatiale doit associer une bonne gestion de la mémoire à une constitution permettant une exploitation efficace.
Une vision simple, et donc permettant des temps de calcul optimaux lors de la navigation, est un volume basé sur un repère cartésien (x,y,z) représentant respectivement largeur, longueur et hauteur.
Pour une bonne gestion de la mémoire, le volume ne sera pas stocké et utilisé dans sa globalité, il sera fractionné. Ces informations seront donc organisées sous la forme d'une suite d'images représentant chacune une « altitude » du volume. Une telle organisation est illustrée par la figure 4. Sur cette figure, on retrouve le parallélépipède P. Cette fois, le volume est
représenté par les plans PA, PB, PC, PD, PE, répartis parallèlement selon l'axe z. Le repère (x, y, z) est tel que le plan (y, z) est parallèle au plan bissecteur des plans Pl et P4 de la figure 3.
L'élaboration du volume par une suite d'images contiguës parallèles permet un traitement plus facile que dans le cas d'images angulaires où les coordonnées cartésiennes de points ne sont pas régulièrement réparties dans l'espace.
Pour construire chacune des nouvelles images (c'est-à-dire les plans PA, ..., PE), l'ensemble des images de la série angulaire est inspecté. On extrait de chacune de ces images le segment de droite correspondant à la hauteur (sur l'axe z) de la coupe axiale en tenant compte du décalage engendré par l'angle du plan.
Une telle extraction est illustrée sur la figure 5. Les segments extraits SEG sont juxtaposés, mais apparaissent plus ou moins espacés selon la hauteur de la section axiale traitée. Plus on s'éloigne de la base de la section angulaire, plus l'espacement est grand. Cet espacement dépend du nombre d'images de l'ensemble d'acquisition, ainsi que de l'angle choisi lors de la capture des données.
Si l'espacement entre la première et la dernière droite est inférieur au nombre de droites (ce qui arrive au sommet de la section angulaire), on choisit les droites médianes de chaque ensemble de droites qui se superposent. Si l'espace est supérieur au nombre de droites, les espaces sont remplis avec la valeur non nulle la plus proche sur la coupe longitudinale.
Cette disposition d'extrapolation, est illustrée par la figure 6.
Navigation
La navigation doit permettre d'obtenir une vue plane dans l'espace 3D avec n'importe quelle positon possible (profondeur, angle ...), comme illustré par la figure 7. Sur cette figure, le plan de visualisation est quelconque, c'est-à-dire qu'il peut ne pas correspondre à l'un des plans PA, ..., PE
Cette navigation est basée sur la variation de 5 paramètres définissant 2 rotations (suivant l'axe des x ou suivant l'axe des y) et 3 translations (dans la direction de l'axe des x, de l'axe des y ou de l'axe des z).
Pour générer l'aperçu, on effectue un balayage de toutes les images représentant une coupe axiale, et on extrait de chacune une ou plusieurs droites. Ces droites juxtaposées les unes aux autres génèrent l'image proposée à l'utilisateur.
La rotation autour de l'axe x va modifier la coupe utilisée, ou le choix de la droite extraite d'une coupe donnée pour chacune des colonnes de l'image résultat. La rotation autour de l'axe y a le même effet pour les lignes. D'un point de vue mathématique le problème est très symétrique.
Du point de vue du traitement informatique, on peut distinguer plusieurs cas de manière à utiliser des paramètres variant sur un intervalle fini [-1,+I] plutôt que d'utiliser classiquement la tangente de l'angle caractérisant le plan de visualisation dans le repère. En effet, celle-ci varie sur un domaine infini. Ainsi, il est possible de traiter différemment les plans de pentes faibles et les plans de pentes les plus fortes (inférieures ou supérieures à un angle de 45° formé avec l'horizontal). La figure 8 illustre les deux cas distingués.
De cette manière le coefficient directeur de l'équation représentant la pente est toujours compris entre -1 et 1.
Les translations se traduisent par l'incrémentation des coordonnées respectives des points, ce qui translate le plan d'observation dans le volume selon la direction souhaitée.
Les rotations s'opèrent à partir du centre de l'image reconstruite Une croix marque le point de rotation central du navigateur. Une fois l'organe centré sur cette croix (par translation Ox Oy et Oz) les 2 rotations permettront de balayer l'ensemble de l'organe sans jamais risquer de le perdre.
Une fois l'aperçu calculé, une interpolation est effectuée pour compléter les points calculés en une image de qualité. Cette opération de raffinement de l'image n'est exécutée que si l'utilisateur reste sur une même position plus d'une demi-seconde. La visualisation première est suffisante et permet d'assurer une meilleure fluidité de navigation.
Le raffinement consiste à inclure une nouvelle ligne entre les lignes extraites de deux coupes différentes. Les pixels de cette nouvelle ligne sont calculés en faisant la moyenne des pixels 8-voisins non nuls.
Résultats
Dans la suite on présente certains résultats obtenus par la mise en œuvre du procédé présenté ci-avant par un ordinateur comportant un processeur à 3Ghz et 512 Mo de RAM.
Les volumes de données sont utilisés sont les suivants :
100 images de 140x140 (2 millions de pixels), 170 images de 235x235 (9.3 millions de pixels), 180 images de 245x245 (10.8 millions de pixels).
Pour ce qui est du pré-traitement, les résultats dépendent de la densité des images traitées ainsi que de la densité des images produites. C'est pour cela que le volume est calculé à une densité limitée et paramétrée.
La densité des images en entrée dépend des choix de l'utilisateur qui a extrait ces images de l'échographe.
Il n'est pas nécessaire d'avoir un nombre de pixels fournis par l'échographe beaucoup plus important que le nombre de voxels produits par le présent procédé. Puisque le volume produit est de moins de 10 millions de pixels, le nombre de pixels fournis (égal au nombre d'images multiplié par leur hauteur multiplié par leur largeur en pixels) doit être dans le même ordre de grandeur, après recadrage de la région d'intérêt.
Les tests ont montré que le pré-traitement prenait moins d'une minute si l'ensemble des images fournies par l'échographe ne dépassait pas les 10 millions de pixels. Le nombre d'images est un facteur important dans le temps de calcul. Celles-ci ne doivent donc pas dépasser le nombre de 100 pour conserver de bonnes performances (ce qui donne par exemple 95 images de 320x320 pixels ou 60 images de 400x400 pixels).
Tableau 1 : temps de pré-traitement
Lors de la navigation, le frame rate est très dépendant de la densité du volume. Pour 2 millions de pixels, il varie entre 17 fps et 28 fps. Pour 9,3 millions de pixels il varie entre 7 fps et 11 fps, ce qui est suffisant pour naviguer de manière fluide.
Tableau 2 : fluidité de la navigation
Les résultats en termes de temps de pré-traitement et de fluidité sont très bons. Les ordinateurs étant de plus en plus puissants, la finesse de l'image traitée ainsi que celle de l'aperçu de la navigation vont être de plus en plus précises. Les limites fixées de la précision des images fournies ainsi que du volume produit sont donc en constante évolution.
Interface homme/machine
Pour assurer l'adaptabilité et une utilisation intuitive de l'interface pour une personne habituée à travailler avec une sonde échographique, une interface particulière, illustrée sur la figure 9, a été développée.
L'interface est donc composée du plan de coupe calculé Pcalc, des outils ROT et TRANS permettant de modifier les 5 variables de navigation (3 translations et 2 rotations) ainsi que d'une visualisation VISU de la position, dans l'espace 3D, du plan observé. Une croix CX marque le point de rotation central du navigateur. Une fois l'organe centré sur cette croix (par translation Ox Oy Oz) les 2 rotations permettront de balayer l'ensemble de l'organe sans jamais risquer de le perdre.
Il est possible de choisir le nombre de pixels qui composeront le volume produit dans les options du logiciel. L'utilisateur peut ainsi adapter le temps de calcul à la machine utilisée, ainsi qu'à la finesse du résultat qu'il souhaite.
II peut être ajouté un « décimeur » d'images, permettant de réduire la taille et le nombre d'images en entrée, si celles-ci sont trop denses, pour ne pas traiter un nombre excessif de pixels.
Le logiciel peut être programmé dans le langage Java pour être utilisé sur n'importe quel type de machine.