TABLE DES FIGURES

Figure 6 : Activité électrique du coeur couplé à l'ECG en anglais. Onde P : début de la contraction des ventricules (impulsion électrique produite au niveau du noeud sinusal). Ondes QRS : début de la contraction des ventricules (l'impulsion électrique se propage du noeud auriculo-ventriculaire au faisceau de His et au réseau de Purkinje). Onde T : relaxation des ventricules et repolarisation. Intervalle PQ : temps de contraction auriculaire. Intervalle QT : temps de contraction ventriculaires. 8 Figure 34: Example of a built mosaic tree from the tree sequence 𝑆 0,2 . A) Tree sequence 𝑆 0,2 = {𝑇 0 , 𝑇 1 , 𝑇 2 } with artificial nodes (pink and blue) inserted during the matching process. B) Building of the two union trees 𝑈𝑇 0,1 and 𝑈𝑇 1,2 from respectively the two trees 𝑇 0 , 𝑇 1 and 𝑇 1 , 𝑇 2 . C) Built mosaic tree 𝑈𝑆 0,2 from the sequence 𝑆 0,2 derived from 𝑈𝑇 0,1 and 𝑈𝑇 35: First correction step: the single union node with 6 2 as main node is newly inserted, we search if it can be matched with another union node in previous phases. After the Dynamic Time Warping (DTW) computation based on Euclidean distance of node coordinates, tangent and direction, the two paths in blue (from main nodes 4 0 and 6 2 ) and in purple (from main nodes 4 0 to 8 0 ) are considered as similar, so nodes 8 0 and 6 2 must be merged. The algorithm searches if there are intermediary nodes between the two similar paths: in the example the node 7 2 in the tree 𝑇 2 . As previously, we search if this node can be matched with another node. In this example, an artificial node 10 0 is inserted in 𝑇 0 to match with Figure 53: Matching result of the simulated tree sequence 𝑆′ 0,9 . A) Superimposition of the simulated trees with edge matching represented with same color. B) Global mosaic tree 𝑈𝑆′ 0,9 of the sequence 𝑆′ 0,9 built from the tree 𝑇 0 completed with information from 𝑆′ 1,9 . The same color as A) are used. 137 A) The leaf of the tree in bold is matched with the leaf in other trees. This incorrect matched leaf should be matched with an artificial node in some others trees which have longer terminal branch. B) The error is the same of the previous case A). The leaf of the tree in bold is incorrectly matched and the same artificial node (which corresponds to the current leaf) is missing in all the other trees of the sequence. C) Contrary to the two previous cases, errors are only located on the tree in bold (errors similar to the Figure 51). The leaf node is incorrectly matched and consequently an artificial node corresponding to a bifurcation is missed. . The foreshortening and external overlap maps are computed successively without threshold for each matched phase. The global foreshortening and external overlap maps are calculated with the minimum value of the previous temporary maps. The global optimal view map corresponds to the mean of the two last maps. B) Same process as A) but with two successive thresholds. First the foreshortening maps are computed with a threshold of 90% for each phase to perform a high selection of angles until the global foreshortening maps. Second, the external overlap maps are calculated with a threshold of 30% to only remove worse values. The global optimal view map is computed with the two previous global map. 𝑛𝑏 (𝜃 𝑗 ,𝜑 𝑘 ) represents the selected gantry orientation number after each threshold. ............... 141 Figure 59: Process to optimal view map determination for a bifurcation in the whole cardiac cycle. The bifurcation is matched in all the ten phases. A) The four criteria are computed without threshold for each matched phase. B) The four criteria are calculated successively with a threshold to remove worse values under 30%. First the foreshortening map and bifurcation opening map are computed successively for each map and the threshold is performed. Next, when the global foreshortening and bifurcation opening maps are obtained with their minimum value on the sequence, the two overlap are computed in the same way. The global optimal view map is obtained with the mean of the four global maps. 𝑛𝑏 (𝜃 𝑗 ,𝜑 𝑘 ) represents the selected gantry orientation number after each threshold. ... 144 Figure 61: Optimal view map for different segments. In the right, the five last columns represent the optimal view maps for five successive segments in the tree hierarchy. In the left, the first column corresponds to the optimal view maps when the five previous segments are merged into one (multiple segments case). In the middle, the two last columns represent the optimal view map from the linear combination of the optimal view map of the five segments (same weights for the first and weights calculated from the two criteria proposed in section 4. In right, the last five columns represent the global external overlap maps for the five successive segments in the tree hierarchy. In the left, the first column corresponds to the global external overlap map when the five segments are merged into one single (multiple segment case). In the middle, the two last columns represent the global external overlap map from the linear combination of the global external overlap map of the five segments (same weights for the first and weights calculated from the two criteria proposed in section 4.4). . 147

Figure 63: Optimal viewing angles for a multiple segment. The optimal view maps in the left correspond to the 5% better angiographic projection angles and the following maps represent the 2% better values. A) Optimal viewing angle for the multiple segment as object of interest. B) Optimal viewing angle for the combination between the six segments (same weight). C) Optimal viewing angle for the combination between the six segments with different weights computed in relation to the hierarchical level of the segment according to the selected segment (in pink) and the length segments. The different tree sequences in the right show the left coronary tree under the found optimal gantry orientation.

The pink segments represent the selected segment (segment 1), the green segment is the father of the selected segment (segment 2), the segment 3 is in purple, the segment 4 in orange, the segment 5 in blue and the root segment 9: Foreshortening and external overlap rates obtained for the optimal viewing angle (-43°, 16°) determined from the optimal view map of the multiple segment (Figure 63-A 4) and ( 5)) . Le coeur est composé principalement de trois tuniques :

TABLE DES ALGORITHMES

-l'endocarde : tunique interne en contact direct avec le sang. Il recouvre donc les cavités cardiaques ainsi que les valves du coeur.

-le myocarde : tunique située au milieu. Ce muscle est responsable de l'action de pompage du coeur. Son épaisseur varie en fonction de sa localisation, il est très épais au niveau des ventricules, mais mince au niveau des oreillettes.

-le péricarde: tunique externe composée de plusieurs feuillets protégeant le coeur et permettant les mouvements du coeur liés au cycle cardiaque sans entrave. Le péricarde viscéral (Épicarde) adhère au myocarde. Il est séparé du péricarde pariétal et du péricarde fibreux par un espace péricardique (espace de glissement).

- La diastole est la dernière étape de la révolution cardiaque. Elle consiste en la relaxation de toutes les parties du coeur, permettant un remplissage passif des oreillettes. Elle peut être également séparée en deux phases :

-la diastole iso-volumique (phase de relaxation) où toutes les valves sont fermées. Le sang s'écoule donc uniquement dans les oreillettes, -la diastole isotonique (phase de remplissage) où les valves tricuspides et mitrales s'ouvrent permettant au sang de s'écouler lentement dans les ventricules. L'activité électrique peut varier selon les individus. Effectivement, certaines personnes peuvent souffrir d'arythmie (tachycardie, bradycardies) ou autres anomalies (extrasystole, fibrillation ventriculaire ou auriculaire, etc.) provoquant un battement irrégulier du coeur. Les impulsions électriques se produisent de façon désordonnées ou ne passent pas par les circuits électriques habituels.

Les mouvements cardiaques, liés à l'activité électrique, ne sont pas homogènes. Pour avoir une idée plus précise de ces mouvements complexes, de nombreuses études ont été menées portées sur le mouvement du ventricule gauche [START_REF] Casta | Estimation 3D conjointe forme/structure/mouvement dans des séquences dynamiques d'images[END_REF][START_REF] Huang | Spatio-temporal tracking of myocardial deformations with a 4-D B-spline model from tagged MRI[END_REF]Peti03,[START_REF] Tavard | Recalage et fusion d'informations multimodales pour l'optimisation de la thérapie de resynchronisation cardiaque[END_REF]. Ce mouvement peut être séparé en trois composantes (Figure 7).

-Le mouvement de contraction longitudinale (CL) dirigé le long du grand axe du ventricule. La base du coeur descend vers l'apex en systole avec une amplitude de mouvement de 12 à 15 mm. Au contraire, l'apex est peu mobile, ne bougeant que de quelques millimètres.

-Le mouvement de contraction radiale (CR) qui correspond au déplacement de l'endocarde vers le grand axe du ventricule avec des amplitudes comprises entre 4 et 8 mm.

-Le mouvement de torsion correspondant à une rotation autour du grand axe du ventricule.

Durant la diastole, la rotation de la base s'effectue dans le sens horaire et la rotation de l'apex diffère. Cette dernière est réalisée dans le sens inverse avec une angulation supérieure.

A ses différents mouvements non rigides, il faut ajouter la translation du coeur liée aux phénomènes respiratoires. La Figure 8 issue du rapport de thèse de Petitjean [Peti03] nous montre ces mouvements complexes en systole et en diastole selon différentes coupes du ventricules. 14) ainsi qu'au trois degrés de liberté en translation de la table.

MODALITE D'ACQUISITION

Les paramètres principaux définissant la configuration géométrique de l'arceau sont les suivants (Figure 13) :

-

MOTIVATION DE LA THESE

Au cours de cette partie, le projet global lié à l'utilisation de l'angiographie rotationnelle RX sera décrit pour pouvoir situer au mieux la problématique de la thèse. Les limitations et difficultés de l'angiographie RX allant de l'acquisition des données à l'interprétation des images projetées seront tout d'abord expliquées pour pouvoir ensuite aborder les solutions proposées à ces problèmes. L'utilisation de l'angiographie rotationnelle à rayons X permet de développer de nouveaux outils pour assister le cardiologue aussi bien dans sa prise de décision de diagnostic ou de planning que dans le guidage du geste interventionnel. L'objectif est de minimiser les erreurs d'interprétation liées à la nature 2D des images et d'augmenter la précision et la sécurité du geste thérapeutique ainsi que de la fiabilité de l'intervention. A partir d'angiographies rotationnelles RX, ces outils concernent (Figure 15) :

LIMITATIONS ET DIFFICULTES LIEES A L'ANGIOGRAPHIE RX

-la reconstruction 3D de l'arbre coronaire pour chaque phase cardiaque, -la caractérisation de la lésion, -la recherche de l'incidence optimale, -le guidage du cathéter dans un environnement dynamique.

RECONSTRUCTION 3D DES ARTERES CORONAIRES

Une modélisation 3D+T des arbres coronaires peut pallier les différentes limitations liées à l'angiographie RX. Cette modélisation 3D, construite en phase peropératoire à partir des observations radiographiques 2D acquises durant la phase diagnostique, permet de visualiser l'arbre coronaire 3D selon différentes phases cardiaques et sous différentes orientations contournant les principales limitations de l'examen. Elle entraine entre autre une meilleure compréhension de la structure des artères coronaires, de la morphologie de la zone à traiter, c'est-à-dire la lésion. Le choix du dispositif à mettre en place et le geste du chirurgien seront facilités pour cette intervention [START_REF] Gollapudi | Utility of three-dimensional reconstruction of coronary angiography to guide percutaneous coronary intervention[END_REF].

Les artères coronaires peuvent être reconstruites à partir de plusieurs projections acquises lors de l'angiographie rotationnelle à rayons X selon une phase donnée pour une seule injection de produit de contraste. L'acquisition dynamique de ces images 2D est réalisée grâce à la rotation autour du patient de l'arceau radiologique. Ainsi, 80 à 150 projections des arbres coronaires droits et gauches sont acquises sur une durée de 4 à 5 cycles cardiaques correspondant à une seule injection de produit de contraste (Figure 16). Cette séquence de projections est exploitée pour réaliser une reconstruction 3D de l'arbre coronaire selon une phase donnée ou l'ensemble de la séquence, facilitant l'intervention du chirurgien cardiologue. Une des principales difficultés pour reconstruire en 3D les artères coronaires à partir de l'angiographie rotationnelle à rayons X vient du mouvement complexe du coeur. Différentes méthodes pour reconstruire un objet en mouvement à partir de projections 2D Entre chaque phase du cycle cardiaque, la reconstruction de l'arbre 3D et l'extraction des lignes centrales peuvent différer (Figure 20). En effet, les arbres coronaires 3D de la séquence sont nonisomorphes. Une branche peut effectivement disparaître, apparaître ou encore être de longueur ou de tortuosité différente selon la phase cardiaque. Ce problème rend alors difficile la mise en correspondance des artères pour chaque phase. Ces variations peuvent être dues à différentes difficultés liées aux images 2D acquises (présence de bruit, réduction de produit de contraste, superposition des structures, etc.), au mouvement du coeur, à la respiration du patient ou encore des différences liées à l'angle de vue, rendant ainsi la segmentation et la reconstruction 3D très difficile.

REPRESENTATION DES DONNEES SOUS FORME D'ARBRES

Détermination de la hiérarchie :

Dans un premier temps, pour créer les structures d'arbres à partir des lignes centrales extraites (représentées par des splines dans la Figure 19), les différentes bifurcations sont détectées afin de créer la hiérarchie de cet arbre. Une bifurcation représente le point de départ d'une spline qui peut être rattachée à une autre spline, si elle n'est pas la spline mère de l'arbre.

Pour pouvoir déterminer la hiérarchie entre les splines de l'arbre 𝑇 𝑖 (lignes centrales), une matrice de distance 𝑑𝑖𝑠𝑡𝑀𝑎𝑝 de taille 𝑚 23). Cependant, utiliser ce genre d'approche reviendrait à ne pas utiliser toutes les informations mises à notre disposition (pas seulement les informations géométriques), comme la structure hiérarchique des arbres vasculaire par exemple. C'est pourquoi nous nous focalisons sur la catégorie de méthode de mise en correspondance de graphe.

APPARIEMENT D'ARBRES VASCULAIRES

Les différents états de l'art récent dans le problème de la mise en correspondance de graphe

ALGORITHME EXACT

ALGORITHME INEXACT

La catégorie des algorithmes inexacts peut ainsi pallier dans la majorité des cas ces problèmes.

Cette catégorie peut être également divisée en plusieurs types de technique (voir Figure 24 correspondant à la Figure 2.12 de [START_REF] Oyarzun | Graph-matching and FEM-based Registration of Computed Tomographies for Outcome Validation of Liver Interventions[END_REF]). Dans le domaine des images médicales, la majorité des méthodes est située dans les techniques basées sur les « arbres de recherche » ou la « théorie probabiliste ». Cependant de nouvelles méthodes utilisent des techniques évolutives telles que des algorithmes génétiques ou des algorithmes à estimation de distribution.

Nous nous sommes focalisés au cours de cette thèse dans les techniques basées « arbres de recherche » particulièrement développées dans le domaine de l'imagerie médicale. D'après Oyarzun Oyarzun Laura et Drechsler [START_REF] Oyarzun | KLAUS: Computer assisted matching of anatomical vessel trees[END_REF] propose une méthode basée sur l'algorithme de Graham et Higgins [START_REF] Graham | Robust Graph-Theoretic Methods for Matching and Labeling Anatomical Trees[END_REF][START_REF] Graham | Optimal graph-theoretic approach to 3D anatomical tree matching[END_REF][START_REF] Graham | Globally optimal model-based matching of anatomical trees[END_REF]. Plusieurs changements y sont apportés pour correspondre à leur problématique. Essentiellement, les mesures de similarités sont modifiées et d'autres primitives déterminant l'arbre commun sont ajoutées.

APPLICATIONS AUX ARTERES CORONAIRES

PROBLEME DE LA CLIQUE MAXIMUM (MCP)

Certaines

ALGORITHMES EXACTS

L'algorithme de base des méthodes exactes a été développé par Carraghan and Pardalos récapitulatif des principaux algorithmes heuristiques utilisés dans le problème de la clique maximum.

MAXIMUM WEIGHT CLIQUE PROBLEM (MWCP)

Dans

Maximum vertex weight clique problem (MVWCP)

Dans le problème de mise en correspondance, nous rappelons que la clique maximum 𝐶 doit être extraite dans un graphe d'association 𝐺 𝑖,𝑖+1 = (𝑉 𝑖,𝑖+1 , 𝐸 𝑖,𝑖+1 Ce chapitre, rédigé en anglais, est tiré de la synthèse de deux articles soumis [START_REF] Feuillâtre | CHRISTINE: Mosaic-based spatiotemporal matching of non-isomorphic coronary tree[END_REF][START_REF] Feuillâtre | CHRISTINE: Pair-wise tree matching algorithm applied to non-isomorphic coronary trees[END_REF] décrivant les différentes étapes de mise en correspondance d'artères coronaires. Le premier article concerne la mise en correspondance de deux arbres représentant deux phases successives (section 3.1) et le deuxième article correspond à une amélioration de cette méthode par rapport à notre problématique, c'est-à-dire la mise en correspondance complète de l'ensemble de la séquence d'arbres coronaires 3D (section 3.2).

RECHERCHE D'INCIDENCES OPTIMALES

MATCHING OF TWO VASCULAR TREES

Firstly in this section, the two reference inexact tree matching algorithms based on a hierarchical tree approach [LKZP07] and an association graph approach [MKSZ09, TMPH05] are described. To adapt these matching approaches to our coronary tree structure, the geometric measures and graph characteristics are next modified. Moreover, a new step based on the artificial node insertion is proposed to take into account the topology variation between trees. An additional hierarchical correction step is also proposed to avoid conflicts because of artificial node insertion. [START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF]. The inheritance relationship between two nodes must be equal. The leaf nodes mustn't be matched. The length difference of the two paths from their root to their current node of the two consecutive trees must be smaller than a given threshold depending on the maximum path length. The difference of 3D lumen volume between the two branches must also be smaller than another threshold. having the maximum value of cumulated similarity measures 𝑆𝑀 (𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 ) is looked in the search tree 𝑇𝑆 𝑖,𝑖+1 . Backtracking from this leaf node to the root gives the best tree matching 𝑀 for this algorithm.

HIERARCHICAL TREE APPROACH

The main advantage of the algorithm of Lohe et al. [START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF] is its adaptability. Thanks to this hierarchical approach, each computed similarity measure 𝑠𝑚 𝜇 depends on the previously matched vertices. The consistency constraint 𝑐𝑐 𝜆 and the similarity measure 𝑠𝑚 𝜇 can be chosen according to our application. Indeed, most of metrics described in [START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF] are not suitable for our real data due to the nature of the coronary arteries and in particular the non-isomorphic tree structure and the nonrigid coronary movement. For instance, topology differences can involve a non-identical inheritance relationship between two nodes or an inaccuracy concerning the branch radii. Besides, with these tortuous arteries and their non-rigid motion, the global angle-based measure is difficult to compute.

Nevertheless, without this metric, the algorithm is not enough robust and can arise false node matching if only the path length comparison is used. Two paths, which have the same length, may have few similarity i.e. not the same spatial coordinates and directions of trees.

Despite previous advantages, this general algorithm is not optimal for a specific application such as coronary matching. Another drawback is that the performance depends on the tree size (number of edges, hierarchical level, etc.). This algorithm is able to find the optimal matching for small trees i.e.

having a low hierarchical level and a low number of vertices, but if the trees have more than hundred vertices, with the exponential complexity, the execution time is very long. Another version of this algorithm, with a reduction of the search space, allows performing on larger trees. In our case, the first version is enough since the coronary trees have only few vertices (lower than 100).

ASSOCIATION GRAPH APPROACH

ASSOCIATION GRAPH BUILDING

First, the matching algorithm starts with the building of the association graph 𝐺 𝑖,𝑖+1 in two steps based on unary constraint set 𝐶𝑈, i.e. measures used to determine node similarities (Figure 27.A)

A. Selection of all potential node assignments according to unary constraints CU.

-Compute CU for each possible tree node combination 𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 = 𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 with 𝑣 𝑖 𝛼 𝑖 ∈ 𝑉 𝑖 and 𝑣 𝑖+1 𝛼 𝑖+1 ∈ 𝑉 𝑖+1 .

-Add node in 𝐺 𝑖,𝑖+1 only iff 𝐶𝑈 𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 ≥ 0.5 .

B.

Selection of all similar paths (centerlines) derived from all selected node assignments in 𝑮 𝒊,𝒊+𝟏 according to binary constraints CB.

-Compute CB for all possible edges between graph nodes 𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 and 𝑣 𝑖,𝑖+1 𝛽 𝑖 ,𝛽 𝑖+1 ∈ 𝑉 𝐺 𝑖,𝑖+1 which satisfies CU.

-Add edge in 𝐺 𝑖,𝑖+1 only iff 𝐶𝐵 𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 , 𝑣 𝑖,𝑖+1 𝛽 𝑖 ,𝛽 𝑖+1 ≥ 0.5.

C. Deduction of the best matching 𝑴 according to binary constraints CB.

-Extraction of the maximum clique (maximum number of nodes connected by a single edge and having the higher sum of CB for the edges). The detection of the maximum clique is a NP-hard problem [START_REF] Karp | Reducibility among combinatorial problems[END_REF]. Many methods apply some heuristics to find a good approximation of the maximum clique such as Metzen et al.'s algorithm [START_REF] Metzen | XIAOYI: Matching of anatomical tree structures for registration of medical images[END_REF]. They chose to adopt heuristics proposed by Pelillo [START_REF] Pelillo | Matching free trees, maximal cliques, and monotone game dynamics[END_REF] based on the Motzkin-Straus theorem [START_REF] Motzkin | Maxima for graphs and a new proof of a theorem of Turán[END_REF] and conclude with a step which completes the matching with further correct assignments. Indeed, some correct matched nodes in the association graph, which are not present in the maximum clique 𝐶 𝑚𝑎𝑥 , might be connected to almost all nodes of this clique. This heuristic helps to take into account the few missing edges to add the correct nodes in 𝐶 𝑚𝑎𝑥 . Other methods used exact algorithms to detect the maximum clique in a graph such as Tschirren et al.'s algorithm [START_REF] Tschirren | Matching and anatomical labeling of human airway tree[END_REF]. Even if more efficient algorithms are known for some special cases, they used the method proposed by Carraghan et Pardalos [START_REF] Carraghan | An exact algorithm for the maximum clique problem[END_REF] which performs well for their small graph problem.

In our case, the association graph 𝐺 𝑖,𝑖+1 has also few nodes (less than 20 nodes) because of the selection based on unary constraints 𝐶𝑈. We chose to adopt the Östergard's algorithm [Öste02] which is a fast algorithm based on the Carraghan et Pardalos' method [START_REF] Carraghan | An exact algorithm for the maximum clique problem[END_REF] for different graph sizes and gives good result for small graphs (less than thousand nodes). If the Östergard's algorithm [Öste02] is preserved, all maximum cliques are found. A simple extension is used: only one maximum clique, with the higher sum of binary constraints for all of these edges, is retained.

As for Lohe et al.'s algorithm, an advantage of this approach is that the unary and binary constraints used to build the association graph can be adapted to our coronary tree application.

Moreover, using a geometric feature set can take into account the differences of vascular extraction.

However, this method presents many parameters which have to be fixed empirically (i.e. selectivity parameters and weight factors) and the best matching is only specific for this constraint set. If the constraints are too restrictive, some correct node assignments can be missed. Conversely, if the constraints are too extensive, the number of wrong node assignments might increase.

ADAPTATION TO OUR CORONARY MATCHING PROBLEM

Several modifications have been applied to adapt the two reference described algorithms [START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF][START_REF] Metzen | XIAOYI: Matching of anatomical tree structures for registration of medical images[END_REF] to our coronary tree matching problem. The first concerns the new specific nodeto-node metrics and associated thresholds used in the two algorithms. The second is to add a new process to take into account the topology variation between vascular trees by adding artificial nodes which correspond to bifurcation or terminal nodes absent in one tree and present in another.

Moreover, with the artificial nodes insertion, several hierarchical conflicts can appear. We propose to check and correct the matching result at different steps: firstly from the maximum clique result and secondly when artificial nodes are inserted. The matching result is corrected and also the two input trees 𝑇 𝑖 and 𝑇 𝑖+1 .

SIMILARITY MEASURE CHOICE

Consistency constraints 𝐶𝐶 and unary constraints 𝐶𝑈 have the same aim in the two algorithms [LKZP07, MKSZ09, TMPH05]. These node-to-node constraints are used to reduce the hypothesis number in the search tree 𝑇𝑆 𝑖,𝑖+1 or the node number (i.e. the promising assignments) in the association graph 𝐺 𝑖,𝑖+1 . As a reminder, we wish for a fast execution time for this step and a substantial decrease of potential assignment number. Therefore, we used the spatial coordinates of node as similarity measure in order to determine a region of interest around the considered node (Figure 28-A)). The Euclidean distance 𝑑 𝑒 between two node coordinates in different trees can be used since coronary trees are extracted from the same acquisition of the same patient: trees are in the same coordinate space. Moreover, between two coronary trees which represent two successive phases of cardiac cycle, the movement can be considered low. Similarity measures 𝑆𝑀 or binary constraints 𝐶𝐵 influence significantly the pair-wise matching results. The choice of these node-to-node metrics is important. They must be the most efficient as possible with a correct execution time. Geometrical features based on the tree centerlines are used without computing their normalized polylines.

We proposed other metrics to determine the similarity of the two paths 𝑝 𝑖 ( 𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖 𝛽 𝑖 ) ∈ 𝑇 𝑖 and 𝑝 𝑖+1 ( 𝑣 𝑖+1 𝛼 𝑖+1 , 𝑣 𝑖+1 𝛽 𝑖+1 ) ∈ 𝑇 𝑖+1 based on the distance computation thanks to Dynamic Time Warping's algorithm (DTW) [KePa01, KeRa05, RaKe05, SaCh07, SaCh78] (Figure 28). These three new node-tonode metrics (coordinates, tangent and direction) allow taking into account non-rigid movements of the coronary arteries (Figure 29). Each path is considered as a sequence of points. Let be A multi parametric distance matrix 𝐷 is build. An example of distance matrix between two similar sequences is shown in the Figure 30. For each element 𝐷[𝑚 𝑖 𝜌 𝑖 , 𝑚 𝑖+1 𝜌 𝑖+1 ] of D, three node-to-node criteria are computed based on the three point attributes and next cumulated with the minimum results of its neighbors (see Equation ( 3)). We choose to use the step patterns described in the Figure 31 and the equation (3

𝑝
The distance matrix 𝐷 is entirely built: all points of the two paths are considered. We don't use between each point of the first path 𝑝 𝑖 and its closest point in the second path 𝑝 𝑖+1 is computed. Then, to normalize this metric, this sum is divided by the number of points µ 𝑖 of the first path 𝑝 𝑖 .

ARTIFICIAL NODE INSERTION IN CORONARY TREES

Using the two state-of-the-art published algorithms (sections 3.1.1 and 3.1.2) and thanks to measures adapted to coronary trees, the best matching result 𝑀 𝑖,𝑖+1 is only composed by pair set of tree nodes which are very similar based on the choice of constraints and their measure threshold value.

The matching accuracy is more important than the matched node number. Increasing their number can increase wrong assignments which might decrease the matching quality and consequently also affect the quality of various next processes from these matching results (such as the matching of the whole tree sequence and next the determination of the optimal view over cardiac cycle). As a result, the number of matched nodes is small and covers only a small subset of tree nodes. Some bifurcations and leaf nodes are not matched because of the extraction variations.

Our goal is to find the optimal matching 𝑀 𝑖,𝑖+1 * Thus, the path 𝑝 𝑖 (𝑚𝑝 (𝑣 𝑖 𝜙 ) , 𝑣 𝑖 𝜙 ) is deduced in the tree 𝑇 𝑖 . We looked for a similar path 𝑝 𝑖+1 to 𝑝 𝑖 in the other tree 𝑇 𝑖+1 to find if the centerline point corresponding to the artificial node 𝑎 𝑖+1 𝜙 exists (Figure 32). Two possible cases must be considered. In the first scenario, the matched children pair (𝑚𝑐 (𝑣 𝑖 𝜙 ) , 𝑚𝑐 (𝑎 𝑖+1 𝜙 )) exists (condition block beginning at line 12 of the Algorithm 4). The branch having the point which corresponds to the artificial node 𝑎 𝑖+1 𝜙 is found. This branch corresponds to the path 𝑝 𝑖+1 with 𝑚𝑝(𝑎 𝑖+1 𝜙 ) as source node and 𝑚𝑐(𝑎 𝑖+1 𝜙 ) as target node.

In the second scenario, the matched children pair (𝑚𝑐 (𝑣 𝑖 𝜙 ) , 𝑚𝑐 (𝑎 𝑖+1 𝜙 )) doesn't exist (condition block beginning at line 15 of the Algorithm 4). For example, it's the case for all unmatched leaf nodes.

We have to search the similar path to 𝑝 𝑖 among all paths beginning by the node 𝑚𝑝(𝑎 𝑖+1 𝜙 ) in 𝑇 𝑖+1 (line 16 of the Algorithm 4). There are as many leaf nodes 𝑙 𝑖+1 𝜓 from the subtree induced by the node 𝑚𝑝(𝑎 𝑖+1 𝜙 ) as possible paths. To determine the similar path 𝑝 𝑖+1 , the DTW's algorithm coupled with the three new node-to-node metrics is applied between 𝑝 𝑖 and each 𝜓 possible paths (line 18 of the Algorithm 4). The same measures described in the previous section 3.1.3 are used: the node coordinates, the local tangent and the local direction. However, contrarily to the binary constraint or similarity measure case, the boundary constraint is not used. Indeed, the difference of path lengths are taken into account. The algorithm is stopped when the last point in 𝑝 𝑖 , corresponding to the unmatched node 𝑣 𝑖 𝜙 , is reached. Only the first points of the two paths 𝑝 𝑖 and 𝑝 𝑖+1 are forced to match (and not the last points). Another modification of the Dynamic Time Warping concerns the second path 𝑝 𝑖+1 . We search a similar path to 𝑝 𝑖 to determine if an artificial node can be inserted. So, a translation is performed on all second path points to superimpose the first point of the two paths 𝑝 𝑖 and 𝑝 𝑖+1

(translation equal to the vector between 𝑚𝑝 (𝑣 𝑖 𝜙 ) and 𝑚𝑝(𝑎 𝑖+1 𝜙 )). The similar path 𝑝 𝑖+1 is found if next two conditions are respected:

-its final minimum accumulated distance must be smaller than the DTW's results of the three criteria for the other possible paths (condition block in line 19 of the Algorithm 4),

-its DTW's result of the three criteria divided by the length of the path 𝑝 𝑖 must be smaller than an associated threshold which determines the path similarity (condition block line 25 of the Algorithm 4).

If these two conditions are not validated, there are none similar path to 𝑝 𝑖 in the tree 𝑇 𝑖+1 and no artificial node are inserted to be matched with 𝑣 𝑖 𝜙 (line 26 of the Algorithm 4).

For the two scenarii, we have determined the similar bit of the path 𝑝 𝑖+1 to 𝑝 𝑖 and also the point index 𝜌 𝑖+1 in this path 𝑝 𝑖+1 corresponding to the unmatched node 𝑣 𝑖 𝜙 thanks to the DTW's algorithm (Figure 32). This point 𝑚 𝑖+1 𝜌 𝑖 ∈ 𝑝 𝑖+1 is inserted as an artificial node 𝑎 𝑖+1 𝜙 in the tree T i+1 , and the tree structure is updated, e.g. an edge is splited (function addArtificialNode() in the line 29 of the Algorithm . If this matched node pair has an artificial node, this node is deleting in its corresponding tree.

For these two trees, the same step will be performing with the other tree 𝑇 𝑖+1 as reference (function artificialNodesInsertion() in line 2 of the Algorithm 4).

MATCHING OF THE CORONARY TREE SEQUENCE

To deals with our final problem, the estimation of the optimal view angle for coronary treatment, the matching must process the whole temporal tree sequence. Moreover, this mosaicbased matching algorithm must respect some constraints due to artificial node presence. Indeed, coronary trees of the same sequence are non-isomorph and the insertion of artificial nodes in trees allows solving some problems such as the bifurcation missing, branch missing and the difference terminal branch lengths. These nodes have to be labeled in each tree of the sequence and not only for consecutive trees. They complete and correct the tree sequence thanks to mosaic tree building.

In this section, a global matching algorithm of the whole coronary tree sequence is proposed based on the complete mosaic tree building (Figure 33). Image mosaicking is an important and classical problem in the fields of medical image processing [AMFE07, CCMM06, CSRT02]. This approach is used to merge a set of images registered as precisely as possible into a single composite image as seamlessly as possible. In retinal application, an image sequence with different partial view angles of the same patient can be registered to construct a mosaic image giving a larger view of the retina. In our paper, the mosaic tree represents the merging of successive pair-wise union trees. The first step corresponds to our previous pair-wise tree matching method which matches only two successive trees. This proposed mosaic-based matching is more complete and accurate than the pair-wise algorithm and takes into account the topology variation of all trees in the whole sequence. Moreover, the algorithm checks the matching exactness and corrects potential matching errors thanks to the additional information gradually obtained during the mosaic tree building process. In this section, we begin to explain the global mosaic-based method. Next, the subsection 3.2.3 presents the pair-wise union tree building 𝑈𝑇 𝑖,𝑖+1 between two successive trees 𝑇 𝑖 and 𝑇 𝑖+1 and subsection 3.2.4 the mosaic tree building 𝑈𝑆 0,𝐼-1 .

MOSAIC-BASED MATCHING OF CORONARY TREE SEQUENCE

The pair-wise matching algorithm of the two successive trees 𝑇 𝑖 and 𝑇 𝑖+1 presented in the previous section 1 with the artificial node insertion and correction step becomes a preliminary step (function MatchingTwoTrees() of the Algorithm 5). Consequently, the two trees 𝑇 𝑖 and 𝑇 𝑖+1 of the sequence 𝑆 0,𝐼-1 are completed with artificial nodes and corrected (Figure 34-A)).

With the corrected pair-wise matching result 𝑀 𝑖,𝑖+1 containing artificial nodes, a union tree 𝑈𝑇 𝑖,𝑖+1 is built from the two modified and matched successive trees 𝑇 𝑖 and 𝑇 𝑖+1 (Equation (4) and

In this tree union, a label is defined for each union node: either a union node corresponding to a matched node pair from 𝑀 𝑖,𝑖+1 or a union node representing a single node of 𝑇 𝑖 or 𝑇 𝑖+1 which have no correspondence due to the non-isomorphic nature of trees (different branch lengths, bifurcation absence, etc.) (line 3 of the Algorithm 5 and function BuildUnionTree() in the Algorithm 6).

After that, a mosaic tree 𝑈𝑆 0,𝑖+1 is built (equation ( 5)) until the sequence end and the obtaining of the global mosaic tree 𝑈𝑆 0,𝐼-1 which represents the complete matched tree of the whole tree sequence 𝑆 0,𝐼-1 = {𝑇 0 , … , 𝑇 𝑖 , … , 𝑇 𝐼-1 } (see Algorithm 5 from line 4 to line 8 with the function ComputeMosaicTree()). The mosaic tree 𝑈𝑆 0,𝑖+1 represents the merging of the previous mosaic tree 𝑈𝑆 0,𝑖 and the union tree 𝑈𝑇 𝑖,𝑖+1 (equation ( 5) and Figure 34-C)).

(𝑼𝑺 𝟎,𝒊+𝟏 , 𝑺 𝟎,𝒊+𝟏 ) = 𝑪𝒐𝒎𝒑𝒖𝒕𝒆𝑴𝒐𝒔𝒂𝒊𝒄𝑻𝒓𝒆𝒆(𝑼𝑺 𝟎,𝒊 , 𝑼𝑻 𝒊,𝒊+𝟏 )

with 𝑼𝑺 𝟎,𝟏 = 𝑼𝑻 𝟎,𝟏 and 𝒊 ∈ [𝟎, 𝑰 -𝟏]

Firstly, the mosaic tree 𝑈𝑆 0,𝑖+1 is initialized by the previous computed mosaic tree 𝑈𝑆 0,𝑖 .

Secondly, all nodes in 𝑈𝑇 𝑖,𝑖+1 which are not present in the mosaic tree 𝑈𝑆 0,𝑖+1 (i.e. nodes of the tree 𝑇 𝑖+1 ) are added in 𝑈𝑆 0,𝑖+1 . Some merging nodes of 𝑈𝑆 0,𝑖+1 which represent the same matched tree node in different cardiac phases are merged. For other nodes, to complete the global matching, artificial nodes are searched in each phase of 𝑆 0,𝑖+1 . Moreover, at each step, the matching rightness are checked during the tree merging of 𝑈𝑆 0,𝑖 and 𝑈𝑇 𝑖,𝑖+1 (merging result corresponds to 𝑈𝑆 0,𝑖+1 ) and corrected if some errors appears with the additional information contained in 𝑇 𝑖+1 such as hierarchical errors or artificial node position errors. Tree sequence 𝑆 0,𝑖+1 are consequently corrected and completed by artificial nodes with these iterative steps during the building of the mosaic tree 𝑈𝑆 0,𝑖+1 .

For a pair-wise matching result 𝑀 𝑖,𝑖+1 between two trees 𝑇 𝑖 and 𝑇 𝑖+1 , the tree 𝑇 𝑖 has been completed with artificial nodes obtained from previous pair-wise matching which correspond to additional information present in the previous processed trees of the sequence 𝑆 0,𝑖 . Therefore, the matching result 𝑀 𝑖,𝑖+1 is gradually more robust with the sequence matching progress since 𝑇 𝑖 is completed from 𝑈𝑆 0,𝑖 . Indeed, the node number of the last modified tree 𝑇 𝐼-1 has doubled compared to the node number of the original tree 𝑇 𝐼-1 , as for the other trees of the sequence 𝑆 0,𝐼-1 .

Algorithm 5: Mosaic-based matching algorithm of the whole tree sequence (equation ( 4) and ( 5))

Input : The sequence of coronary trees 𝑆 0,𝐼-1 = {𝑇 0 , … , 𝑇 𝑖 , … , 𝑇 𝐼-1 } Output : The final mosaic tree 𝑈𝑆 0,𝐼-1 with the corrected tree sequence 𝑆 0,𝐼-1

1:

for each tree 𝑇 𝑖 with 0 ≤ 𝑖 < 𝐼 -1 do

2:

(𝑴 𝒊,𝒊+𝟏 , 𝑇 𝑖 , 𝑇 𝑖+1 ) = 𝑀𝑎𝑡𝑐ℎ𝑖𝑛𝑔𝑇𝑤𝑜𝑇𝑟𝑒𝑒𝑠(𝑇 𝑖 , 𝑇 𝑖+1 ) //See section In the next section, we explain the structures of mosaic tree 𝑈𝑆 0,𝑖+1 and union tree 𝑈𝑇 𝑖,𝑖+1 in particular their node characteristics. Then, we describe more precisely the union process of two successive trees 𝑈𝑇 𝑖,𝑖+1 based on their corrected matching result 𝑀 𝑖,𝑖+1 . We finish by the description of the complete matching algorithm of the whole vascular tree sequence 𝑆 0,𝐼-1 based on the global mosaic tree building 𝑈𝑆 0,𝐼-1 from unions of previously matched trees and the different matching checks and associated corrections.

