INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
L’étape de localisation LO est, par exemple, réalisée par moyenne pondérée de l’intensité des pixels/voxels voisins, par interpolation, par exemple à l’aide d’un kernel Gaussien, Cubique, Spline, ou Lanczos, par ajustement d’une fonction gaussienne plus connu sous le nom de « gaussian fit », par un algorithme utilisant la symétrie radiale du signal d’une microbulle isolée, ou plus généralement d’un agent de contraste isolé, et qui permet de calculer explicitement la position comme le point minimisant la distance aux lignes de courant du gradient spatial par ou toute autre méthode équivalente. Les méthodes d’interpolation et d’ajustement gaussien sont précises. Les méthodes utilisant une moyenne pondérée sont précises.
L’étape de suivi des microbulles SU, plus connue sous le nom de « tracking » en terminologie anglo-saxonne, est par exemple mise en œuvre en utilisant la méthode du plus proche voisin, ou « nearest neighbor » en terminologie anglo-saxonne, qui consiste à attribuer à chaque microbulle du sous bloc SB ij , la microbulle du sous-bloc SB ij+1 dont la distance est la plus proche ; ou encore en utilisant l’algorithme de Kuhn Munkres aussi appelée méthode Hongroise et qui consiste à minimiser la somme des distances entre toutes les microbulles du sous bloc (i,j) et toutes les microbulles du sous bloc (i,j+1). Il est également possible de combiner ces approches avec des filtres de Kalman pour intégrer des a priori à ces méthodes de suivi.
Le traitement de bloc TB i peut bien évidemment comprendre d’autres étapes.
Il peut, par exemple comprendre une étape de correction des positions des microbulles pouvant être réalisée en parallèle d’autres étapes de l’étape de traitement de bloc TB i et comprenant une étape d’estimation des déplacements (par exemple dus à la respiration du patient) et une étape de correction utilisant ces déplacements pour corriger des images élémentaires ou des images améliorées ou directement des positions des microbulles calculées lors de l’étape de location.
Le traitement de bloc peut comprendre une étape de correction d’aberrations diverses dues à la propagation des ultrasons à travers des tissus biologiques, par exemple le crâne ou une couche de gras. Ces corrections peuvent par exemple utiliser les microbulles pour déterminer une loi d’aberration générale et l’utiliser pour corriger les délais lors de la combinaison COMB.
Le procédé peut comprendre une étape de traitement des trajectoires des microbulles pour corriger des artefacts d’échantillonnage spatiaux et temporels.
Les étapes de reconstruction RE et REG sont, par exemple, réalisées par accumulation.
On définit, par exemple, un maillage de l’espace en voxels de taille prédéfinie, et on incrémente la valeur de chaque voxel à chaque fois qu’un agent de contraste, par exemple une microbulle, est détecté dans ce voxel lors des étapes de suivi du traitement de bloc TB i ou lors des étapes de suivi des premiers traitements TB i avec i = 1 à N. créant ainsi une représentation du volume sanguin dans le champ d’observation. Il est également possible pour chaque voxel de représenter la vitesse moyenne des microbulles l’ayant traversé.
: une étape d’acquisition d’un sous-bloc de données,
: un exemple agencement temporel des étapes d’acquisition et de traitement de bloc d’un bloc de données du procédé selon l’invention,
: un exemple d’étape de traitement du procédé selon l’invention,
: sous forme de bloc, les éléments matériels d’un exemple de système configuré pour mettre en œuvre le procédé selon l’invention.
Description de l’invention L’invention se rapporte à un procédé d’acquisition et de traitement des ondes ultrasonores. Ce procédé est, par exemple, destiné à l’imagerie super-résolution. Ce procédé est avantageusement, mais non nécessairement un procédé d’imagerie super-résolution. L’invention se rapporte également au système d’acquisition et de traitement configuré pour mettre en œuvre le procédé.
Avantageusement, le système d’acquisition et de traitement comprend les moyens matériels et logiciels configurés pour mettre en œuvre le procédé.
Ce procédé est avantageusement, mais non nécessairement, mis en œuvre après une étape d’injection en intraveineuse à un individu d’un produit de contraste comprenant des agents de contrastes individuels, par exemple, sous forme de microbulles de gaz. Ces agents de contraste injectés dans le corps sont de type exogène.
En variante, le procédé est mis en œuvre sans qu’une étape d’injection de ce type ait été mise en œuvre au préalable, en utilisant des agents de contraste endogènes, par exemple des globules rouges.
Le procédé comprend l’acquisition et le traitement séquentiel d’ondes ultrasonores de N blocs de données brutes ultrasonores B i avec i = 1 à N où N est le nombre de blocs de données brutes ultrasonores B i acquis et traités.
Acquisition Le procédé comprend une étape d’acquisition séquentielle A des blocs de données brutes ultrasonores B i .
Cette étape est mise en œuvre par un système d’acquisition SA comprenant une sonde S comprenant un réseau R de transducteurs TR référencé en . Il est possible de définir des sous-ouvertures du réseau R, chaque sous-ouverture composée chacune d’un ou plusieurs de transducteurs TR du réseau R.
Comme visible en , on définit une sous-ouverture d’émission SOo et une sous-ouverture de réception SOo’ qui définissent une configuration d’émission/réception C h est caractérisée par un couple (SOo, SOo’). La sous-ouverture de réception SOo’ peut être différente ou identique à la sous-ouverture d’émission SOo. Les couples de sous-ouvertures de différentes configurations C h sont différents.
Dans l’exemple non limitatif de la , la sous-ouverture d’émission SOo est la sous-ouverture de réception SOo’.
L’acquisition d’un bloc de données ultrasonores B i comprend la répétition, de préférence un grand nombre de fois, d’une séquence d’acquisition individuelle si hk comprenant les étapes suivantes représentées sur la : Emission E hk d’un faisceau ultrasonore W k par la sous-ouverture d’émission SOo du réseau R de transducteurs TR (référencés sur la ), Réception R hk d’échos émis par le milieu environnant sous l’effet du faisceau ultrasonore W k par la sous-ouverture de réception SOo’ du réseau R de transducteurs TR de sorte à générer des signaux électriques, Prétraitement PT kh , mis en œuvre par ordinateur, par le système d’acquisition, comprenant la numérisation des signaux électriques de façon à générer un jeu de données élémentaires RF ij hk , et possiblement (mais non obligatoirement) une ou plusieurs autres opérations réalisées sur les échos reçus, telles qu’une étape de filtrage et/ou une étape de démodulation (suppression porteuse) et/ou une étape de compensation de gain de temps plus connu sous le nom de TGC en référence à l’expression anglo-saxonne « Time Gain Compensation » et/ou de ré-échantillonage des signaux numérisés.
Les échos reçus sont représentés, sur la , sous forme d’une pluralité de signaux temporels correspondant à l’évolution, dans le temps, du signal reçu par chacun des transducteurs de la sous-ouverture de réception SOo’.
Le jeu de données élémentaires RF ijhk est représenté, sur la , sous forme d’un tableau sur la . Il comprend un échantillonnage temporel du signal reçu par chacun des transducteurs de la sous-ouverture de réception. Chaque case correspond à un échantillon temporel d’un des transducteurs de la sous-ouverture de réception. La case comprenant le rond noir correspond à l’échantillon temporel marqué par un rond noir.
Afin de générer un nombre égal à N blocs de données B i , on répète N-1 fois l’étape d’acquisition A i d’un bloc de données brutes B i . On obtient ainsi un ensemble noté B, tel que B = {B 1 , …, B i , …, B N } de blocs de données brutes B i . L’étape A i d’indice i correspond à la mise en œuvre, pour la i em e fois, de l’étape d’acquisition A i d’un bloc de données brutes et permet d’acquérir le bloc de données B i d’ordre i.
Sur la , on a représenté deux configurations d’émission/réception C 1 et C 4 de la sonde ultrasonore S. La configuration C 1 est caractérisée par une sous-ouverture d’émission SO 1 qui est également la sous-ouverture de réception de cette même configuration C 1 . La configuration C 4 est caractérisée par une sous-ouverture d’émission SO 4 qui est également la sous-ouverture de réception de cette même configuration C 4 .
On a également représenté les étapes d’émission E hk des séquences d’acquisition individuelles si 1k et si 4k (avec k = 1 à 5) mises en œuvre lors de séquences d’acquisition élémentaires se 1 et se 4 utilisant les configurations d’émission/réception C 1 et C 4 respectives ainsi que les jeux de données élémentaires RF ijhk générés lors de ces séquences d’acquisition élémentaires.
Sur la , on a représenté, dans l’ordre temporel représenté par l’axe temporel t, les différentes étapes mises en œuvre lors de l’acquisition et le traitement de deux blocs de données B i et B i+1 acquis consécutivement.
Chaque bloc de données brutes B i comprend un nombre J de sous-blocs de données SB ij avec j = 1 à J, où J est un entier supérieur ou égal à 1, acquis lors des J mises en œuvre respectives de l’étape sb j d’acquisition d’un sous bloc de données SB ij .
Comme visible en , les données du bloc de données brutes B i sont mémorisées, lors d’une étape m i de mise en mémoire m i . Cette étape est avantageusement mise en œuvre pendant l’étape d’acquisition A i du bloc de données B i d’ordre i, pour la génération du bloc de données B i d’ordre i.
Dans une réalisation particulière de l’invention, cette étape de mise en mémoire m i comprend les étapes de stockage MEM hk mises en œuvre lors de l’étape Ai d’acquisition du bloc de données B i .
Traitement séquentiel Le procédé selon l’invention comprend une étape de traitement séquentiel des blocs de données B i mise en œuvre par ordinateur, par un système de traitement, par exemple, un dispositif de traitement DT, comme nous le verrons dans la suite du texte.
L’étape de traitement séquentiel comprend, pour au moins un bloc de données B i et, de préférence, pour chaque bloc de données B i , la mise en œuvre, par ordinateur, d’une étape de traitement de blocTB i d’ordre i du bloc de données B i , appelé traitement de bloc TB i du bloc de données d’ordre i ou traitement de bloc TB i d’ordre i ou traitement de bloc dans la suite du texte.
Selon l’invention, comme représenté en , le traitement de bloc TB i d’un bloc de données B i d’ordre i inférieur à N est mis en œuvre pendant l’étape d’acquisition A i+k du bloc de données B i+k d’ordre i+k avec k entier supérieur ou égal à 1, i+k étant inférieur ou égal à N.
Autrement dit, l’étape de traitement de bloc TB i d’un bloc de données B i d’ordre i inférieur à N est mis en œuvre au moins en partie pendant l’étape d’acquisition A i+k du bloc de données B i+k d’ordre i+k avec k entier supérieur ou égal à 1, i+k étant inférieur ou égal à N.
Dans l’exemple non limitatif de la , k est égal à 1 de sorte que le traitement de bloc TB i du bloc de données B i d’ordre i est mis en œuvre pendant l’étape d’acquisition A i+1 du bloc de données B i+1 . Autrement dit, l’étape de traitement de bloc TB i du bloc de données B i d’ordre i est mis en œuvre pendant l’acquisition A i+1 du bloc de données B i+1 d’ordre i+1 acquis consécutivement au bloc de données B i d’ordre i.
L’invention consiste donc à traiter un bloc de données B i d’ordre i pendant une acquisition postérieure d’un autre bloc de données B i+k , par exemple, pendant l’acquisition du bloc suivant, c’est-à-dire d’ordre i+1. Un avantage est de limiter, voire d’éliminer les temps morts lors de l’acquisition.
Par ailleurs, une fois le traitement de bloc d’un bloc de données effectué, les données issues de ce traitement de bloc peuvent être transférées vers un périphérique d’affichage pour procurer un retour visuel en temps réel à l’utilisateur. Le procédé permet donc de limiter les temps morts avant l’affichage de données générées à partir des données brutes acquises.
Ainsi, selon un mode particulier de réalisation, l’étape de traitement de bloc TB i comprend, pendant l’acquisition A i+k du bloc de données B i+k d’ordre i+k, l’affichage AFF i , sur un afficheur d’une interface de sortie INTS d’une interface homme-machine INT, référencées sur la , d’une représentation d’une information issue de données générées lors du traitement de bloc TB i d’ordre i.
Enfin, le procédé selon l’invention permet, si besoin d’effacer, c’est-à-dire de supprimer, les données brutes des blocs de données brutes B i au fil de l’eau après la mise en œuvre des traitements de blocs TB i respectifs. Cela permet de réduire davantage les coûts en termes de durée et de mémoire.
Lorsque le traitement de bloc TB i comprend une étape de localisation ou de suivi de positions des microbulles sur des images générées à partir des sous-blocs de données du bloc B i , les données obtenues sont très peu volumineuses puisqu’elles consistent en des positions successives des différentes microbulles. Ces données peuvent être transférées vers une mémoire interne, c’est-à-dire une mémoire morte, du système de traitement, par exemple du dispositif de traitement, tel qu’un micro-ordinateur, sans impacter ou ralentir le reste du procédé.
La mise en œuvre du traitement de bloc TB i d’un bloc de données B i d’ordre i inférieur à N pendant l’acquisition A i+k du bloc de données B i+k d’ordre i+k avec k entier supérieur ou égal à 1, i+k étant inférieur ou égal à N, peut être réalisée pour un ou plusieurs blocs de données d’ordres i différents, par exemple pour tout i inférieur ou égal à N-k. Cela s’applique à tous les modes de réalisation précédemment décrits et décrits ci-après.
Ainsi, dans le cas d’une mise en œuvre pour tout i inférieur ou égal à N-k, cela signifie que le traitement de chaque bloc de données de données B i d’ordre i inférieur N-k est mis en œuvre pendant l’acquisition A i+k du bloc de données B i+k d’ordre i+k avec k entier supérieur ou égal à 1, i+k étant inférieur ou égal à N. Cela permet d’améliorer les avantages de l’invention.
Avantageusement, pour au moins un i, le traitement de bloc TB i du bloc de données B i d’ordre i débute pendant l’acquisition A i+ k du bloc de données B i+ k d’ordre i+k et se termine pendant l’acquisition du bloc de données B i+l d’ordre i+l avec l inférieur ou égal à N-i. Ainsi le traitement du bloc d’ordre i est terminé avant l’acquisition du bloc de données d’ordre i+l. Cela permet de rendre disponibles plus rapidement les données générées pendant le traitement de bloc et de limiter l’espace mémoire à la conservation des données de l’acquisition du bloc i.
Dans la réalisation particulière de la , k = 1. Cela permet de limiter au maximum le délai entre l’acquisition des données et le début du traitement des données.
Dans la réalisation particulière de la , le traitement de bloc TB i du bloc de données B i d’ordre i débute pendant l’acquisition A i+1 du bloc de données B i+1 d’ordre i+1 et est moins long que l’acquisition A i+1 du bloc de données B i+1 d’ordre i+1. En d’autres termes, le traitement de bloc TB i du bloc de données B i d’ordre i est mis en œuvre uniquement pendant l’acquisition A i+1 du bloc de données B i+1 . Cela permet de limiter au maximum le délai de génération des résultats finaux du traitement de bloc TB i et donc leur délai d’affichage, ou plus généralement leur mise à disposition d’un utilisateur. Cela donne également la possibilité de limiter au maximum le temps de latence entre la fin de l’acquisition B i+1 d’un bloc de données d’ordre i+1 et le traitement du bloc de données B i+1 d’ordre i+1, car le traitement du bloc de données d’ordre i est terminé. L’affichage permet de fournir à l’utilisateur un moyen de rétroaction sur l’acquisition, en particulier pour l’aider à maintenir un positionnement stable.
Avantageusement, pour tout i inférieur ou égal à N-k, le traitement de bloc TB i du bloc de données B i d’ordre i débute pendant l’acquisition A i+k du bloc de données B i+k d’ordre i+k et se termine pendant l’acquisition du bloc de données B i+k d’ordre i+k. Ainsi, le traitement du bloc de données B i d’ordre i est terminé avant l’acquisition du bloc de données d’ordre i+k. Un avantage est de permettre de fournir à l’utilisateur des données obtenues pendant l’acquisition des différents blocs de données. Cela permet, par exemple, de reconstruire au fil de l’eau l’image finale et donc de suivre son évolution lors de l’acquisition des données.
En variante, pour au moins un i ou pour tout i tel que i+k inférieur ou égal à N, le traitement du bloc de données B i d’ordre i qui débute pendant l’acquisition du bloc B i +k d’ordre i+k, se termine après l’acquisition du bloc de données B i+k d’ordre i+k.
Les étapes de traitement de bloc sont mises en œuvre dans l’ordre définir par l’ordre d’acquisition des blocs de données d’ordre i ou non.
Traitement de bloc En , on a représenté un ordinogramme des étapes d’un exemple de traitement T comprenant la mise en œuvre, pour chaque bloc B i , de données d’ordre i, d’une étape de traitement de bloc TB i correspondant à une étape de traitement super-résolution.
L’étape de traitement de bloc TB i comprend , pour chaque sous-bloc de données SB ij , un raitement élémentaire TB ij , comprenant les étapes listées ci-après, mises en œuvre par ordinateur : Combiner COMB des données du sous-bloc de données SB ij , pour générer une image élémentaire IE ij , Améliorer AM les signaux provenant des microbulles, de sorte à générer une image élémentaire améliorée IA ij à partir de l’image élémentaire IE ij , Détecter DE des microbulles sur l’image élémentaire améliorée IA i i de sorte à obtenir un ensemble de positions P ijm de microbulles MI ij m détectées sur l’image élémentaire améliorée IA ii , Localiser LO les microbulles détectées de sorte à générer un ensemble de positions sub-pixels ou sub-voxels de microbulles PSi jm avec m= 1 à M avec M entier supérieur ou égal à 0.
Les étapes de traitement élémentaire TB ij pour un i donné sont mises en œuvre dans l’ordre temporel défini par les ordres j d’acquisition des sous-blocs de données élémentaires SB ij ou dans un autre ordre temporel.
L‘étape de combinaison COMB permet de passer de l’espace des temps à l’espace des distances. L’image élémentaire est, par exemple, bidimensionnelle ou tridimensionnelle.
Par image élémentaire IE ij , on entend un maillage de pixels ou de voxels dont les intensités respectives sont représentatives de propriétés acoustiques du milieu environnant de la sonde en des coordonnées respectives. Les coordonnées d’un pixel ou d’un voxel représentent une position par rapport à la sonde d’un point du milieu environnant.
Le traitement de bloc TB i du bloc de données B i d’ordre i comprend ensuite une étape de suivi temporel SU des microbulles MI ijm sur les différentes images élémentaires améliorées IA ij (avec j = 1 = J) générées pour le bloc de données B i ou sur au moins une partie de ces images élémentaires améliorées de sorte à obtenir des ensembles de positions des agents de contraste, par exemple des microbulles.
Par exemple, en supposant que l’on suit les microbulles sur toutes les images élémentaires améliorées IA ij (avec j = 1 = J) et qu’aucune microbulle ne disparaît, on obtient J positions PS ijm pour chacune des M microbulles Mi m détectées.
Par suite, par images ultrasonores super-résolution, on entend des images présentant une résolution plus fine que la limite de diffraction des utilisées lors de l’acquisition des ondes ultrasonores utilisées pour générer les images. Typiquement, les images générées présentent une résolution améliorée d’un facteur entre 2 et 20 par rapport à cette limite de diffraction.
L’imagerie ultrasonore super-résolution est classiquement basée sur l’injection, dans le sang, d’agents de contraste ultrasonores sous forme de millions de microbulles de gaz qui sont détectées, localisées et suivies sur des images successives de façon à générer une image reconstruire des vaisseaux imagés.
Dans la littérature, les terminologies anglo-saxonnes Ultrasound Localization Microscopy ou ULM ainsi que toutes ses variations, par exemple ultrafast ULM ou uULM ; transcranial ULM ou tULM ; sensing ULM ou sULM ; deep ULM ou dULM ; Super Resolution UltraSound SR-US ; Super Resolution Microvascular Imaging ou SR-MI ; sont des procédés de super résolution ultrasonore ayant en commun l’utilisation d’agents de contrastes ultrasonores, une étape de détection des signaux provenant de ces agents de contrastes, et une étape de reconstruction d’une image ultrasonore super-résolue.
État de la technique La génération des images ultrasonores super-résolution comprend la répétition d’une séquence d’acquisition par un dispositif d’acquisition au moyen d’une sonde ultrasonore pour générer des blocs de données successifs. Chaque bloc de données est généré lors d’une séquence d’acquisition.
Chaque séquence d’acquisition comprend la répétition, un grand nombre de fois, d’une séquence d’acquisition élémentaire. Chaque séquence d’acquisition élémentaire permet de générer un sous-bloc de données. Chaque bloc de données est donc composé de plusieurs sous-blocs de données.
Chaque bloc de données est stocké sur une mémoire tampon d’un dispositif d’acquisition puis transmis à une mémoire interne d’un dispositif de traitement avant l’acquisition du prochain bloc de données. La vitesse de transfert et d’écriture sur la mémoire interne de l’ordinateur étant limitée, cette opération peut prendre plusieurs centaines de millisecondes à plusieurs secondes dans le cadre de données 3D qui sont très volumineuses.
Une fois l’acquisition de tous les blocs de données terminée, les blocs de données sont traités bloc par bloc par un dispositif de traitement. Ce traitement commence par le chargement des données depuis la mémoire interne vers la mémoire vive de l’ordinateur, pour connue sous le nom de mémoire RAM, acronyme de l’expression anglo-saxonne « Random Access Memory ». Ensuite, les données sont envoyées de la mémoire RAM vers la mémoire vive d’une unité de traitement graphique ou GPU, acronyme de l’expression anglo-saxonne « Graphics Processing Unit » pour y réaliser les étapes de formation de voies et d’élimination des échos provenant des tissus. Les données sont ensuite rapatriées vers la mémoire RAM de l’ordinateur où sont effectuées des étapes de détection, localisation et suivi temporel des microbulles.
Le procédé comprend ensuite une étape de reconstruction d’une image super-résolution. Cette étape consiste à accumuler les résultats des suivis obtenus pour chaque bloc et pour les différents blocs.
Le traitement d’un bloc de données peut durer plusieurs secondes à plusieurs minutes dans le cadre de données 3D qui sont très volumineuses.
Ce procédé présente un certain nombre d’inconvénients. En effet, l’acquisition d’un nouveau bloc de données doit être stoppée le temps de réaliser l’écriture des données sur la mémoire interne du dispositif de traitement, ce qui ajoute des temps morts dans l’acquisition. Par ailleurs, les résultats du traitement des données ne sont disponibles qu’après l’acquisition de tous les blocs de données, une fois que le traitement des données a débuté. Enfin, des quantités importantes de données brutes (10 Gb – 1000 Gb) doivent être conservées par le dispositif de traitement pendant toute la durée de l’acquisition et pendant une partie du traitement, ce qui peut entraîner une saturation de la RAM. Enfin, des temps de transfert supplémentaires sont introduits lors du traitement le rendant particulièrement long (>1h).