CHARACTERISTICS OF MERGING AND UNION NODES

First, some characteristics of merging nodes 𝑉 𝑈𝑆 0,𝑖+1 of the mosaic tree 𝑈𝑆 0,𝑖+1 and respectively the union nodes 𝑉 𝑈𝑇 𝑖,𝑖+1 of 𝑈𝑇 𝑖,𝑖+1 are described to understand how the complete matching of 𝑆 0,𝐼-1 is realized. Let be 𝑉 𝑈𝑆 0,𝑖+1 = {𝑣 𝑈𝑆 0,𝑖+1 tree nodes. This node list contains at least one to ideally 𝑖 + 1 matched nodes (so only one or none matched node of each tree 𝑇 𝑖 of the sequence 𝑆 0,𝑖+1 𝛼 of a union tree 𝑈𝑇 𝑖,𝑖+1 , the main node must be the first artificial node.

BUILDING OF THE UNION TREE UTi,i+1 FROM THE MATCHING RESULT Mi,i+1 BETWEEN Ti AND Ti+1

As explained in the Algorithm 5, when the matching result 𝑀 𝑖,𝑖+1 between 𝑇 𝑖 and 𝑇 𝑖+1 is obtained, the temporary union tree 𝑈𝑇 𝑖,𝑖+1 is built (Figure 34-B)). This union process is described in the Algorithm 6.

BUILDING OF THE MOSAIC TREE US0,i+1 OF THE TREE SEQUENCE S0,i+1

When the two first consecutive union trees 𝑈𝑇 0,1 and 𝑈𝑇 1,2 are built, the Algorithm 5 calls the method ComputeMosaicTree() (line 5) described in the Algorithm 7. Firstly, this algorithm merges the two first union trees 𝑈𝑇 0,1 and 𝑈𝑇 1,2 to obtain the first temporary mosaic tree 𝑈𝑆 0,𝑖+1 (𝑈𝑆 0,2 ) of the sequence 𝑆 𝑖+1 = {𝑇 0 , 𝑇 𝑖 , 𝑇 𝑖+1 } with 𝑖 = 1 (Figure 34-C)). Secondly, the following calls of this function (line 7 of the Algorithm 5) merge the current mosaic tree 𝑈𝑆 0,𝑖 and the temporary consecutive union tree 𝑈𝑇 𝑖,𝑖+1 with 𝑖 ≥ 2. Now in the paper, we consider that we build the next mosaic tree 𝑈𝑆 0,𝑖+1 from 𝑈𝑆 0,𝑖 and 𝑈𝑇 𝑖,𝑖+1 corresponding to the (5).

Algorithm 7: function ComputeMosaicTree()

Input: 𝑈𝑇 𝑖-1,𝑖 for the first function call represents the temporary union tree of 𝑇 𝑖-1 (i.e. 𝑇 0 ) and 𝑇 𝑖 (i.e. 𝑇 1 ) or 𝑈𝑆 0,𝑖 for the other function calls represents the mosaic tree (see Equation ( 5)) for the matched tree sequence 𝑆 0,𝑖 = {𝑇 0 , 𝑇 1 , … , 𝑇 𝑖 } ; 𝑈𝑇 𝑖,𝑖+1 is the temporary union tree from pair-wise matching result 𝑀 𝑖,𝑖+1 between two consecutive phases 𝑇 𝑖 and 𝑇 𝑖+1 .

Output: 𝑈𝑆 0,𝑖+1 the mosaic tree for the tree sequence 𝑆 𝑖+1 = {𝑇 0 , 𝑇 1 , … , 𝑇 𝑖 , 𝑇 𝑖+1 }.

1: function

2:

𝑈𝑆 0,𝑖+1 = (𝑈𝑆 0,𝑖 , 𝑈𝑇 𝑖,𝑖+1 ) 3: 𝑈𝑆 0,𝑖+1 = (𝑈𝑇 𝑖,𝑖+1 , 𝑈𝑆 0,𝑖 ) // used for the single node.

4:

𝑈𝑆 0,𝑖+1 = AddEdge() //Insert edges between merged nodes in the mosaic tree

INSERTION IN US0,i+1 OF NOT MERGED NODE FROM US0,i AND

UTi,i+1

Secondly, some union nodes in 𝑈𝑆 0,𝑖 and 𝑈𝑇 𝑖,𝑖+1 are not inserted in 𝑈𝑆 0,𝑖+1 . We begin to insert in 𝑈𝑆 0,𝑖+1 the union nodes which didn't be analyzed in 𝑈𝑆 0,𝑖 (loop corresponding to the line block 4 to 6 in Algorithm 7). With this first mosaic tree, we have no additional correction steps: they have been already considered in the building of the previous mosaic tree 𝑈𝑆 0,𝑖 (recursive algorithm).

After, we insert in 𝑈𝑆 0,𝑖+1 the union nodes in 𝑈𝑇 𝑖,𝑖+1 which are not analyzed (loop corresponding to the line block 7 to 13 in the Algorithm 7 with the function addUnionNodeAndEdge()). with the previous steps. The union nodes 𝑣 𝑈𝑆 0,𝑖+1 𝛼 newly inserted in 𝑈𝑆 0,𝑖+1 haven't any matched nodes in the previous trees among 𝑇 0 to 𝑇 𝑖 . Some important merging and correction steps must be taken into account.

These nodes in 𝑈𝑇 𝑖

MERGING OF NEWLY INSERTED UNION NODES WITH AN EXISTING NODE OF US0,i+1

In the first merging step (Figure 35), we search if the new union node 𝑣 𝑈𝑆 0,𝑖+1 𝛼 can be merged with another union node 𝑣 𝑈𝑆 0,𝑖+1 𝛽 in 𝑈𝑆 0,𝑖+1 (function isSameNode() line 9 in the Algorithm 7).

Figure 35: First correction step: the single union node with 6 2 as main node is newly inserted, we search if it can be matched with another union node in previous phases. After the Dynamic Time Warping (DTW) computation based on Euclidean distance of node coordinates, tangent and direction, the two paths in blue (from main nodes 4 0 and 6 2 ) and in purple (from main nodes 4 0 to 8 0 ) are considered as similar, so nodes 8 0 and 6 2 must be merged. The algorithm searches if there are intermediary nodes between the two similar paths: in the example the node 7 2 in the tree 𝑇 2 . As previously, we search if this node can be matched with another node. In this example, an artificial node 10 0 is inserted in 𝑇 0 to match with 7 2 .

To reduce the search space, we tested only the union nodes 𝑣 ). If one conflict is detected, the two union nodes are not merged.

CORRECTION OF THE NEWLY INSERTED NODE FROM UTi,i+1

WITH ARTIFICIAL NODE INSERTION IN US0,i-1

The second correction step (Figure 36) is considered only if the first case is invalid (function isSamePoint() line 11 in the Algorithm 7). 𝛼 has more than one children merging node with a node from the tree 𝑇 𝑖+1 in their list, we search if conflicts due to parent or child nodes are present. If a conflict is detected, we resolve it: the matching can be modified and consequently the mosaic tree 𝑈𝑆 0,𝑖+1 and so each tree of the sequence 𝑆 0,𝑖+1 . For example, the algorithm can detect wrong assignments due to a bifurcation absence near another one in previous trees. After, we search a children merging node of 𝑣 𝑈𝑆 0,𝑖+1 𝛼 which have in its list a node in the tree belonging to 𝑆 0,𝑖-1 where we want insert an artificial node. The best similar path is determined: the source node is the nearest common parent node 𝑣 𝑈𝑆 0,𝑖+1 𝛽 and the target corresponds to the merging children node found previously.

In the second case, the new merging node 𝑣 𝑈𝑆 0,𝑖+1 𝛼 has no child. To determine the target node of best similar path, we look only the children merging nodes of nearest common parent node

𝑣 𝑈𝑆 0,𝑖+1
𝛽 which have in their list 𝐿 a node corresponding to a leaf in the tree where we want insert an artificial node. For each of these children merging nodes, the parent and child hierarchy are checked in each tree. Among the children merging nodes with no conflict, thanks to the DTW's algorithm, the node corresponding to the target of the best similar path is determined.

When the best similar path is found in the current tree, an artificial node is added in this tree.

We process to a last checking. The artificial node can correspond to an existing node: this matched node pair can be forgotten in the first step of the algorithm (𝑀 𝑖,𝑖+1 the matching result of the two successive tree 𝑇 𝑖 and 𝑇 𝑖+1 ). If it's the case, the matching result in the mosaic tree 𝑈𝑆 0,𝑖+1 is corrected and each tree of the sequence 𝑆 0,𝑖+1 updated. Besides, the algorithm takes into account intermediate union nodes in the two similar paths (see the intermediary node in Figure 35 and Figure 36). Therefore, some additional artificial nodes can be inserted in different trees according to the node including in the list 𝐿 of the intermediate union nodes.

LAST TREE Ti+1 CORRECTION THANKS TO SUPPLEMENTARY INFORMATION FROM US0,i

Once all nodes of previous mosaic tree 𝑈𝑆 0,𝑖 and union tree 𝑈𝑇 𝑖,𝑖+1 are added in the new mosaic tree 𝑈𝑆 0,𝑖+1 and their corresponding edges too, one last step must be realized (function searchArtificialNodeLastView() line 14 in the Algorithm 7). Indeed, there is some merging nodes

𝑣 𝑈𝑆 0,𝑖+1
𝛼 in 𝑈𝑆 0,𝑖+1 from 𝑈𝑆 0,𝑖 which haven't in their list any matched node from the two last trees 𝑇 𝑖+1 and 𝑇 𝑖 . That's why, for each union node in that case, we try to find an artificial node in the tree 𝑇 𝑖+1 to match it with all other nodes of theirs list 𝐿 (𝑣 𝑈𝑆 0,𝑖+1 𝛼 ) = {𝑣 0 𝛼 0 , … , 𝑣 𝑖-1 𝛼 𝑖-1 , ∅ 𝑖 , ∅ 𝑖+1 }.

CONCLUSION

La mise en correspondance entre deux arbres vasculaires est un problème complexe. Une Ce chapitre rédigé également en anglais est issu de deux articles : un publié démontrant la faisabilité d'une pré-mise en correspondance sur un segment d'intérêt [START_REF] Feuillâtre | CHRISTINE: Automatic determination of optimal view for the visualization of coronary lesions by rotational X-ray angiography[END_REF] et un article en cours de soumission.

PRESENTATION OF THE GLOBAL ALGORITHM

In this chapter, we choose to develop a patient-specific method to determine the optimal viewing angle for the whole cardiac cycle thanks to our mosaic-based tree matching algorithm of the whole 3D+T coronary sequence (section 3.2) as proposed in the section 2.3. Moreover, the optimal view map can be computed for different objects of interest: a single segment, a multiple segment and a bifurcation. The map of the different objects of interest can be used to choose an optimal view to deploy the stent (stenosis segment or bifurcation) or a global optimal gantry orientation for the catheter guidance in the vessel (i.e. from the first coronary artery vessel to the stenosis localization).

The Figure 37 summarizes our algorithm which determines the optimal viewing angle of an object of interest during the whole cardiac cycle. Our method begins by matching the whole coronary 3D+T

sequence. Each coronary segment can be followed in the different cardiac phases. Afterward, for a matched and selected object (single segment, bifurcation and multiple segment) the optimal view map on the whole cardiac cycle is determined under criteria (foreshortening, external and internal overlap, and bifurcation opening rates). These different criteria are described and next, the global algorithm is

OBJECT OF INTEREST

After the matching of the 3D+T coronary sequence have been performed, the user selects with the graphical user interface (GUI) the object of interest. If the physician needs an optimal angiographic projection view to guide the catheter in this dynamic structure from the root to the stenosis location, he should select the multiple vascular edge (multiple segment in Figure 37). Conversely, if he wants an optimal view used only to deploy the stent, the object of interest must correspond to one single edge (segment in Figure 37). Moreover, if the stenosis is located in a bifurcation area, the user can select 1) Bifurcation or 2) Multiple segment and bifurcation as object of interest (Figure 37).

VASCULAR EDGES (SEGMENT)

Let be 𝐿 0,𝑄-1 = {𝑙 0 , … , 𝑙 𝑞 , … , 𝑙 𝑄-1 } the different matched centerline portions in the coronary tree sequence 𝑆 0,𝐼-1 , with 𝑄 the number of matched centerlines in the whole cardiac cycle. 𝑙 𝑞 = {𝑚 𝑞 1 , … , 𝑚 𝑞 𝜌 𝑞 , … , 𝑚 𝑞 µ 𝑞 } represents the matched segments of interest selected by the user (e.g. single edge, multiple edge or edge part) in one cardiac phase, i.e. a list of µ 𝑞 points (Figure 38-A). The different centerlines 𝑙 𝑞 in 𝐿 0,𝑄-1 represent the same matched segment. They have the same label after the mosaic-based tree matching algorithm. Thus, we have

1 ≤ 𝑄 -1 ≤ 𝐼 -1. If 𝑄 -1 = 1,
there is only a selected segment in one cardiac phase. Conversely, if 𝑄 -1 = 𝐼 -1, there is a matched segment in all cardiac phases. If the user selects a matched edge 𝑒 𝑖 𝛼 𝑖 = {𝑚 𝑖 1 , … , 𝑚 𝑖 𝜌 𝑖 , … , 𝑚 𝑖 µ 𝑖 } in a 𝑡 𝑖 cardiac phase, the point list of the edge 𝑒 𝑖 𝛼 𝑖 are the same as in 𝑙 𝑞 . However, if a multiple edge is selected by the user, the list of points of each edge of the multiple edge is concatenated to obtain 𝑙 𝑞 .

The different matched centerlines are used to compute the foreshortening and the bifurcation opening rates. To compute the two overlap rates, the volume information corresponding to meshes are needed. Let be 𝐵 0,𝑄-1 = {𝑏 0 , … , 𝑏 𝑞 , … , 𝑏 𝑄-1 } the matched volume of the selected vessel, with as previously 𝑄 the number of matched 3D vessels in the cardiac cycle. 𝑏 𝑞 and 𝑙 𝑞 represent respectively the meshes and the centerlines of the selected volume at the same cardiac phase. 𝐵 0,𝑄-1 ̅̅̅̅̅̅̅̅ = {𝑏 0 ̅̅̅ , … , 𝑏 𝑞 ̅̅̅ , … , 𝑏 𝑄-1 ̅̅̅̅̅̅ } represents the other vessels in the corresponding trees.

BIFURCATIONS

As explained by Kitslaar et al. [START_REF] Kitslaar | Automated determination of optimal angiographic viewing angles for coronary artery bifurcations from CTA data[END_REF], the selected bifurcations 𝐵𝑖𝑓 0,𝑄-1 = {𝑏𝑖𝑓 0 , … , 𝑏𝑖𝑓 𝑞 , … , 𝑏𝑖𝑓 𝑄-1 } with 𝑄 the number of matched bifurcations in the cardiac cycle is separated in three vessels (Figure 38-B). The first vessel corresponds to the parent. For a bifurcation 𝑏𝑖𝑓 𝑞 , the parent centerline is written 𝑙 𝑞 𝑓𝑎𝑡ℎ𝑒𝑟 and the associated volume information 𝑏 𝑞 𝑓𝑎𝑡ℎ𝑒𝑟 . The two other vessels represent the two children branches (respectively named 𝑙 𝑞 𝑐ℎ𝑖𝑙𝑑1 and 𝑙 𝑞 𝑐ℎ𝑖𝑙𝑑2 for the centerline information and 𝑏 𝑞 𝑐ℎ𝑖𝑙𝑑1 and 𝑏 𝑞 𝑐ℎ𝑖𝑙𝑑2 for the volume information). If the chosen object of interest corresponds to multiple segment and bifurcation, the additional information is concatenated in the centerline or the volume information (for instance 𝑙 𝑞 𝑓𝑎𝑡ℎ𝑒𝑟 and 𝑏 𝑞 𝑓𝑎𝑡ℎ𝑒𝑟 if the multiple segment corresponds to the tree segment root until the bifurcation) such as previously.

SELECTION CRITERIA

When the object of interest is selected by the user, the different criteria must be computed. In this paper, we use four criteria (Figure 37). The first criterion corresponds to the vascular foreshortening.

The vessel foreshortening rate, as shown in Green et al. [START_REF] Green | Angiographic views used for percutaneous coronary interventions: A three-dimensional analysis of physician-determined vs. computergenerated views[END_REF], is underappreciated by the physicians in the angiographic projecting views contrary to the vessel overlap rate which is more easily identified. In the selected gantry orientation, the object of interest must be the most deployed as possible (Figure 39). The two next criteria concern the structure overlap. The selected 2D view must

showing the object of interest with the least overlap with the other cardiac vessels (external overlap rate) but also with himself (internal overlap rate). The last criterion is related to the bifurcation opening angle. If the stenosis is in a bifurcation area, this region should to be perpendicular to the X-ray source.

This bifurcation angle must be maximizing (Figure 38-B).

These different criteria are computed for all possible gantry orientation (𝜃 𝑗 , 𝜑 𝑘 ). These view angles depend on the angiograph. That's why we put the RAO and LAO angulation limited to 90° and the CRAN and CAU angulation restricted to 30° (equation ( 6)). In this paper, we choose an angular step of 1° for our evaluation.

FORESHORTENING

Let be 𝑓 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑙 𝑞 ) the foreshortening rate for a 𝑡 𝑖 cardiac phase of the matched and selected centerline 𝑙 𝑞 . The vessel foreshortening for a cardiac phase is normally determined by comparing the length of the 3D selected centerline 𝑙 𝑞 to the length of the projected vessel centerline for a given gantry orientation (𝜃 𝑗 , 𝜑 𝑘 ) [START_REF] Bi | Optimization of acquisition trajectories for 3D rotational coronary venography[END_REF][START_REF] Chen | Extended Attributed String Matching for Shape Recognition[END_REF]. However, we choose to use not the real 3D length of the centerline but the maximum length found of this projected centerline. This estimation also offers pair of angles with the lowest foreshortening among given selected gantry orientation. The foreshortening rate for a cardiac phase is computed as follows: The equation (7) can be also used for multiple centerline segments and consequently a selected bifurcation: the length of each projected segment are added for a given orientation and next divided as previously by the computed maximum length.

𝑓 𝑞 (𝑝 ,
When the foreshortening rate is computed for each cardiac phase which have an existing matched segment 𝑙 𝑞 , the foreshortening rate for all cardiac cycles 𝐹(𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝐿 0,𝑄-1 ) can be calculated (equation ( 8)).

The chosen angiographic view must be optimal for all cardiac phases. Thus, we don't use the mean or median of foreshortening rates for a given orientation which is not representative, but we select the minimum value. With our optimisation process, if the minimum value is too low for a given orientation in only one phase, this orientation should not be retained as possible optimal viewing angle.

𝐹(𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝐿 0,𝑄-1 ) = min 𝑞 (𝑓 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑙 𝑞 )) (8)

EXTERNAL OVERLAP

As explained previously, the vessel overlap happens when a ray intersects at least two vessels, i.e. when two or more segments are projected into the same pixel in the 2D angiographic projection image. In this paper, two different kinds of vessel overlaps are considered: the external overlap and the internal overlap.

The first overlap criteria, the external overlap, is defined when the selected vessel is

superposed
where 𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞 ) is the projection of the points which composes the selected matched volume 𝑏 𝑞 ∈ 𝐵 0,𝑄-1 (meshes) according to the projection direction 𝑝 and the pair of angles (𝜃 𝑗 , 𝜑 𝑘 ).

INTERNAL OVERLAP

The second overlap criterion, the internal overlap, is only computed if a bifurcation 𝑏𝑖𝑓 𝑞 is selected. This rate calculates the overlap between the bifurcation with itself. As explained previously and by Kitslaar et al. [START_REF] Kitslaar | Automated determination of optimal angiographic viewing angles for coronary artery bifurcations from CTA data[END_REF], the bifurcation is divided into three segments. To compute this percentage for a given orientation and each phase, only the bifurcation is projected in the 2D image.

BIFURCATION OPENING ANGLE

The last criterion is also used when a bifurcation is selected. As previously, the bifurcation is also split into three segments. However, only centerlines (𝑙 𝑞 𝑓𝑎𝑡ℎ𝑒𝑟 , 𝑙 𝑞 𝑐ℎ𝑖𝑙𝑑1 , 𝑙 𝑞 𝑐ℎ𝑖𝑙𝑑2 ) are used and especially three points: the bifurcation point and the last point (target) of the two children segments.

The bifurcation opening criterion corresponds to maximize the angle represented by the three projected points. This angle for a given orientation is computed thanks to the scalar product. The equation (13) gives the bifurcation opening angle for a given gantry orientation.

𝑏𝑜

As previously, the bifurcation opening rate is computed for each cardiac phase (equation ( 14))

with the minimum value of the different maps which is keeped.

𝐵𝑂(𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝐵𝑖𝑓 0,𝑄-1 ) = min 𝑞 (𝑎 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏𝑖𝑓 𝑞 ))

OPTIMAL ANGIOGRAPHIC VIEW DETERMINATION

As explained in Figure 37, the criterion choice depends on the object of interest selected by the user. For a segment, the foreshortening and external overlap criteria are computed and for a bifurcation, the four proposed criteria are used to determine optimal viewing angles. In this section, we explain how the different criteria are combined to optimize the optimal viewing angle determination process. Indeed, if criteria are computed for each possible gantry orientation and for each cardiac phase, the execution time becomes too high (if the coronary tree sequence has ten cardiac phases, 110410 projections (181 × 61 × 10, see equation ( 6) with the interval of the primary and secondary angles, the angular step of 1° and the 10 phases) have to be computed and evaluated).

The global algorithm and the optimisation process are slightly different according to the type of the object of interest using different criteria (foreshortening, external and internal overlap and bifurcation opening angle).

SEGMENT OPTIMAL VIEW

In this section, we explain the algorithm used to determine optimal viewing angle for a matched selected segment 𝐿 0,𝑄-1 = {𝑙 0 , … , 𝑙 𝑞 , … , 𝑙 𝑄-1 }. The algorithm can be divided in three steps (Algorithm

8).

Firstly, from line 8 to line 38 in the Algorithm 8, the foreshortening rate is computed for each matched 𝑙 𝑞 and for each gantry orientation (equation ( 7)). However, after foreshortening map 𝑓 𝑞 building for each 𝑞 phase, a threshold is performed to remove angles with worse foreshortening values (block line 25 to 28 Algorithm 8). Indeed, we want an angiographic view which must be optimal for all cardiac cycles. Thus, in the algorithm, a binary mask (with same dimension as maps) is created. It's updated after each map building: for each thresholded foreshortening rate, the corresponding value in the mask becomes false and for the following maps, these angles are not anymore considered. Next, the global foreshortening map 𝐹 for 𝐿 0,𝑄-1 is computed with the minimum value for each selected gantry orientation in the mask (equation ( 8)). To reduce the projection number and consequently the execution time of the algorithm, we perform another threshold, more selective than the previous, on the global foreshortening map 𝐹 (block line 31 to 35 in the Algorithm 8).

Secondly, from line 40 to 61 in the Algorithm 8, the external overlap rate is calculated for each projected vessel 𝐵 0,𝑄-1 = {𝑏 0 , … , 𝑏 𝑞 , … , 𝑏 𝑄-1 } and for the retained gantry orientation i.e. angles with true value in the mask (equation (9)). As previously, a threshold is performed on each map 𝑜 𝑒𝑥𝑡 𝑞 to remove incorrect angles (block line 51 to 55 in the Algorithm 8). Contrary to the foreshortening step, no selection is made after the global external overlap map 𝑂 𝑒𝑥𝑡 building (equation (10)).

The last step, from line 63 to 76 in the Algorithm 8, consists to compute the optimal view map 𝑂𝑉 thanks to the linear combination of the foreshortening 𝐹 and external overlap 𝑂 𝑒𝑥𝑡 maps for each selected gantry orientation (line 56 in the Algorithm 8). The maximum value of the optimal view map gives the optimal viewing angle of the segment in the whole cardiac cycle.

Algorithm 8: Optimal view algorithm for a matched segment of interest, function OptimalViewMapSegment().

Input: the matched centerline of the selected segment 𝐿 0,𝑄-1 = {𝑙 0 , … , 𝑙 𝑞 , … , 𝑙 𝑄-1 }. 𝐵 0,𝑄-1 = {𝑏 0 , … , 𝑏 𝑞 , … , 𝑏 𝑄-1 } the matched volume of the selected vessel. 𝐵 0,𝑄-1 ̅̅̅̅̅̅̅̅ = {𝑏 0 ̅̅̅ , … , 𝑏 𝑞 ̅̅̅ , … , 𝑏 𝑄-1 ̅̅̅̅̅̅ } the other vessels in the corresponding trees. 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑𝑆𝑢𝑝𝑝 is the threshold used to suppress worse the weight of a small segment. A segment smaller than the others is considered as less important. The physician spends less time in this small segment during the catheter guidance. To determine the weight according to the length criterion for each segment, its length is divided by the total length of all segments. The weight related to the hierarchical level is computed in the same way: the level of the target node of the segment is divided by the sum of all segment level of the tree. The final weight factor corresponds to the mean of the two preview weights (length and hierarchical level).

BIFURCATION OPTIMAL VIEW

The algorithm to determine optimal viewing angle for a bifurcation is slightly different. Indeed, it uses the four constraints as described previously (Algorithm 9). The first part of the algorithm begins by calculating the foreshortening and the bifurcation opening angle rates in the same time as the two equations ( 7) and (13) (line block 8 to 35 in the Algorithm 9). They both use the centerline projection.

The same mask created as previously is updated at each built map 𝑓 𝑞 and 𝑏𝑜 𝑞 thanks to the threshold value (line block 30 to 33 in the Algorithm 9). When the thresholded foreshortening 𝑓 𝑞 and bifurcation opening 𝑏𝑜 𝑞 maps are calculated for each phase 𝑞, their global map 𝐹 and 𝐵𝑂 is obtained (equations (8) and ( 14)). Contrary to the algorithm created for a segment, no other threshold is performed. The second part of the algorithm (line block 37 to 58 in the Algorithm 9) consists to build the internal 𝑂 𝑖𝑛𝑡 and external overlap 𝑂 𝑒𝑥𝑡 maps in the same way as previously (successive threshold on the internal 𝑜 𝑖𝑛𝑡 𝑞 and external 𝑜 𝑒𝑥𝑡 𝑞 overlap map for each phase) (equations (9) to (12)). The last part of the Algorithm 9, from line 60 to line 73, computes the optimal view map 𝑂𝑉 thanks to a linear combination with same weight between the four criteria. The maximum value of the optimal view map gives the optimal viewing angle for the selected bifurcation. Output: The optimal view map OV and consequently the optimal viewing angles (𝜃 𝑗 , 𝜑 𝑘 ) 𝑚𝑎𝑥 .

𝑂 𝑆 = (𝑛𝑏 (𝜃 𝑗 ,𝜑 𝑘 ) * (𝑝𝑡 𝑐 1 + 𝑐 2 + 𝑐 3 + 𝑐 4 )) * 𝑄

In the equation [START_REF]//Compute the length of the projected bifurcation (𝑙𝑒𝑛𝑔𝑡ℎ 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘[END_REF], 𝑝𝑡 represents the number of points in the centerline. 𝑐 1 corresponds to the cost of the projection of a point, 𝑐 2 the cost of a foreshortening rate, 𝑐 3 the cost of the projection of the volume and 𝑐 4 the cost of the external overlap rate. We consider that in this equation no threshold is used. Otherwise the external overlap is not computed 𝑛𝑏 (𝜃 𝑗 ,𝜑 𝑘 ) times. For a bifurcation, we add the cost of the bifurcation opening angle and internal overlap rates. La première partie se focalise uniquement sur les résultats liés à la mise en correspondance de deux arbres coronaires correspondant à deux phases consécutives (section 3.1.3). Les différents algorithmes proposés dans le chapitre 3 ainsi que les mesures de similarité associées sont évalués.

L'apport de notre nouvelle méthode d'appariement de deux arbres vasculaires avec insertion de noeuds artificiels, les nouvelles mesures de similarité et l'étape de correction hiérarchique est ainsi mis en avant.

La deuxième partie évalue quant à elle l'algorithme proposé pour la mise en correspondance de l'ensemble de la séquence d'arbres coronaires basé sur la construction d'un arbre mosaïque (section 3.2). Pour rappel, ce nouvel algorithme prend en compte les différences topologiques de tous les arbres vasculaires de la séquence. Il s'autocorrige pendant le processus de construction de l'arbre mosaïque afin de résoudre les conflits hiérarchiques liés à l'insertion de noeuds artificiels et aux informations topologiques supplémentaires obtenues au fur et à mesure du traitement de la séquence.

La dernière partie du chapitre se focalise sur les résultats concernant la détermination de l'angle de vue optimale. Les algorithmes proposés dans le chapitre 4 permettent d'obtenir l'incidence optimale pour un segment unique, une bifurcation ou un segment multiple donné pour tout le cycle cardiaque tout en prenant en compte les différences topologiques entre les arbres de la séquence.

Tous ces algorithmes ont été développés dans le langage C++ avec l'aide des bibliothèques Qt

PAIR-WISE MATCHING OF SUCCESSIVE TREES

In this first section, the different matching algorithms of two successive phases proposed in the chapter 3 are evaluated and compared. A manual classification is performed for each node to evaluate the algorithm and the node-to-node constraint efficiency. In our case, there are 6 possible classifications for one given node:

-correctly matched nodes (CM),

-correct nodes without assignment e.g. a leaf node of a spurious branch (CMWA),

-correctly matched bifurcation nodes with artificial nodes (CBAN),

-correctly matched leaf nodes with artificial nodes (CLAN), -unmatched nodes (UM), and -incorrectly matched nodes (IM).

This chapter presents a comparison of the two adapted state-of-the-art inexact tree matching algorithms [LKZP07, MKSZ09, TMPH05] using the node-to-node constraints described in sections 3.1.1 and 3.1.3. Beforehand, we explain in sections 5 and 5.1.2 how these two algorithms are evaluated and the determination of the best constraint combination. Next in section 5.1.4, the contribution of the new pair-wise matching method with the insertion of artificial nodes based on new node-to-node constraints is shown and compared to the others algorithms.

EVALUATION OF THE HIERARCHICAL TREE METHOD

In the section 3.1.1, describing Lohe et al.'s method [START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF], two sets of metrics have been highlighting. We evaluate some metrics adapted to our coronary problem for the inexact tree matching proposed by Lohe et al. [START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF] and new metrics based on the Dynamic Time Warping's algorithm [START_REF] Keogh | Derivative Dynamic Time Warping[END_REF][START_REF] Ratanamahatana | Three Myths about Dynamic Time Warping Data Mining[END_REF] that we proposed in the section 3.1.3 to obtain the combination which gives the best matching result.

In the evaluation, we analyze first two consistency constraints 𝑐𝑐 𝜆 which permit to select potential nodes 𝑣 𝑖 𝛼 𝑖 ∈ 𝑉 𝑖 and 𝑣 𝑖+1 𝛼 𝑖+1 ∈ 𝑉 𝑖+1 and then to add these nodes 𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 = (𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 ) in the search tree 𝑇𝑆 𝑖,𝑖+1 :

-𝑐𝑐 1 : the difference between the two path lengths 𝑝 𝑖 (𝑟 𝑖 , 𝑣 𝑖 𝛼 𝑖 ) ∈ 𝑇 𝑖 and 𝑝 𝑖+1 (𝑟 𝑖+1 , 𝑣 𝑖+1 𝛼 𝑖+1 ) ∈ 𝑇 𝑖+1 , -𝑐𝑐 2 : The Euclidean distance between the couple of potential node coordinates 𝑣 𝑖 𝛼 𝑖 and 𝑣 𝑖+1 𝛼 𝑖+1 .

Five similarity measures 𝑠𝑚 𝜇 used to determine the matching quality of the potential nodes 𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 = (𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 ) in the search tree are also evaluated:

- To determine the combination of metric set which gives the best results, several evaluations have been realized with different threshold values and weight factors from the nine matchings between successive trees of the real coronary tree sequence 𝑆 0,9 .

First, each possible combination of a consistency constraint 𝑐𝑐 𝜆 and a similarity measure 𝑠𝑚 𝜇 are tested. Thresholds of consistency constraints 𝑠(𝑐𝑐 𝜆 ) and on similarity measures 𝑠(𝑠𝑚 𝜇 ) are empirically chosen and their values are kept identical for each test (i.e. the nine matchings). The Table 1 shows the best matching results obtained for each evaluated combination. We noted that the best threshold values of the two consistency constraints are the same for all similarity measures such as the best threshold values of the five tested similarity measures. Moreover, each best proposed metric configuration has incorrectly matched nodes (IM). The second consistency constraint 𝑐𝑐 2 combined with each similarity measure gives better matching results than the first constraint 𝑐𝑐 1 . Better node classification is obtained with the second 𝑠𝑚 2 , the third 𝑠𝑚 3 and the fifth 𝑠𝑚 5 similarity measures.

79.6% of nodes are correctly matched (i.e. classified) and their execution time is really fast (de 2 à 311 ms).

) 311

The Table 2 shows the matching result for each similarity measure and the combination of the two consistency constraints 𝑐𝑐 1 and 𝑐𝑐 2 . The better metric thresholds described previously in Table 1 are used to determine if this combination of consistency constraints give better matching results. The results are not improved: the number of correctly matched nodes is lower than the result obtained with only the second consistency constraint. However, for the second and fifth similarity measures, the number of incorrect nodes decreases slightly. The Table 3 shows the better matching results with the combination of node-to-node similarity measures. With the previous results, we choose to evaluate these different combinations with only the second consistency constraint 𝑐𝑐 2 which gives better node classification. With this real data, these combinations didn't perform better. However, similar results are obtained with metrics combinations such as 𝑠𝑚 2 and 𝑠𝑚 4 which provide additional information with an assessment both in the nearness and curvature of the paths. We evaluate the matching algorithm proposed by Lohe et al. [START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF] with different metrics adapted to non-isomorph vascular data. The better results for the nine matchings are obtained with the Euclidean distance of consistency constraint and with similarity measures using the nearness and curvature between the paths. Principally, this metrics are proposed in the section 3.1.3. However, the number of incorrect matched nodes (IM) and unmatched nodes (UM) are still high (about 20%).

We will now evaluate the algorithm based on the association graph building derived from

EVALUATION OF THE ASSOCIATION GRAPH METHOD

The matching algorithm based on the association graph building 𝐺 𝑖,𝑖+1 and the maximum clique search 𝐶 𝑚𝑎𝑥 used two sets of metrics as explained previously in the section 3.1.2. The efficiency of the unary and binary constraints must be shown separately in order to obtain the best matching o two trees 𝑇 𝑖 and 𝑇 𝑖+1 .

UNARY CONSTRAINTS

First, the efficiency of the unary constraints 𝑐𝑢 𝛾 is analyzed. With this step, we only want to select all potential assignments 𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 = ( 𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 ) with 𝑣 𝑖 𝛼 𝑖 ∈ 𝑉 𝑖 and 𝑣 𝑖+1 𝛼 𝑖+1 ∈ 𝑉 𝑖+1 which must be present in the maximum clique 𝐶 𝑚𝑎𝑥 . These nodes, representing the best matching 𝑀 (ground truth), must be in the association graph. Four unary constraints are evaluated:

-𝑐𝑢 1 : the comparison of the spatial coordinates of the two potential nodes 𝑣 𝑖 𝛼 𝑖 ∈ 𝑉 𝑖 and

𝑣 𝑖+1 𝛼 𝑖+1 ∈ 𝑉 𝑖+1 ,
-𝑐𝑢 2 : the comparison of path lengths 𝑝 𝑖 (𝑟 𝑖 , 𝑣 𝑖 𝛼 𝑖 ) and 𝑝 𝑖+1 (𝑟 𝑖+1 , 𝑣 𝑖+1 𝛼 𝑖+1 ),

-𝑐𝑢 3 : the minimum area between the two normalized polylines defined by the two paths 𝑝 𝑖 and 𝑝 𝑖+1 , -𝑐𝑢 4 : the comparison of the global curvature between the two paths 𝑝 𝑖 and 𝑝 𝑖+1 .

Moreover, their selectivity parameters (threshold associated to the constraints) are empirically chosen and identical for each matching test. To determine the best configuration, we check if all node pairs which must be matched are selected (without the pair of root nodes which is automatically matched). The number of all selected nodes in the association graph 𝐺 𝑖,𝑖+1 (i.e. the order of the association graph for the nine matchings) is also examined. More the node pair selection is significant, more the search space of the next steps is reduced decreasing consequently the execution time to the determination of the best matching. By the way, the execution time is also an important parameter and should be fast for this first step of the matching algorithm.

In Table 4, we compare these four unary constraints with three different values of associated selectivity parameter among all tested values. The chosen threshold values were the most representatives and also quite different. For each matching test, we have:

-The number of node pairs which must be in the association graph. In the ground truth, we have 53 node pairs that must be matched. More this number is near 53, better is the unary constraint.

-The number of node pairs in the association graph evaluating the selection criterion of the constraint. The percentage corresponding to the number of all possible pairs of nodes, is also given. More this value is low, more the selectivity is high.

-The execution time of the constraint in ms.

The best results was obtained with the first constraint 𝑐𝑢 1 : all pairs of nodes which must be matched are selected and a significant selection is performed (i.e. a reduction of about 92.1% of the association graph order). Besides, the execution time is really fast contrary to the third unary constraints 𝑐𝑢 3 using area between normalized polylines. We have evaluated each unary constraint separately and found their best associated selectivity parameter value. Now, we will combine the different constraints to determine if the matching efficiency can be improved. We test each possible combination between two and four constraints with different weight factor.

Table 5 shows the best unary constraint combination obtained and their associated weight factor. Each combination in this table increases the selection of matched nodes. The number of selected potential nodes (about 9.2%) is slightly higher but closed to the better results in Table 4 (7.9%

for the constraint 𝑐𝑢 1 with the value 10 as selectivity parameter). The unary constraint combination don't give better result compared to the single use of the first unary constraint 𝑐𝑢 1 with 𝑠(𝑐𝑢 1 ) = 10. This unary constraint corresponds to our different criteria of our matching algorithm (section 3.1.3).

BINARY CONSTRAINTS

In this section, the efficiency of the proposed binary constraints 𝑐𝑏 𝛿 in section 3. ), even if it's not the faster (see Table 6). However, this runtime doesn't take into account the first step with the selection of potential matched nodes thanks to the unary constraints. Indeed, with a lower node number, this step should decrease this time value (see section 5.1.2.3). The third binary constraint 𝑐𝑏 3 with 𝑠(𝑐𝑏 3 ) = 0.1 have only six incorrect matched nodes (IM). However, the number of correctly matched nodes (CM) is lower than for the fourth constraint and more than 20% of nodes are unmatched (UM). In addition, the execution time is really long. while decreasing the number of incorrect matched nodes (IM + UM). For each binary constraint, the selectivity parameter is determined according to the best matching results described in Figure 40. The correctly matched node number have to be higher than the other tests and next the incorrectly matched node number must be the lowest. However, best combination may be found without these best similarity parameters previously obtained. Only 𝑐𝑏 5 and 𝑐𝑏 6 represent the same measure unit (mean angle), that's why we choose to test also the same threshold value for them. To combine these binary constraints, several tests are realized with different weights. The Figure 41 shows the best binary constraint combination obtained with their associated weight factor. 12 representative tests have been selected:

-test 1 : 𝒄𝒃 𝟏 + 𝒄𝒃 𝟐 with 𝑠(𝑐𝑏 1 ) = 1.4; 𝑤(𝑐𝑏 1 ) = 0.75 and 𝑠(𝑐𝑏 2 ) = 1.2 ; 𝑤(𝑐𝑏 2 ) = 0.25, As shown in the Figure 41, without taking into account the first step of the algorithm (selection of potential matched nodes thanks to unary constraints), the matching results are not better than those for the fourth binary constraint 𝑐𝑏 4 alone and have consequently a higher runtime. Only the combination of 𝑐𝑏 4 and 𝑐𝑏 6 gives the same result.

-
We can see that the combination of the three binary constraints 𝑐𝑏 4 , 𝑐𝑏 5 and 𝑐𝑏 6 , which are proposed in the section 3.1.3, obtains the same correctly matched node number. These three constraints give correct matching results without the first selected step. In the next section, we will compare the fourth constraint with the combination of the three last binary constraints during the complete matching algorithm (with the unary constraint).

PAIR-WISE MATCHING ALGORITHM

We have evaluated the two kind of constraints separately. In this subsection, we applied the complete pair-wise matching algorithm with the better constraints found previously. The unary constraint is based on the Euclidean distance of the node coordinates (𝑐𝑢 1 ) with a selectivity parameters equal to 10 (section 5.1.1). In the evaluation of binary constraints (section 5.1.2.2), we found that the fourth constraint (nearness of the path based on the Dynamic Time Warping) give slightly better result than the others. In the section 3.1.3, we proposed another similarity measure also based on the DTW (coordinates, tangent and direction). Previously, we have shown that the combination of these three constraints gives good results without the selection step using unary constraints. We choose to compare the pair-wise matching algorithm with these two propositions:

-algorithm A1 with the unary constraint 𝑐𝑢 1 and 𝑠(𝑐𝑢 1 ) = 10 and the binary constraint The Figure 42 shows the matching results for these two algorithms A1 and A2 for the nine matching tests. The number of correctly matched nodes (CM) is exactly the same and only one test differs (phases 𝑡 3 and 𝑡 4 ). The number of incorrectly matched nodes (IM) decreases slightly with the combination of the three binary constraints while previously the single binary constraint 𝑐𝑏 4 given better result in the section 5.1.2.2. Thus, the first selection step with the unary constraint is really important.

COMPARISON OF THE TWO METHODS

As shown in previous section, best results for the two coronary tree matching algorithms are obtained with two kinds of metrics: first, the Euclidean distance between the tree node coordinates to select potential assignments and second, the three new criteria between path points (the coordinates, the tangent and the local direction) from which is computed the Euclidean distance by the DTW's algorithm to measure the path similarity. The Figure 43 explains the nine matching results obtained with Lohe et al.'s algorithm [START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF] and the association graph approach [MKSZ09, TMPH05] adapted with the two previous kind of metrics.

The selectivity parameter's value is chosen according to the section 5 and 5.1.2. For the first algorithm A3, the best configuration is obtained with 𝑠(𝑐𝑐 2 ) = 10 for the consistency constraint and 𝑠(𝑠𝑚 2 ) = 5, 𝑠(𝑠𝑚 4 ) = 15 and 𝑠(𝑠𝑚 5 ) = 15 for the similarity measure. For the second algorithm A2, we take 𝑠(𝑐𝑢 1 ) = 10 for the unary constraint and 𝑠(𝑐𝑏 4 ) = 5, 𝑠(𝑐𝑏 5 ) = 15 and 𝑠(𝑐𝑏 6 ) = 15 for binary constraints. The number of correctly matched nodes is exactly the same and the number of correct nodes without assignment, practically the same. This number is slightly lower than thus of Lohe et al.'s algorithm [START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF]. The major difference between these two best combinations is the number of false nodes which is higher for the first algorithm. Even if its execution time is a bit faster than the association graph's algorithm (see Table 7), we prioritize the quality of matching result with a low number of incorrectly matched nodes. This result is consistent with the paper of Metzen et al.

[MKSZ09]. Indeed, with the same database, they have better results (i.e. a great number of correctly matched nodes) than the algorithm proposed by Lohe et al. [START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF].

MATCHING EVALUATION WITH ARTIFICIAL NODES

The association graph approach based on Metzen et al. The number of correctly matched nodes is not modified, and false nodes present before this new step have the same classification too. They are many unmatched nodes (about 16.8%) without insertion of artificial nodes (A2). However, with insertion of artificial nodes, a major part of missing nodes is correctly matched. With the algorithm A4, 14.9% of nodes are supplementary correctly matched and classified against 15.8% for the algorithm A5. Consequently, the number of unmatched nodes decreases. The combination of metrics in the DTW's algorithm (A5) gives a better classification, so better matching results than only one constraint (A4). Indeed, as this last algorithm increases slightly the number of incorrectly matched nodes. In addition, the execution time of algorithms with artificial node insertion is still fast (see Table 7). From our real data sequence 𝑆 0,9 = {𝑇 0 , … , 𝑇 𝑖 , … , 𝑇 9 }, a new simulated tree sequence 𝑆 0,9 ′ = {𝑇 0 ′ , … , 𝑇 𝑖 ′ , … , 𝑇 9 ′ } is created with our GUI (Graphical User Interface) (Figure 46 and Annexe A). The synthetic coronary tree 𝑇 𝑖 ′ represents the tree 𝑇 𝑖 with reductions of terminal branch length, modifications of the spatial coordinates of bifurcation and leaf nodes (after the first bifurcation) and modifications of the branch tortuosity.

Our proposed matching algorithm is next evaluated with combination of the real tree sequence and the new simulated tree sequence. The 36 sequence matching evaluations keep the same constraints and parameter's value as in the algorithm (A5) which gives better results. The Euclidean distance between node coordinates is used as unary constraint and the three node-to-node metrics (node coordinates, tangent and direction) based on the Dynamic Time Warping algorithm are used both as binary constraints and artificial node insertion constraint. The Figure 47 shows the node distribution for 36 matching results. The percentage represents the node number's mean for each category (CM, CBAN, CLAN, etc.) of the 36 tests. We obtain only 1.80% of errors (incorrectly matched and missing nodes). The details for the different node classification are described in the Figure 48.

Unmatched nodes only come from artificial nodes corresponding to existing leaf nodes.

RESULT SYNTHESIS

To match two vascular tree structures, the choice of similarity measures is decisive. The compared algorithms in the previous chapters used the tree characteristics through their hierarchical structure and additional node-to-node constraints based on geometrical features. This association of nodes and paths improves the matching results in both algorithms. The best results are obtained with four proposed constraints with a fast execution time. The first constraint based on the Euclidean distance of node coordinates selects potential node assignments and so reduces significantly the number of potential matched node pairs. Latest three node-to-node constraints determine the quality of the kept potential assignments with the DTW's algorithm (node coordinates, tangent and direction).

With the best configuration, four associated selectivity parameters (of node-to-node similarity measures) and their thresholds must be empirically determined. During our tests in real data and simulated data, the same values are kept and the matching results are promising.

The best matching result, obtained with the association graph's approach [MKSZ09, TMPH05], have few incorrectly matched nodes but a higher number of unmatched nodes (16,8%). That is why we add a new step, the insertion of artificial nodes which improves the matching results without increasing significantly the execution time and influencing already false assignments. Indeed, the number of correctly matched nodes increases with this step (15.8% of nodes are supplementary correctly matched and classified) whereas the number of missing nodes decreases consequently.

Nonetheless, some nodes are still unmatched. Moreover, the choice of last thresholds used to determine if two branches are similar is really important. If this threshold value is too large, some artificial nodes can be incorrectly inserted and wrong assignment deduced. Conversely, if the value is too strict, the similarity between branches cannot be found and the artificial node are not inserted in the tree. We choose to keep the same constraints based on the DTW's algorithm with the same values than the selectivity parameters associated with the binary constraints to reduce the number of parameters to evaluate.

MOSAIC-BASED MATCHING OF THE CORONARY SEQUENCE

To evaluate the mosaic-based matching algorithm of the whole coronary tree sequence a manually classification is also created for each node. Compared to the previous section, 9 possible classifications for a given node of a tree are proposed: 1) correctly existing matched node (CM), 2) correct artificial node corresponding to a bifurcation node (CBAN), 3) correct artificial node corresponding to a leaf node (CLAN), 4) unmatched existing node (UM), 5) artificial node corresponding to a bifurcation node not found (UBAN), 6) artificial node corresponding to a leaf node not found (ULAN), 7) incorrectly existing matched node (IM), 8) incorrect artificial node corresponding to a bifurcation node (IBAN) and 9) incorrect artificial node corresponding to a leaf node (ILAN).

The different constraints and their thresholds used during the matching process are the same for all tests. To remember, in our previous pair-wise matching algorithm (see section 3.1), the Euclidean distance between node coordinates is chosen as unary constraint (nodes similarities) with 10 as threshold value. Three node-to-node criteria (coordinates, tangent, direction distance) based on the Dynamic Time Warping's algorithm are used as binary constraints (centerline similarities) with respectively 5, 10 and 10 the threshold values and 0.5, 0.25 and 0.25 the weights of the three criteria.

The same three criteria (and their thresholds and weights) are also used to insert artificial nodes.

Compared to our previous pair-wise matching approach, each tree of the coronary tree sequence contains more artificial nodes especially artificial nodes which corresponds to a leaf node in other tree sequence. Indeed, to perform the global matching we take into account all nodes of the tree sequence and not only nodes belonging to the next phase. The different information of additional branches or different branch lengths for one tree of the sequence affect the processing of all the next trees of the sequence. Artificial nodes are added in each tree to consider this extra information. Consequently, our global matching algorithm for the whole sequence is more accurate than the previous one (pair-wise matching in section 3.1).

The global matching method is evaluated with 42 sequences of 10 coronary trees which represent different combinations between the real data sequence 𝑆 0,9 and the simulated data sequence 𝑆 0,9 ′ (see section 5.1.4 and Figure 46). The global matching test from real coronary data 𝑆 0,9 is taken as reference to evaluate the following different combinations:

1) 10 sequences of 10 left coronary trees with only one synthetic tree among 𝑆 0,9 ′ and nine real trees from 𝑆 0,9 ,

2) 9 sequences of 10 left coronary trees with two successive synthetic trees among 𝑆 0,9 ′ and eight real trees from 𝑆 0,9 ,

3) 8 sequences of 10 left coronary trees with three successive synthetic trees among 𝑆 0,9 ′ and nine seven trees from 𝑆 0,9 , 4) 7 sequences of 10 left coronary trees with four successive synthetic trees among 𝑆 0,9 ′ and six real trees from 𝑆 0,9 , 5) 6 sequences of 10 left coronary trees with five successive synthetic trees among 𝑆 0,9 ′ and five real trees from 𝑆 0,9 , and 6) 1 sequence of 10 left coronary trees with all synthetic trees of 𝑆 0,9 ′ .

The Figure 49-A) shows the global node distribution in percent for the 42 tree sequences which corresponds to 8524 nodes to match in totality (203 nodes in mean for one sequence).

EVALUATION OF REAL SEQUENCE

The Figure 50 and Figure 51 represent the matching results of the real data sequence 𝑆 0,9 = {𝑇 0 , … , 𝑇 𝑖 , … , 𝑇 9 }. From the node matching result of the coronary tree sequence, each similar segment in the whole tree sequence is deduced and has the same ID.

In the Figure 50-A), the edge matching is shown with the superimposition of the whole tree sequence 𝑆 0,9 . Similar edges with the same ID in the different trees have the same color. The Figure 50-B) shows the mosaic tree 𝑈𝑆 0,9 which is built from the first tree 𝑇 0 of the whole sequence 𝑆 0,9 completed with other segments present in the next trees of 𝑆 1,9 .

The node classification for each tree of the sequence is described in the Figure 51. There is only one mistake in one tree 𝑇 6 which corresponds to a wrong matching of an existing leaf node and consequently to an unmatched artificial node (see Figure 56 case C). Although artificial node number is higher than in our previous pair-wise matching approach (section 5.1.4), the error percent are lower:

1.04% of incorrect nodes versus 2.04%.

RESULT SYNTHESIS

We have seen the matching results for two sequences (real and simulated data) in detail. The The majority of matching errors are located in the terminal branches. The Figure 56 shows three major matching errors from the sequence 𝑆′′ 0,9 = {𝑇 ′ 0 , 𝑇 ′ 1 , 𝑇 ′ 2 , 𝑇 ′ 3 , 𝑇 ′ 4 , 𝑇 5 , 𝑇 6 , 𝑇 7 , 𝑇 8 , 𝑇 9 } containing 5 simulated trees and 5 original trees. These errors are mainly due to the pair-wise matching algorithm used to match two successive trees proposed in the section 3.1.3 and to some imprecision of artificial node coordinates (choice of similarity measure thresholds).

The proposed mosaic-based matching algorithm takes into account the non-isomorphic nature of the trees in the whole 3D+T sequence and exploits the whole data information. Furthermore, the mosaic-based algorithm is self-correcting during the matching process of the tree sequence.

Consequently, the matching is more accurate and complete that in our previous pair-wise matching approach. Moreover, the result for our real data sequence has a lower percentage of incorrectly matched nodes. Indeed, our algorithm checks the matching rightness and so gradually corrects the detected hierarchical conflicts. For all the 42 tests, we have as mean 97.7% of correctly matched nodes over the sequence (median of 98.3%) and 97.3% of correctly inserted and matched artificial nodes.

As explained previously, matching errors are principally located in terminal branches and they can affect the next phases during matching process of the coronary tree sequence. A part of these errors come from the pair-wise matching of the two successive trees 𝑇 𝑖 and 𝑇 𝑖+1 used to build the union tree 𝑈𝑇 𝑖,𝑖+1 . Two leaf nodes can be matched although the branch lengths are different and consequently an artificial node corresponding to one of these leaf nodes is missed. It can be due to similarity measure thresholds, used to build the association graph, which must be more accurate for some cases. Another part of these matching errors is also related to the threshold value precision in the artificial node insertion case. In the future, these threshold values should be automatically chosen to fit with more databases and be more accurate. The Figure 57 proposed the global optimal view map of the selected matched segment with 2494 possible gantry orientations. Thanks to the thresholds and the using of minimum value to obtain the different global maps, all of these cases give the segment of interest under a correct orientation in the whole cardiac cycle. However, the physician has too many choices. That's why we proposed to retained only the best angles with maximum values. In the Figure 58, we select respectively 5% and 2% of the better gantry orientations. Two different gantry orientations are proposed. The first angle (𝜃 𝑗 , 𝜑 𝑘 ) = (-7°, -27°) in green in the Figure 58

Two optimal gantry orientations are proposed and the left coronary artery with the segment in pink is shown under these two views. A) Optimal view map with the 5% better gantry orientation (551 retained angles). B)

Optimal view map with the 2% better gantry orientation (220 retained angles).

RESULTS FOR BIFURCATION OF INTEREST

The second result, which we propose in this section, concerns a bifurcation as object of interest (Figure 59). The bifurcation is matched in all trees of our coronary tree sequence (𝑄 = 10).

Consequently, the maps for the four criteria (foreshortening, external and internal overlap, bifurcation opening angle) are computed for each phase. The Figure 59-A shows the optimal view map without threshold. The different threshold values chosen for any bifurcation are different than for a segment.

Indeed, with the number of criteria which doubles, if we keep a high threshold value in each phase, the selection associated with criteria may be too important and for result, only few or none optimal views can be proposed to the physicians (see next section 5.3.3). Thus, we chose only to remove worse values for each phase and each criterion. In the Figure 59-B, we propose a threshold at 30%. We didn't choose a higher threshold because of the bifurcation opening rate: the selection becomes too important in each phase. The computational time is also reduced with our method (Algorithm 9). The centerline projection, foreshortening and bifurcation opening angle rates are computed 69202 times against 110410 times without thresholds. The volume projection, external and internal overlap rates are computed 60621 times against aslo 110410 times without thresholds.

With the threshold values and the creation of the different global maps for each criterion with the minimum value of each phase, our proposed algorithm takes into account the non-isomorphic nature of the coronary trees of the sequence. In the Figure 59-A, when 𝑞 = 0 the external overlap map is different than the other phases. In this tree, there is an additional branch which exists only in this phase. If the mean or the median is used to compute the global external overlap map of the cardiac cycle, then the external map of the first tree, which have additional branches, should be underrepresented in the global map. In this case, the proposed optimal viewing angle should not be optimal in the whole cardiac cycle: the additional branch is under-appreciated.

As for the segment of interest, the global optimal view map of a selected bifurcation (Figure 59) can have too many potential angles (6064 in this test). To reduce this choice, in the Figure 60, we propose a threshold to keep only the 5% or the 2% better gantry orientations with maximum value in the global optimal view map. The Figure 60 shows also the optimal viewing angle (𝜃 𝑗 , 𝜑 𝑘 ) = (37°, -18°) corresponding to RAO 37° and CRA 18° (with 97.13% of foreshortening, 44.13% of bifurcation opening, 93.72% of external overlap and 84.81% of internal overlap) and the left coronary tree and the selected bifurcation in pink under this orientation for the different phases of the sequence. The selected bifurcation have no overlap with the other structure and with itself and the children branches of the bifurcation are well separated (high bifurcation angle).

RESULTS FOR MULTIPLE SEGMENTS OF INTEREST

The third proposed result is about multiple segments. The optimal view map is obtained in the same way as the Figure 57 (Algorithm 8). In the GUI, the user selects the segment of interest and all segments from the root to the selected segment are merged into one. As explained previously, this segment allows determining optimal viewing angles for the guidance of the catheter and also the stent deployment.

The first column of the Figure 61 shows the optimal view map for a multiple segment with different thresholds. The last six columns describe optimal view maps for each segment which composes the multiple segment. In this test, six segments composed the multiple segment object. If the optimal view maps of the segments 1, which represents the selected single segment (stenotic segment), and the multiple segment are compared, we can see that the selected segment is under-represented in the optimal view map of the multiple segment. More the multiple segment is longer with tortuous centerline and have more segments, more is difficult to find an optimal viewing angles for both the guidance and the stent deployment. That's why, we choose to combine the different optimal view maps of the six segments to obtain one single global optimal view map (which can be similar to the one of the multiple segment). The second column of the Figure 61 shows the combination of the global optimal view maps of the six segments with the same weights (i.e. mean of the maps). However, as explained previously in section 4.4, we choose different weights for the six segments according to their distance to the selected segment and their length (see Table 8). As explained in the section 4.4, with this two different criteria, to choose their weight factor we give advantage to the selected segment.

Indeed, in the case of the determination of the optimal viewing map for a multiple segment, we want an optimal gantry orientation useful to the catheter guidance, but we want also that this chosen view can be used to deploy the stent. The third column of the Figure 61 shows this different merging of the maps. The threshold used in the optimal view map computation for a single segment is important (Algorithm 8). We cannot choose a higher threshold value as previously in the section 5.3. Indeed, as in the last line in the Figure 61, the likelihood that obtaining no optimal view angles is very high.

Between the six threshold optimal view maps, there is no region of interest shared. That's why we choose a threshold similar to the section 5.3.2 which removes worse values but which doesn't perform a high selection. In the Figure 61, we choose a threshold value equal to 40%.

The global optimal view map obtained for the multiple segments is less accurate than the mean or the merging of the six global optimal view maps obtained for the different segments (which compose the multiple segment). As show in the Figure 63, the multiple segment represented in colour is only matched in five phases (𝑇 4 , 𝑇 6 , 𝑇 7 , 𝑇 8 and 𝑇 9 ). The global optimal view map corresponding to the combination of the six segments take into account more information (variation of topology) about the cardiac cycle. Indeed, the selected segment (segment 1 in pink in the Figure 63) is matched only in five phases (as the multiple segment) but its father segment (segment 2 in green in the Figure 63) has a correspondence in seven coronary trees and the others (segment 3 to segment 6, respectively in purple, orange, blue and yellow in the Figure 63) are matched in all trees of the 3D+T sequence. The global optimal view map of each segment is at least computed in more cardiac phases than the multiple segment.

Moreover, as shown in the Figure 62, the external overlap map of the multiple segment (in the left) is also less accurate than the external overlap map of the combination of the six segments (in middle). As explained in the subsection 4.4, with the different segment concatenation, the multiple segment has less overlap with the other structures. The multiple segment is considered as only one entity and not as different branches such as the bifurcation, so the internal overlap is not computed.

Figure 61: Optimal view map for different segments. In the right, the five last columns represent the optimal view maps for five successive segments in the tree hierarchy. In the left, the first column corresponds to the optimal view maps when the five previous segments are merged into one (multiple segments case). In the middle, the two last columns represent the optimal view map from the linear combination of the optimal view map of the five segments (same weights for the first and weights calculated from the two criteria proposed in section 4.4). The first line represents the optimal view map without threshold and the others with different thresholds. Figure 63: Optimal viewing angles for a multiple segment. The optimal view maps in the left correspond to the 5% better angiographic projection angles and the following maps represent the 2% better values. A) Optimal viewing angle for the multiple segment as object of interest. B) Optimal viewing angle for the combination between the six segments (same weight). C) Optimal viewing angle for the combination between the six segments with different weights computed in relation to the hierarchical level of the segment according to the selected segment (in pink) and the length segments. The different tree sequences in the right show the left coronary tree under the found optimal gantry orientation. The pink segments represent the selected segment (segment 1), the green segment is the father of the selected segment (segment 2), the segment 3 is in purple, the segment 4 in orange, the segment 5 in blue and the root segment (segment 6) in yellow.

The Figure 63 shows also the optimal view maps for the three cases (multiple segment global map, mean of the six global maps and merging of the six global max) with first 5% of the best values and next 2%. In right, the coronary tree sequence is displayed respectively under the best computed gantry orientation. In the case A, only five trees are taken into account to determine the optimal viewing angle. In the two next cases B and C, all phases are exploited. As we can see, the optimal view map is rather similar in our test: the optimal viewing angles in A, B and C are near. The three Table 9, Table 10 and Table 11 show in detail the foreshortening rates, external overlap rates and mean of these two criteria (optimal view map) for the different obtained optimal viewing angles, respectively (-43°, 16°) for the multiple segment (Figure 63-A)), (-74°, 17°) for the mean of the six global optimal view maps of the single segments Figure 63-B)), and (-60°, 20°) for the merging of the six global optimal view maps of the single segments Figure 63-C)). The last column of each table represents the foreshortening and overlap maps obtained with the three different methods. The other columns show the percentages for the different segments which compose the multiple segment. In the Table 9, the external overlap rate and the optimal value is equal to 0% because of the threshold used after the external overlap map building. The value of the external overlap rates was under 40% for this gantry orientation.

Table 9: Foreshortening and external overlap rates obtained for the optimal viewing angle (-43°, 16°) determined from the optimal view map of the multiple segment (Figure 63-A)).

Type of rates

RESULT SYNTHESIS

In this section, the determination of the optimal viewing angle for different objects of interest from coronary tree sequence corresponding to the whole cardiac cycle are evaluated with four criteria (foreshortening, external and internal overlap, bifurcation opening angle). We propose a first case of optimal view map obtained for a single segment matched in only five cardiac phases among ten phases (since this segment is missed in the other five phases). As result, the chosen gantry orientation gives a correct visualisation with few foreshortening and overlapping of the selected segment. With the thresholded optimal view map, we can propose several optimal views focus only on a single selected segment to the physician.

Next case, we evaluate our algorithm for a bifurcation matching from all coronary trees corresponding to all cardiac phases. The optimal viewing angles propose the selected bifurcation with few foreshortening, internal and external overlapping and also with a great bifurcation opening.

As last case, for a multiple segment from root to the same selected segment, we compare three different methods to determine optimal viewing angles. The first method considers the multiple segment as one single object. The second and the third methods consider respectively the mean and the weighted (depending on the length and hierarchical level of segment) of all optimal view maps of all segments which compose the multiple segment. These threes methods give similar and correct result. Now, we cannot determine the best method because only few tests are realized.

With the different objects of interest, several thresholds associated with four criteria are performed to compare the efficiency of our algorithms. For a given single segment, the first threshold is used to perform an important selection among the better foreshortening values. We choose to keep the gantry orientation which have more than 90% as foreshortening rate. This selection allow to reduce the number of potential optimal viewing angles to compute (supress the worst according to the foreshortening criterion). Consequently, a lower number of gantry orientation is evaluated for the next criterion, the external overlap rate (reduction of the execution time). A larger threshold value might be too strict and consequently only few or none view would be proposed to the physicians.

For a given bifurcation or multiple segment, a lower value is used for the different thresholds (30% or 40%) with the same reason. We want to suppress the gantry orientation which have the worst rate.

When the different optimal view maps of the different segments are combined (same or different weight factors), the selection of good gantry orientations is important in the combined optimal view map. In the case of a bifurcation, more criteria are used compared to only one single segment (foreshortening and bifurcation opening rates are computed first, and next, after the threshold, the two overlap rates are computed). The different global maps of each criterion may be very different and the global optimal view map can have, with a lower threshold value (30% or 40%), an important angle selection. These threshold values will be evaluated more precisely through a validation of our method on larger data sequence number.

CONCLUSION

PERSPECTIVES

Cette thèse propose donc différentes méthodes automatiques allant de la mise en correspondance de deux arbres coronaires successifs, à l'appariement globale de séquence complète Une autre perspective portant sur l'amélioration des travaux concerne l'application développée. Celle-ci encore en cours de développement devra être adaptée et testée à plus grande échelle ainsi qu'être optimisée pour être envisagée en routine clinique. Avant cela, nous devons montrer les différents résultats et les différents choix au cardiologue, allant de l'angle de vue optimale à la carte optimale retenant les 5% ou 2% meilleures incidences .

VALIDATION DES METHODES

AUTRES APPLICATIONS

A partir des méthodes développées, d'autres applications et évolutions sont envisageables. La seconde partie de l'interface correspond au panneau permettant de gérer tous les paramètres des différents algorithmes proposés. Cette partie est également séparée grâce à des onglets (Figure 65).

Résumé

Les travaux de cette thèse s'inscrivent dans le cadre du planning de traitements minimalement invasifs des lésions des artères coronaires. Le cardiologue réalise un examen coronarographique, puis dans la continuité, une angioplastie transluminale. L'angiographie rotationnelle à rayons X permet de visualiser sous différentes incidences 2D la lumière des artères coronaires sur plusieurs cycles cardiaques et aussi d'obtenir une reconstruction 3D+T des arbres coronaires. A partir de cette séquence, notre objectif est de déterminer automatiquement une incidence optimale 2D du segment sténosé compatible avec les angles du C-arm afin d'aider le cardiologue lors de l'intervention.

Différentes étapes sont considérées pour calculer la position angulaire optimale du C-arm. Afin de suivre la zone de lésion durant le cycle cardiaque, une première méthode est proposée pour mettre en correspondance tous les arbres de la séquence 3D+T. Tout d'abord, un appariement deux à deux des arbres successifs est réalisé afin de construire un arbre d'union. Ces derniers sont ensuite fusionnés afin d'obtenir un arbre mosaïque représentant l'arbre le plus complet de la séquence. L'utilisation de mesures de similarités géométriques et hiérarchiques ainsi que l'insertion de noeuds artificiels permet de prendre en compte les différents mouvements non-rigides des artères coronaires subits au cours du cycle cardiaque et les variations topologiques dû à leurs extractions. Cet appariement nous permet de proposer une deuxième méthode afin d'obtenir une vue angiographique 2D optimale de la zone de lésion tout le long du cycle cardiaque. Cette incidence est proposée spécifiquement pour trois types de région d'intérêt (segment unique, segment multiple ou bifurcation) et est calculée à partir de quatre critères (raccourcissement, chevauchement interne et externe ou angle d'ouverture de bifurcation). Une vue 2D déployée du segment projeté avec le moins de superposition avec les structures vasculaires avoisinantes est obtenue. Nous donnons également la possibilité au cardiologue d'avoir une incidence optimale privilégiant soit le déploiement du stent ou soit le guidage d'outils de la racine de l'arbre à la zone sténosée. Nos différents algorithmes ont été évalués sur une séquence réelle de 10 phases segmentées à partir d'un CT et de 41 séquences simulées.

Abstract

The thesis work deals with the planning of minimally invasive surgery of coronary artery lesions. The physician performs a coronarography following by a percutaneous transluminal angioplasty. The X-ray rotational angiography permits to visualize the lumen artery under different projection angles in several cardiac cycles. From these 2D projections, a 3D+T reconstruction of coronary arteries can be obtained. Our goal is to determine automatically from this 3D+T sequence, the optimal angiographic viewing angle of the stenotic segment.

Several steps are proposed to compute the optimal angular position of the C-arm. Firstly, a mosaic-based tree matching algorithm of the 3D+T sequence is proposed to follow the stenotic lesion in the whole cardiac cycle. A pair-wise inexact tree matching is performed to build a tree union between successive trees. Next, these union trees are merged to obtain the mosaic tree which represents the most complete tree of the sequence. To take into account the non-rigid movement of coronary arteries during the cardiac cycle and their topology variations due to the 3D reconstruction or segmentation, similarity measures based on hierarchical and geometrical features are used. Artificial nodes are also inserted. With this global tree sequence matching, we propose secondly a new method to determine the optimal viewing angle of the stenotic lesion throughout the cardiac cycle. This 2D angiographic view which is proposed for three regions of interest (single segment, multiple segment or bifurcation) is computed from four criteria: the foreshortening, the external and internal overlap and the bifurcation opening angle rates. The optimal view shows the segment in its most extended and unobstructed dimension. This 2D view can be optimal either for the deployment of the stent or for the catheter guidance (from the root to the lesion). Our different algorithms are evaluated on real sequence (CT segmentation) and 41 simulated sequences.

Figure 1 : 2 Figure 2 : 3 Figure 3 : 4 Figure 4 : 6 Figure 5 :

 122334465 Figure 1 : Schémas du coeur (Inserm, 2016). ........................................................................................... 2 Figure 2 : Circulation sanguine dans le corps humain représentée par un réseau d'artères, de capillaires et de veines. ............................................................................................................................................ 3 Figure 3 : Vascularisation du coeur : artères et veines coronaires (source : http://www.sanoficardiologie.fr/cardiologie/Contenus/Menu/SERVICES/Coeur-et-Anatomie) ......................................... 4 Figure 4 : Cycle cardiaque et mouvement du coeur (Belin SVT 2de, 2010 p. 209). ................................. 6 Figure 5 : Schéma du tissu nodal du coeur (source : eurekasante.vidal.fr). ............................................ 7

Figure 7 :Figure 8 :Figure 9 : 15 Figure 13 :

 7891513 Figure 7 : Représentation des trois mouvements principaux du coeur durant la systole. CR : contraction radiale, CL : contraction longitudinale, TL : torsion longitudinale. [Cast12] ........................................... 9 Figure 8 : Exemple de champs de déplacement systolique (A et C) et diastolique (B et D) pour un volontaire sain d'après [Peti03] (Figure 5.15 et 5.16). A et B représentent les champs de déplacement sur une séquence petit axe et C et D sur une séquence grand axe. ..................................................... 10 Figure 9 : Coupe schématique d'une artère saine et d'une artère athérosclérose (Inserm, 2016). ..... 11 Figure 10 : Schéma de l'évolution d'un athérome [Libb02]. ................................................................. 12 Figure 11 : Exemples de projection 2D des artères coronaires sous deux incidences différentes réalisées pendant une coronarographie rotationnelle pour un même patient avec une seule injection de produit de contraste. ......................................................................................................................................... 14 Figure 12 : Schéma des étapes d'une angioplastie avec pose de stent. ............................................... 15 Figure 13 : Paramètres géométriques du C-arm. A) Définition des angles OAG/OAD et CRAN/CAU. B) Schéma d'un C-arm avec définition des distances [SSRB05]. ............................................................... 17

Figure 14 :Figure 15 :Figure 16 :Figure 29 :Figure 30 :Figure 32 :Figure 33 :

 14151629303233 Figure 14 : Exemples de C-arm. A) C-arm mobile. B) C-arm motorisé. (http://www3.gehealthcare.com et http://www.healthcare.siemens.com) ............................................................................................. 18 Figure 15 : Etapes diagnostiques de l'atteinte coronarienne et procédure de revascularisation. ....... 21 Figure 16 : Séquence de projections acquise sur une durée de 4 cycles cardiaques. Les projections (orange) représentant la même phase sont utilisées pour la reconstruction de l'arbre coronaire à cet instant t. ................................................................................................................................................ 23 Figure 17 : Exemples de séquence d'arbres coronaires 3D droit et gauche représentant différents instants du cycle cardiaque obtenus après modélisation 3D. ............................................................... 28

Figure 38 :Figure 40 :Figure 41 :Figure 42 :Figure 43 :Figure 45 :Figure 47 :Figure 48 :Figure 49 :Figure 50 :Figure 51 :

 3840414243454748495051 Figure35: First correction step: the single union node with 6 2 as main node is newly inserted, we search if it can be matched with another union node in previous phases. After the Dynamic Time Warping (DTW) computation based on Euclidean distance of node coordinates, tangent and direction, the two paths in blue (from main nodes 4 0 and 6 2 ) and in purple (from main nodes 4 0 to 8 0 ) are considered as similar, so nodes 8 0 and 6 2 must be merged. The algorithm searches if there are intermediary nodes between the two similar paths: in the example the node 7 2 in the tree 𝑇 2 . As previously, we search if this node can be matched with another node. In this example, an artificial node 10 0 is inserted in 𝑇 0 to match with 7 2 . ................................................................................................. 86 Figure 36: Second correction step: we search if an artificial node can be added in previous tree to complete the matching result. The algorithm takes into account the intermediary nodes between the two similar paths determined by DTW before the insertion of artificial nodes. .................................. 87 Figure 37: summary steps of the optimal viewing angle determination. ............................................. 95 Figure 38: Schema and notation for a segment (A) and a bifurcation (B) of interest. .......................... 97 Figure 39: schematic representation of two foreshortening rates for two different viewing angles (𝜃 𝑗 , 𝜑 𝑘 ). (a) The gantry orientation corresponds to a high foreshortening rate and it better than (b) which represent a bad foreshortening rate. ......................................................................................... 98

Figure 54 :Figure 55 :Figure 56 :

 545556 Figure 54: Node classification after the matching of the simulated tree sequence 𝑆′ 0,9 . .................. 137 Figure 55: Box plots for the matching result in percentage for the 42 matched sequences. In the left, we have global percent of correctly matched nodes (Total CM) and after the details for real nodes (CM), artificial nodes corresponding to a bifurcation in another tree (CBAN) and artificial nodes corresponding to a leaf in another tree (CLAN). In the right, we have the global percent of incorrectly matched nodes (Total IM) and its associated details (IM, IBAN and ILAN), and after the global percent of unmatched nodes (Total UM) and its detail (UM, UBAN, ULAN).................................................... 138

Figure 57 :

 57 Figure 56: Examples of matching errors. The three zooms show the localization errors in different viewing angles.A) The leaf of the tree in bold is matched with the leaf in other trees. This incorrect matched leaf should be matched with an artificial node in some others trees which have longer terminal branch. B) The error is the same of the previous case A). The leaf of the tree in bold is incorrectly matched and the same artificial node (which corresponds to the current leaf) is missing in all the other trees of the sequence. C) Contrary to the two previous cases, errors are only located on the tree in bold (errors similar to the Figure51). The leaf node is incorrectly matched and consequently an artificial node corresponding to a bifurcation is missed. ............................................................... 139 Figure 57: Process of the optimal view map determination for a segment in the whole cardiac cycle. A)The foreshortening and external overlap maps are computed successively without threshold for each matched phase. The global foreshortening and external overlap maps are calculated with the minimum value of the previous temporary maps. The global optimal view map corresponds to the mean of the two last maps. B) Same process as A) but with two successive thresholds. First the foreshortening maps are computed with a threshold of 90% for each phase to perform a high selection of angles until the global foreshortening maps. Second, the external overlap maps are calculated with a threshold of 30% to only remove worse values. The global optimal view map is computed with the two previous global map. 𝑛𝑏 (𝜃 𝑗 ,𝜑 𝑘 ) represents the selected gantry orientation number after each threshold. ............... 141

Figure 58 :

 58 Figure 58: Optimal viewing angles for a segment of interest matched in five cardiac phases. The optimal view map is obtained in the Figure 57. Two optimal gantry orientations are proposed and the left coronary artery with the segment in pink is shown under these two views. A) Optimal view map with the 5% better gantry orientation (551 retained angles). B) Optimal view map with the 2% better gantry orientation (220 retained angles). ...................................................................................................... 142

Figure 60 :

 60 Figure 60: Optimal viewing angles for a bifurcation in the whole cardiac cycle. The optimal view map corresponds to the Figure 59. In top, the left coronary tree with the bifurcation in pink is display under the best angiographic view for the different q phases. ...................................................................... 145

  Figure61: Optimal view map for different segments. In the right, the five last columns represent the optimal view maps for five successive segments in the tree hierarchy. In the left, the first column corresponds to the optimal view maps when the five previous segments are merged into one (multiple segments case). In the middle, the two last columns represent the optimal view map from the linear combination of the optimal view map of the five segments (same weights for the first and weights calculated from the two criteria proposed in section 4.4). The first line represents the optimal view map without threshold and the others with different thresholds. ..................................................... 147 Figure 62: Global External Overlap map for different segments. In right, the last five columns represent the global external overlap maps for the five successive segments in the tree hierarchy. In the left, the

(segment 6 )Figure 65 :Figure 66 :

 66566 Figure63: Optimal viewing angles for a multiple segment. The optimal view maps in the left correspond to the 5% better angiographic projection angles and the following maps represent the 2% better values. A) Optimal viewing angle for the multiple segment as object of interest. B) Optimal viewing angle for the combination between the six segments (same weight). C) Optimal viewing angle for the combination between the six segments with different weights computed in relation to the hierarchical level of the segment according to the selected segment (in pink) and the length segments. The different tree sequences in the right show the left coronary tree under the found optimal gantry orientation. The pink segments represent the selected segment (segment 1), the green segment is the father of the selected segment (segment 2), the segment 3 is in purple, the segment 4 in orange, the segment 5 in blue and the root segment (segment 6) in yellow. ............................................................................ 148

  )). ............................. 149 Table 10: Foreshortening and external overlap rates obtained for the optimal viewing angle (-74°, 17°) determined from the mean of the global optimal view maps of the six segments (same weight factor) (Figure 63-B)). ...................................................................................................................................... 149 Table 11: Foreshortening and external overlap rates obtained for the optimal viewing angle (-60°, 20°) determined from the merging of the global optimal view maps of the six segments (different weight factors) (Figure 63-C)). ......................................................................................................................... 149

Algorithm 1 :Algorithm 2 :Algorithm 3 :Algorithm 4 :Algorithm 5 :

 12345 Détermination de la matrice de distance ........................................................................ Détermination de la distance euclidienne entre deux splines ........................................ Calcul du vecteur de connectivité et de la racine de l'arbre ........................................... Artificial node insertion. .................................................................................................. Mosaic-based matching algorithm of the whole tree sequence (equation (

Algorithm 6 :SOMMAIRE 1 . 1 .

 611 function BuildUnionOfTwoTrees() ................................................................................... Algorithm 7: function ComputeMosaicTree() ....................................................................................... Algorithm 8: Optimal view algorithm for a matched segment of interest, function OptimalViewMapSegment(). ............................................................................................................... Algorithm 9: Optimal view algorithm for a matched bifurcation of interest, function OptimalViewMapBifurcation(). ........................................................................................................... CHAPITRE PROBLEMATIQUE Contexte médical .....................................................................................................................

Figure 1 :

 1 Figure 1: Schémas du coeur (Inserm, 2016).

Figure 2 :

 2 Figure 2: Circulation sanguine dans le corps humain représentée par un réseau d'artères, de capillaires et de veines.

Figure 3 :

 3 Figure 3: Vascularisation du coeur : artères et veines coronaires (source : http://www.sanoficardiologie.fr/cardiologie/Contenus/Menu/SERVICES/Coeur-et-Anatomie)

Figure 4 :

 4 Figure 4: Cycle cardiaque et mouvement du coeur (Belin SVT 2de, 2010 p. 209).

Figure 5 :

 5 Figure 5 : Schéma du tissu nodal du coeur (source : eurekasante.vidal.fr).

Figure 6 :

 6 Figure 6 : Activité électrique du coeur couplé à l'ECG en anglais. Onde P : début de la contraction des ventricules (impulsion électrique produite au niveau du noeud sinusal). Ondes QRS : début de la contraction des ventricules (l'impulsion électrique se propage du noeud auriculo-ventriculaire au faisceau de His et au réseau de Purkinje). Onde T : relaxation des ventricules et repolarisation. Intervalle PQ : temps de contraction auriculaire. Intervalle QT : temps de contraction ventriculaires.

Figure 7 :

 7 Figure 7: Représentation des trois mouvements principaux du coeur durant la systole. CR : contraction radiale, CL :contraction longitudinale, TL : torsion longitudinale.[START_REF] Casta | Estimation 3D conjointe forme/structure/mouvement dans des séquences dynamiques d'images[END_REF]

Figure 8 :

 8 Figure 8: Exemple de champs de déplacement systolique (A et C) et diastolique (B et D) pour un volontaire sain d'après [Peti03] (Figure 5.15 et 5.16). A et B représentent les champs de déplacement sur une séquence petit axe et C et D sur une séquence grand axe.

Figure 9 :

 9 Figure 9: Coupe schématique d'une artère saine et d'une artère athérosclérose (Inserm, 2016).

Figure 11 :

 11 Figure 11: Exemples de projection 2D des artères coronaires sous deux incidences différentes réalisées pendant une coronarographie rotationnelle pour un même patient avec une seule injection de produit de contraste.

Figure 12 :

 12 Figure 12: Schéma des étapes d'une angioplastie avec pose de stent.

  l'angle Cranial/Caudal noté CRA/CAU ou ϕ, définissant le plan de rotation du C-arm dans le plan sagittal, appelé également angle secondaire, -l'angle antérieur oblique droit/antérieur oblique gauche noté OAG/OAD (LAO/RAO en anglais) ou θ, décrivant la course du C-arm dans le plan axial, appelé également angle primaire, -la distance SID (Source -Intensifier Distance) entre la source des rayons X et le détecteur plan, -la distance SOD (Source -Objet distance) entre la source des rayons X et l'iso-centre, c'est-à-dire la zone corporelle du patient visée par l'angiographie.

Figure 13 :

 13 Figure 13: Paramètres géométriques du C-arm. A) Définition des angles OAG/OAD et CRAN/CAU. B) Schéma d'un C-arm avec définition des distances [SSRB05].

Figure 14 :

 14 Figure 14 : Exemples de C-arm. A) C-arm mobile. B) C-arm motorisé. (http://www3.gehealthcare.com et http://www.healthcare.siemens.com)

Figure 15 :

 15 Figure 15: Etapes diagnostiques de l'atteinte coronarienne et procédure de revascularisation.

L

  'acquisition des projections 2D se déroule dans le temps. La structure étudiée subit les mouvements du coeur. Chaque projection représente les artères coronaires à différents instants du cycle cardiaque (4 ou 5 projections représentent la même phase du cycle cardiaque en fonction du nombre de cycles présents), en plus d'être acquise selon une incidence différente. Une autre difficulté influençant la reconstruction vient de la finesse des structures ainsi que du bruit présent dans les images de projection. Cependant, cette acquisition rotationnelle est effectuée avec seulement une dose de produit de contraste limitant le nombre de cycle cardiaque où les structures des artères coronaires sont visibles dans les images de projection. Selon certains travaux [GAGM09, KuND02, MWMG04, RMNA04], l'utilisation de cette technique permettrait de réduire l'irradiation et le volume du produit de contraste tout en conservant la même précision du diagnostic que l'angiographie non-rotationnelle.

Figure 16 :

 16 Figure 16 : Séquence de projections acquise sur une durée de 4 cycles cardiaques. Les projections (orange) représentant la même phase sont utilisées pour la reconstruction de l'arbre coronaire à cet instant t.

A

  partir de la reconstruction 3D ou modélisation 3D d'une phase donnée [ÇGGF16, LABF09], le squelette des artères coronaires de cette phase peut être calculé (squelettisation [LoBe04, Loho01]) (Figure 17 et Figure 18). L'extraction des lignes centrales [GVBL13] s'effectue branche par branche en remontant à partir de chaque extrémité jusqu'à la racine ou une ligne déjà parcourue (Figure 19). Ces lignes centrales sont représentées sous forme de splines cubique d'Hermite utilisant l'interpolateur décrit par Kochanek et Bartels [KoBa84]. La spline de Kochanek module le comportement des tangentes aux n points de contrôle à interpoler avec une tension, une polarisation et un paramètre de continuité. Les lignes centrales, obtenues pour chaque branche peuvent former intuitivement une hiérarchie, c'est-à-dire un graphe, utile par exemple pour la mise en correspondance des différentes artères coronaires tout le long du cycle cardiaque.

Figure 17 :

 17 Figure 17 : Exemples de séquence d'arbres coronaires 3D droit et gauche représentant différents instants du cycle cardiaque obtenus après modélisation 3D.

Figure 18 :

 18 Figure 18: Lignes centrales de la séquence d'arbre coronaire 3D représentée dans la Figure 17.

Figure 19 :

 19 Figure 19 : A) Extraction des lignes centrales sous forme de spline de couleur différentes. B) Détection des bifurcations et construction de la hiérarche du graphe.

Figure 20 :

 20 Figure 20 : Arbres coronaires non isomorphes : difficulté pour la mise en correspondance.

Figure 21 :

 21 Figure 21 : Détails d'une séquence 𝑆 0,9 de 10 arbres coronaires gauches 𝑇 𝑖 (lignes centrales). L'image de droite nous montre la superposition de cette séquence permettant d'observer le mouvement des artères selon les phases du cycle cardiaque.

Figure 23 :

 23 Figure 23 : Artère coronaire gauche représenté sous forme d'arbre. L'image de droite représente la structure d'arbre et l'image de gauche les différentes informations stockées (les points noirs correspondent aux noeuds du graphe et les segments de couleurs aux arcs)

  3 www.qt.io Le chapitre 3 décrit tout d'abord la mise en correspondance entre deux arbres successifs, c'est-àdire proches au niveau des phases du cycle cardiaque avec un déplacement et une déformation faibles entre ces deux arbres (deux phases successives). Cette mise en correspondance est réalisée à partir des lignes centrales et prend en compte la hiérarchie de notre structure. Pour rappel, ces deux arbres sont non-isomorphes à cause de leurs différences liées à leur reconstruction ou segmentation. Des mesures de similarité utilisant à la fois des caractéristiques hiérarchiques et géométriques des arbres sont étudiées. Afin de prendre en compte le côté non-isomorphe des arbres, nous ajoutons la notion de noeud artificiel. Des noeuds artificiels sont ajoutés dans les arbres permettant de mettre en correspondance des portions de branches lorsqu'une bifurcation est manquante ou lors d'une différence de longueur de branches terminales. Le chapitre termine sur la mise en correspondance de l'ensemble de la séquence 3D grâce à la construction d'un arbre le plus complet possible : l'arbre mosaïque. Cet arbre mosaïque, construit principalement à partir de la fusion d'arbres d'unions successifs rassemble tous les noeuds et les segments présents dans au moins une phase de la séquence. L'arbre mosaïque est complet. Nous émettons effectivement l'hypothèse qu'un arbre d'une phase donnée n'est qu'une vue partielle de l'arbre. L'arbre mosaïque remet également en question la véracité des précédentes mises en correspondance et prend en considération toutes les différences topologiques entre les arbres de la séquence. Le chapitre 4 explique le principe de la recherche de l'angle de vue optimale en prenant en compte le mouvement des artères coronaires par rapport au cycle cardiaque grâce à la mise en correspondance réalisée précédemment. Les métriques telles que le ratio de raccourcissement ou de chevauchement sont décrites. De même, plusieurs zones de recherche sont prises en compte : un angle de vue optimale est alors déterminé pour le segment d'intérêt pour le déploiement d'un stent, ou alors pour le guidage des outils jusqu'à la zone de la lésion. Le chapitre 5 décrit les résultats obtenus au cours des différentes étapes. Les méthodes de mise en correspondance à partir de différentes mesures de similarité (ainsi que leurs combinaisons) sont évaluées puis comparées afin d'obtenir la meilleure mise en correspondance. Les résultats obtenus pour la détermination de l'incidence optimale selon les deux critères d'optimalités (a) segment d'intérêt ou bifurcation seule, et b) chemin depuis la racine jusqu'à la zone sténosée) sont également proposés à partir de données réelles et simulées. De nombreuses applications dans divers domaines tels que la biologie [Myer94, NeWu70, YaSz07, ZaBV09] ou la reconnaissance vocale [RaJu93] utilisent la mise en correspondance d'une séquence de points. La mise en correspondance est également utilisée dans la reconnaissance de caractères [FSFR13, PlSr00, SuYa98], la comparaison et l'indexation de fichiers dans des bases de données [Heck78, SLBK04]. Dans le domaine de l'imagerie numérique, des travaux de mise en correspondance de points ont été menés en compression d'images [LuSz97], reconnaissance de formes [BuAl83, BuCs95] et plus généralement en analyse d'images [BuBü93, CTFC98, HrMc90]. En synthèse d'images, des algorithmes de programmation dynamique ont par exemple été utilisés pour le mélange de postures et pour l'adaptation et la reconnaissance de mouvement représentés par des séquences temporelles [SSGD03]. Dans le domaine médical, la mise en correspondance est utilisée majoritairement pour le recalage d'images [MTLP12, SRLG11]. Traditionnellement, des méthodes de mise en correspondance de points [Pinh13] (point cloud matching), de courbes (string matching [Step94] par exemple ou Iterative closest courbe -ICC [Bens15] ) ou de graphe [BuMe97, Bunk00, CFSV04, LiRi13] (graph matching) sont utilisées. La première catégorie contient des méthodes d'appariements très connues comme l'algorithme de RANSAC [FiBo81] (Random Sample Consensus), de CPD [MyXu10] (Coherent Point Drift), d'ICP [BeMc92] (Iterative Closest Point) ou encore de TPS [ChRa03] (Thin-plate Spline).

[ Bunk00 ,

 Bunk00 LiRi13, Wu10] nous montrent que la classification de ces différents algorithmes est complexe à cause d'une grande diversité existante des classes. Certains papiers se focalisent sur des applications spécifiques comme Fan [Fan12] pour l'analyse des réseaux sociaux. Nous reprenons la classification utilisée par Bengoetxea [Beng02], Conte et al. [CFSV04] et Oyarzun Laura [Oyar15] qui peut être utilisée dans le domaine de l'imagerie médicale. Les méthodes de mise en correspondance sont séparées en deux catégories : les algorithmes de mis en correspondance dit « exacts » et « inexacts » basés sur la théorie des graphes.

Laura [ Oyar15 ]

 Oyar15 , Bengoetxea [Beng02] et Conte et al. [CFSV04] nous pouvons diviser cette technique en quatre groupes.

Figure 24 :

 24 Figure 24 : Classification des méthodes d'appariement de graphe selon Oyarzun Laura [Oyar15].

  Notre problématique concerne la mise en correspondance des artères coronaires en 3D sur différentes phases du cycle cardiaque. Des travaux sur les artères coronaires utilisent une mise en correspondance soit pour un recalage 3D/2D ou 2D/2D [BeMV15, Bens15, BMSG14, Gu05, HEMP99, RiSC12, SPSK15, SRLG11, TLGD05, ZhQi11]. Ils ne répondent cependant pas totalement à notre problématique d'appariement sur une séquence 3D+T des artères coronaires. Les arbres extraits possèdent peu de noeuds (entre 10 et 20) et un faible niveau hiérarchique (en moyenne 5), permettant ainsi d'appliquer les différentes méthodes proposées ci-dessus. Cependant, ces structures sont fines, de l'ordre de quelques millimètres, posant problème lors de l'extraction des structures dans le cas d'une angiographie RX. D'une reconstruction 3D à une autre, les branches finales subissent beaucoup de modifications : certaines sont entièrement ou en partie manquante, alors que d'autres incorrectes apparaissent. Les méthodes utilisées doivent alors prendre en compte ces différents cas. De plus, avec le mouvement lié à la respiration du patient et du coeur, les branches subissent des déformations non linéaires supplémentaires et différentes pour chaque patient. Deux branches semblables d'une phase à une autre ne présentent pas la même courbure ou les mêmes coordonnées par exemple, rendant difficile le choix des mesures de similarités. Cependant, d'une phase du cycle cardiaque à une autre, les déformations sont minimes. La mise en correspondance peut alors être appliquée plus facilement pour deux phases proches, représentant un instant semblable du cycle cardiaque. Nous voulons en plus un algorithme qui peut être utilisé avec une structure d'arbre enraciné dans un cas 3D et permettant d'obtenir une mise en correspondance « one to one ». Avec toutes ces caractéristiques, nous avons décidé de tester la méthode générique proposée par Lohe et al. [LKZP07] pour pouvoir l'adapter à notre problème en y ajoutant des mesures de similarités cohérentes. Cette méthode est rapide d'exécution avec des résultats corrects. Une méthode plus spécifique utilisant un graphe d'association est aussi testée, basée à la fois sur celle de Metzen et al. [MKSZ09] et celle de Tschirren et al. [TMPH05]. La construction du graphe d'association repose principalement sur la première méthode à cause des différentes mesures de similarité calculées : les attributs des noeuds et des lignes centrales sont tous les deux pris en compte.

  méthodes de mise en correspondance d'arbres basées sur la construction d'un graphe d'association nécessitent par la suite de rechercher dans ce dernier le plus grand sous arbre complet de cardinalité maximum [MKSZ09, TMPH05]. Ce problème revient à déterminer la clique maximum de ce graphe. Par définition, une clique représente un sous graphe complet, c'est-à-dire un sous graphe dont tous les vertices sont adjacents. Une clique est dite maximale s'il n'existe pas dans le graphe une clique de taille supérieure la contenant. Une clique est dite maximum si sa cardinalité est supérieure aux autres cliques du graphe. Une clique maximum est également une clique maximale. La Figure 25 schématise ces différentes notions. La recherche de la clique maximum est un problème NP-difficile [AMCG99, Karp72]. Dans le reste de cette section, nous considérons le graphe 𝐺 = (𝑉, 𝐸) avec 𝑉 l'ensemble des vertices et 𝐸 l'ensemble des arcs de 𝐺, 𝐶 une clique du graphe 𝐺, c'est-à-dire un sous ensemble de 𝑉 ainsi que 𝜔(𝐺) l'ordre de la clique maximum de 𝐺, c'est-à-dire le nombre de vertices qu'elle contient. Le problème de clique maximum est utilisé dans divers domaines allant de la bio-informatique [MaAY10], à l'économie [BoBP06] ou encore à l'analyse des réseaux sociaux [BaBH11, PaYB12] et est également relié à plusieurs problèmes d'optimisation tels que le « graph clustering » [Scha07], « graph vertex coloring » [ChHW87, WuHa12] ou encore « optimal winner determination » [WuHa15a]. Afin de résoudre ce problème, plusieurs méthodes ont été développées [BBPP99, PaXu94, WuHa15b]. Elles sont divisées en deux principales catégories : les méthodes dites exactes et les méthodes avec une approche heuristique. Les méthodes exactes sont principalement basées sur l'algorithme de Séparation -Évaluation (Branch and Bound) utilisées pour résoudre les problèmes d'optimisation combinatoire. Leurs principal avantage est d'obtenir une solution optimale mais leur temps de calcul est généralement trop important, excepté pour les problèmes avec un graphe de taille limitée. C'est pourquoi, les méthodes basées sur une approche heuristique ont été développées pour les problèmes de grandes tailles afin d'obtenir une solution correcte dans un temps d'exécution raisonnable. Bien évidemment, ces deux types de méthodes peuvent être combinés. Nous allons maintenant présenter succinctement quelques algorithmes de référence.

[

  Figure 25 : (a) un graphe. (b) une clique en vert d'ordre 3. (c) une clique maximale d'ordre 3. (d) une clique maximum d'ordre 4.

  notre problématique de mise en correspondance d'arbres vasculaires, nous ne voulons obtenir qu'une solution, c'est à dire qu'une seule clique maximum. Or les précédents algorithmes présentés peuvent donner plusieurs cliques maximums comme résultat si le graphe en possède plusieurs (Figure 26). C'est pourquoi nous allons utiliser des algorithmes de clique maximum pondérée (maximum weight clique, MWCP). Ces algorithmes peuvent être séparés en deux catégories : ceux utilisant les pondérations sur les vertices (maximum vertex weight clique, MVWCP) et ceux utilisant les pondérations sur les arêtes (maximum edge weight clique, MEWCP).

[

  Kuml04], Warren and Hicks [WaHi07] propose de résoudre ce problème. De même, plusieurs approches heuristiques ont été développées (Pullan [Pull08] , Mannino [Mann99], Wu et al. [WuHG12], Benlic and Hao [BeHa13], Singh and Gupta [SiGu06]).

Figure 26 :

 26 Figure 26 : Exemple de cliques maximums multiples dans un graphe.

  Metzen et al.[START_REF] Metzen | XIAOYI: Matching of tree structures for registration of medical images[END_REF][START_REF] Metzen | XIAOYI: Matching of anatomical tree structures for registration of medical images[END_REF] and Tschirren et al.[START_REF] Tschirren | Matching and anatomical labeling of human airway tree[END_REF] proposed to match two vessel trees by an association graph approach derived from the Pelillo et al.'s algorithm [PeSZ99].Based on these two methods, we propose an association graph algorithm to determine the matching of two successive coronary trees. The association graph 𝐺 𝑖,𝑖+1 = (𝑉 𝐺 𝑖,𝑖+1 , 𝐸 𝐺 𝑖,𝑖+1 ) is an intermediate data structure created from the two trees 𝑇 𝑖 and 𝑇 𝑖+1 . 𝑉 𝐺 𝑖,𝑖+1 and 𝐸 𝐺 𝑖,𝑖+1 are respectively the node set and the edge set. Several successive steps are needed to obtain the best matching 𝑀 𝑖,𝑖+1 of these two consecutive trees (Figure27).

Figure 27 :

 27 Figure 27 : Three main steps to obtain the matching result 𝑀 𝑖,𝑖+1 with the association graph approach based on Metzen et al 's algorithm [MKSZ09].

Figure 28 :

 28 Figure 28 : Representation of the similarity measures used to match two nearby coronary trees. A) First selection: the current node 𝑣 𝑖 𝛼 𝑖 can be assigned with the nodes 𝑣 𝑖+1 𝛼 𝑖+1 and 𝑣 𝑖+1 𝛽 𝑖+1 . S represents the diameter selected to determine the region of interest (threshold value associated to the constraint). B) Application of the DTW's algorithm between two paths to evaluate the similarity between the two nodes 𝑣 𝑖 𝛼 𝑖 and 𝑣 𝑖+1 𝛼 𝑖+1 and for C) respectively for the two nodes 𝑣 𝑖 𝛼 𝑖 and 𝑣 𝑖+1 𝛽 𝑖+1 . The green path is longer than the current purple path: the result of their matching will be penalized.

Figure 29 :

 29 Figure 29: Example of wrong branch assignment by the computation of the Euclidean distance of only node coordinate by DTW. The dark branch between the blue node and the purple node is matched with the incorrect red branch. Normally, thisis the dark branch between the blue node and the yellow node which must be matched with the correct red branch.

Figure 30 :

 30 Figure 30: Illustration of the Dynamic Time Warping's algorithm from [KeRa05] (Fig. 3). A) The two sequences C and Q are similar but out of phase. B) Distance matrix between the two sequences. The optimal warping path (point by point optimal matching) is shown in solid squares. C) Alignment result from the distance matrix.

Figure 31 :

 31 Figure 31: Step pattern used by the Dynamic Time Warping's algorithm to compute the distance matrix.

  of similar branches minimizing wrong assignments to determine more precisely the area of the lesion and to facilitate the cardiac catheterizations through branches. That is why artificial nodes 𝑎 𝑖+1 𝜙 corresponding to existing points of branches in 𝑇 𝑖 (bifurcation or terminal nodes) are added in the other tree 𝑇 𝑖+1 to improve this coronary matching. The two input trees of the sequence 𝑇 𝑖 and 𝑇 𝑖+1 become more complete after this step and shared their additional information. In result, they have more nodes with these artificial nodes.The Algorithm 4 shows the different steps for the artificial node insertion. We try to associate previously unmatched nodes corresponding to the start of spurious branches in the reference tree 𝑇 𝑖 and unmatched leaf nodes with an artificial node 𝑎 𝑖+1 𝜙 which corresponds to a point of one centerline in the tree 𝑇 𝑖+1 (function artificialNodesInsertion() in lines 1 and 4 of the Algorithm 4). For each unmatched node 𝑣 𝑖 𝜙 in the reference tree 𝑇 𝑖 , the algorithm begins by searching its nearest matched parent node 𝑚𝑝(𝑣 𝑖 𝜙 ) and its nearest matched children node 𝑚𝑐(𝑣 𝑖 𝜙 ) (respectively functions nearestMatchedParentPairNode() and nearestMatchedChildrenPairNode() in lines 6 and 7 of the Algorithm 4). Let be respectively 𝑚𝑝(𝑎 𝑖+1 𝜙 ) and 𝑚𝑐(𝑎 𝑖+1 𝜙 ) their matching node in the other tree 𝑇 𝑖+1 .

Figure 32 :

 32 Figure 32: Illustration of artificial node insertion 𝑎 𝑖+1 𝜙 associated to an unmatched bifurcation node 𝑣 𝑖 𝜙 .

Figure 33 :

 33 Figure 33: Global mosaic-based matching algorithm for a 3D+T coronary tree sequence.

Figure 34 -

 34 Figure 34-B)).

1 ,

 1 𝑣 𝑈𝑆 0,𝑖+1 𝑛 𝑈𝑆 0,𝑖+1 } the merging node set of the mosaic tree 𝑈𝑆 0,𝑖+1 with 𝑛 𝑈𝑆 0,𝑖+1 their node number and 𝑉 𝑈𝑇 𝑖,𝑖+1 = {𝑣 𝑈𝑇 𝑖,𝑖+1 1 , … , 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 , … , 𝑣 𝑈𝑇 𝑖,𝑖+1 𝑛 𝑈𝑇 𝑖,𝑖+1 } the union node set of the union tree 𝑈𝑇 𝑖,𝑖+1 from pair-wise matching 𝑀 𝑖,𝑖+1 . Each merging node 𝑣 𝑈𝑆 0,𝑖+1 𝛼 has a list 𝐿 (𝑣 𝑈𝑆 0,𝑖+1 𝛼 ) = {𝑣 0 𝛼 0 , … , 𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 ,𝑖+1 } of matched

Figure 34 :

 34 Figure34: Example of a built mosaic tree from the tree sequence 𝑆 0,2 . A) Tree sequence 𝑆 0,2 = {𝑇 0 , 𝑇 1 , 𝑇 2 } with artificial nodes (pink and blue) inserted during the matching process. B) Building of the two union trees 𝑈𝑇 0,1 and 𝑈𝑇 1,2 from respectively the two trees 𝑇 0 , 𝑇 1 and 𝑇 1 , 𝑇 2 . C) Built mosaic tree 𝑈𝑆 0,2 from the sequence 𝑆 0,2 derived from 𝑈𝑇 0,1 and 𝑈𝑇 1,2 .

  ,𝑖+1 must have in their list 𝐿(𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 ) = {∅ 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 } i.e. only one node from the last considered tree 𝑇 𝑖+1 . Indeed, these nodes 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 cannot have in their list 𝐿(𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼) a node belonging to the tree 𝑇 𝑖 , since all nodes from it have been already inserted in the mosaic tree 𝑈𝑆 0,𝑖+1

  𝑈𝑆 0,𝑖+1 𝛽 which didn't have in their list 𝐿 (𝑣 𝑈𝑆 0,𝑖+1 𝛽 ) node of the two trees 𝑇 𝑖 and 𝑇 𝑖+1 because of the previously building of the mosaic tree 𝑈𝑆 0,𝑖 . With the selected union nodes 𝑣 𝑈𝑆 0,𝑖+1 𝛽 in 𝑈𝑇 0,𝑖+1 , we search thanks to the Dynamic Time Warping algorithm [KePa01, RaKe05] if all nodes in the list 𝐿 (𝑣 𝑈𝑆 0,𝑖+1 𝛽 ) = {𝑣 0 𝛼 0 , … , 𝑣 𝑖-1 𝛼 𝑖-1 , ∅ 𝑖 , ∅ 𝑖+1 } are similar to the nodes in the newly inserted node list 𝐿(𝑣 𝑈𝑆 0,𝑖+1 𝛼 ). If the mean of DTW's result for the different nodes in the range [0-1] is lower than the value 0.5, we consider that the two union nodes represent the same matched node in different cardiac phases. Before merging them, some checks are realized about parent and children hierarchy. Hierarchical conflicts are detected in trees (from 𝑇 0 to 𝑇 𝑖-1 ) which have a node in the list 𝐿 (𝑣 𝑈𝑆 0,𝑖+1 𝛽

Figure 36 :

 36 Figure 36: Second correction step: we search if an artificial node can be added in previous tree to complete the matching result. The algorithm takes into account the intermediary nodes between the two similar paths determined by DTW before the insertion of artificial nodes.

  séquence d'arbres représentant la même structure anatomique pour un patient donné doit être mise en correspondance afin de prendre en compte à la fois les différents mouvements du coeur et les différences de topologie entre les arbres correspondant à différentes phases cardiaques dus à la variabilité de la reconstruction ou de la segmentation 3D. Ce chapitre propose donc une méthode de mise en correspondance complète d'une séquence dynamique d'arbres coronaires non-isomorphes. De par les mesures de similarité utilisées et les nouvelles étapes proposées, notre approche permet d'obtenir un nombre de noeuds de bifurcation et de feuilles appariés plus important sur l'ensemble de la séquence par rapport aux données de départ.

  tree matching based on mosaic tree building 𝑈𝑆 0,𝐼-1Manual selection of the object of interest (Graphical User Interface) 3D+T coronary tree sequence 𝑆 0,𝐼-1 = {𝑇 0 , … , 𝑇 𝑖 , … , 𝑇 𝐼-1 }

Figure 37 :

 37 Figure 37: summary steps of the optimal viewing angle determination.

Figure 38 :

 38 Figure 38: Schema and notation for a segment (A) and a bifurcation (B) of interest.

( 6 )

 6 Figure 39: schematic representation of two foreshortening rates for two different viewing angles (𝜃 𝑗 , 𝜑 𝑘 ). (a) The gantry orientation corresponds to a high foreshortening rate and it better than (b) which represent a bad foreshortening rate.

  The projected points for a volume are next triangulated to obtain a 2D surface. 𝑏 𝑞 ̅̅̅ corresponds to the other vessels of the coronary tree. 𝐴𝑟𝑒𝑎( ) represents the 2D area of the projected volume in parenthesis. As in Chen et al. [CTFC98], Kitslaar et al. [KMJK08], Bi et al. [BiGS10] and Wang et al. [WYCA14], the equation (9) counts the pixels of the superposed projection areas and to divide it by the pixel number of the projected selected vessel in the 2D projection image. To take into account the coronary movement and the non-isomorphic vascular structure, the external overlap of the whole cardiac cycle for a given orientation corresponds to the minimum value of external overlap 𝑜 𝑒𝑥𝑡 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏 𝑞 ) of the matching structure 𝑏 𝑞 for each existing cardiac phase (equation (10)). Contrarily to the foreshortening rate 𝑓 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑙 𝑞 ) (equation (7)), the order of the value is inverted: a value near 1 corresponds to a high external overlap rate, the segment has a lot of superposition with the other vascular structures. To combine all criteria in the next section 4.4, we take as external overlap rate: 1 -𝑜 𝑒𝑥𝑡 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏 𝑞 ). 𝑂 𝑒𝑥𝑡 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝐵 0,𝑄-1 ) = min 𝑞 (1 -𝑜 𝑒𝑥𝑡 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏 𝑞 )) (10)

Algorithm 9 :

 9 Optimal view algorithm for a matched bifurcation of interest, function OptimalViewMapBifurcation().Input: the matched centerline of the selected segment 𝐿 0,𝑄-1 = {𝑙 0 , … , 𝑙 𝑞 , … , 𝑙 𝑄-1 }. 𝐵 0,𝑄-1 = {𝐵 𝑞 𝑓𝑎𝑡ℎ𝑒𝑟 , 𝐵 𝑞 𝑐ℎ𝑖𝑙𝑑1 , 𝐵 𝑞 𝑐ℎ𝑖𝑙𝑑2 } the matched volume of the selected bifurcation with 𝐵 𝑞 𝑓𝑎𝑡ℎ𝑒𝑟 𝑞 𝑐ℎ𝑖𝑙𝑑2 , … , 𝑏 𝑄-1 𝑐ℎ𝑖𝑙𝑑2 } the three matched bifurcation branches. 𝐵 0,𝑄-1 ̅̅̅̅̅̅̅̅ = {𝑏 0 ̅̅̅ , … , 𝑏 𝑞 ̅̅̅ , … , 𝑏 𝑄-1 ̅̅̅̅̅̅ } the other vessels in the corresponding trees. 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑𝑆𝑢𝑝𝑝 is the threshold used to suppress worse couples of angles.

4. 5 .

 5 CONCLUSION La recherche d'incidence optimale est une étape clef pour le déroulement d'une angioplastie. Le cardiologue recherche un angle de projection où la zone sténosée est visualisée sans superposition et la plus déployée possible sur l'ensemble du cycle cardiaque. C'est pourquoi dans ce chapitre, nous avons proposé un nouvel algorithme pour déterminer l'incidence optimale d'un objet d'intérêt préalablement sélectionné. Nous proposons ainsi par le biais d'une carte optimale la meilleure ainsi que les 5% ou 2% meilleures orientations possibles du C-arm pour un objet sur l'ensemble du cycle cardiaque grâce à un ensemble de critères. Cet objet peut être un segment unique, un segment multiple (chemin) ou une bifurcation en fonction du type de sténose et du besoin du cardiologue (guidage du cathéter et/ou déploiement du stent). Quatre critères ont ainsi été développés : le raccourcissement et le chevauchement externe pour les segments et en plus le chevauchement interne et l'angle d'ouverture pour les bifurcations. L'angle de vue optimale, calculé pour chaque phase du cycle cardiaque, prend en compte le mouvement des artères coronaires. Effectivement, l'algorithme de mise en correspondance proposé dans le chapitre précédent a été appliqué pour suivre l'objet d'intérêt tout le long du cycle cardiaque. De plus, grâce au choix pertinent du minimum des cartes des phases pour calculer la carte globale correspondant au cycle cardiaque entier, les variations topologiques des arbres de la séquence sont également prises en compte. Le prochain chapitre propose les évaluations des différentes méthodes de mise en correspondance et de recherche d'incidence optimale à l'aide de données réelles et simulées. Dans ce chapitre nous évaluons et comparons les différentes méthodes présentées dans les chapitres précédents. La séquence d'arbres coronaires 3D d'un patient décrite dans le chapitre 1 nous sert de référence pour les différents tests. Nos différents algorithmes et les métriques ont été évalués sur celle-ci. Nos méthodes sont également évaluées à partir de données simulées en prenant la séquence de données réelles comme référence (Annexe A). Comme pour les chapitre 3 et 4, les résultats de la mise en correspondance et de la recherche d'incidence optimale sont issus d'articles publiés [FeNT15,[START_REF] Feuillâtre | CHRISTINE: Coronary Tree Matching Based on Association Graphs with Artificial Nodes[END_REF][START_REF] Feuillâtre | CHRISTINE: Automatic determination of optimal view for the visualization of coronary lesions by rotational X-ray angiography[END_REF] ou soumis[START_REF] Feuillâtre | CHRISTINE: Pair-wise tree matching algorithm applied to non-isomorphic coronary trees[END_REF][START_REF] Feuillâtre | CHRISTINE: Mosaic-based spatiotemporal matching of non-isomorphic coronary tree[END_REF].

4 et

 4 VTK 5 pour l'interface graphique (GUI) et Boost 6 pour créer et gérer les structures d'arbre et leur traitement parallèle (threads). L'annexe A décrit brièvement l'interface graphique associée à notre application d'aide au diagnostic et de planning développée au cours de cette thèse. Elle permet entre autres de charger des données, créer des données simulées à partir de données réelles, utiliser les différents algorithmes de mise en correspondance et de choisir leurs mesures de similarités associées et de calculer enfin l'angle de vue optimale. Pour information, tous les tests de cette thèse ont été réalisés sur un ordinateur sous Windows 7 x64 bits comme système d'exploitation et équipé d'un processeur de 2,26 GHz Intel Xeon CPU E5520 et 8 Go de RAM.

  𝑠𝑚 1 : the comparison of the two path lengths 𝑝 𝑖 (𝑟 𝑖 , 𝑣 𝑖 𝛼 𝑖 ) ∈ 𝑇 𝑖 and 𝑝 𝑖+1 (𝑟 𝑖+1 , 𝑣 𝑖+1 𝛼 𝑖+1 ) ∈ 𝑇 𝑖+1 , -𝑠𝑚 2 : the nearness of these paths with the DTW's algorithm measuring the Euclidean distance of node coordinates, -𝑠𝑚 3 : the mean path curvature comparison. -𝑠𝑚 4 : the local comparison of the path curvature with the DTW's algorithm based on the Euclidean distance of tangent in each centerline point, -𝑠𝑚 5 : the local comparison of the path curvature with the DTW's algorithm based on the Euclidean distance of direction.

  Metzen et al. [MKSZ09] and Tschirren et al. [TMPH05] methods. Different kind of node-to-node similarity measures (called unary and binary constraints) are evaluated and compared to them proposed in the section 3.1.3.

  : the curvature comparison between the two paths 𝑝 𝑖 and 𝑝 𝑖+1 , -𝑐𝑏 3 : the minimum area between the two normalized polylines derived by the two paths 𝑝 𝑖 and 𝑝 𝑖+1 , -𝑐𝑏 4 : the minimum of accumulated distance between the two paths 𝑝 𝑖 and 𝑝 𝑖+1 derived from the DTW's algorithm, -𝑐𝑏 5 : the local comparison of the path curvatures with the DTW's algorithm based on the tangent, -𝑐𝑏 6 : the local comparison of the path curvatures based on the direction with the DTW's algorithm. In the same way as unary constraints, each binary constraint is evaluated with different values of the associated selectivity parameters (empirically chosen). Significant results with the sum of matched node number for the nine matchings are shown in Figure 40. For a matching test, the node classification results are shown with their number and percentage. For this step, four classifications are considered: correctly matched nodes (CM), correct node without assignment (CMWA), incorrectly matched nodes (IM) and unmatched nodes (UM). Best results are obtained with the fourth constraint 𝑐𝑏 4 , i.e. the minimum distance between paths. This constraint has a reasonable execution time (about 90 sec.

Figure 40 :

 40 Figure 40 : Comparison of binary constraints 𝑐𝑏 𝛿 for the nine matching tests with different values of selectivity parameters 𝑠(𝑐𝑏 𝛿 ). The better selectivity parameter for each constraint are in bold.

test 2 :-test 3 :-test 4 :

 234 𝒄𝒃 𝟏 + 𝒄𝒃 𝟒 with 𝑠(𝑐𝑏 1 ) = 1.4; 𝑤(𝑐𝑏 1 ) = 0.25 and 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 0.75, 𝒄𝒃 𝟐 + 𝒄𝒃 𝟒 with 𝑠(𝑐𝑏 2 ) = 1.2; 𝑤(𝑐𝑏 2 ) = 0.25 and 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 0.75, 𝒄𝒃 𝟑 + 𝒄𝒃 𝟒 with 𝑠(𝑐𝑏 3 ) = 0.2; 𝑤(𝑐𝑏 3 ) = 0.25 and 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 0.75, -test 5 : 𝒄𝒃 𝟒 + 𝒄𝒃 𝟓 with 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 0.5 and 𝑠(𝑐𝑏 5 ) = 15 ; 𝑤(𝑐𝑏 5 ) = 0.5, -test 6 : 𝒄𝒃 𝟒 + 𝒄𝒃 𝟔 with 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 0.5 and 𝑠(𝑐𝑏 6 ) = 20 ; 𝑤(𝑐𝑏 6 ) = 0.5, -test 7 : 𝒄𝒃 𝟒 + 𝒄𝒃 𝟔 with 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 0.5 and 𝑠(𝑐𝑏 6 ) = 15 ; 𝑤(𝑐𝑏 6 ) = 0.5, -test 8 : 𝒄𝒃 𝟏 + 𝒄𝒃 𝟐 + 𝒄𝒃 𝟒 with 𝑠(𝑐𝑏 1 ) = 1.4; 𝑤(𝑐𝑏 1 ) = 1/3 and 𝑠(𝑐𝑏 2 ) = 1.2 ; 𝑤(𝑐𝑏 2 ) = 1/3 and 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 1/3, -test 9 : 𝒄𝒃 𝟒 + 𝒄𝒃 𝟓 + 𝒄𝒃 𝟔 with 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 1/3 and 𝑠(𝑐𝑏 5 ) = 15 ; 𝑤(𝑐𝑏 5 ) = 1/3 and 𝑠(𝑐𝑏 6 ) = 20 ; 𝑤(𝑐𝑏 6 ) = 1/3, -test 10 : 𝒄𝒃 𝟒 + 𝒄𝒃 𝟓 + 𝒄𝒃 𝟔 with 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 1/3 and 𝑠(𝑐𝑏 5 ) = 15 ; 𝑤(𝑐𝑏 5 ) = 1/3 and 𝑠(𝑐𝑏 6 ) = 15 ; 𝑤(𝑐𝑏 6 ) = 1/3, -test 11 : 𝒄𝒃 𝟏 + 𝒄𝒃 𝟐 + 𝒄𝒃 𝟑 + 𝒄𝒃 𝟒 with 𝑠(𝑐𝑏 1 ) = 1.4; 𝑤(𝑐𝑏 1 ) = 0.25 and 𝑠(𝑐𝑏 2 ) = 1.2 ; 𝑤(𝑐𝑏 2 ) = 0.25 and 𝑠(𝑐𝑏 3 ) = 0.2; 𝑤(𝑐𝑏 3 ) = 0.25 and 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 0.25, -test 12 : 𝒄𝒃 𝟏 + 𝒄𝒃 𝟐 + 𝒄𝒃 𝟒 + 𝒄𝒃 𝟓 + 𝒄𝒃 𝟔 with 𝑠(𝑐𝑏 1 ) = 1.4; 𝑤(𝑐𝑏 1 ) = 0.2 and 𝑠(𝑐𝑏 2 ) = 1.2 ; 𝑤(𝑐𝑏 2 ) = 0.2 and 𝑠(𝑐𝑏 4 ) = 5 ; 𝑤(𝑐𝑏 4 ) = 0.2 and 𝑠(𝑐𝑏 5 ) = 15 ; 𝑤(𝑐𝑏 5 ) = 0.2 and 𝑠(𝑐𝑏 6 ) = 15 ; 𝑤(𝑐𝑏 6 ) = 0.2.

Figure 41 :

 41 Figure 41 : Different combinations of binary constraints 𝑐𝑏 𝛿 for the nine matchings.

𝑐𝑏 4

 4 with s(cb 4 ) = 5, -algorithm A2 with the unary constraint 𝑐𝑢 1 and 𝑠(𝑐𝑢 1 ) = 10 and the combination of three binary constraints s(cb 4 ) = 5, s(cb 5 ) = 15 and s(cb 6 ) = 15.

Figure 42 :

 42 Figure 42: Comparison of constraints for the association graph algorithm. A1 corresponds to the algorithm with 𝑠(𝑐𝑢 1 ) = 10 and 𝑠(𝑐𝑏 4 ) = 5 for the nine matchings. A2 is based on the combination of the three binary constraints with 𝑠(𝑐𝑢 1 ) = 10 and 𝑠(𝑐𝑏 4 ) = 5, 𝑠(𝑐𝑏 5 ) = 15 and 𝑠(𝑐𝑏 6 ) = 15 for the nine matchings.

Figure 43 :

 43 Figure 43: Comparison between Lohe et al.'s algorithm (A3) with 𝑠(𝑐𝑐 2 ) = 10 and 𝑠(𝑠𝑚 2 ) = 5, 𝑠(𝑠𝑚 4 ) = 15 and 𝑠(𝑠𝑚 5 ) = 15 and the algorithm based on Metzen et al. and Tschirren et al. (A2) with 𝑠(𝑐𝑢 1 ) = 10 and 𝑠(𝑐𝑏 4 ) = 5, 𝑠(𝑐𝑏 5 ) = 15 and 𝑠(𝑐𝑏 6 ) = 15 for the nine matchings.

  's and Tschirren et al.'s algorithm[START_REF] Metzen | XIAOYI: Matching of anatomical tree structures for registration of medical images[END_REF][START_REF] Tschirren | Matching and anatomical labeling of human airway tree[END_REF] with the best metric combination shown in section 5.1.2, gives better matching result than the other algorithm[START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF]. Thus, we choose to evaluate the step of artificial node insertion with this configuration. The Figure44shows the comparison of node classification between the algorithm without artificial node (A2) and with artificial nodes (A4 and A5). When the artificial nodes are added in trees, several node-to-node constraints are computed for the DTW's algorithm to determine if two branches are similar (section 3.1.3.2). These constraints are the same as the binary constraints. In the algorithm A4, we choose to use only one constraint: the Euclidean distance of node coordinates 𝑐𝑏4 , with the same selectivity parameter 𝑠(𝑐𝑏 4 ) = 5. The algorithm A5 (our new proposed algorithm) used a combination of the three node-to-node metrics used in the DTW's algorithm (exactly identical as binary constraints): the node coordinates 𝑐𝑏 4 , the tangent 𝑐𝑏 5 and the direction 𝑐𝑏6 with 𝑠(𝑐𝑏 4 ) = 5, 𝑠(𝑐𝑏 5 ) = 15 and 𝑠(𝑐𝑏 6 ) = 15 with 𝑤(𝑐𝑏 4 ) = 0.5, 𝑤(𝑐𝑏 5 ) = 0.25 and 𝑤(𝑐𝑏 6 ) = 0.25.

Figure 44 :

 44 Figure 44: Comparison between our association graph algorithm without artificial nodes (A2) and with artificial nodes (A4 and A5). Constraints and associated selectivity parameters used to determine if two branches are similar are fixed for the nine tree matchings. A4 uses only the fourth constraint with 𝑠(𝑐𝑏 4 ) = 5. A5 uses a combination of node-to-node constraints: 𝑠(𝑐𝑏 4 ) = 5, 𝑠(𝑐𝑏 5 ) = 15 and 𝑠(𝑐𝑏 6 ) = 15 with 𝑤(𝑐𝑏 4 ) = 0.5, 𝑤(𝑐𝑏 5 ) = 0.25 and 𝑤(𝑐𝑏 6 ) = 0.25.

Figure 45 :

 45 Figure 45: Comparison of node distribution with the matching between two successive trees of the sequence 𝑆 0,9 . A) corresponds to the matching result with only one criteria, node coordinates, based on the DTW's algorithm as the binary constraint and the artificial node insertion constraint. B) corresponds to our new algorithm with the combination of the three criteria based on the DTW's algorithm and the hierarchy correction step (A5). We have the same node number in the two cases. CM corresponds to the correctly matched nodes. CAN represents the correct matched node with an artificial nodes (CBAN+CLAN). IM corresponds to the incorrectly matched nodes and UM the unmatched nodes.

Figure 46 :

 46 Figure 46: A) Real coronary tree sequence 𝑆 0,9 of 10 extracted left coronary trees 𝑇 𝑖 at different 𝑡 𝑖 cardiac phase and B)Simulated tree sequence 𝑆′ 0,9 from modification of 𝑆 0,9 .

Figure 47 :

 47 Figure 47: Node distribution in percentage for the 36 matching tests (mean of the total number for each classification). A) represents the real distribution (ground truth) and B) the node distribution after the matching of two successive trees (means of the 36 tests). CM corresponds to the correctly matched nodes, CBAN and CLAN respectively to correct matched bifurcation and leaf nodes with an artificial node. IM represents the incorrect matched nodes and UM the unmatched nodes.

Figure 48 :

 48 Figure 48: Node classification details for the 36 matching tests.

Figure 49 :

 49 Figure 49: Node distribution in percent for the 42 tree sequences. A) represents the real distribution and B) the node distribution after our matching algorithm.

Figure 50 :

 50 Figure 50: Matching result of the tree sequence 𝑆 0,9 . A) Superimposition of the tree sequence with the matched edges represented in the same color. B) The global mosaic tree 𝑈𝑆 0,9 of the sequence 𝑆 0,9 based on the tree 𝑇 0 completed with information from 𝑆 1,9 . The same colors are used for the edge matching.

Figure 51 :

 51 Figure 51: Result of the matched sequence 𝑆 0,9 with node classification for each tree.

Figure 53 :

 53 Figure53: Matching result of the simulated tree sequence 𝑆′ 0,9 . A) Superimposition of the simulated trees with edge matching represented with same color. B) Global mosaic tree 𝑈𝑆′ 0,9 of the sequence 𝑆′ 0,9 built from the tree 𝑇 0 completed with information from 𝑆′ 1,9 . The same color as A) are used.

Figure 54 :

 54 Figure 54: Node classification after the matching of the simulated tree sequence 𝑆′ 0,9 .

Figure 49 -

 49 Figure 49 -B) and Figure 55 represent the global matching result for the 42 coronary sequences. We obtain as median value 98.3% correctly matched nodes, 0.7% incorrectly matched nodes and 0.5% missing nodes. 9.5% of the matching tests have no error.

Figure 55 :

 55 Figure 55: Box plots for the matching result in percentage for the 42 matched sequences. In the left, we have global percent of correctly matched nodes (Total CM) and after the details for real nodes (CM), artificial nodes corresponding to a bifurcation in another tree (CBAN) and artificial nodes corresponding to a leaf in another tree (CLAN). In the right, we have the global percent of incorrectly matched nodes (Total IM) and its associated details (IM, IBAN and ILAN), and after the global percent of unmatched nodes (Total UM) and its detail (UM, UBAN, ULAN).

Figure 56 :

 56 Figure 56: Examples of matching errors. The three zooms show the localization errors in different viewing angles. A) The leaf of the tree in bold is matched with the leaf in other trees. This incorrect matched leaf should be matched with an artificial node in some others trees which have longer terminal branch. B) The error is the same of the previous case A). The leaf of the tree in bold is incorrectly matched and the same artificial node (which corresponds to the current leaf) is missing in all the other trees of the sequence. C) Contrary to the two previous cases, errors are only located on the tree in bold (errors similar to the Figure 51). The leaf node is incorrectly matched and consequently an artificial node corresponding to a bifurcation is missed.

Figure 57 :

 57 Figure 57: Process of the optimal view map determination for a segment in the whole cardiac cycle. A) The foreshortening and external overlap maps are computed successively without threshold for each matched phase. The global foreshortening and external overlap maps are calculated with the minimum value of the previous temporary maps. The global optimal view map corresponds to the mean of the two last maps. B) Same process as A) but with two successive thresholds. First the foreshortening maps are computed with a threshold of 90% for each phase to perform a high selection of angles until the global foreshortening maps. Second, the external overlap maps are calculated with a threshold of 30% to only remove worse values. The global optimal view map is computed with the two previous global map. 𝑛𝑏 (𝜃 𝑗 ,𝜑 𝑘 ) represents the selected gantry orientation number after each threshold.

  which corresponds to LAO 7° and CRAN 27°, gives the better value with 98.47% of foreshortening and 95.99% of external overlap. A second angle (𝜃 𝑗 , 𝜑 𝑘 ) = (-40°, 25°) in pink in the Figure58which corresponds to LAO 40° and CRAU 25° and situated in another group in the optimal view map, gives another maximum value with 94.11% of foreshortening and 99.04% of external overlap.

Figure 58 :

 58 Figure 58: Optimal viewing angles for a segment of interest matched in five cardiac phases. The optimal view map is obtained in the Figure 57.Two optimal gantry orientations are proposed and the left coronary artery with the segment in pink is shown under these two views. A) Optimal view map with the 5% better gantry orientation (551 retained angles). B)Optimal view map with the 2% better gantry orientation (220 retained angles).

Figure 59 :

 59 Figure 59: Process to optimal view map determination for a bifurcation in the whole cardiac cycle. The bifurcation is matched in all the ten phases. A) The four criteria are computed without threshold for each matched phase. B) The four criteria are calculated successively with a threshold to remove worse values under 30%. First the foreshortening map and bifurcation opening map are computed successively for each map and the threshold is performed. Next, when the global foreshortening and bifurcation opening maps are obtained with their minimum value on the sequence, the two overlap are computed in the same way. The global optimal view map is obtained with the mean of the four global maps. 𝑛𝑏 (𝜃 𝑗 ,𝜑 𝑘 )represents the selected gantry orientation number after each threshold.

Figure 60 :

 60 Figure 60: Optimal viewing angles for a bifurcation in the whole cardiac cycle. The optimal view map corresponds to the Figure 59. In top, the left coronary tree with the bifurcation in pink is display under the best angiographic view for the different q phases.

Figure 62 :

 62 Figure 62: Global External Overlap map for different segments. In right, the last five columns represent the global external overlap maps for the five successive segments in the tree hierarchy. In the left, the first column corresponds to the global external overlap map when the five segments are merged into one single (multiple segment case). In the middle, the two last columns represent the global external overlap map from the linear combination of the global external overlap map of the five segments (same weights for the first and weights calculated from the two criteria proposed in section 4.4).

  Afin d'améliorer encore la qualité de la mise en correspondance de la séquence d'arbres, nous avons proposé une méthode globale d'appariement exploitant toutes les phases cardiaques au lieu de seulement deux à deux successivement. Cette méthode globale se décompose en plusieurs étapes :-appliquer la mise en correspondance deux à deux, -calculer l'union des deux arbres successifs préalablement appariés avec un label pour chaque noeud (noeud apparié, noeud seul, noeud artificiel, etc.), -fusionner l'ensemble des arbres d'union permettant d'obtenir un arbre mosaïque. Cet algorithme s'autocorrige au fur et à mesure de la fusion d'arbres et permet de prendre en compte toutes les différences topologiques des arbres et de les répercuter sur chaque arbre de la séquence. Au final, nous obtenons un arbre mosaïque représentant un arbre complet de la séquence entière mais également d'enrichir chaque arbre de la séquence qui possède maintenant d'avantage de noeuds (noeuds artificiels). Cette méthode de mise en correspondance d'une séquence entière a été validée sur 42 séquences (réelles et simulées). La méthode est robuste face à la variabilité topologique pour l'ensemble des phases cardiaques. Elle présente en effet un pourcentage satisfaisant de noeuds correctement appariés ainsi qu'un faible taux d'erreurs ou de noeuds non appariés. Ces erreurs sont situées dans la majorité des cas dans les branches terminales et sont liées à des erreurs d'appariement lors de la première étape (mise en correspondance d'arbre deux à deux). Une amélioration de cet algorithme est également envisageable pour obtenir le moins d'erreurs possibles d'appariement notamment, par l'utilisation de nouvelles mesures de similarité par exemple. Cet algorithme, pour une séquence de 10 arbres coronaires, est rapide d'exécution (moins d'une minute) mais peut être optimisé (avec l'utilisation des possibilités de traitement multitâche du GPU -Graphics processing unit -par exemple). Nous avons développé cet algorithme de mise en correspondance globale d'une séquence dynamique d'arbres coronaires afin de suivre au cours du cycle cardiaque la zone d'intérêt. A partir de cet appariement de toute la séquence, nous avons ainsi proposé également une nouvelle méthode de recherche d'incidence optimale tout le long du cycle cardiaque dans le cas de traitement de lésions coronaires. Notre méthode, prenant en compte à la fois les mouvements cardiaque et les différences de topologie entre les arbres de la séquence, propose ainsi une vue angiographique optimale pour toutes les phases du cycle cardiaque. L'utilisateur choisi par le biais de l'interface graphique de l'application développée, un objet d'intérêt qui peut être soit un segment, un segment multiple (chemin de la racine au segment d'intérêt) ou une bifurcation. Grâce à ce choix, notre méthode propose au cardiologue soit une vue optimale pour le guidage du cathéter depuis la racine jusqu'à la zone de lésion ou de manière plus globale pour le déploiement final du stent. Une étude de faisabilité de l'approche proposée a été réalisée. Comme résultats préliminaires, les vues angiographiques obtenues présentes bien les différents objets d'intérêts avec peu de raccourcissement, de chevauchement (interne et externe) et un angle d'ouverture de bifurcation important (dans le cas des bifurcations). Pour pouvoir valider et montrer la robustesse de la méthode, une évaluation sur d'avantage de données réelles et simulées est envisagée. Cela va nous permettre de déterminer si les seuils proposés actuellement pour l'optimisation et la suppression des plus mauvais angles de vue pour une phase donnée dépendent de différents paramètres, comme le nombre d'arbres de la séquence (c'est-à-dire le nombre de phases cardiaques lors de l'acquisition) par exemple. Dans le cas de la détermination de l'angle de vue optimale pour un segment multiple, trois différentes méthodes ont été proposées. Ces trois méthodes proposent des résultats similaires en pourcentage de raccourcissement et de chevauchement externe. L'approche utilisant la pondération des différents segments simples (composant le segment multiple), privilégie le segment sténosé par rapport à l'autre méthode utilisant uniquement la moyenne entre les cartes. Le taux de raccourcissement et de chevauchement externe est effectivement plus important lors de la pondération des cartes. Cette combinaison de segments simples exploite plus d'information (c'est-àdire plus de phases du cycle cardiaque) que la méthode utilisant le segment multiple en tant qu'objet unique. Elle semblerait plus précise. De plus, la séparation du segment multiple devrait apporter une précision plus importante de l'angle de vue optimale du chemin. En effet, le chevauchement du segment multiple avec lui-même n'est pour l'instant pas considéré (chevauchement interne). Cependant, à cause du faible nombre d'évaluations, nous ne pouvons pas déterminer pour l'instant si une méthode est meilleure qu'une autre dans le cadre d'un segment multiple mais aussi d'une bifurcation. Dans le futur, nous souhaiterons également déterminer l'influence d'une mauvaise mise en correspondance sur l'incidence optimale calculée. En effet, si un objet est mal apparié sur au moins une phase du cycle cardiaque, les cartes obtenues peuvent être incorrectes. Par conséquent, l'incidence choisie peut ne pas être optimale sur l'ensemble du cycle cardiaque.

3D+T puis à la

  détermination d'incidence optimale pour un segment unique, un segment multiple ou une bifurcation tout le long du cycle cardiaque. Ces différentes méthodes sont intégrées à une application disposant d'une interface graphique décrite dans l'Annexe A, facilitant ainsi leurs utilisations. Les résultats obtenus pour ces différentes méthodes sont prometteurs. Diverses améliorations et évolutions sont ici envisagées.6.2.1. AMELIORATION DES METHODESTout d'abord, pour proposer dans un temps raisonnable la mise en correspondance puis la détermination d'un angle de vue optimale à partir d'une séquence d'arbres coronaires 3D, l'exécution du programme peut être optimisée grâce à la parallélisation de sa mise en oeuvre par un traitement multitâche GPU par exemple. La mise en correspondance de la séquence entière est réalisée rapidement mais le temps d'exécution pour la détermination de l'angle de vue optimale est beaucoup plus important à cause du nombre de projections possibles et du nombre de phases.Ensuite, les valeurs des paramètres utilisés pour la mise en correspondance peuvent varier en fonction des données. L'utilisation d'une méthode calculant ces paramètres de manière automatique permettrait d'améliorer l'appariement et de réduire les erreurs dans l'algorithme de mise en correspondance de la séquence complète.En outre, la méthode de détermination d'incidence optimale peut également être améliorée.Nous considérons pour l'instant la zone sténosée sur un segment entier et non une portion. Dans le futur, via l'interface graphique, nous envisageons de permettre à l'utilisateur de choisir plus précisément la zone de lésion pour avoir un angle de vue encore plus adapté. De même pour les bifurcations, l'utilisateur doit pouvoir choisir la longueur de la bifurcation sur les différentes branches.Ces différentes possibilités sont réalisables sans trop de difficulté. En effet, grâce à la mise en correspondance à travers l'algorithme du Dynamic Time Warping, nous connaissons la mise en correspondance point par point afin de suivre une partie de segment sur l'ensemble du cycle cardiaque.Une amélioration peut également être apportée dans le cas de la recherche d'incidence optimale pour un segment multiple. De nouveaux critères peuvent être rajoutés pour obtenir un résultat encore plus robuste et plus précis pour la méthode où le segment multiple est considéré comme objet unique (temps de calcul plus court par rapport à celui de la combinaison des différents segments composant le segment multiple). Par exemple, nous pouvons considérer un critère permettant de supprimer les angles de vue où le segment projeté se superpose avec lui-même (similaire au critère de chevauchement interne pour les bifurcations). De plus, nous pouvons privilégier plutôt le critère de raccourcissement par rapport à celui du chevauchement externe puisque le segment multiple à moins de chance de se superposer avec les autres structures.

  Les différentes méthodes ont été évaluées à partir d'une séquence réelle de 10 volumes et de séquences simulées contenant également de 10 volumes issues de la modification de la séquence réelle. La méthode d'appariement d'arbres coronaires deux à deux a été testée sur 36 séquences et celle de mise en correspondance globale d'une séquence entière a été évaluée sur 42 séquences. Pour pouvoir valider au mieux ces deux méthodes et rendre le choix des paramètres plus adapté et ces méthodes plus robustes, nous prévoyons de les évaluer sur une autre base de données issue de scanners dynamiques de 10 ou 20 volumes par cycle cardiaque. Ces scanners seront dans un premier temps segmentés phase par phase afin d'obtenir une séquence 3D+T d'arbres coronaires avec les informations de lignes centrales. Grâce à ces données supplémentaires, une amélioration sera portée sur la définition des bifurcations à partir des lignes centrales afin d'avoir une bifurcation plus réaliste et d'obtenir une incidence optimale pour une bifurcation plus robuste. Nous pourrons également utiliser, dans les algorithmes de mise en correspondance, des mesures de similarité portées sur des informations de volume. Actuellement nous ne pouvons pas les exploiter. Effectivement, le diamètre des artères coronaires sur les différents arbres est incohérent sur nos données disponibles. A plus long terme, nous souhaiterions obtenir une reconstruction 3D+T d'arbres artériels coronaires issus d'angiographie rotationnelle pour se passer du CT. En effet, la majorité des angioplasties ne sont planifiées qu'à partir d'angiographie rotationnelle et sans disposer de CT. La deuxième partie de la thèse (recherche d'incidence optimale) propose une étude de faisabilité. Différents tests ont été réalisés à partir de la séquence de données réelles : une incidence optimale a été obtenue pour la majorité des segments et des bifurcations composant cette séquence. Cependant, d'un point de vue clinique, nous ne pouvons pas valider complètement la méthode au vue de la quantité de données disponibles. Dans le futur, nous aimerions comparer les incidences optimales obtenues avec celle définie par un expert et valider ainsi notre méthode sur d'avantage de cas réels.

  Tout d'abord, toujours dans le domaine des lésions artérielles coronaires, il est possible de suivre point par point le déplacement des branches coronaires grâce à l'exploitation plus poussée de l'algorithme Dynamic Time Warping (utilisation du chemin d'alignement entre les chemins -path)[START_REF] Keogh | Derivative Dynamic Time Warping[END_REF][START_REF] Keogh | CHOTIRAT ANN: Exact indexing of dynamic time warping[END_REF][START_REF] Ratanamahatana | Three Myths about Dynamic Time Warping Data Mining[END_REF][START_REF] Sakoe | Dynamic programming algorithm optimization for spoken word recognition[END_REF]. Avec un nombre important de données, une étude portant sur le mouvement des artères coronaires dans le temps peut être envisagée.De plus, nos méthodes de mise en correspondance et de recherche d'incidence optimale ne prennent pas en compte l'insertion du cathéter dans la structure et donc la déformation des artères liée à cet outil. Il serait alors envisageable de proposer une vue angiographique tenant compte de cette forte déformation durant l'angioplastie. En effet, le passage de ces outils (guide, cathéter, etc.) apporte rigidité aux artères (et donc une tortuosité plus faible de celle-ci) et l'angle de vue optimale peut alors être modifié.Nos deux algorithmes de mise en correspondance peuvent être utilisés dans d'autres applications (telles que celles étudiées au sein du LTSI). Nous pourrons les tester dans le cas de la mise en correspondance d'arbres vasculaires, différents des coronaires, comme par exemple des veines coronaires assez proches en terme de topologie des artères coronaires, et pourquoi pas les vaisseaux du foie qui ont par contre une hiérarchie beaucoup plus importante que les coronaires (nombre de noeuds de bifurcations beaucoup plus grand). Cela permettrait de montrer l'adaptabilité de notre algorithme et sa robustesse.ANNEXE A INTERFACE GRAPHIQUEComme expliqué au cours des précédents chapitres, une application disposant d'une interface graphique (GUI) a été développée afin de réaliser la mise en correspondance d'une séquence d'arbres coronaires 3D (à partir des contours vasculaires et de leurs squelettes) et de déterminer ensuite l'angle de vue optimale pour un objet d'intérêt. Cette application, encore en cours de développement, est réalisée en langage C++ avec la bibliothèque Qt 7 couplé à VTK 8 (Visualisation ToolKit).L'interface graphique, comme montré dans la Figure64, est séparée en plusieurs parties. La première partie située à gauche concerne la visualisation des arbres coronaires. Seuls deux onglets sont pour l'instant disponibles. Le premier appelé « Setup Window » permet de visualiser les données de la séquence 3D+T préalablement chargées (surfaces des contours vasculaires et squelettes). Grâce à un slider (curseur de déplacement), les arbres de la séquence sont affichés indépendamment un par un. L'utilisateur peut interagir avec les arbres (sélectionner des branches de l'arbre ou changer l'angle de visualisation par exemple). Toujours sur le même onglet, une modélisation simplifiée d'un C-arm et de la table est affichée (réalisation sous le logiciel Blender 9 ) permettant de positionner un volume et de le visualiser selon une incidence donnée. Le deuxième onglet « Matching Window » permet de visualiser l'arbre mosaïque (section 3.2) calculé après la mise en correspondance de tous les arbres de la séquence. Une superposition de tous les volumes est également disponible.

Figure 64 :

 64 Figure 64: Interface graphique de l'application développée permettant de charger les données, de visualiser l'arbre en 3D sous différentes incidences et d'exécuter les différents algorithmes programmés au cours de cette thèse.

Figure 65 :

 65 Figure 65: Capture d'écran de trois onglets de l'interface permettant d'exécuter les algorithmes développés pour la mise en correspondance (A) et la recherche d'incidence optimale (C). L'onglet (B) permet de modifier interactivement les données réelles pour générer des données simulées.

Figure 66 :

 66 Figure 66: Exemple de fichier contenant les données réelles. A) les dossiers correspondent aux différentes phases du cycle cardiaque. B) les fichiers contiennent le scanner coronarien CT ainsi que le volume (surfaces des contours vasculaires) et les lignes centrales des arbres droits et gauches.

  1,2 . .............................................................. 79

	Figure

TABLE DES TABLEAUXTable 1 :

 DES1 Comparison of different consistency constraints 𝑐𝑐 𝜆 and similarity measures 𝑠𝑚 𝜇 for the nine matchings with different threshold values 𝑠(𝑐𝑐 𝜆 ) and 𝑠(𝑠𝑚 𝜇 ). CM is the number of correctly matched nodes, CMWA is the number of correctly matched nodes without assignment, IM corresponds to the incorrectly matched nodes and UM to the unmatched nodes. The distribution percentage of each classification is given in brackets. The last column is the execution time in ms for the nine matchings. ............................................................................................................................................................. 117

Table 2 :

 2 Matching results for different similarity measures 𝑠𝑚 𝜇 with the combination of the two consistency constraints 𝑐𝑐1 and 𝑐𝑐 2 and their threshold 𝑠(𝑐𝑐 1 ) = 7.5 and 𝑠(𝑐𝑐 2 ) = 10 obtain in relation to the Table1. CM is the number of correctly matched nodes, CMWA is the number of correctly matched nodes without assignment, IM corresponds to the incorrectly matched nodes and UM to the unmatched nodes. ..

............................................................................................................................. 117

Table 3 :

 3 Matching results for different combinations of similarity measures 𝑠𝑚 𝜇 and their associated thresholds 𝑠(𝑠𝑚 𝜇 ) obtained with the consistency constraint 𝑐𝑐 2 and its associated threshold 𝑠(𝑐𝑐

2 ) = 10. This constraint gives better result according to the Table

1 and Table 2

. CM is the number of correctly matched nodes, CMWA is the number of correctly matched nodes without assignment, IM corresponds to the incorrectly matched nodes and UM to the unmatched nodes. .......................... 118 Table 4: Comparison of different unary constraint results 𝑐𝑢 𝛾 with different associated selectivity parameter values 𝑠(𝑐𝑢 𝛾 ) for the nine matchings. .............................................................................. 120

Table 5 :

 5 Example of the better combination of unary constraints 𝑐𝑢

𝛾 for the nine matchings according to a weight factor. ............................................................................................................................... 121

Table 6 :

 6 Runtime in ms of binary constraints 𝑐𝑏 𝛿 with different selectivity parameter values 𝑠(𝑐𝑏

𝛿 ) for the nine matchings. ............................................................................................................................. 123 Table 7: Comparison of the execution time (in ms) for four algorithms............................................. 127 Table 8: The different weights used to the optimal view map combination. ..................................... 147 Table

  Ce premier chapitre a pour objectif de présenter le contexte clinique de cette thèse. Dans un premier temps, le système cardio-vasculaire et plus particulièrement la physiologie des artères coronaires sont abordés. Les pathologies cardiaques atteignant les artères coronaires, comme l'athérosclérose, sont ensuite décrites avec les différents diagnostics et traitements possibles. Dans un second temps, ce chapitre est consacré à notre problématique. Le projet est ainsi décrit pour comprendre au mieux notre contribution.

1.1.1. Système cardiovasculaire ................................................................................................ 1.1.2. Pathologies .................................................................................................................... 1.1.3. Diagnostics ..................................................................................................................... 1.1.4. Traitements ................................................................................................................... 1.1.5. Modalité d'acquisition ................................................................................................... 1.2. Motivation de la thèse .......................................................................................................... 1.2.1. Limitations et difficultés liées à l'angiographie RX ........................................................ 1.2.2. Projet ............................................................................................................................. 1.2.3. Reconstruction 3D des artères coronaires .................................................................... 1.2.4. Données : séquence 3D+T d'arbres coronaires ............................................................. 1.2.4.1. Définitions : Notions de graphe et d'arbre ................................................................ 1.2.4.2. Obtention de la séquence d'arbres coronaires 3D .................................................... 1.2.4.3. Représentation des données sous forme d'arbres ................................................... 1.2.5. Contribution .................................................................................................................. 1.1. CONTEXTE MEDICAL 1.1.1. SYSTEME CARDIOVASCULAIRE Le coeur est un des organes vitaux du corps humain. Situé au sein du thorax, entre les deux poumons, ce muscle a pour objectif de faire circuler le sang dans tout l'organisme par le biais de ses contractions. Le coeur est connecté aux autres organes via un réseau d'artères, de capillaires et de veines, distribuant grâce au sang l'oxygène et les nutriments nécessaires au fonctionnement des cellules du corps et permettant l'élimination de certains déchets (C02 entres autres).

1.2.4. DONNEES : SEQUENCE 3D+T D'ARBRES CORONAIRES

	angulaire conduit à résoudre un problème inverse mal posé difficile à résoudre du fait de la complexité
	des images. La reconstruction 3D des artères coronaires peut être ainsi réalisée pour différentes
	phases du cycle cardiaque en sélectionnant différentes projections permettant ainsi d'obtenir une
	modélisation 3D pour chaque phase du cycle cardiaque. Dans cette partie, l'obtention des données d'entrée de notre méthode de recherche
	d'incidence optimale globale, représentant une séquence dynamique complète de volumes d'artères
	Cependant le nombre de projections utilisées pour effectuer la reconstruction à un instant t peut coronaires, est décrite ainsi que leurs transformations en arbres à partir de leurs squelettes.
	varier en fonction des conditions et des caractéristiques de l'examen :
	-l'acquisition des projections peut débuter sans que le produit de contraste soit présent dans
	1.2	tout le réseau des artères coronaires (présences de projections inexploitables),
	-la durée d'un cycle cardiaque, lié à la fréquence cardiaque, peut varier d'un patient à un autre
		selon son âge, son stress, s'il vient d'avoir une attaque, s'il est sportif, etc.,
	-le produit de contraste peut s'être dispersé dans l'organisme avant la fin de l'acquisition,
	-la structure peut ne pas être centrée dans le champ d'observation et peut apparaitre tronquée
		sur certaines incidences.
	La deuxième approche passe par une estimation préalable du mouvement des artères coronaires
	sur l'ensemble du cycle cardiaque. Cette estimation est incorporée dans la procédure de
	reconstruction tomographique et permet d'exploiter toutes les projections (de 80 à 150 projections
	environ) pour un instant donné. Cette reconstruction compensée en mouvement consiste à projeter
	la matrice de mouvement estimée 3D+T dans l'espace 2D pour compenser la position des pixels sur
	chaque image de la séquence, puis de réaliser ensuite une reconstruction tomographique dans un
	cadre statique avec les points corrigés. Toutes les phases du cycle sont exploitées pour pouvoir
	déformer une reconstruction (celle de la phase statique) afin de la faire correspondre à toutes les
	autres phases cardiaques. Cette reconstruction s'appuie sur des méthodes itératives [BJGB09,
	BMVA06, HSDG08, Xie12] ou de rétroprojections filtrées [RLBP10].
	Afin de simplifier le modèle, une segmentation préalable des structures coronaires est considérée.
	d'un capteur en mouvement existent dans la littérature. Deux approches sont généralement Elle permet de simplifier la recherche du mouvement aux seules structures d'intérêts et par la suite à
	considérées [ÇGGF16, ScNG09]. se réduire à un problème de reconstruction éparse en considérant un certain nombre de
	La première envisage la reconstruction 3D à partir des projections associées à une même phase simplifications dans la résolution du problème inverse.
	du cycle cardiaque [Ouki15]. L'arbre est reconstruit pour une phase donnée. Sur les projections
	représentant une même phase cardiaque (utilisation de l'ECG ou des informations de l'image), les
	artères sont quasiment à la même position mais observées sous des angles différents. Le choix des
	projections (4 à 5 généralement en fonction du nombre de cycles cardiaques exploitables) peut être
	laborieux à cause des différents mouvements subis par les artères coronaires. Ce sous échantillonnage

.4.1. DEFINITIONS : NOTIONS DE GRAPHE ET D'ARBRE

  Un chemin 𝑝 (path en anglais) dans le graphe 𝐺 = (𝑉, 𝐸) représente une suite 𝑝 = {𝑣 0 , 𝑣 1 , … , 𝑣 𝑖 … , 𝑣 𝑛 } tel (𝑣 𝑖 , 𝑣 𝑖+1 ) ∈ 𝐸 pour 0 ≤ 𝑖 ≤ 𝑛, c'est-à-dire que les noeuds de la suite 𝑝 sont reliés par une arête (ils sont adjacents). Le noeud 𝑣 0 représente le début du chemin 𝑝 (source en anglais) et le noeud 𝑣 𝑛 correspond à la fin du chemin 𝑝 (target en anglais). 𝑛 + 1 est appelé la longueur de 𝑝. Chaque sommet 𝑣 𝑖 ∈ 𝑉 est de degré 𝑛 -1. Une clique 𝐶 d'un graphe 𝐺 = (𝑉, 𝐸) représente un sous arbre complet de 𝐺. Un graphe peut avoir plusieurs cliques. Un graphe 𝐺 = (𝑉, 𝐸) est dit connexe si ∀𝑣 𝑖 , 𝑣 𝑗 ∈ 𝑉, il existe un chemin reliant 𝑣 𝑖 et 𝑣 𝑗 . Le nombre de connexités du graphe G correspond au nombre de composantes connexes. Deux graphes 𝐺 = (𝑉, 𝐸) et 𝐺′ = (𝑉′, 𝐸′) sont dit isomorphes s'ils possèdent le même nombre de noeuds connectés de la même façon, c'est-à-dire s'il existe une bijection entre les deux ensembles de noeuds 𝑉 et 𝑉' telle que la paire de noeuds (𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸 si et seulement si ( 𝑓(𝑣 𝑖 ), 𝑓(𝑣 𝑗 )) ∈ 𝐸 ′ . Soit 𝑣 𝑖 ∈ 𝑉 un noeud de l'arbre 𝑇 avec 𝑣 𝑖 ≠ 𝑟. Il existe un et un seul noeud 𝑣 𝑗 ∈ 𝑉 tel que (𝑣 𝑗 , 𝑣 𝑖 ) ∈ 𝐸. 𝑣 𝑗 est appelé le père de 𝑣 𝑖 et l'arc (𝑣 𝑗 , 𝑣 𝑖 ) représente l'arc entrant dans le noeud 𝑣 𝑖 . Seule la racine 𝑟 ne possède pas de père. Les noeuds se situant sur le chemin 𝑝(𝑟, 𝑣 𝑖 ) sont des noeuds parents de 𝑣 𝑖 . Soit deux noeuds 𝑣 𝑖 , 𝑣 𝑗 ∈ 𝑉 de 𝑇 n'ayant pas de relation père/fils. Ces deux noeuds peuvent être considérés comme frère (direct ou non). Il existe alors un noeud commun 𝑣 𝑘 ∈ 𝑉 tel que 𝑣 𝑘 soit un noeud parent à la fois de 𝑣 𝑖 et de 𝑣 𝑗 . Ce noeud parent identique est appelé le plus proche parent commun de 𝑣 𝑖 et de 𝑣 𝑗 .

	Soit 𝑣 𝑖 ∈ 𝑉 un noeud de l'arbre 𝑇. L'ensemble des noeuds 𝑓𝑖𝑙𝑠(𝑣 𝑖 ) = {𝑣 𝑗 ∈ 𝑉|(𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸} représente
	les fils du noeud 𝑣 𝑖 , ce sont les descendants directs.
	Un cycle du graphe non orienté 𝐺 = (𝑉, 𝐸) représente un chemin 𝑝 = {𝑣 0 , 𝑣 1 , … , 𝑣 𝑖 … , 𝑣 𝑛 } ∈ 𝐺 tel
	que 𝑣 0 = 𝑣 𝑛 . Pour un graphe orienté 𝐺 = (𝑉, 𝐸), on parle de circuit. Un noeud 𝑣 𝑖 ∈ 𝑉 est dit feuille (leaf en anglais) si 𝑣 𝑖 ≠ 𝑟, s'il est de degré 1 et s'il n'a pas de descendant
	c'est-à-dire si 𝑓𝑖𝑙𝑠(𝑣 𝑖 ) = ∅.
	Un graphe est dit complet 𝐺 = (𝑉, 𝐸) si l'ensemble des noeuds de 𝑉 sont reliés entre eux. Un graphe
	Tout au long de ce manuscrit des notations provenant de la théorie des graphes seront utilisées. Nous allons définir brièvement ces notations. Pour une présentation plus complète des graphes voir [Berg73, Boll13, BoMu76, Pier00]. Soit 𝐺 = (𝑉, 𝐸) un graphe non orienté où 𝑉 est un ensemble de sommets ou de noeuds (vertex ou node en anglais) et 𝐸 un ensemble d'arêtes (edge en anglais) représentant un ensemble de paires de noeuds (𝑣 𝑖 , 𝑣 𝑗 ) avec 𝑣 𝑖 , 𝑣 𝑗 ∈ 𝑉. La taille du graphe 𝐺 correspond au cardinal de l'ensemble 𝐸, c'est-à-dire au nombre d'arêtes du graphe. L'ordre du graphe 𝐺 correspond quant à lui au cardinal de arbres. l'ensemble 𝑉, c'est-à-dire au nombre de sommets du graphe. La hauteur d'un arbre 𝑇 = (𝑉, 𝐸, 𝑟) représente la longueur du plus long chemin de la racine de l'arbre d'ordre 𝑛 est appelé n-clique. Nous allons maintenant aborder quelques notions pour un type spécifique de graphe : les 𝑟 jusqu'à une feuille.
	Un graphe 𝐺 = (𝑉, 𝐸) orienté représente un graphe 𝐺 dont les arêtes sont orientées (sens bien précis). Soit 𝐺 = (𝑉, 𝐸) un graphe. Il est dit un arbre s'il est connexe et sans cycle. Le noeud 𝑟 ∈ 𝑉 est une Les arêtes orientées sont appelées alors arcs. racine (root en anglais) si pour tout sommet 𝑣 𝑖 ∈ 𝑉 il existe un chemin reliant 𝑟 et 𝑣 𝑖 . L'arbre noté 𝑇 =
	Un graphe simple (orienté ou non orienté) 𝐺 = (𝑉, 𝐸) représente un graphe pour lequel il existe au (𝑉, 𝐸, 𝑟) est appelé arbre enraciné de racine 𝑟. La notion de racine implique celle d'arborescence, soit
	plus une arête liant deux sommets. une hiérarchisation des noeuds de 𝑉. Dans notre cas, le choix de la racine introduit également une
	orientation implicite des arcs de l'arbre. Chaque arc s'oriente en respectant la profondeur des noeuds. Un graphe pondéré (orienté ou non orienté) 𝐺 = (𝑉, 𝐸) est un graphe dont les arêtes possèdent un La profondeur d'un noeud 𝑣 𝑖 ∈ 𝑉 correspond à son niveau dans l'arbre 𝑇 = (𝑉, 𝐸, 𝑟), c'est-à-dire la poids, c'est-à-dire un coût de passage d'un sommet à un autre. Ce type de graphe est utilisé dans certains types de problèmes comme celui du voyageur de commerce. longueur du plus court chemin le reliant à la racine 𝑟.
	Nous allons maintenant décrire quelques caractéristiques de 𝑇 = (𝑉, 𝐸, 𝑟) un arbre enraciné orienté Nous allons voir maintenant quelques caractéristiques des graphes. de racine 𝑟.
	Deux noeuds 𝑣 𝑖 , 𝑣 𝑗 ∈ 𝑉 du graphe 𝐺 = (𝑉, 𝐸) sont dits adjacents si ∃(𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸. Pour les graphes non orientés, on peut parler également de voisins. Le degré d'un sommet représente le nombre d'arêtes Soit 𝑒 = (𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸 un arc de 𝑇 avec 𝑣 𝑖 , 𝑣 𝑗 ∈ 𝑉. 𝑣 𝑖 est appelé la source (source également en anglais)

entrant et sortant de ce sommet (en fonction de s'il est orienté ou non). Le degré d'un graphe correspond quant à lui au plus grand des degrés de ces noeuds.

de 𝑒 et 𝑣 𝑗 la destination (target en anglais) de 𝑒.

1.2.4.2. OBTENTION DE LA SEQUENCE D'ARBRES CORONAIRES 3D

	La reconstruction 3D des artères coronaires est un problème complexe et mené en parallèle
	également au sein l'équipe IMPACT du LTSI [Ouki15, Xie12]. Les résultats obtenus ne sont pas encore
	exploitables dans notre cas puisque nous souhaitons de nombreux volumes représentant différents
	instants du cycle cardiaque pour différents patients donnés. C'est pourquoi nous utilisons pour nos
	tests un modèle dynamique 3D de l'arbre artériel coronarien construit à partir de données patient
	acquises directement en 3D à partir d'un scanner GE 64 multi barrettes et d'une segmentation de
	volumes de la séquence par une méthode semi-automatique basée sur une technique de suivi des
	lignes centrales [GJBG10, LABF09, YBTS06]. Une séquence de 10 volumes binaires représentant l'arbre
	coronarien a ainsi été reconstruite tous les 10% de l'intervalle RR du signal ECG.

end procedure Création de la structure d'arbre à partir de la hiérarchie :

  2 est créée avec 𝑚 le nombre de splines de l'arbre. Les Sur cette figure, le segment rouge correspond à la distance minimale entre ces deux splines avec la spline 𝑘 comme référence. Le segment plein vert se réfère quant à lui également à la distance minimale entre ces deux splines mais avec la spline 𝑙 comme référence. Ce sont ces distances qui sont stockées dans la matrice 𝐷𝑖𝑠𝑡𝑀𝑎𝑝, puis dans le vecteur 𝐶𝐷𝑖𝑠𝑡𝑀𝑎𝑝. La distance verte est bien plus grande que la distance de couleur rouge, ce qui revient à dire que la spline 𝑙 dans cet exemple est la mère de la spline 𝑘 et dans ce cas également la racine de l'arbre.

	suivante est vérifiée : 𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑘][𝑙] = min(𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑘]). Ces structures de données permettent 13 : //Mise à jour du vecteur de connectivité.
	alors de pouvoir récupérer le point de la spline 𝑙 qui est connecté à la spline 𝑘 et la distance qui les 14 : 𝐶𝐷𝑖𝑠𝑡𝑀𝑎𝑝[𝑘] ←< 𝑏𝑒𝑠𝑡𝑆𝑝𝑙𝑖𝑛𝑒, 𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑘][𝑏𝑒𝑠𝑡𝑆𝑝𝑙𝑖𝑛𝑒]
	sépare. 15 :	//Mise à jour de la racine de l'arbre correspondant à la plus grande distance trouvée.
	16 : 17 : 𝑖𝑛𝑡, 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 > de taille 𝑚 correspondant au nombre de splines. Il contient l'indice d'une spline ainsi if 𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑘][𝑏𝑒𝑠𝑡𝑆𝑝𝑙𝑖𝑛𝑒] > 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝑅𝑜𝑜𝑡 then Cette information nous permet de construire un vecteur de connectivité 𝐶𝐷𝑖𝑠𝑡𝑀𝑎𝑝 < 𝑚_𝑟𝑜𝑜𝑡 = 𝑘 18 : 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝑅𝑜𝑜𝑡 = 𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑖][𝑏𝑒𝑠𝑡𝑆𝑝𝑙𝑖𝑛𝑒]
	qu'une distance et est rempli selon la formule suivante (Algorithm 3) : La Figure 19-B) nous montre une hiérarchie de lignes centrales d'un arbre coronaire obtenue après 19 : end if
	𝐶𝐷𝑖𝑠𝑡𝑀𝑎𝑝[𝑘] =< argmin (𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑘][𝑙]) , 𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑘][𝑙] > l'application de l'algorithme. 20 : end for
	𝑙 Pour faciliter la compréhension, pour une spline quelconque 𝑘, le premier élément correspondant à l'indice d'une spline peut être récupéré de la manière suivante : 𝐶𝐷𝑖𝑠𝑡𝑀𝑎𝑝[𝑘]. 𝑙𝑒𝑓𝑡. La distance quant à elle, peut être récupérée et exploitée en utilisant : 𝐶𝐷𝑖𝑠𝑡𝑀𝑎𝑝[𝑘]. 𝑟𝑖𝑔ℎ𝑡. Grâce à Algorithm 1 : Détermination de la matrice de distance Input : 𝑚 le nombre de splines dans l'arbre coronaire. 𝑠𝑝𝑙𝑖𝑛𝑒[𝑘] la spline d'index 𝑘. 21 : Dans un deuxième temps, une fois la hiérarchie de l'arbre obtenue, la structure d'arbre est ce vecteur 𝐶𝐷𝑖𝑠𝑡𝑀𝑎𝑝, la racine de l'arbre peut être obtenue facilement. Elle correspond à la spline 𝑘 Output : 𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑚][𝑚] la matrice de distance entre chaque spline. créée. De par l'extraction des lignes centrales et le type de données traitées, la structure d'arbre est
	1 : tout de suite obtenue après application de notre algorithme. L'arbre est connexe et ne présente aucun procedure
	2 : cycle.		for 𝑘 ← 0, 𝑚 do
	3 :		for 𝑙 ← 0, 𝑚 do
	4 :	if 𝑘 == 𝑙 then Comme expliqué précédemment, les noeuds du graphe représentent des points particuliers :
	5 : le noeud racine, les noeuds de bifurcation et les noeuds terminaux (noeuds feuilles). Avec la //La distance entre les splines n'est pas à calculer : valeur par défaut.
	6 : détermination de la hiérarchie, ces points particuliers sont connus : la racine correspond au premier 𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑘][𝑙] ← +∞
	7 : point de la spline racine, les noeuds de bifurcation correspondent à un point de la spline mère auquel else
	8 : la spline fille est rattachée (variable 𝑚_𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑃𝑜𝑖𝑛𝑡 de l'Algorithm 2) et les noeuds feuilles //Algorithme 2 : calcul de la distance avec la liste de points de chaque spline.
	9 : correspondent au dernier point des splines n'ayant pas de descendance. Ces noeuds possèdent, 𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑘][𝑙] ← ( 𝑠𝑝𝑙𝑖𝑛𝑒[𝑘], 𝑠𝑝𝑙𝑖𝑛𝑒[𝑙])
	10 : comme étiquette, un identifiant c'est-à-dire un numéro positif unique. Des informations end if
	11 : complémentaires sont stockées dans ces noeuds : les coordonnées du point, ses caractéristiques end for
	12 : (noeud racine, noeud feuille, noeud artificiel, etc.), ainsi que d'autres propriétés utiles pour le reste de end for
	éléments de cette matrice correspondent à la distance euclidienne la plus courte entre les points de 13 : end procedure notre projet décrites par la suite.
	rattachement de chaque spline et le « corps » des autres splines, c'est-à-dire les points des splines La hiérarchie entre ces noeuds est créée grâce à l'insertion des arcs. S'il existe une ligne excluant leurs points de départ. L'Algorithm 1 décrit le remplissage de la matrice 𝑑𝑖𝑠𝑡𝑀𝑎𝑝. centrale entre deux noeuds, un arc est ajouté. Des informations à propos des segments de spline L'Algorithm 2 explique quant à lui les calculs de la distance intervenant dans le remplissage de cette Algorithm 2 : Détermination de la distance euclidienne entre deux splines (portions) sont stockées. Ces segments représentent une structure de données ayant comme donnée même matrice. 𝑑𝑖𝑠𝑡𝑀𝑎𝑝 est une matrice de valeurs positives telle qu'à l'initialisation : Figure 22 : Schéma expliquant le calcul de la hiérarchie des splines : calcul de la distance associée à la matrice distMap. Input : 𝑠𝑝𝑙𝑖𝑛𝑒1 et 𝑠𝑝𝑙𝑖𝑛𝑒2, deux listes de points de splines. une liste de points (venant de la ligne centrale associée avec comme premier point le noeud source et
	∀𝑘 ∈ [1; 𝑚], 𝑑𝑖𝑠𝑡𝑀𝑎𝑝[𝑘][𝑘] = +∞ comme dernier point le noeud de destination de l'arc) et leur rayon (correspondant à la lumière du

Cette matrice est exploitée pour récupérer la hiérarchie du graphe. Effectivement, nous pouvons dire que la spline 𝑙 est la plus proche du début de la spline 𝑘 (𝑙 ≠ 𝑘) avec lorsque l'équation où la distance contenue dans le vecteur 𝐶𝐷𝑖𝑠𝑡𝑀𝑎𝑝 est la plus grande. La spline 𝑘 doit donc vérifier l'équation suivante : argmax 𝑘 (𝐶𝐷𝑖𝑠𝑡𝑀𝑎𝑝[𝑘]. 𝑟𝑖𝑔ℎ𝑡). La spline 𝑘 (qui est différente de la spline racine) est la mère de la spline 𝑗 = 𝐶𝐷𝑖𝑠𝑡𝑀𝑎𝑝[𝑘]. 𝑙𝑒𝑓𝑡. La Figure 22 donne un exemple de spline mère et fille ainsi qu'une idée du calcul de la distance associée à la matrice 𝑑𝑖𝑠𝑡𝑀𝑎𝑝. Output : 𝑚_𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 correspond à la distance minimale entre le début de la spline de référence et le point le plus proche de la spline à parcourir. 𝑚_𝑐𝑙𝑜𝑠𝑒𝑠𝑡𝑃𝑜𝑖𝑛𝑡 correspond au point le plus proche de la spline à parcourir par rapport à la spline de référence. vaisseau) associé ainsi que d'autres propriétés utilisées dans le reste de notre programme, décrites également par la suite. Ces segments peuvent être également représentés graphiquement sous forme de spline (Figure

  La première catégorie consiste à déterminer l'appariement entre deux arbres isomorphes. Ces deux arbres doivent alors posséder la même structure (nombre identique de noeuds et d'arêtes, préservation de la hiérarchie, etc.)[Vali02]. Néanmoins, dans le cas de l'imagerie médicale, les arbres sont très rarement identiques. Ces derniers peuvent présenter plusieurs modifications. Une branche entière ou une partie de branche peut être manquante, une branche supplémentaire peut apparaître ou encore une trifurcation dans un arbre peut devenir une double bifurcation dans un autre. Toutes ces variations peuvent être dues aux erreurs de prétraitements (segmentation 3D, reconstruction 3D, etc.) de la structure à partir des images acquises (2D ou 3D). Elles sont liées en partie à la présence de bruit dans les images, à la superposition des structures et la non-homogénéité du produit de contraste

ou encore aux mouvements des différents organes du patient (coeur, respiration, etc.). L'utilisation de ces algorithmes pas assez flexible n'est donc pas appropriée dans notre cas. Le problème de sousgraphes isomorphes est moins restrictif que le cas précédent [MeBu98, PeSZ99, Ullm76]. Les arbres ne doivent pas être forcément similaires : seul le plus grand sous arbre commun à ces deux arbres est identifié.

  commence par rechercher la plus grande clique contenant le premier vertex 𝑣 1 dans 𝐺. Puis il essaye de trouver une plus grande clique contenant le deuxième vertex 𝑣 2 dans 𝐺 -{ 𝑣 1 } et ainsi de suite.Plusieurs conditions sont utilisées afin de réduire l'espace de recherche (pruning techniques). Pour cela, Carraghan and Pardalos[START_REF] Carraghan | An exact algorithm for the maximum clique problem[END_REF] introduit la notion de profondeur (depth). L'algorithme, commençant par étudier le vertex 𝑣 1 , considère à depth 2 tous les vertices adjacents à ce vertex (trié également en fonction de leur degré). A depth 3, tous les vertices présents à depth 2 et adjacents au premier vertex de depth 2 sont considérés. Un parcours en profondeur est alors réalisé afin de trouver la clique maximum. Lorsque le niveau maximum de depth ne peut plus être développé pour une clique étudié, l'algorithme remonte au niveau de depth précédent et ainsi de suite. Une condition en fonction du niveau de profondeur et du nombre de vertex adjacent dans le depth courante permet d'éviter de parcourir toutes les différentes possibilités. Soit 𝑣 𝑑 𝑖 le vertex concerné pour la clique à depth d et à Soit 𝑆 𝑖 = {𝑣 𝑖 , 𝑣 𝑖+1 , … , 𝑣 𝑛 } avec 𝑣 𝑛 le dernier vertex du graphe 𝐺. L'algorithme commence par considérer les cliques dans l'ensemble 𝑆 𝑛 = {𝑣 𝑛 }. La plus grande clique courante est à ce stade 𝐶𝐵𝐶 = {𝑣 𝑛 }. Ensuite, l'algorithme recherche s'il existe une clique plus grande dans l'ensemble 𝑆 𝑛-1 = {𝑣 𝑛-1 , 𝑣 𝑛 }, et ainsi de suite. Dans le premier cas, la plus grande clique de 𝑆 𝑖 est identique à celle trouvée à l'étape précédente dans 𝑆 𝑖+1 . L'algorithme n'a pas trouvé de clique incluant le vertex 𝑣 𝑖 . A l'inverse, dans le deuxième cas, une clique incluant 𝑣 𝑖 à été trouvée. La nouvelle 𝐶𝐵𝐶 est de taille supérieure d'un vertex à celle trouvée dans 𝑆 𝑖+1 . Cette notion de taille est utilisée dans les nouvelles techniques de prunning proposées. La notion de profondeur (depth) est également utilisée comme dans [CaPa90]. Östergård cherche à savoir si le vertex considéré 𝑣 𝑖 peut devenir le (𝑗 + 1) è𝑚𝑒 vertex dans la clique qui est en train d'être formée (qui est composée pour l'instant de 𝑗 vertices). Il utilise la condition suivante pour stopper la recherche à un niveau de profondeur d donnée : 𝑗 + 𝑐(𝑖) ≤ 𝑠. Notons que 𝑗 est également égal à 𝑑 -1. Ce programme en modifiant l'inégalité peut être utilisée pour trouver toutes les cliques maximum d'un graphe.

l'étape i. Nous avons donc la profondeur (depth) 𝑑 ∶ 𝑣 𝑑 1 , … , 𝑣 𝑑 𝑖 , … , 𝑣 𝑑 𝑚 . Si 𝑑 + (𝑚 -𝑖) ≤ 𝑡𝑎𝑖𝑙𝑙𝑒 𝑑𝑒 𝑙𝑎 𝑚𝑒𝑖𝑙𝑙𝑒𝑢𝑟𝑒 𝑐𝑙𝑖𝑞𝑢𝑒 𝑐𝑜𝑢𝑟𝑎𝑛𝑡𝑒 (𝐶𝐵𝐶), l'algorithme arrête de rechercher à ce niveau car la plus grande clique pouvant être obtenue en développant 𝑣 𝑑 𝑖 sera de taille inférieure (ou identique) à CBC.

Différentes méthodes sont dérivées de cet algorithme comme ceux proposés par Östergård

[Öste02]

(sub-clique problem), Tomita and Seki

[START_REF] Tomita | TOMOKAZU: An Efficient Branch-and-Bound Algorithm for Finding a Maximum Clique[END_REF]

(subgraphs coloring), Segundo et al. [SMRH13] (subgraphs coloring) ou encore Li and Quan [LiQu10] et Maslov et al. [MaBP14] (MaxSAT).

Prosser

[START_REF] Prosser | Exact Algorithms for Maximum Clique: A Computational Study[END_REF]

propose un étude comparative de plusieurs algorithmes exacts ainsi qu'un bref historique de ces algorithmes.

Wu and Hao [WuHa15b]

propose quant à eux également une description et un commentaire sur les performances de ces différentes méthodes. Leur tableau 1 regroupe les principaux algorithmes exacts pour le problème de la clique maximum.

Nous allons maintenant décrire brièvement l'algorithme Östergård

[Öste02]

qui est une amélioration de

[START_REF] Carraghan | An exact algorithm for the maximum clique problem[END_REF]

. Plusieurs modifications ont été apportées.

Dans un premier temps, l'ordre de recherche est inversé. Nous reprenons également dans ce paragraphe les notations utilisées dans

[Öste02]

.

Dans un deuxième temps, les techniques de prunning utilisées diffèrent. La taille de la plus grande clique trouvée dans 𝑆 𝑖 est noté 𝑐(𝑖). Au début de l'algorithme, nous avons donc 𝑐(𝑛) = 1 et la taille de la clique maximum du graphe sera donnée par 𝑐(1). Pour 1 ≤ 𝑖 ≤ 𝑛 -1, nous avons donc soit 𝑐(𝑖) = 𝑐(𝑖 + 1) ou 𝑐(𝑖) = 𝑐(𝑖 + 1) + 1.

2.2.2. APPROCHE HEURISTIQUE

Différentes approches heuristiques ont été utilisées dans le problème de la clique maximum. Un état de l'art détaillé de ses méthodes peuvent être trouvé dans Wu and Hao [WuHa15b], Bomze et al. [BBPP99], Butenko [Bute03] et Pardalos and Xue [PaXu94]. Des algorithmes gloutons (greedy algorithms) ont été développés afin d'extraire la clique maximum comme le propose par exemple Jagota et al [JaSa01], Busygin [Busy06] et Grosso et al. [GrLC04]. D'autres méthodes proposent d'utiliser des algorithmes évolutionnaires (Guturu and Dantu [GuDa08]) couplés avec des algorithmes génétiques (recherche tabou, Friden et al [FrHW89], Gendreau et al. [GeSS93]) ou des algorithmes de type colonies de fourmi (Solnon and Frenet [SoFe06]). De nombreux algorithmes utilisant la recherche locale (local search) comme méthode d'optimisation ont également été développés au cours de ses dernières années (Pullan et al. [PuHo06], Pullan et al. [PuMB11]). Wu and Hao [WuHa15b] proposent une description détaillée de ce dernier type d'algorithme, ainsi qu'un tableau (tableau 2 [WuHa15b])

  Lepremier critère est calculé à partir des différentes projections de la ligne centre du segment d'intérêt (vaisseau sténosé). Il permet d'obtenir une visualisation déployée du segment de l'artère coronaire. Le deuxième critère mesure le taux de superposition du vaisseau sténosé avec les autres branches de l'arbre coronaire. Le segment doit être le plus isolé pour permettre au chirurgien de procéder à son intervention dans les meilleures conditions possibles. Une visualisation des différents résultats est également proposée sous la forme d'une carte de vue optimale (optimal view map). Une carte pour chaque critère peut être également réalisée indiquant les valeurs obtenues pour chaque projection correspondant à un couple d'angle possible du C-arm. Green et al. [GCHM05] à partir de la méthode de Chen et al. [ChCa98] compare sur plusieurs données (156 segments issu de 149 patients) les résultats des angles de vues optimaux obtenus par les physiciens et par l'algorithme développé. Les vues sélectionnées par les opérateurs possèdent plus de raccourcissement sur les vaisseaux d'intérêts que celles proposées par la méthode de Chen et al. celui de Wink et al. [WKCC02, WKCC03]. La carte optimale est calculée pour chaque volume (segment d'intérêt et les autres vaisseaux) de la séquence en ne gardant que les angles de vue avec moins de 2% de raccourcissement et aucun chevauchement. L'intersection de toutes les cartes optimales est par la suite considérée comme la carte de vue optimale pour le cycle cardiaque entier. Cependant, il n'existe pas de mise en correspondance entre les différents segments des différents volumes. Dans leur test (une séquence de huit volumes), le segment d'intérêt d'une longueur de 15 voxels, est choisi près d'une bifurcation. De plus leur méthode ne prend pas en compte la nature nonisomorphe des arbres coronaires 3D de la séquence. Kitslaar et al. [KMJK08] propose une méthode permettant de visualiser les bifurcations des artères coronaires de façon optimale. Comme pour les autres méthodes, un volume 3D des artères est De nouveaux critères ont été intégrés dans la recherche de l'angle de vue optimale pour ces deux types. Tout d'abord pour le segment d'intérêt, trois critères sont calculés : « foreshortening rate », « stenosis rate », et « overlap rate ». Un nouveau critère est donc utilisé concernant la forme et le degré de la sténose. L'angle de vue optimale d'une sténose considère que sa projection doit montrer le moins de surface possible du vaisseau (minimisation) pour pouvoir visualiser au mieux la sténose. Ensuite, pour les bifurcations (IVB), trois critères sont également utilisés : « foreshortening rate », « overlap rate » et « adjacent spacing rate ». Comme pour Kitslaar et al. [KMJK08], deux types de chevauchement sont utilisés : un global et un interne. De plus, le nouveau critère (« adjacent spacing rate ») utilise l'espacement entre les deux branches filles de la bifurcation grâce à un calcul d'aire (à maximiser pour obtenir l'angle de vue optimale). En plus de nouveaux critères, Wang et al. [WYCA14] permet de calculer l'incidence optimale sur de multiples segments ou bifurcations. Garcia et al. [GMCK09] calcule les cartes de vues optimales générales pour différentes branches anatomiques). Cette mise en correspondance est effectuée manuellement. Comme nous nous focalisons sur une structure dynamique ayant un mouvement complexe, l'angle de vue optimale devrait être calculé sur l'ensemble du cycle cardiaque. Seulement quelques méthode (Wink et al. [WKCC02, WKCC03] et Chen et al. [CLZW14]) prennent en compte le mouvement des artères coronaires. A notre connaissance, aucune méthode de détermination de l'angle de vue optimale n'utilise une méthode automatique pour la mise en correspondance des artères coronaires sur l'ensemble du cycle cardiaque. En outre, aucune méthode ne propose de déterminer l'angle de vue optimale pour un segment et une bifurcation d'intérêt sur l'ensemble du cycle cardiaque avec mise en correspondance de cet objet sur les différentes phases. Dans le cadre du planning d'une angioplastie, nous recherchons à suivre la zone sténosé ou le chemin du guide dans les artères coronaires en mouvement afin d'obtenir une incidence optimale prenant en compte tout le cycle cardiaque. Ainsi, nous proposons de mettre en correspondance chaque segment de l'arbre coronaire non isomorphe dans l'ensemble de la séquence 3D+T. Ce chapitre présente une nouvelle approche d'appariement des arbres vasculaires et plus particulièrement les artères coronaires. Comme expliqué dans le chapitre 2, de par les caractéristiques des arbres coronaires de la séquence, nous avons choisi d'implémenter deux méthodes de référence et de les adapter à notre problématique. La première méthode de référence, proposée par Lohe et al. [LKZP07], est une approche hiérarchique basée sur la construction d'un arbre de recherche symétrique. La deuxième méthode de référence, basée sur la construction d'un graphe d'association En effet, augmenter le nombre d'appariements (c'est-à-dire proposer un seuillage moins strict des mesures de similarité) risquerait d'augmenter le nombre de noeuds incorrectement mis en correspondance. La qualité et la précision des processus suivants, correspondant à la mise en correspondance de toute la séquence et à la détermination de l'angle de vue optimale, dépendant de cette méthode peuvent alors être affectées. Nous avons donc un faible nombre de noeuds mis en correspondance par rapport à l'ensemble de noeuds existant dans les deux arbres. Effectivement, à cause des erreurs d'extraction ou de reconstruction (arbres non-isomorphes) certains noeuds de bifurcations ou noeuds feuilles ne sont pas mis en correspondance. Afin d'obtenir un appariement optimal et plus complet, nous introduisons une nouvelle étape consistant à insérer des noeuds artificiels dans les arbres correspondant à ces noeuds non appariés (section 3.1.3.2). Les deux arbres mis en correspondance sont ainsi complétés par des informations supplémentaires 'algorithme de mise en correspondance entre deux arbres 𝑇 𝑖 et 𝑇 𝑖+1 devient une étape préliminaire de notre algorithme d'appariement globale. A partir du résultat de cette mise en correspondance corrigée et des deux arbres 𝑇 𝑖 et 𝑇 𝑖+1 complétés et corrigés, un arbre d'union 𝑈𝑇 𝑖,𝑖+1Ensuite, à partir de cet arbre d'union, un arbre mosaïque temporaire 𝑈𝑆 0,𝑖+1 est construit par la fusion d'arbres d'union deux à deux jusqu'à la fin de la séquence et l'obtention de l'arbre mosaïque global 𝑈𝑆 0,𝐼-1 (section 3.2.4). L'arbre mosaïque temporaire 𝑈𝑆 0,𝑖+1 représente la fusion du précédent arbre mosaïque 𝑈𝑆 0,𝑖 et de l'arbre union 𝑈𝑇 𝑖,𝑖+1 correspondant aux deux arbres appariés 𝑇 𝑖 et 𝑇 𝑖+1 .Premièrement, l'arbre mosaïque 𝑈𝑆 0,𝑖+1 est initialisé avec les noeuds de 𝑈𝑆 0,𝑖 . Deuxièmement, tous les noeuds de 𝑈𝑇 𝑖,𝑖+1 non présents dans 𝑈𝑆 0,𝑖+1 y sont ajoutés (c'est-à-dire les noeuds de l'arbre 𝑇 𝑖+1 ).Les noeuds dans 𝑈𝑆 0,𝑖+1 représentant le même noeud dans différent cycles cardiaques sont fusionnés.Quant aux autres noeuds, pour compléter la mise en correspondance globale, des noeuds artificiels sont recherchés dans les différentes phases de 𝑆 0,𝑖+1 . A chaque étape, chaque appariement est vérifié lors de la fusion. Les erreurs de hiérarchie, de conflit entre noeuds ou d'insertion de noeuds artificiels apparaissant avec ce supplément d'information sont corrigées. Ainsi, les arbres de la séquence 𝑆 0,𝑖+1 sont complétés et corrigés par les étapes précédentes liées à la construction de l'arbre mosaïque 𝑈𝑆 0,𝐼-1 . De ce fait, le résultat de la mise en correspondance entre deux arbres devient de plus en plus robuste lors de la progression de celle-ci en fonction de l'avancée du traitement de la séquence. En

	Tu et al. [THKW11, TJHO12, Tu12] propose une nouvelle méthode permettant de déterminer
	des angles de vues optimales pour un segment d'intérêt ou d'une bifurcation sans avoir besoin de
	reconstruire tout l'arbre 3D. Juste la portion de branche sélectionnée est reconstruite. Après calcul du Trois mesures (position, tangente et direction) à partir desquelles une distance est calculée basée sur
	taux de raccourcissement, cinq propositions d'angles avec une différence d'au moins 15 degré sont l'algorithme Dynamic Time Warping [KePa01] sont proposées pour déterminer la similarité entre les
	sélectionné. La prédiction de chevauchement sur ces vues est réalisée via l'image angiographique chemins (c'est-à-dire entre deux paires de noeuds sélectionnées).
	projetée.

Le choix des vues angiographiques pour les interventions coronariennes percutanées est une étape importe pour le guidage, le déploiement et le positionnement du sent comme expliqué dans le chapitre 1. Ces angles de vues doivent montrer la zone d'intérêt (segment sténosé) avec le moins de superposition et le plus déployé possible. Dans les années 1990, quelques méthodes pour déterminer l'angle de vue optimale ont été mises en oeuvre [ChCa98, DuRG94, SAHN98]. De nos jours, la majorité des algorithmes développés utilisent les deux critères proposés par Chen et al. [ChCa98] pour calculer le taux de raccourcissement (foreshortening rate) et le taux de chevauchement (overlap rate) pour un segment sélectionné. [ChCa98]. Nous avons choisi de distinguer deux approches différentes : les méthodes nécessitant la création d'une base de données de patient pour déterminer des angles de vues optimaux dits universels en fonction des branches vasculaires et les méthodes spécifiques au patient. Nous allons commencer par décrire les différentes méthodes existantes de la dernière approche : les méthodes spécifiques au patient [ChCa98, KMJK08, WKCC02, WKCC03, WYCA14]. Nous nous intéresserons plus particulièrement aux méthodes qui diffèrent de celle proposée par Chen et al. [ChCa98]. Wink et al. [WKCC02, WKCC03] proposent une méthode basée sur les deux critères de Chen et al. [ChCa98]. Cependant, pour avoir une orientation optimale du C-arm, le segment d'intérêt doit être le moins raccourci possible et le moins superposé avec les structures avoisinantes et ce durant tout le cycle cardiaque. Pour pouvoir prendre en compte le mouvement des artères coronaires durant le cycle cardiaque, tous les arbres à différentes phases sont modélisés dans un seul et même volume. Cela permet de calculer la carte contenant les taux de chevauchement grâce à l'intersection de ce volume avec la modélisation du segment d'intérêt. Pour une implémentation plus efficace en temps de calcul, le taux de chevauchement est calculé uniquement pour les angles de vue ayant un faible taux de raccourcissement. Chen et al [CLZW14] propose également plus récemment un algorithme déterminant l'angle de vue optimale pour un segment sur l'ensemble du cycle cardiaque à partir de données 4D MSCT. Les deux mêmes critères (raccourcissement et chevauchement) sont utilisés. Cependant, le processus est différent de disponible pour un instant donné (segmenté à partir d'un scanner). Le critère utilisé pour calculer le taux de raccourcissement est identique à celui proposé par Chen et al. [ChCa98]. Celui-ci est donné par le rapport de la longueur de la ligne centrale 2D du segment d'intérêt projeté selon une direction et la longueur de la ligne centrale du segment 3D. De même, Kitslaar et al. [KMJK08] réutilise le critère concernant le taux de chevauchement entre le segment d'intérêt (ici la bifurcation) et le reste de l'arbre coronaire. Comme Wink et al. [WKCC02, WKCC03], ce taux de chevauchement est calculé en exploitant le stencil buffer de OpenGL [SSKL13]. Celui-ci permet de calculer l'intersection entre deux volumes en comptant le nombre de pixels couverts par les deux volumes lors de la rastérisation. Kitslaar et al. [KMJK08] introduit un troisième critère permettant de calculer le taux de chevauchement propre à la bifurcation. Ce critère est appelé « internal overlap » et est utilisé pour empêcher la bifurcation de se superposer avec elle-même permettant une meilleur visualisation sur les projections angiographiques. Les trois branches de la bifurcation sont séparées et le taux de chevauchement interne entre ces trois segments est calculé également à l'aide de stencil buffer. Les trois cartes, représentant les taux de raccourcissement, de chevauchement et de chevauchement interne, sont calculées selon toutes les orientations possibles et sont ensuite combinées en une seule carte. Plus récemment, Wang et al. [WYCA14] ont proposé une méthode déterminant l'angle optimal pour un segment d'intérêt (« interesting vessel segment » -IVS) ou une bifurcation (« interesting vessel bifurcation » -IVB). Garcia et al. [GMCK09] et Bi et al. [BiGS10] présentent des méthodes de calculs de l'angle de vue optimale sur un panel de patients afin de déterminer de façon générale les angles de vues optimaux. Ces méthodes sont globalement similaires à celle présentée ci-dessus : elles s'appuient sur la création de cartes de raccourcissement et de chevauchement pour un ensemble de patient en fonction des angles de vues. Les méthodes utilisées pour la création des volumes 3D et le calcul des incidences sont similaires à celle présentée précédemment (taux de raccourcissement et de chevauchement). Les cartes sont ensuite fusionnées pour obtenir une carte globale indiquant la zone contenant l'angle de vue optimale pour ces patients. Garcia et al. [GMCK09], à partir de 137 patients, proposent une carte globale pour les différentes branches vasculaires anatomiques. Bi et al. [BiGS10] travaillent plus particulièrement sur les veines coronaires (14 patients), mais sa méthode est aussi réutilisable pour les artères coronaires. Il propose également d'obtenir des angles de vues optimaux pour plusieurs segments d'intérêts (c'est-à-dire un chemin) grâce à la fusion des cartes obtenues pour les différents segments constituant le chemin. Afin de calculer les cartes d'incidences optimales, les vues utilisées pour générer tous les modèles 3D représentent la même phase du cycle cardiaque pour ne pas être influencé par les mouvements des coronaires. Ces deux dernières méthodes [BiGS10, GMCK09] non spécifique au patient ne sont efficace que si la carte de vue optimale statique est construite à partir d'une large population. Cependant, elles peuvent être trop générique pour un patient donné même si Garcia et al. [GMCK09] propose une méthode prenant en compte la variabilité anatomique inter-patient (dominance droite et gauche). De plus, ces méthodes considèrent que les artères coronaires des différents patients sont appariées (Nous avons alors choisi de développer une méthode patient-spécifique afin de déterminer l'angle de vue optimale sur l'ensemble du cycle cardiaque grâce à notre algorithme de mise en correspondance 3D+T décrit dans le chapitre 3. Comme expliqué dans le chapitre 4, nous avons calculé la carte de vue optimale pour différents objets d'intérêt : un segment, de multiples segments ou une bifurcation. La carte optimale permet de déterminer un angle de vue optimale soit pour déployer un stent au niveau d'un segment ou d'une bifurcation sténosés (angle local) ou soit pour guider le cathéter ainsi que d'autres outils dans les vaisseaux, par exemple de la première branche des artères coronaires à la zone de lésion (angle global). et l'extraction de la clique maximum, est proposée par Metzen et al. [MKSZ09] ainsi que par Tschirren et al. [TMPH05]. Dans un premier temps, nous appliquons ses deux méthodes de référence à deux arbres coronaires 𝑇 𝑖 et 𝑇 𝑖+1 issus deux phases successives du cycle cardiaque obtenus à partir de CT (section 1). Après la description de ces deux méthodes (section 3.1.1 pour la première méthode [LKZP07] et section 3.1.2 pour la deuxième approche [MKSZ09, TMPH05]), nous les avons adaptées à nos données non isomorphes en choisissant tout d'abord de nouvelles mesures de similarité (section 3.1.3). Le seuillage de la première mesure permet de réduire le nombre de cas à traiter par la suite, c'est-à-dire en sélectionnant une partie des paires de noeuds potentiellement appariés. Nous voulons que cette étape soit rapide en temps d'exécution et qu'elle réduise considérablement l'espace de recherche. C'est pourquoi, nous utilisons les coordonnées spatiales stockées dans chaque noeud d'arbre pour définir une région d'intérêt autour d'un noeud donné, sélectionnant ainsi les noeuds potentiellement semblables dans les autres phases cardiaques. Les autres mesures seuillées sont importantes : elles définissent la mise en correspondance entre les noeuds sélectionnés précédemment parmi les meilleures. Ces mesures doivent être exécutées dans un temps raisonnable et être robustes. Nous avons choisi d'utiliser des mesures géométriques basées sur les lignes centrales permettant de prendre en compte le mouvement non rigide des artères coronaires ainsi que leurs différences topologiques.

La mise en correspondance entre deux arbres contient à ce moment-là des couples de noeuds qui sont vraiment similaires par rapport aux différentes mesures de similarité précédentes. La précision et la qualité de l'appariement des noeuds sont pour nous plus importants que le nombre de noeuds mis en correspondance. associés aux noeuds artificiels. En plus de la hiérarchie et du résultat de la précédente mis en correspondance entre les deux arbres successifs, des mesures de similarités sont utilisées afin de déterminer quand insérer un noeud artificiel. Nous avons choisi d'utiliser les trois mêmes mesures (coordonnées, tangente et direction à partir desquelles la distance euclidienne est calculée par l'algorithme Dynamic Time Warping

[START_REF] Keogh | Derivative Dynamic Time Warping[END_REF]

) que précédemment afin de prendre en compte la différence de distance et de tortuosité entre les deux arbres à apparier. Une étape de vérification de la hiérarchie et de correction de conflit est insérée pour chaque noeud artificiel créé rendant ainsi le programme plus robuste.

Cette méthode d'appariement deux à deux n'était cependant pas suffisamment robuste pour l'appliquer directement à l'ensemble des arbres de la séquence 𝑆 0,𝐼-1 = {𝑇 0 , … , 𝑇 𝑖 , 𝑇 𝑖+1 , … , 𝑇 𝐼-1 }. Elle prend en compte uniquement les différences de topologie entre arbres successifs et non celles de l'ensemble des arbres de la séquence. C'est pourquoi dans un deuxième temps, nous proposons dans la section 3.2 une nouvelle méthode globale appariant l'ensemble des arbres de la séquence. Pour cela, l'algorithme proposé construit un arbre complet, nommé arbre mosaïque, fusionnant toutes les informations des arbres de la séquence ainsi que leurs appariements segments par segments. Lest construit (section 3.2.3). Dans cet arbre d'union, une étiquette est définie pour chaque noeud en fonction de son statut : soit le noeud correspond à un couple de noeuds appariés soit il représente un noeud seul sans correspondance. effet, l'arbre 𝑇 𝑖 a été complété par les noeuds artificiels, correspondants à des informations supplémentaires, présents dans les autres arbres de la séquence 𝑆 0,𝑖 obtenu lors des appariements précédents. Au final, le nombre de noeuds des arbres modifiés 𝑇 𝑖 de la séquence 𝑆 0,𝐼-1 double par rapport aux arbres 𝑇 𝑖 initiaux.

  Lohe et al.[START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF] proposed a symmetric tree search algorithm using the hierarchical tree structure. Let be 𝑇𝑆 𝑖,𝑖+1 = (𝑉 𝑇𝑆 𝑖,𝑖+1 , 𝐸 𝑇𝑆 𝑖,𝑖+1 ) the search tree which corresponds to an intermediate data structure created from the two consecutive trees 𝑇 𝑖 and 𝑇 𝑖+1 . 𝑉 𝑇𝑆 𝑖,𝑖+1 represents the node set and 𝐸 𝑇𝑆 𝑖,𝑖+1 the edge set. Each node 𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 ∈ 𝑉 𝑇𝑆 𝑖,𝑖+1 of this search tree represents a pair of the two tree nodes 𝑣 𝑖 𝛼 𝑖 and 𝑣 𝑖+1 𝛼 𝑖+1 respectively from 𝑉 𝑖 and 𝑉 𝑖+1 . To build the search tree 𝑇𝑆 𝑖,𝑖+1 = (𝑉 𝑇𝑆 𝑖,𝑖+1 , 𝐸 𝑇𝑆 𝑖,𝑖+1 ), two metric sets are used: a consistency constraint set 𝐶𝐶 and a similarity measure set 𝑆𝑀. 1) Consistency constraint 𝒄𝒄 𝝀 (𝒗 𝒊 𝜶 𝒊 , 𝒗 𝒊+𝟏 𝜶 𝒊+𝟏 ) → [𝒕𝒓𝒖𝒆, 𝒇𝒂𝒍𝒔𝒆] ∈ 𝑪𝑪 which decides if two nodes 𝑣 𝑖 𝛼 𝑖 ∈ 𝑇 𝑖 and 𝑣 𝑖+1 𝛼 𝑖+1 ∈ 𝑇 𝑖+1 represent a valid matched node pair. This first constraint set selects the most relevant assignments 𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 = (𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 ) ∈ 𝑉 𝑇𝑆 𝑖,𝑖+1 among all possible cases and inserts them in the search tree. Node selection from two consecutive trees can be based on various characteristics described by Lohe et al.

2 )

 2 Similarity measure 𝒔𝒎 𝝁 (𝒗 𝑻𝑺 𝒊,𝒊+𝟏 𝜶 𝒊 ,𝜶 𝒊+𝟏 ) ∈ 𝑺𝑴 which evaluates the matching quality of the most previously relevant assignments 𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 = (𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 ) ∈ 𝑉 𝑇𝑆 𝑖,𝑖+1 . This second metric set is used to determine the set of best assignments among all relevant assignments. Firstly, Lohe et al. [LKZP07] compare the lengths of the two paths 𝑝 𝑖 (𝑟 𝑖 , 𝑣 𝑖 𝛼 𝑖 ) and 𝑝 𝑖+1 (𝑟 𝑖+1 , 𝑣 𝑖+1 𝛼 𝑖+1 ) from the root node 𝑟 𝑖 or 𝑟 𝑖+1 to the current node 𝑣 𝑖 𝛼 𝑖 or 𝑣 𝑖+1 𝛼 𝑖+1 in the two trees. Secondly, they compare the angles between two other paths from the nearest matched parent node in the search tree to the current node from the two trees 𝑇 𝑖 and 𝑇 𝑖+1 . Each similarity measure 𝑠𝑚 𝜇 (𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 For each search tree node 𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 , this combination result 𝑆𝑀 (𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 ) = ∑ [𝑠𝑚 𝜇 (𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 ) × 𝑤(𝑠𝑚 𝜇 )] 𝑠𝑚 𝜇 ∈𝑆𝑀 is computed. Then, this value is included to the cumulated sum of similarity results of its parent node 𝑆𝑀 (𝑚𝑝 (𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 )). This final result 𝑆𝑀 (𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 ) + 𝑆𝑀 (𝑚𝑝 (𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 )) is saved in the node 𝑣 𝑇𝑆 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 .After the construction of the search tree (see the Algorithm1 in[START_REF] Lohe | XIAOYI: Hierarchical matching of anatomical trees for medical image registration[END_REF]), the leaf node 𝑣 𝑇𝑆 𝑖,𝑖+1𝛼 𝑖 ,𝛼 𝑖+1

𝑖 ,𝛼 𝑖+1 ) is normalized in the range [0,1] by the function 2 • 2 1-𝑠𝑚 𝜇 𝑠(𝑠𝑚 𝜇 )-1 -1, with 𝑠(𝑠𝑚 𝜇 ) the threshold of the similarity measure 𝑠𝑚 𝜇 . This normalization allows combining the 𝜇 similarity measures with their weight factor 𝑤(𝑠𝑚 𝜇 ).

  A first selection is based on the unary constraint set CU: only the pair 𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 considered as a potential assignment is added. The result of each unary constraint 𝑐𝑢 𝛾 is normalized in the range [0,1] To consider the node 𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 as a potential assignment, the weighted sum of all unary constraints must be greater or equal to 0.5.𝑉 𝑖+1 and 1 ≤ 𝛼 𝑖 ≤ 𝑛 𝑖 , 1 ≤ 𝛼 𝑖+1 ≤ 𝑛 𝑖+1 and 1 ≤ 𝛽 𝑖 ≤ 𝑛 𝑖 , 1 ≤ 𝛽 𝑖+1 ≤ 𝑛 𝑖+1 (Equation (2)). 𝜶 𝒊+𝟏 , 𝒗 𝒊,𝒊+𝟏 𝜷 𝒊 ,𝜷 𝒊+𝟏 ) ∈ 𝑽 𝑮 𝒊,𝒊+𝟏 × 𝑽 𝑮 𝒊,𝒊+𝟏 | ∑ 𝒘(𝒄𝒃 𝜹 ) × 𝒄𝒃 𝜹 (𝒗 𝒊,𝒊+𝟏 𝜶 𝒊 ,𝜶 𝒊+𝟏 , 𝒗 𝒊,𝒊+𝟏 𝜷 𝒊 ,𝜷 𝒊+𝟏 ) ≥ 𝟎. 𝟓 The edge between 𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 and 𝑣 𝑖,𝑖+1 𝛽 𝑖 ,𝛽 𝑖+1 is added in the edge set 𝐸 𝐺 𝑖,𝑖+1 if the two paths 𝑝 selectivity parameter s(𝑐𝑏 𝛿 ), and next weighted by the factor 𝑤(𝑐𝑏 𝛿 ). If the weighted sum of the binary constraint set is greater or equal to 0.5 for the two potential assignments (𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 , 𝑣 𝑖,𝑖+1 𝛽 𝑖 ,𝛽 𝑖+1 ), the two corresponding paths are considered as similar and an edge in added between them. Afterwards, when the association graph 𝐺 𝑖,𝑖+1 is established, the complete sub-graph having maximum cardinality must be detected. This matching problem corresponds to search the maximum clique 𝐶 𝑚𝑎𝑥 into the association graph 𝐺 𝑖,𝑖+1 , i.e. the maximum number of nodes that are connected by an edge and corresponds to a maximal sub-graph isomorphism. The best matching 𝑀 𝑖,𝑖+1 is deduced from this maximum clique 𝐶 𝑚𝑎𝑥 : each node of 𝑀 𝑖,𝑖+1 corresponds to a pair of matched nodes in the two trees 𝑇 𝑖 and 𝑇 𝑖+1 (Figure 27.C).

	GRAPH BUILDING
	Firstly, this graph matching is carried out by minimizing a cost function from unary and binary
	constraints of nodes.
	The first step inserts nodes 𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 = ( 𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 ) which are composed of two tree nodes
	𝑣 𝑖 𝛼 𝑖 ∈ 𝑉 𝑖 and 𝑣 𝑖+1 𝛼 𝑖+1 ∈ 𝑉 𝑖+1 in the association graph 𝐺 𝑖,𝑖+1 (Equation (1)). 3.1.2.2. MAXIMUM CLIQUE EXTRACTION
	𝑽 𝑮 𝒊,𝒊+𝟏
	= {𝐯 𝐢,𝐢+𝟏 𝛂 𝐢 ,𝛂 𝐢+𝟏 = ( 𝒗 𝒊 𝛂 𝐢 , 𝒗 𝒊+𝟏 𝜶 𝒊+𝟏 ) ∈ 𝑽 𝒊 × 𝑽 𝒊+𝟏 | ∑	𝒄𝒖 𝜸 ∈𝑪𝑼	𝒘(𝒄𝒖 𝜸 ) × 𝒄𝒖 𝜸 (𝐯 𝐢,𝐢+𝟏 𝛂 𝐢 ,𝛂 𝐢+𝟏 ) ≥ 𝟎. 𝟓	}
					(1)
	with 𝒄𝒖 𝜸 (𝐯 𝐢,𝐢+𝟏 𝛂 𝐢 ,𝛂 𝐢+𝟏 ) ∈ [𝟎, 𝟏], 𝒘(𝒄𝒖 𝜸 ) ∈ [𝟎, 𝟏], ∑ 𝒘(𝒄𝒖 𝜸 ) 𝜸	= 𝟏
	through the function 2
	The second step inserts edges in the association graph 𝐺 𝑖,𝑖+1 between two nodes 𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 =
	( 𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 ) ∈ 𝑉 𝐺 𝑖,𝑖+1 and 𝑣 𝑖,𝑖+1 𝛽 𝑖 ,𝛽 𝑖+1 = ( 𝑣 𝑖 𝛽 𝑖 , 𝑣 𝑖+1 𝛽 𝑖+1 ) ∈ 𝑉 𝐺 𝑖,𝑖+1 with 𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖 𝛽 𝑖 ∈ 𝑉 𝑖 and 𝑣 𝑖+1 𝛼 𝑖+1 , 𝑣 𝑖+1 𝛽 𝑖+1 ∈
	𝑬 𝑮 𝒊,𝒊+𝟏
	= {(𝒗 𝒊,𝒊+𝟏 𝜶 𝒊 ,𝒄𝒃 𝜹 ∈𝑪𝑩			}
					(2)
	with 𝒄𝒃 𝜹 (𝒗 𝒊,𝒊+𝟏 𝜶 𝒊 ,𝜶 𝒊+𝟏 , 𝒗 𝒊,𝒊+𝟏 𝜷 𝒊 ,𝜷 𝒊+𝟏 ) ∈ [𝟎, 𝟏], 𝒘(𝒄𝒃 𝜹 ) ∈ [𝟎, 𝟏], ∑ 𝒘(𝒄𝒃 𝜹 ) 𝜹	= 𝟏

1-𝑐𝑢 𝛾 𝑠(𝑐𝑢 𝛾 )-1 , with 𝑠(𝑐𝑢 𝛾 ) the selectivity parameter (threshold). The constraint 𝑐𝑢 𝛾 equals to 1 indicates a strong similarity. Several unary constraints can be combined with the weight factor 𝑤(𝑐𝑢 𝛾 ). 𝑖 ( 𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖 𝛽 𝑖 ) ∈ 𝑇 𝑖 and 𝑝 𝑖+1 ( 𝑣 𝑖+1 𝛼 𝑖+1 , 𝑣 𝑖+1 𝛽 𝑖+1 ) ∈ 𝑇 𝑖+1 derived from these two nodes are considered as similar according to the set of binary constraints 𝐶𝐵. Similarly to unary constraints, each 𝛿 binary constraint 𝑐𝑏 𝛿 (𝑣 𝑖,𝑖+1 𝛼 𝑖 ,𝛼 𝑖+1 , 𝑣 𝑖,𝑖+1 𝛽 𝑖 ,𝛽 𝑖+1 ) is normalized in the range [0,1] by the same normalization function and the

  ). The three criteria, from which is computed the Euclidean distance by the DTW algorithm, correspond to the Euclidean distance 𝑑𝑖𝑠𝑡 ( 𝑠𝑐 𝑖 𝑫[𝒎 𝒊 𝝆 𝒊 -𝟏 , 𝒎 𝒊+𝟏 𝝆 𝒊+𝟏 ] , 𝑫[𝒎 𝒊 𝝆 𝒊 , 𝒎 𝒊+𝟏 𝝆 𝒊+𝟏 -𝟏 ] , 𝑫[𝒎 𝒊 𝝆 𝒊 -𝟏 , 𝒎 𝒊+𝟏 𝝆 𝒊+𝟏 -𝟏 ] )

	𝜌 𝑖 ⃗⃗⃗⃗⃗⃗⃗ , 𝑠𝑐 𝑖+1 𝜌 𝑖+1 ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ), between two point coordinates
	𝑚 𝑖 𝜌 𝑖 and 𝑚 𝑖+1 𝜌 𝑖+1 of the two paths, the angle between the two tangents 𝑎𝑛𝑔𝑙𝑒 ( 𝑡𝑔 𝑖 𝜌 𝑖 ⃗⃗⃗⃗⃗⃗⃗ , 𝑡𝑔 𝑖+1 𝜌 𝑖+1 ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ) and the
	angle between the two directions 𝑎𝑛𝑔𝑙𝑒 ( 𝑑 𝑖 𝜌 𝑖 ⃗⃗⃗⃗⃗ , 𝑑 𝑖+1 𝜌 𝑖+1 ⃗⃗⃗⃗⃗⃗⃗⃗⃗ ).
	𝑫[𝒎 𝒊 𝝆 𝒊 , 𝒎 𝒊+𝟏 𝝆 𝒊+𝟏 ] = {𝒅𝒊𝒔𝒕 ( 𝒔𝒄 𝒊 𝝆 𝒊 ⃗⃗⃗⃗⃗⃗⃗⃗ , 𝒔𝒄 𝒊+𝟏 𝝆 𝒊+𝟏 ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ) , 𝒂𝒏𝒈𝒍𝒆 ( 𝒕𝒈 𝒊 𝝆 𝒊 ⃗⃗⃗⃗⃗⃗⃗⃗⃗ , 𝒕𝒈 𝒊+𝟏 𝝆 𝒊+𝟏 ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ ) , 𝒂𝒏𝒈𝒍𝒆 ( 𝒅 𝒊 𝝆 𝒊 ⃗⃗⃗⃗⃗⃗⃗ , 𝒅 𝒊+𝟏 𝝆 𝒊+𝟏 ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ )}
	+ 𝐦𝐢𝐧 (

Algorithm 4 :

 4 Artificial node insertion. Input: two coronary trees 𝑇 𝑖 and 𝑇 𝑖+1 at successive phases 𝑡 𝑖 and 𝑡 𝑖+1 and the best matching 𝑀 𝑖,𝑖+1 Output: optimal matching 𝑀 * 𝑖,𝑖+1 and the modified and corrected trees 𝑇 𝑖 and 𝑇 𝑖+1 . 𝑇 𝑖 , 𝑇 𝑖+1 ) = verificationHierarchy(𝑀 𝑖,𝑖+1 , 𝑇 𝑖 , 𝑇 𝑖+1 )

	25:		if (min_dtw_distance/ length(p i )) ≤ threshold then
	26:		exit
	27:		end if
	28:		end if
	1: 2: 29:	(𝑴 * (𝑴 *	𝒊,𝒊+𝟏 , 𝑇 𝑖 , 𝑇 𝑖+1 ) = artificialNodesInsertion (𝑇 𝑖 , 𝑇 𝑖+1 , 𝑀 𝑖,𝑖+1 ) 𝒊,𝒊+𝟏 , 𝑇 𝑖+1 , 𝑇 𝑖 ) = artificialNodesInsertion ( 𝑇 𝑖+1 , 𝑇 𝑖 , 𝑀 * 𝑖,𝑖+1 ) (𝑎 𝑖+1 𝜙 , 𝑇 𝑖+1 ) = addArtificialNode(p i+1 , 𝜌 𝑖+1 , 𝑇 𝑖+1 )
	3: 30:	return (𝑴 * 𝑀 𝑖,𝑖+1 = addMatchingPairNode (𝑣 𝑖 𝒊,𝒊+𝟏 , 𝑇 𝑖 , 𝑇 𝑖+1 ) 𝜙 , 𝑎 𝑖+1 𝜙 , 𝑀 𝑖,𝑖+1 )
	4: 31: (𝑀 𝑖,𝑖+1 , 32: function artificialNodesInsertion (𝑇 𝑖 , 𝑇 𝑖+1 , 𝑀 𝑖,𝑖+1 ) end for
	5: 33:	for each unmatched bifurcation and leaf node 𝑣 𝑖 𝜙 in T i do return (𝑀 𝑖,𝑖+1 , 𝑇 𝑖 , 𝑇 𝑖+1 )
	6: 34: end function (𝑚𝑝 (𝑣 𝑖 𝜙 ) , 𝑚𝑝 (𝑎 𝑖+1 𝜙 )) = nearestMatchedParentPairNode(𝑣 𝑖 𝜙 )
	7:		(𝑚𝑐 (𝑣 𝑖 𝜙 ) , 𝑚𝑐 (𝑎 𝑖+1 𝜙 )) = nearestMatchedChildrenPairNode(𝑣 𝑖 𝜙 )
	8:		𝑝 𝑖 = buildPath(𝑚𝑝 (𝑣 𝑖 𝜙 ) , 𝑣 𝑖 𝜙 , 𝑇 𝑖 )
	9:		𝑝 𝑖+1 = null
	10:		min_dtw_distance = +∞
	11:		𝜌 ′′ = 0
	12:		if the children node 𝑚𝑐 (𝑎 𝑖+1 𝜙 ) exists then
	13:		𝑝 𝑖+1 = buildPath(𝑚𝑝 (𝑎 𝑖+1 𝜙 ) , 𝑚𝑐 (𝑎 𝑖+1 𝜙 ) , T i+1 )
	14:		(min_dtw_distance, 𝜌 𝑖+1 ) = DTW (p i , p i+1 )
	15:		else
	16:		for each leaf node 𝑙 𝑖+1 𝜓 of the sub-tree induced by the node 𝑚𝑝(𝑎 𝑖+1 𝜙 ) do
	17:		path = buildPath(𝑚𝑝 (𝑎 𝑖+1 𝜙 ) , 𝑙 𝑖+1 𝜓 )
	18:		(dtw_distance, index) = DTW (𝑝 𝑖 , path)
	19:		if dtw_distance ≤ min_dtw_distance then
	20:		min_dtw_distance = dtw_distance
	21:		𝑝 𝑖+1 = path
	22:		𝜌 𝑖+1 = index
	23:		end if
	24:		end for

  ). Each matched node in this list corresponds to the same node at different cardiac phases. Each union node 𝑣 𝑈𝑇 𝑖,𝑖+1 of one single node or ideally two matched tree nodes in each tree 𝑇 𝑖 and 𝑇 𝑖+1 .

				𝛼	has a list 𝐿(𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼	) =
	{𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 ,𝑖+1 } This matched node list allows determining some merging and union node characteristics (Figure 34):
	-A single merging node (and respectively a single union node for 𝑈𝑇 𝑖,𝑖+1 ) is a merging node
	𝑣 𝑈𝑆 0,𝑖+1 𝛼	which have only one node 𝑣 𝑖 𝛼 𝑖 ∈ 𝑇 𝑖 in the list 𝐿 (𝑣 𝑈𝑆 0,𝑖+1 𝛼	) = {∅ 0 , … , ∅ 𝑖-1 , 𝑣 𝑖 𝛼 𝑖 , ∅ 𝑖+1 }.
	A single node corresponds to a node which hasn't been matched with another node among an
	intermediary tree sequence 𝑆 0,𝑖+1 . Single nodes are represented with an orange circle in the
	Figure 34.
	-A matched merging node (and respectively a matched union node for 𝑈𝑇 𝑖,𝑖+1 ) is a merging
	node 𝑣 𝑈𝑆 0,𝑖+1 𝛼	which have at least two nodes in the list 𝐿(𝑣 𝑈𝑆 0,𝑖+1 𝛼	). Nodes in this list 𝐿(𝑣 𝑈𝑆 0,𝑖+1
	-A main node of a merging node 𝑣 𝑈𝑆 0,𝑖+1 𝛼	and respectively of a union node 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼	represents a
	node in the list 𝐿 (𝑣 𝑈𝑆 0,𝑖+1 𝛼	) = {𝑣 0 𝛼 0 , … , 𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼

𝛼

) represent the same matched node among the tree sequence 𝑆 0,𝑖+1 . Matched nodes are represented with a green circle in the Figure

34

.

-An artificial union node in 𝑈𝑇 𝑖,𝑖+1 is a single union node or a matched union node which have in the list only artificial nodes. A single merging node or a matched merging node of 𝑈𝑆 0,𝑖+1 cannot have only artificial nodes. Artificial nodes are represented with a pink circle and green circle in the Figure

34

. ,𝑖+1 }. This main node corresponds to the first found non-artificial node in the phase order of the sequence 𝑆 0,𝑖+1 . In the case of an artificial union node 𝑣 𝑈𝑇 𝑖,𝑖+1

  𝑀 𝑖,𝑖+1 between 𝑇 𝑖 and 𝑇 𝑖+1 . Moreover, the label of each node e.g. matched union node and artificial union node (at this step there is no single union node) and the main node are updated. Next, the other nodes of 𝑇 𝑖 and 𝑇 𝑖+1 which have no node correspondence are inserted in the union tree as single union node (block line 10 to 19 in the Algorithm 6 with the function insertUnionNodeAsSingleNode()). all nodes of the trees 𝑇 𝑖 and 𝑇 𝑖+1 are added in the temporary union tree 𝑈𝑇 𝑖,𝑖+1 , edges are inserted (block line 20 to 27 in the Algorithm 6 with the function insertEdge()). Each edge corresponds to the centerline data between two nodes. We have to determine firstly which union nodes of 𝑈𝑇 𝑖,𝑖+1 have a father-son connection and secondly in which tree (𝑇 𝑖 or 𝑇 𝑖+1 ) is the centerline data between these two linked union nodes. For each union node pair (𝑣 𝑈𝑇 𝑖,𝑖+1 𝑛 𝑈𝑇 𝑖,𝑖+1 , the edge insertion between them depends on the main node of the target node 𝑣 𝑈𝑇 𝑖,𝑖+1 𝑣 𝑖 𝛽 𝑖 is in the tree 𝑇 𝑖 . We search if the union node 𝑣 𝑈𝑇 𝑖,𝑖+1 𝑈𝑇 𝑖,𝑖+1 the tree corresponding to the union between the two matched input trees 𝑇 𝑖 and

	union node 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 When 𝛼 have in its list 𝐿(𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 ) = {𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 ,𝑖+1 } the matched node pair (𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 ,𝑖+1 ) ∈ , 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛽 ) with 𝛼 ≠ 𝛽 and 𝛼 and 𝛽 ∈ 𝑇 𝑖+1 . 1: function 2: //First step: add in 𝑈𝑇 𝑖,𝑖+1 union node considered as matched union node 3: for each pair of matched nodes (𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 ) in 𝑀 𝑖,𝑖+1 do 4: 30: end for each if 𝑣 𝑖 𝑈𝑇 𝑖,𝑖+1 = insertUnionNode(𝑣 𝑖+1 𝛼 𝑖+1 , 𝑣 𝑖 𝛼 𝑖 ) 8: //𝑣 𝑖 𝛼 𝑖 is the main node. 𝑣 𝑖 𝛼 𝑖 and 𝑣 𝑖+1 𝛼 𝑖+1 can be artificial nodes. 9: 𝑈𝑇 𝑖,𝑖+1 = insertUnionNode(𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 ) 10: end if 11: end for each 12: //Second step: adding union node considered as single node in 𝑈𝑇 𝑖,𝑖+1 13: for each tree node 𝑣 𝑖 𝛼 𝑖 of 𝑇 𝑖 do 14: if 𝑣 𝑖 𝛼 𝑖 is not found in the list 𝐿 (𝑣 𝑼𝑻 𝒊,𝒊+𝟏 𝛼 ) of all union nodes 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 already inserted then 15: 𝑼𝑻 𝒊,𝒊+𝟏 = insertUnionNodeAsSingleNode(𝑣 𝑖 𝛼 𝑖 ,∅ 𝑖+1 ) 16: end if 17: end for each 18: for each tree node 𝑣 𝑖+1 𝛼 𝑖+1 of 𝑇 𝑖+1 do 19: if 𝑣 𝑖+1 𝛼 𝑖+1 is not found in the list 𝐿 (𝑣 𝑼𝑻 𝒊,𝒊+𝟏 𝛼 ) of all union node 𝑣 𝑼𝑻 𝒊,𝒊+𝟏 𝛼 already inserted then 20: 𝑼𝑻 𝒊,𝒊+𝟏 = insertUnionNodeAsSingleNode(∅ 𝑖 ,𝑣 𝑖+1 𝛼 𝑖+1 ) 21: end if 22: end for each 23: //Third step: adding edge between union nodes in 𝑈𝑇 𝑖,𝑖+1 24: for each union node 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 of 𝑈𝑇 𝑖,𝑖+1 do 25: for each union node 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛽 of 𝑈𝑇 𝑖,𝑖+1 do 26: if 𝛼 ≠ 𝛽 and the main node of 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 is the children of a node in 𝐿 (𝑣 𝑈𝑇 𝑖,𝑖+1 𝛽 ) in the same view then 27: //same edge between the main node of 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 and its father in the union tree 𝑈𝑇 𝑖,𝑖+1 . 28: 𝑼𝑻 𝒊,𝒊+𝟏 = insertEdge(𝑣 𝑈𝑇 𝑖,𝑖+1 𝛽 , 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 ) 29: end if 32: return 𝑼𝑻 𝒊,𝒊+𝟏 𝛼 6: 7: else 33: end function
	31:	end for each

The function BuildUnionOfTwoTrees() begins with the intersection of the two trees 𝑇 𝑖 and 𝑇 𝑖+1 . Union nodes corresponding to the previously matched node pair in 𝑀 𝑖,𝑖+1 are added in 𝑈𝑇 𝑖,𝑖+1 (block line 1 to 9 in the Algorithm 6 with the function insertUnionNode()).In this step, each 𝛽 . For example, we consider that its main node 𝛼 (representing the edge source node) has in its list 𝐿(𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 ) a tree node corresponding to the father of 𝑣 𝑖 𝛽 𝑖 in the same tree 𝑇 𝑖 . If the father of 𝑣 𝑖 𝛽 𝑖 is found, an edge in the union tree 𝑈𝑇 𝑖,𝑖+1 is inserted between 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 and 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛽 . This new edge has the same centerline data as the one of the tree 𝑇 𝑖 with the father of 𝑣 𝑖 𝛽 𝑖 as source node and 𝑣 𝑖 𝛽 𝑖 as target node. Algorithm 6: function BuildUnionOfTwoTrees() Input: 𝑇 𝑖 and 𝑇 𝑖+1 the two consecutive coronary trees to match, 𝑀 𝑖,𝑖+1 the matching result between these two trees. Output: 𝑖 is an artificial node and 𝑣 𝑖+1 𝛼 𝑖+1 is not an artificial node then 5: // 𝑣 𝑖+1 𝛼 𝑖+1 become the main node of the union node newly inserted. A union node 𝑣 𝑼𝑻 𝒊,𝒊+𝟏 𝛼 // with 𝐿 (𝑣 𝑼𝑻 𝒊,𝒊+𝟏 𝛼 ) = {𝑣 𝑖 𝛼 𝑖 , 𝑣 𝑖+1 𝛼 𝑖+1 } is created.

NODE MERGING FROM US0,i AND UTi,i+1 RELATED BY THEIR COMMON PHASE i IN US0,i+1

	10: 11: 12: 3.2.4.1. Firstly in the Algorithm 7, i.e. the building of the mosaic tree 𝑈𝑆 0,𝑖+1 , we search which union isMerged = isSameNode (𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 ) //search if the node can be matched with another node previously inserted in 𝑈𝑆 0,𝑖+1 if isMerged == false then isSamePoint(𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 ) //search if the node can be matched with a point of a centerline in previous trees (artificial node can be inserted)
	13: nodes can be merged (line 1, 2 and block function NodeMerging () from line 16 to 32). A union node end if
	14: 𝑣 𝑈𝑆 0,𝑖 𝛼	end for each of 𝑈𝑆 0,𝑖 and another node 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼	of 𝑈𝑇 𝑖,𝑖+1 can be merged if they are related in their common
	searchArtificialNodeLastPhase(𝑈𝑆 0,𝑖 , 𝑈𝑇 𝑖,𝑖+1 ) phase 𝑖, in other word, they must have in their node list 𝐿 the same node 𝑣 𝑖 //Add artificial node in the last phase 𝛼 𝑖 (function isRelatedNode() 15: 𝑇 𝑖+1 which can be matched with previous node in 𝑈𝑇 0,𝑖+1 . line 19 of the Algorithm 7). We have one special case: if the second union node 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 is an artificial
	16: union node (function isArtificialNode() line 21 of the Algorithm 7): before merging the two union return 𝑈𝑆 0,𝑖+1
	17: end function nodes, we check the rightness of the last artificial node position of 𝐿(𝑣 𝑈𝑇 𝑖,𝑖+1
	18:
	19: function	(𝑈𝑆 0,𝑖 , 𝑈𝑇 𝑖,𝑖+1 )
	20:	for each node 𝑣 𝑈𝑆 0,𝑖 𝛼	in 𝑈𝑆 0,𝑖 which are not analyzed do
	21:	for each node 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼	in 𝑈𝑇 𝑖,𝑖+1 which are not analyzed do
	22:	isRelated = isRelatedNode (𝑣 𝑈𝑆 0,𝑖 𝛼	, 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼	, 𝑖)
	23:	if isRelated == true then
	24:	isArtificial = isArtificialNode (𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼	)
	25:	isSimilarPath = true
	26:	if isArtificial == true and the 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼	is not a single node then
	27:	isSimilarPath = isArtificialSimilarPath (𝑣 𝑈𝑆 0,𝑖 𝛼	, 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼	, 𝑖)
	28:	end if
	29:	if isSimilarPath == true then
		𝑈𝑆 0,𝑖+1 = mergeNodes(𝑣 𝑈𝑆 0,𝑖 𝛼	, 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼	, 𝑖) //merge nodes 𝑣 𝑈𝑆 0,𝑖 𝛼	and 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼	in the
	30:	mosaic tree
	31:	end if
	5: 32: 33: 34: 6: 35:	for each union node 𝑣 𝑈𝑆 0,𝑖 𝛼 end if 𝑈𝑆 0,𝑖+1 = addMergingNodeAndEdge(𝑣 𝑈𝑆 0,𝑖 not analyzed in 𝑈𝑆 0,𝑖 do 𝛼 ) end for each end for each 𝑈𝑆 0,𝑖+1 (special cases already considered) return 𝑈𝑆 0,𝑖+1	//add same merging node 𝑣 𝑈𝑆 0,𝑖 𝛼	in
	7: 36: end function end for each
						𝛼	)

8:

for each union node 𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 not analyzed in 𝑈𝑇 𝑖,𝑖+1 do 9: 𝑈𝑆 0,𝑖+1 = addMergingNodeAndEdge(𝑣 𝑈𝑇 𝑖,𝑖+1 𝛼 ) in the last tree 𝑇 𝑖+1 . In this way, with the Dynamic Time Warping's algorithm, we evaluate for each node in the list 𝐿 (𝑣 𝑈𝑆 0,𝑖 𝛼 ), if the path from their root node to them are similar to the path from 𝑟 𝑖+1 to the artificial node of 𝑇 𝑖+1 (function isArtificialSimilarPath() line 24 of the Algorithm 7). After merging all union nodes (function mergeNode() line 27 of the Algorithm 7), edges are added (function AddEdge() line 3 in the Algorithm 7).

  After searching if a merging node of 𝑈𝑆 0,𝑖+1 represents the same matched node of another merging node, we evaluate if this last inserted merging node 𝑣 𝑈𝑆 0,𝑖+1 𝛼 can be matched with a centerline point in previous trees 𝑆 0,𝑖-1 . So we didn't want to merge two merging nodes but to complete the list𝐿 (𝑣 𝑈𝑆 0,𝑖+1 𝛼 ) = {∅ 0 , … ∅ 𝑖-1 , ∅ 𝑖 , 𝑣 𝑖+1𝛼 𝑖+1 } with the insertion of artificial nodes in previous trees of 𝑆 0,𝑖-1 which are themselves completed (artificial nodes in blue in the Figure34). As previously, we don't process the trees 𝑇 𝑖 and 𝑇 𝑖+1 . In addition, to reduce the execution time, in the same way as the artificial node insertion for the matching between two trees, all the centerlines are not considered to evaluate if one point of them can become an artificial node. Only the paths beginning by the nearest common nodes from the last considered tree 𝑇 𝑖+1 and also from the previous tree belonging to 𝑆 0,𝑖-1 where we want insert artificial node. By default, the nearest common parent node is the root of the mosaic tree. The Dynamic Time Warping's algorithm determined the best similar path to the one described in 𝑇 𝑖+1 from the nearest common parent node 𝑣 𝑈𝑆 0,𝑖+1

	parent node 𝑣 𝑈𝑆 0,𝑖+1 𝛽	of the new merging node 𝑣 𝑈𝑆 0,𝑖+1 𝛼	are evaluated. The nearest common parent
	node must have in its list 𝐿 (𝑣 𝑈𝑆 0,𝑖+1
			𝛽	to the
	new merging node 𝑣 𝑈𝑆 0,𝑖+1

𝛽

) 𝛼 . To determine the best similar path we must take into account if the new merging node 𝑣 𝑈𝑆 0,𝑖+1 𝛼 has children or not.

We begin with the first case with children. If the merging node 𝑣 𝑈𝑆 0,𝑖+1

  L'algorithme exploite en effet toutes les informations des arbres de la séquence et s'autocorrige au fur et à mesure de la progression du traitement de la séquence.Cette méthode apparie les noeuds des arbres de la séquence entre eux. A partir de ces noeuds, la correspondance entre les différents segments de la toute séquence est déduite pour permettre d'utiliser ce résultat lors de la recherche de l'incidence optimale. En effet, dans le prochain chapitre portant sur la recherche de l'angle de vue optimale, nous allons voir comment cette mise en correspondance des arbres sur l'ensemble de la séquence est utilisée. Elle permet d'obtenir un vue angiographique optimale pour le segment ou la bifurcation d'intérêt sur l'ensemble du cycle cardiaque et cela de manière automatique.L'arbre coronaire mosaïque d'une phase donnée, représentant une structure arborescente complète obtenue par la mise en correspondance de tous les arbres non-isomorphes de la séquence 3D+T, va nous permettre de déterminer l'angle de la vue optimale d'un objet d'intérêt (segment unique, segment multiple, bifurcation sténosée) sur l'ensemble du cycle cardiaque. Comme expliqué dans le chapitre 2, aucune méthode de détermination d'incidence optimale ne propose de méthode automatique de mise en correspondance de branches. De plus, notre méthode propose un vue de projection angiographique optimale pour différents objets d'intérêts. Effectivement, l'utilisateur par l'intermédiaire de l'interface graphique (GUI en anglais) de notre application peut sélectionner un segment ou une bifurcation comme zone de lésion afin de pouvoir déployer au mieux un stent. Il peut également choisir des segments multiples comme objets d'intérêts (par exemple de la racine de l'arbre coronaire à la zone de lésion) afin d'obtenir un angle de vue permettant à la fois de guider le cathéter de la racine jusqu'au déploiement du stent au niveau de la zone sténosée. entre eux en prenant en compte les différentes phases du cycle cardiaque. Prenons le cas le plus complexe, celui d'une bifurcation. L'utilisateur choisit via l'interface graphique la bifurcation comportant la sténose. Notre programme, grâce à l'algorithme précédent de mise en correspondance, reconnait la bifurcation sur l'ensemble des arbres de la séquence. De part la nature non isomorphe des arbres coronaires, la bifurcation sélectionnée peut ne pas être présente sur tous les arbres de la Dans un deuxième temps, les cartes des deux critères de chevauchement interne et externe sont calculées puis seuillées phase par phase où la bifurcation est présente et pour les orientations retenues à l'étape précédente (lors du calcul des taux de raccourcissement et d'angle d'ouverture). des cartes). Effectivement, nous considérons que chaque critère possède la même importance avec 50% de critères spécifiques à la bifurcation (chevauchement interne et angle d'ouverture). Au final, une carte optimale, prenant en compte les différences de topologie des arbres de la séquence 3D+T et le mouvement du cycle cardiaque, est proposée au cardiologue. Pour réduire le nombre de choix, 5% ou 2% des meilleures incidences sont proposées ainsi que la valeur maximum représentant l'angle de vue optimale pour la bifurcation sélectionnée.La détermination de l'angle de vue optimale pour un segment d'intérêt unique ou un segment multiple (concaténation de plusieurs segments) est effectuée de la même manière. En effet, les cartes de raccourcissement sont calculées puis seuillées phase par phase, puis les cartes de chevauchement externes sont obtenues seulement dans les régions où le taux de raccourcissement est considéré comme suffisant (par le seuil). Concernant les cartes optimales obtenues pour des segments multiples

	séquence. L'algorithme proposé utilise uniquement les arbres possédant la bifurcation entière
	appariée (c'est-à-dire que les trois branches de la bifurcation doivent être toutes mises en
	correspondance).
	Dans un premier temps, les taux de raccourcissement et d'angle d'ouverture de la bifurcation
	sont calculés pour chaque orientation possible du C-arm correspondant à la première phase. Deux
	Il s'agit du taux d'ouverture de l'angle de la bifurcation (opening bifurcation rate). Plus l'angle entre Ces cartes se basent sur la projection des volumes de la bifurcation (séparée en trois branches) et du
	les deux branches filles de la bifurcation est important, meilleur sera l'angle de vue ce qui permettra reste de l'arbre coronaire. La carte globale du critère de chevauchement externe et celle du
	de déployer au mieux le stent dans cette zone. chevauchement interne pour l'ensemble du cycle cardiaque sont obtenues de la même façon que

Au cours de ce chapitre, nous décrivons dans un premier temps les différents critères permettant d'obtenir les angles de vues optimales pour les différents objets d'intérêt et pour tout le cycle cardiaque. Le premier critère correspond au taux de raccourcissement (foreshortening rate) qui est souvent sous-évalué par les cardiologues [GCHM05] (artères coronaires très tortueuses). L'objectif est d'obtenir un angle de vue où l'objet sélectionné est le plus déployé possible. Les deux critères suivants sont liés au chevauchement de l'objet d'intérêt. Deux types de chevauchement sont définis : le chevauchement de l'objet avec le reste de l'arbre coronaire appelé chevauchement externe (external overlap rate) et le chevauchement interne (internal overlap rate) qui correspond au chevauchement de l'objet avec lui-même dans le cas d'une bifurcation. Effectivement, nous considérons que la bifurcation est composée de trois segments : la branche principale (branche mère) puis les deux branches filles. Le chevauchement interne prend en compte la superposition de ces trois branches entre elles. Ces deux critères de chevauchement nous permettent d'obtenir une vue angiographique de l'objet d'intérêt projeté avec le moins de superposition possible (meilleure visibilité). Le dernier critère concerne uniquement les bifurcations et est complémentaire aux autres. Les deux premiers critères (raccourcissement et chevauchement externe) sont utilisés pour calculer l'angle de vue optimale pour les segments. Les quatre critères sont quant à eux utilisés pour le cas des bifurcations. La deuxième partie de ce chapitre explique comment ces différents critères sont combinés cartes sont ainsi obtenues avec en abscisse les angles CRA/CAU allant de -30° à 30° et en ordonnée les angles OAD/OAG allant de -90° à 90° avec un pas de 1°. Les valeurs obtenues pour les deux cartes sont situées dans l'intervalle [0,1]. Une valeur forte correspond à un angle de vue plus approprié pour l'intervention (peu de raccourcissement ou un grand angle d'ouverture par exemple). Ces deux critères, basés sur la projection des points de la ligne centrale, sont calculés simultanément. La carte de raccourcissement et la carte d'angle d'ouverture de la bifurcation pour la première phase sont ensuite seuillées pour supprimer les angles les plus mauvais (seuil de 40%). La même démarche est ensuite réalisée pour les autres phases où la bifurcation est appariée. Cependant, les taux sont calculés uniquement pour les valeurs retenues précédemment. Une fois les cartes obtenues pour chaque phase, la carte globale des deux critères (raccourcissement et angle d'ouverture) est calculée pour l'ensemble du cycle cardiaque. Pour chaque orientation retenue, la valeur minimum de la séquence est concervée. L'utilisation du minimum, et non la moyenne ou la médiane, permet d'obtenir un angle de vue optimale sur toute la séquence prenant ainsi en compte les différences de topologies entre les arbres. précédemment avec l'utilisation de la valeur minimum entre les cartes. Une fois les cartes globales pour chaque critère obtenues, celle-ci sont fusionnées pour obtenir la carte globale de l'angle de vue optimale. Une simple combinaison linéaire de poids identique est utilisée (moyenne (segments de la racine jusqu'à la zone de lésion sélectionnée), nous vérifions également si le résultat est précis et cohérent grâce à la fusion des cartes des différents segments composant ce segment multiple. Deux tests de fusion sont considérés : chaque carte a le même poids ou bien le poids d'un segment est pondéré par rapport à sa distance au segment sténosé ainsi que par sa longueur.

  𝜃 𝑗 , 𝜑 𝑘 , 𝑙 𝑞 ) = 𝑙𝑒𝑛𝑔𝑡ℎ 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑙 𝑞 ) with 𝑙𝑒𝑛𝑔𝑡ℎ 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑙 𝑞 ) = ∑ 𝑑 𝑒 (𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑚 𝑞 𝜌 𝑞 ), 𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑚 𝑞 𝜌 𝑞 +1 ))

	max (𝑝 ,𝜃 𝑗 ,𝜑 𝑘 )	(𝑙𝑒𝑛𝑔𝑡ℎ 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑙 𝑞 ))	* 100%,	(7)
	𝜑 𝑞 -1
	𝜌 𝑞 =1

where 𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑚 𝑞 𝜌 𝑞 ) is the forward projection of the centerline point 𝑚 𝑞 𝜌 𝑞 ∈ 𝑙 𝑞 according to the pair of angles (𝜃 𝑗 , 𝜑 𝑘 ) and the projection direction 𝑝 . 𝑑 𝑒 ( ) represents the Euclidean distance between two points (here, two 2D projected points).

  with other vascular structures in 2D projections for a given gantry orientation (𝜃 𝑗 , 𝜑 𝑘 ). Let be 𝑜 𝑒𝑥𝑡 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏 𝑞 ) the external overlap rate of the matched selected vessel 𝑏 𝑞 (meshes) for a 𝑡 𝑖 cardiac phase and a given orientation (𝜃 𝑗 , 𝜑 𝑘 ). This rate is computed as follows: 𝑜 𝑒𝑥𝑡 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏 𝑞 ) = ⋂ (𝐴𝑟𝑒𝑎 (𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞 )) , 𝐴𝑟𝑒𝑎 (𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞 ̅̅̅ ))) 𝐴𝑟𝑒𝑎 (𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞 )) * 100%,

  The calculating principle of the internal overlap rate 𝑜 𝑖𝑛𝑡 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏 𝑞 ) is identical to the external overlap rate 𝑜 𝑒𝑥𝑡 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏𝑖𝑓 𝑞 ) (equation (11)). The internal overlap rate for a given phase corresponds to the number of pixels in the intersection of the three branches divided by the pixel number of the union of these three branches. 𝑜 𝑖𝑛𝑡 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏𝑖𝑓 𝑞 ).

	𝑜 𝑖𝑛𝑡 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏𝑖𝑓 𝑞 )		(11)
	⋂ (𝐴𝑟𝑒𝑎 (𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞 𝑓𝑎𝑡ℎ𝑒𝑟 )) , 𝐴𝑟𝑒𝑎 (𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞 𝑐ℎ𝑖𝑙𝑑1 )) , 𝐴𝑟𝑒𝑎 (𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞 𝑐ℎ𝑖𝑙𝑑2 )))
	=
	⋃ (𝐴𝑟𝑒𝑎 (𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞 𝑓𝑎𝑡ℎ𝑒𝑟 )) , 𝐴𝑟𝑒𝑎 (𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞 𝑐ℎ𝑖𝑙𝑑1 )) , 𝐴𝑟𝑒𝑎 (𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞 𝑐ℎ𝑖𝑙𝑑2 )))
	* 100%,
	with 𝑃 𝑝 ,𝜃 𝑗 ,𝜑 𝑘 (𝑏 𝑞
	𝑂 𝑖𝑛𝑡 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝐵𝑖𝑓 0,𝑄-1 ) = min 𝑞	(1 -𝑜 𝑖𝑛𝑡 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏𝑖𝑓 𝑞 ))	(12)

𝑓𝑎𝑡ℎ𝑒𝑟 ) the projection of the mesh 𝑏 𝑞 𝑓𝑎𝑡ℎ𝑒𝑟 according to the projection direction 𝑝 and the angles (𝜃 𝑗 , 𝜑 𝑘 ). 𝐴𝑟𝑒𝑎( ) represents the area of the projection volume after triangulation.

As the other criteria, the internal overlap rate is computed for the whole cardiac cycle (equation (12)). As for the external overlap rate, a value near 1 corresponds to a bad value: the bifurcation has a lot superposition with itself. Thus, to combine all criteria in the next section 4.4, we take as internal overlap rate: 1 -

  𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏𝑖𝑓 𝑞 ) = 𝑎𝑛𝑔𝑙𝑒 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏𝑖𝑓 𝑞 )With 𝑎𝑛𝑔𝑙𝑒 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏𝑖𝑓 𝑞 ) = cos -1 (

	max (𝜃 𝑗 ,𝜑 𝑘 )	𝑎𝑛𝑔𝑙𝑒 𝑞 (𝑝 , 𝜃 𝑗 , 𝜑 𝑘 , 𝑏𝑖𝑓 𝑞 )	* 100%,
		𝑂𝐴 ⃗⃗⃗⃗⃗⃗ .𝑂𝐵 ⃗⃗⃗⃗⃗⃗ ‖𝑂𝐴‖×‖𝑂𝐵‖ )

Table 1 :

 1 Comparison of different consistency constraints 𝑐𝑐 𝜆 and similarity measures 𝑠𝑚 𝜇 for the nine matchings with different threshold values 𝑠(𝑐𝑐 𝜆 ) and 𝑠(𝑠𝑚 𝜇 ). CM is the number of correctly matched nodes, CMWA is the number of correctly matched nodes without assignment, IM corresponds to the incorrectly matched nodes and UM to the unmatched nodes. The distribution percentage of each classification is given in brackets. The last column is the execution time in ms for the nine matchings.

	𝒄𝒄 𝝀	𝒔(𝒄𝒄 𝝀 ) 𝒔𝒎 𝝁 𝒔(𝒔𝒎 𝝁 )	CM (%)	CMWA (%)	IM (%)	UM (%)	Runtime in ms
	𝒄𝒄 𝟏	7.5	𝑠𝑚 1	1.5	120 (61.2)	32 (16.3)	12 (6.2)	32 (16.3)	1
	𝒄𝒄 𝟏	7.5	𝑠𝑚 2	5	120 (61.2)	30 (15.3)	18 (9.2)	28 (14.3)	269
	𝒄𝒄 𝟏	7.5	𝑠𝑚 3	1.3	118 (60.2)	29 (14.8)	22 (11.2)	27 (13.8)	28
	𝒄𝒄 𝟏	7.5	𝑠𝑚 4	15	116 (59.2)	30 (15.3)	22 (11.2)	28 (14.3)	1147
	𝒄𝒄 𝟏	7.5	𝑠𝑚 5	20	118 (60.2)	30 (15.3)	20 (10.2)	28 (14.3)	1140
	𝒄𝒄 𝟐	10	𝑠𝑚 1	1.5	122 (62.2)	32 (16.3)	12 (6.12)	30 (15.3)	2
	𝒄𝒄 𝟐	10	𝒔𝒎 𝟐	5	124 (63.3)	32 (16.3)	10 (5.1)	30 (15.3)	68
	𝒄𝒄 𝟐	10	𝒔𝒎 𝟑	1.3	124 (63.3)	32 (16.3)	10 (5.1)	30 (15.3)	2
	𝒄𝒄 𝟐	10	𝑠𝑚 4	15	122 (62.2)	32 (16.3)	12 (6.2)	30 (15.3)	344
	𝒄𝒄 𝟐	10	𝒔𝒎 𝟓	20	124 (

Table 2 :

 2 Matching results for different similarity measures 𝑠𝑚 𝜇 with the combination of the two consistency constraints 𝑐𝑐 1 and 𝑐𝑐 2 and their threshold 𝑠(𝑐𝑐 1 ) = 7.5 and 𝑠(𝑐𝑐 2 ) = 10 obtain in relation to the Table1. CM is the number of correctly matched nodes, CMWA is the number of correctly matched nodes without assignment, IM corresponds to the incorrectly matched nodes and UM to the unmatched nodes.

	𝒔𝒎 𝝁	𝒔(𝒔𝒎 𝝁 )	CM (%)	CMWA (%)	IM (%)	UM (%)	Runtime in ms
	𝒔𝒎 𝟏	1.5	116 (59.2)	32 (16.3)	12 (6.2)	36 (18.3)	17
	𝒔𝒎 𝟐	5	120 (61.2)	32 (16.3)	8 (4.2)	36 (18.3)	107
	𝒔𝒎 𝟑	1.3	118 (60.2)	32 (16.3)	10 (5.1)	36 (18.3)	15
	𝒔𝒎 𝟒	15	116 (59.2)	32 (16.3)	12 (6.2)	36 (18.3)	322
	𝒔𝒎 𝟓	20	118 (60.2)	32 (16.3)	10 (5.1)	36 (18.3)	314

Table 3 :

 3 Matching results for different combinations of similarity measures 𝑠𝑚 𝜇 and their associated thresholds 𝑠(𝑠𝑚 𝜇 ) obtained with the consistency constraint 𝑐𝑐 2 and its associated threshold 𝑠(𝑐𝑐 2 ) = 10. This constraint gives better result according to the Table1 and Table 2. CM is the number of correctly matched nodes, CMWA is the number of correctly matched nodes without assignment, IM corresponds to the incorrectly matched nodes and UM to the unmatched nodes.

	Configuration	CM (%)	CMWA (%)	IM (%)	UM (%)
	𝒔(𝒔𝒎 𝟏 ) = 𝟏. 𝟓 ; 𝒔(𝒔𝒎 𝟐 ) = 𝟓	122 (62.2)	32 (16.3)	12 (6.2)	30 (15.3)
	𝒔(𝒔𝒎 𝟏 ) = 𝟏. 𝟓 ; 𝒔(𝒔𝒎 𝟑 ) = 𝟏. 𝟑	122 (62.2)	32 (16.3)	12 (6.2)	30 (15.3)
	𝒔(𝒔𝒎 𝟏 ) = 𝟏. 𝟓 ; 𝒔(𝒔𝒎 𝟒 ) = 𝟏𝟓	122 (62.2)	32 (16.3)	12 (6.2)	30 (15.3)
	𝒔(𝒔𝒎 𝟏 ) = 𝟏. 𝟓 ; 𝒔(𝒔𝒎 𝟓 ) = 𝟐𝟎	122 (62.2)	32 (16.3)	12 (6.2)	30 (15.3)
	𝒔(𝒔𝒎 𝟐 ) = 𝟓 ; 𝒔(𝒔𝒎 𝟑 ) = 𝟏. 𝟑	124 (63.3)	32 (16.3)	10 (5.1)	30 (15.3)
	𝒔(𝒔𝒎 𝟐 ) = 𝟓 ; 𝒔(𝒔𝒎 𝟒 ) = 𝟏𝟓	124 (63.3)	32 (16.3)	10 (5.1)	30 (15.3)
	𝒔(𝒔𝒎 𝟐 ) = 𝟓 ; 𝒔(𝒔𝒎 𝟓 ) = 𝟐𝟎	124 (63.3)	32 (16.3)	10 (5.1)	30 (15.3)
	𝒔(𝒔𝒎 𝟑 ) = 𝟏. 𝟑 ; 𝒔(𝒔𝒎 𝟒 ) = 𝟏𝟓	124 (63.3)	32 (16.3)	10 (5.1)	30 (15.3)
	𝒔(𝒔𝒎 𝟑 ) = 𝟏. 𝟑 ; 𝒔(𝒔𝒎 𝟓 ) = 𝟐𝟎	124 (63.3)	32 (16.3)	10 (5.1)	30 (15.3)
	𝒔(𝒔𝒎 𝟒 ) = 𝟏𝟓 ; 𝒔(𝒔𝒎 𝟓 ) = 𝟐𝟎	122 (62.2)	32 (16.3)	12 (6.2)	30 (15.3)
	𝒔(𝒔𝒎 𝟐 ) = 𝟓 ; 𝒔(𝒔𝒎 𝟑 ) = 𝟏. 𝟑; 𝒔(𝒔𝒎 𝟓 ) = 𝟐𝟎	124 (63.3)	32 (16.3)	12 (6.2)	30 (15.3)
	𝒔(𝒔𝒎 𝟐 ) = 𝟓 ; 𝒔(𝒔𝒎 𝟒 ) = 𝟏𝟓; 𝒔(𝒔𝒎 𝟓 ) = 𝟐𝟎 124 (63.3)	32 (16.3)	12 (6.2)	30 (15.3)

Table 4 :

 4 Comparison of different unary constraint results 𝑐𝑢 𝛾 with different associated selectivity parameter values 𝑠(𝑐𝑢 𝛾 ) for the nine matchings.

	𝒄𝒖 𝜸	𝒔(𝒄𝒖 𝜸 )	Number of pairs of matched nodes present in 𝑮 𝒊,𝒊+𝟏 (%)	Number of potential nodes selected in 𝑮 𝒊,𝒊+𝟏 (%)	Runtime (ms)
	𝒄𝒖 𝟏	15	53(100.0)	95(11)	2
	𝒄𝒖 𝟏	10	53 (100.0)	68 (7.9)	2
	𝒄𝒖 𝟏	9	52 (98.1)	65 (7.5)	2
	𝒄𝒖 𝟐	1.5	52 (98.1)	432 (49.9)	3
	𝒄𝒖 𝟐	1.3	50 (94.3)	298 (34.4)	3
	𝒄𝒖 𝟐	1.1	44 (83.0)	117 (13.5)	3
	𝒄𝒖 𝟑	0.3	52 (98.1)	807 (93.3)	72255
	𝒄𝒖 𝟑	0.1	49 (92.4)	415 (48)	70969
	𝒄𝒖 𝟑	0.05	43 (81.3)	108 (12.5)	68682
	𝒄𝒖 𝟒	1.5	51 (96.2)	823 (95.1)	26
	𝒄𝒖 𝟒	1.3	51 (96.2)	727 (84)	32
	𝒄𝒖 𝟒	1.1	45(84.9)	414 (47.9)	33

Table 5 :

 5 Example of the better combination of unary constraints 𝑐𝑢 𝛾 for the nine matchings according to a weight factor.

	Combination of unary constraints	Number of pairs of matched nodes present in 𝑮 𝒊,𝒊+𝟏 (%)	Number of potential nodes (%) selected in 𝑮 𝒊,𝒊+𝟏	Runtime (ms)
	𝒄𝒖 𝟏 * 𝟎. 𝟕𝟓 + 𝒄𝒖 𝟐 * 𝟎. 𝟐𝟓	53 (100.0)	80 (9.2)	3
	𝒄𝒖 𝟏 * 𝟎. 𝟕𝟓 + 𝒄𝒖 𝟑 * 𝟎. 𝟐𝟓	53 (100.0)	81 (9.4)	69451
	𝒄𝒖 𝟏 * 𝟎. 𝟕𝟓 + 𝒄𝒖 𝟒 * 𝟎. 𝟐𝟓	53 (100.0)	82 (9.5)	3
	𝒄𝒖 𝟏 * 𝟎. 𝟑𝟑 + 𝒄𝒖 𝟐 * 𝟎. 𝟑𝟑 + 𝒄𝒖 𝟑 * 𝟎. 𝟑𝟑	53 (100.0)	260 (30.1)	69156
	𝒄𝒖 𝟏 * 𝟎. 𝟑𝟑 + 𝒄𝒖 𝟐 * 𝟎. 𝟑𝟑 + 𝒄𝒖 𝟒 * 𝟎. 𝟑𝟑	53 (100.0)	276 (31.9)	3
	𝒄𝒖 𝟏 * 𝟎. 𝟐𝟓 + 𝒄𝒖 𝟐 * 𝟎. 𝟐𝟓 + 𝒄𝒖 𝟑 * 𝟎. 𝟐𝟓 + 𝒄𝒖 𝟑 * 𝟎. 𝟐𝟓	53 (100.0)	435 (50.3)	69228

Table 6 :

 6 Runtime in ms of binary constraints 𝑐𝑏 𝛿 with different selectivity parameter values 𝑠(𝑐𝑏 𝛿 ) for the nine matchings.

	𝒄𝒃 𝜹	𝒔(𝒄𝒃 𝜹 )	Runtime constraint (ms)	Runtime clique maximum (ms)
	𝒄𝒃 𝟏	1,3	869	183
	𝒄𝒃 𝟏	1,4	853	307
	𝒄𝒃 𝟏	1,5	1047	634
	𝒄𝒃 𝟐	1,1	825	105
	𝒄𝒃 𝟐	1,2	818	237
	𝒄𝒃 𝟐	1,3	790	465
	𝒄𝒃 𝟑	0,1	25343295	47
	𝒄𝒃 𝟑	0,2	24981644	136
	𝒄𝒃 𝟑	0,3	25460346	1076
	𝒄𝒃 𝟒	5	90953	27
	𝒄𝒃 𝟒	8	88104	37
	𝒄𝒃 𝟒	14	89225	84
	𝒄𝒃 𝟓	15	93541	8
	𝒄𝒃 𝟓	17.5	98950	14
	𝒄𝒃 𝟓	20	96013	15
	𝒄𝒃 𝟔	15	92100	6
	𝒄𝒃 𝟔	17.5	95668	10
	𝒄𝒃 𝟔	20	92542	13
	After testing each binary constraint separately, we want to determine if a combination of them
	can improve matching results, i.e. increasing the number of all correctly matched nodes (CM + CMWA)

Table 7 :

 7 Comparison of the execution time (in ms) for four algorithms.

	Algorithm	Phases	Phases	Phases	Phases	Phases	Phases	Phases	Phases	Phases
		𝒕 𝟎 -𝒕 𝟏	𝒕 𝟏 -𝒕 𝟐	𝒕 𝟐 -𝒕 𝟑	𝒕 𝟑 -𝒕 𝟒	𝒕 𝟒 -𝒕 𝟓	𝒕 𝟓 -𝒕 𝟔	𝒕 𝟔 -𝒕 𝟕	𝒕 𝟕 -𝒕 𝟖	𝒕 𝟖 -𝒕 𝟗
	Lohe et al. [LKZP07] (A3)	20	61	36	197	157	23	19	88	48
	Association
	graph [MKSZ09,	46	93	91	312	243	92	33	246	135
	TMPH05] (A2)
	Association
	graph with
	artificial	147	217	236	1003	727	342	165	433	374
	nodes
	(A4/A5)

Table 8 :

 8 The different weights used to the optimal view map combination.

	Segments	Point number	Weighted Length Weighted Distance	Total weight (mean)
	Segment 1 (pink)	27	0.2269	0.2857	0.2563
	Segment 2 (green)	13	0.1092	0.2381	0.1737
	Segment 3 (purple)	17	0.1495	0.1905	0.1667
	Segment 4 (orange)	17	0.1429	0.1429	0.1429
	Segment 5 (blue)	38	0.3193	0.0952	0.2073
	Segment 6 (yellow)	7	0.0588	0.0475	0.0532

Table 10 :

 10

	Type of rates	Segment 1	Segment 2	Segment 3	Segment 4	Segment 5	Segment 6	Mean of the six
	Foreshortening rates	82.55%	79.30%	90.50%	92.05%	87.53%	69.17%	83.53%
	External Overlap rates	94.60%	45.83%	60.26%	87.88%	85.91%	56.25%	71.79%
	Optimal view
	percentage	88.57%	62.57%	75.38%	89.97%	86.77%	62.71%	77.66%
	(mean)

Foreshortening and external overlap rates obtained for the optimal viewing angle (-74°, 17°) determined from the mean of the global optimal view maps of the six segments (same weight factor) (Figure

63-B

)).

Table 11 :

 11 Foreshortening and external overlap rates obtained for the optimal viewing angle (-60°, 20°) determined from the merging of the global optimal view maps of the six segments (different weight factors) (Figure63-C)).

	Type of rates	Segment 1	Segment 2	Segment 3	Segment 4	Segment 5	Segment 6	Merging of the six
	Foreshortening rates	90.07%	82.66%	90.91%	93.98%	89.58%	64.28%	88.01%
	External Overlap rates	97.31%	45.76%	44.12%	87.75%	86.39%	52.44%	73.47%
	Optimal view
	percentage	93.69%	64.21%	67.52%	90.86%	87.98%	58.36%	80.74%
	(mean)

  Ce chapitre propose une évaluation des différents algorithmes décris au cours des chapitres 3 et 4. Dans un premier temps, nous avons comparé trois algorithmes de mise en correspondance d'arbres deux à deux dont deux issus de la littérature (mais adaptés à nos données). Ces derniers ont servi de base à notre approche d'appariement d'arbre deux à deux. Pour chacun des algorithmes, une évaluation de différentes mesures de similarité a été réalisé afin d'obtenir la meilleure combinaison. la séquence ont été enrichis. Ils sont beaucoup plus complets et possède un nombre plus important de noeuds artificiels permettant d'identifier les bifurcations manquantes et les branches terminales de longueurs différentes. Nous obtenons ainsi sur les séquences testées 98,3% de noeuds correctement appariés avec 0,7% de noeuds de la séquence entière incorrectement mis en correspondance et 0,5% de noeuds manquants. La mise en correspondance de la séquence entière ne comporte que très peu d'erreurs. Ces quelques erreurs sont localisées principalement en fin de branches (ces erreurs ont moins d'incidence que celle porté sur les bifurcations) et sont majoritairement dues à l'application de l'algorithme de mise en correspondance d'arbre deux à deux utilisé en tant que première étape. Malgré les corrections liées aux conflits hiérarchiques, ces erreurs sont tout de même répercutées lors de la création de l'arbre mosaïque.Le résultat de cette mise en correspondance globale de la séquence entière a été utilisé pour la détermination d'incidences optimales afin d'obtenir une vue angiographique optimale de la zone de lésion tout le long du cycle cardiaque, peu importe les mouvements des artères coronaires. Quel que Au cours de cette thèse, nous nous sommes intéressés aux lésions coronaires en imagerie rotationnelle RX et plus particulièrement au planning de l'angioplastie coronarienne. Notre démarche vise à aider le cardiologue à choisir une incidence 2D dite optimale permettant au mieux de guider et de déployer le stent au niveau de la sténose à partir de reconstructions (angiographie rotationnelle) ou de segmentations (images CT) 3D des artères coronaires de toutes les phases cardiaques. Nous souhaitions proposer au cardiologue une vue bien entendu compatible avec les caractéristiques du Carm qui prenne surtout en compte le mouvement et les différentes déformations subies par les artères coronaires tout le long du cycle cardiaque. Ce chapitre, concluant le manuscrit, dresse un bilan des travaux réalisés et présente les travaux futurs qui pourraient être envisagés et les nouvelles perspectives de recherche. noeuds et segments des deux arbres. L'avantage de cette méthode est de proposer des critères à la fois géométrique permettant de prendre en compte le mouvement non-rigide des artères coronaires, et hiérarchique permettant de prendre en compte l'absence de structures.Une étape ultérieure, consistant à ajouter des noeuds artificiels dans les arbres de la séquence, permet également de tenir compte des variations topologiques entre arbres. Ces noeuds artificiels correspondent à une bifurcation existante ou à une branche de longueur inférieure à celle d'un autre arbre voisin. Une vérification hiérarchique est réalisée à chaque insertion de noeuds artificiels pour résoudre les conflits associés. Au cours de l'évaluation de cette méthode sur 36 appariements d'arbres deux à deux, nous avons déterminé la meilleure combinaison de mesures permettant la mise en correspondance la plus correcte. Un des inconvénients majeurs de cette méthode est le choix empirique des différentes valeurs de seuils et de pondération (4 valeurs de seuils et 3 de pondérations) associées aux mesures proposées. Une des perspectives de notre travail serait alors de tester notre méthode sur plus de données coronariennes afin d'obtenir un paramétrage automatique indépendant des données.

	Tout d'abord, après construction des graphes (structure d'arbres) issus des volumes 3D
	optimale. (surfaces des contours vasculaires) et des lignes centrales associées, nous avons créé un algorithme de noeuds non appariés réduit de 15,8% en comparaison avec les deux autres méthodes issues de la mise en correspondance d'arbres successifs deux à deux. Cet algorithme est basé sur la construction littérature. 1,06% des noeuds sont incorrectement appariés et 0.74% des noeuds sont manquants pour L'utilisation des différents seuils associés à nos mesures dans nos algorithmes de recherche d'un graphe d'association et de la recherche de clique maximum correspondant aux couples de noeuds les différentes évaluations effectuées. d'incidences optimales permet, dans un premier temps, de réduire le temps de calcul, mais aussi de appariés. Deux types de mesure de similarité sont utilisés au cours de la construction du graphe
	Cette méthode, donnant des résultats satisfaisants pour la mise en correspondance entre deux supprimer les couples d'angles ne correspondant pas à nos critères (trop de chevauchement par d'association. Le premier type, appelé contrainte unaire, est utilisé pour sélectionner les couples
	arbres, n'était cependant pas suffisamment précise pour apparier une séquence de plusieurs arbres exemple). La valeur de ces seuils peut légèrement varier en fonction du nombre d'arbres de la d'angle potentiellement appariables grâce à un critère de distance euclidienne entre les coordonnées
	coronaires. Effectivement, elle ne prend en compte que les différences topologiques des arbres séquence. Une évaluation plus poussée par rapport à ces valeurs sera prochainement réalisée sur plus spatiales des noeuds. Le deuxième type, appelé contrainte binaire, est utilisé pour mesurer la similarité
	de données.

Notre algorithme basé sur la construction d'un graphe d'association donne de meilleurs résultats (testé sur 36 appariements) en sélectionnant les couples de noeuds potentiellement appariables grâce à un seuil de distance entre leurs coordonnées puis en confirmant cette similarité grâce à trois critères (coordonnées, tangente et direction) à partir desquels une distance basée sur l'algorithme de Dynamic Time Warping est calculée. Comme expliqué précédemment, le choix des seuils pour les différentes mesures de similarité est important. Si la valeur est trop faible, l'insertion des noeuds artificiels peut être incorrect et les appariements faussés. A l'inverse, si la valeur est trop stricte, la similarité entre branches peut être non trouvée et les noeuds artificiels ne seront alors pas insérés. Cette méthode, reposant sur l'insertion de noeuds artificiels et sur l'étape de correction hiérarchique, propose un nombre de noeuds correctement appariés plus important ; avec pour conséquence un nombre de directement voisins temporellement (successifs). C'est pourquoi, dans un deuxième temps, nous avons proposé un algorithme de mise en correspondance globale d'arbres basé sur la construction d'un arbre mosaïque et évalué sur 42 séquences de 10 arbres coronaires gauches. Grâce à cette méthode, les arbres de soit l'objet d'intérêt (segment, segment multiple ou bifurcation) nos algorithmes proposent au cardiologue des angles de vues où l'objet est bien déployé et sans superposition sur l'ensemble du cycle cardiaque. Les trois méthodes proposées concernant le segment multiple nous donne des incidences similaires. Grâce aux cartes de vues optimales, nous pouvons proposer plusieurs choix au cardiologue selon son besoin et ses préférences. Effectivement, la meilleure incidence, ayant le moins de superposition, de chevauchement (interne et externe) et une plus grande ouverture d'angle dans le cas des bifurcations, est ainsi proposée avec également les 5% ou 2% des meilleurs angles. Puisque nos différents algorithmes ont été évalués sur peu de données (étude de faisabilité), nous ne pouvons donc actuellement pas mettre en avant une des méthodes développées. Le calcul de l'incidence optimale sur le cycle cardiaque dépend de la mise en correspondance de la séquence dynamique. Si celle-ci est faussée, ces erreurs d'appariements seront répercutées sur la recherche d'angle de vue 6.1. BILANS ET CONCLUSIONS Pour déterminer l'incidence optimale, il est nécessaire de suivre chaque segment pour l'ensemble des phases du cycle cardiaque. Pour cela, nous avons proposé tout d'abord une nouvelle méthode automatique de mise en correspondance d'une séquence dynamique d'arbres vasculaires. Cette méthode prend en compte les différences topologiques entre les arbres de la séquence liées à la variabilité de leur segmentation (depuis une séquence d'images de CT) ou reconstruction (depuis une séquence d'angiographie rotationnelle) 3D pour une phase cardiaque donnée, ainsi que les différents déplacements des branches au cours du cycle cardiaque. L'algorithme proposé se décompose en plusieurs étapes. des lignes centrales entre les couples de noeuds préalablement retenus. Nous utilisons, comme contrainte binaire, trois critères (coordonnées, tangente et direction des noeuds) permettant de calculer une distance basée sur le Dynamic Time Warping [KePa01, RaKe05] afin de comparer la similarité entre

http://www.boost.org/

http://www.qt.io/

http://www.vtk.org/

http://www.boost.org/

http://www.qt.io/

http://www.vtk.org/

https://www.blender.org/

http://www.boost.org/

This algorithm can be used for a single or multiple segment (in our case, a multiple segment corresponds to successive segments from the tree root to the selected segment). In the section 5.3.3, we evaluate if the optimal view map for a multiple segment is equivalent to a linear combination between the optimal view maps of the different single segments (belonging to the multiple segment).

The result may be different. Indeed, the multiple segment should have less overlap with the other structures. The different single segments are concatenate into one object. One at a time, each single segment can overlap the other single segments. Moreover, the number of phases, where the segment is matched, can be different in the multiple segments and in the separated segments. Indeed, the different parent segments of the selected segment can be present in more phases (e.g. the root segment is present in each phase).

We consider that each optimal view map of the independent single segments doesn't have the same influence on the result. To obtain an optimal viewing angle which can be used both for the catheter guidance and the stent deployment, we choose two criteria to determine the weight of each map. The first criterion is about the hierarchical distance of each segment compared to the selected segment (stenotic segment). More the segment is near the selected segment, more its weight must be high. Furthermore, the physician should have more information about segments which are deeper than the first segment in the coronary tree (root and direct children for example). The difficulty to guide the catheter is more significant for segment with higher depth than for the root segment. The second criterion concerns the length of each segment. The weight of a longer segment is higher than

TIME COMPLEXITY ANALYSIS

In this subsection, the theoretical computational cost of our algorithm is analysed. For the two objects of interest (segment and bifurcation), the complexity of the algorithm depends on different parameters. Firstly, the size of the different maps must be taking into account: 𝑛𝑏 (𝜃 𝑗 ,𝜑 𝑘 ) corresponds to the number of all evaluated gantry orientations (equation ( 6)). For each possible gantry orientation, the projection of the object (centerline or volume) is performed with the different criteria. The complexity of the centerline projection depends on the point number of this centerline such as for the foreshortening and bifurcation angle opening rates.

Moreover, although the total node number is higher than in with artificial nodes, we have less wrong and missing assignments mainly for the leaf nodes.

Figure 52: A) Node distribution in percent for the 9 matchings of two successive trees of the sequence 𝑆 0,9 computed in section 5.1. B) Node distribution in percent for the global matching algorithm of the sequence 𝑆 0,9 with mosaic tree building.

In this figure, CAN represents all correct artificial nodes (CBAN + CLAN), IM and UM respectively the total incorrect matched

node number and the total unmatched node number.

EVALUATION FROM SIMULATED SEQUENCES

The Figure 53 and Figure 54 show the matching result from the simulated tree sequence 𝑆′ 0,9 .

As previously, the Figure 53-A) represents the superimposition of the whole matched tree sequence with the matched edges in the same color. The Figure 53-B) corresponds to the complete tree of the simulated tree sequence 𝑆′ 0,9 .

The Figure 54 represents the node classification for this matched simulated sequence. There are more matching errors for this simulated sequence than for the real data sequence. One wrong assignment in a tree can affect next trees although our algorithm corrects the majority of errors (see Figure 56 cases A and B for examples of this kind of errors).

OPTIMAL VIEWING ANGLE RESULTS

Up to now, we evaluated the proposed coronary tree matching algorithm. In this section, our method used to determine the optimal viewing angle (section 4.4) will be evaluated for different object of interest: a single segment, a multiple segments (from root to the lesion area) and a bifurcation. As a remainder, for each test, different maps are built corresponding to a single criterion and a phase (for example the global optimal view map). Each pixel of the maps represents a coefficient between 0 and 1 (the result of the different criterion or map combination) for a projection and a given gantry orientation (LAO/RAO defining the y-axis and CRA/CAU the x-axis). More the value is near to 1, more the corresponding gantry orientation is optimal for the object of interest.

RESULT FROM SEGMENT OF INTEREST

The first proposed result concerns a segment as object of interest (Figure 57). This segment is not present in each tree of the sequence: it is only matched in five trees (𝑄 = 5). The Figure 57-A

LISTE DES PUBLICATIONS

ARTICLES DE JOURNAUX

ARTICLES DE JOURNAUX SOUMIS