Computers & Graphics 35 (2011) 299–311
Contents lists available at ScienceDirect
Computers & Graphics journal homepage: www.elsevier.com/locate/cag
Visual Computing in Biology and Medicine
Computer assisted matching of anatomical vessel trees Cristina Oyarzun Laura , Klaus Drechsler Fraunhofer Institute for Computer Graphics Research IGD, Darmstadt, Germany
a r t i c l e i n f o
abstract
Article history: Received 6 October 2010 Received in revised form 14 December 2010 Accepted 15 December 2010 Available online 12 January 2011
Many inexact automatic tree matching algorithms are available. However, they provide matches that are not completely error free. Another option is to use manually matched node-pairs, but this enormously slows down the process. Our contribution to the state of the art is to combine the advantages of both solutions. We enhance the automatic tree matching algorithm designed by Graham et al., so that it is possible to interact with it by previously selecting important matches or by subsequently fixing the provided wrong matches. We apply the tree matching algorithm to the anatomical vasculature of the liver. Furthermore, we developed several visualization features to make manual tree interaction as easy as possible. Both, the interactive and automatic part of the implemented component were evaluated. As a result, the speed of the automatic tree matching algorithm is increased. It takes 7.45 s for trees up to 192 nodes and less than 1 s if three input matches are provided. In addition to this, an in-depth evaluation of the robustness of the algorithm is presented. The results are remarkable. The average of wrong matches varies between 1.17 and 1.4 node-pairs in the worst cases. The rate of correct matches is high. The evaluation of the visualization features for interactive refinement of matches showed that the percentage of wrong matches found is increased from 56.25% to 78.43%. The mean time to find them is decreased from 227 to 122 s. & 2011 Elsevier Ltd. All rights reserved.
Keywords: Interactive Automatic Graph matching Liver
1. Introduction The registration of liver volumes gathered from different modalities like Computed Tomography (CT) or Magnetic Resonant Tomography (MRT) is a necessary step for the qualitative and quantitative comparison of pre- with post operative data to validate the outcome and accuracy of the surgery with a resection plan. One way to carry out the registration is by previously matching corresponding anatomical landmarks between two liver datasets. To find proper landmarks is usually a hard task. Branching points of the liver vasculature are often the chosen features as they can be easily identified in datasets from different modalities. Thus, there is a need to find corresponding branching points between the two datasets to be registered. Therefore, a graph representation (tree) from the anatomical vasculature of the liver is obtained where each node corresponds to a branching point of the anatomical vasculature. Many automatic tree matching algorithms have been presented until now. They can be divided into exact and inexact matching algorithms. The former algorithms try to find the maximal subtree isomorphism between both trees. However, in medical imaging we find that both trees are not exactly equal. They present missing branches, extra branches and more than one
Corresponding author.
E-mail addresses:
[email protected] (C. Oyarzun Laura),
[email protected] (K. Drechsler). 0097-8493/$ - see front matter & 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.cag.2010.12.009
ramification can be in one of the trees where in the other one there is only one. All these problems that derive from the usage of different segmentation methods, from errors during segmentation and from different resolutions between two modalities, make the use of those algorithms for medical imaging not appropriate. There are authors that decided to adapt them to take all that into account. This is the case of Metzen et al. [1]. They used the exact matching algorithm designed by Pelillo et al. [2], which finds the maximal clique of an association graph, introducing a special association graph that deals with all the previously mntoblems. On the other hand, not all the inexact matching algorithms deal with those problems. This is the case of Gold and Rangarajan [3] and Medasani et al. [4]. The proposed algorithms have many similarities. The main difference is that the former tries to match the nodes of both trees and the later the edges. Finally, there are inexact algorithms specially designed for application in medical imaging. This is the case of Charnoz et al. [5] who searched for the best match by defining some hypothesis derived from the attributes of the branches. Tschirren et al. [6] looked for the maximum clique and Kaftan et al. [7] tried to match whole paths instead of nodes or branches. Graham and Higgins [8,9] found the best global match by defining a series of primitives taking into account the aforementioned problems and using a similarity measure based on the attributes of both nodes and branches. We wanted an algorithm that takes into account the problems that arise from medical imaging and that presented good results. To this end, all the algorithms mentioned in the previous
300
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
paragraph could be useful. However, we did not want to apply blindly an existing algorithm. We wanted to be able to adapt it to our specific problem, namely, liver vessel tree matching with preselection of matches as input, i.e., we wanted the clinical user to be able to interact with the algorithm by previously selecting some correspondences to guide the tree matching algorithm. In this sense, Graham et al. dealt with each one of the medical problems independently by designing primitives for each one of them. We found this to be intuitive and adaptable, as we just needed to add new primitives for the algorithm to work in our application. In addition to this, in the work presented by Graham et al. they show a fast algorithm able to find a highest number of correspondences for trees with many nodes. Since our goal is the registration of the anatomical vasculature of liver data based on landmarks, the bigger the number of correspondences obtained the more accurate the resulting registration will be. Due to all these reasons, we decided to use Graham et al.’s algorithm as basis for our approach. There are currently no automatic tree matching algorithms known that produce no errors. Another option is to select manually corresponding node-pairs, which makes the matching process much slower. However, it is necessary to correct wrongly matched node-pairs. We think that a compromise between fully automatic and manual specification approaches is a good solution, keeping the speed of the automatic tree matching algorithms, but being able to correct wrong matches. In this paper, we present an extension of the work we presented at VCBM 2010 [10]. Our extension includes showing how the interaction with the tree matching algorithm is carried out as well as a set of improved features that we have developed to facilitate manual interaction. We previously developed several features [11] that were useful for the interaction but presented some limitations when used in the refinement of the provided correspondences. Since the rate of correspondences provided by the algorithm was high, the results looked congested and it was difficult to identify those nodes that were incorrectly matched. We evaluated the usability of the new features and compared them with the old features. Our contribution to the state of the art is: We introduce a set of efficient visualization features to interactively refine automatic matching results (Section 2.4). We present an evaluation of the improved visualization features and compare them with the old ones (Section 3.6).
We define the level of a node u, as the number of nodes that form the subtree that has u as root. For example the level of the yellow node in Fig. 2(a) is 3. In principle the algorithm visits the node-pairs starting from those that have lower level (leaves), and continues until it reaches the root (node with higher level). For every one of them, it calculates a similarity measure. If all the possible node-pairs were checked, the algorithm would be inefficient and would not deal with some of the medical imaging deformations that were mentioned above. To avoid that, Graham et al. define a series of primitives to limit the number of matches that can be considered as valid and to take into account the deformations that the common tree can suffer. A pair of nodes will only be candidate to become a match when its corresponding node in the common tree belongs to at least one of those primitives, namely: 1. 2. 3. 4. 5.
The planted root. A leaf. A bifurcation point. A trifurcation point. A trifurcation derived from two close bifurcations in both trees where the ordering of the branches is reversed. 6. A trifurcation derived from two close bifurcations in one of the trees and a trifurcation in the other tree. The goal of the algorithm is to obtain the matches that lead to the highest global similarity measure, since they form the best match between both trees. The similarity measure is calculated using the length attribute of the branches as well as their directions, the coordinates of the nodes and a measure that favors those matches that keep the topology of the tree unchanged. In this sense, the lowest similarity measure for each attribute is obtained when the difference of the attributes of both nodes is above/below a given threshold (e.g. the difference between the lengths of the branches is big). Graham et al. give a different weight to each attribute depending on the importance that they have in order to obtain the final similarity measure. In addition to this they also take into account the similarity measure of the node-pairs that were calculated in previous steps (their level is lower). They compare then the similarity measure of each node-pair and each primitive and keep the node-pairs that lead to the higher global similarity measure. Detailed information as well as the mathematical expressions for the primitives and the similarity measures can be found in [8,9].
2. Method
2.2. Adaptation to the current problem
In the present section, we explain in detail the methods used in this work. Section 2.1 gives an overview of Graham et al.’s algorithm. After that, we introduce the enhancements applied to the algorithm (Section 2.2) so that it can be applied to the liver vasculature. In Section 2.3, we explain the way in which the algorithm is modified to accept input matches. Finally, we introduce the new interaction features in Section 2.4.
There are three main changes that we applied to the original algorithm by Graham et al.: (1) use of the root-node path length to increase the efficiency, (2) changes in the similarity measure and (3) definition of new primitives. On the one hand, we observed that the original algorithm was trying to match all nodes independent on their distance to the root. But those nodes which are at totally different distances from their corresponding roots will never belong together. The first change that we apply to Graham et al.’s algorithm is therefore to further limit the number of matches that are considered as valid. We do this using the length of the path from the root to the node under consideration. If the difference of the path lengths is big, we consider it as a nonvalid match. We also changed the similarity measure. As it was explained before, Graham et al. combine the similarity measures obtained from each attribute giving to them a specific weight to obtain the final similarity measure. We consider that even if the weight of an attribute for the calculation of the final similarity measure is low, the node-pair is directly considered as wrong match if the difference between those attributes is below/above the threshold, e.g. if the direction attribute of both branches is similar but the
2.1. Graham et al.’s algorithm Graham et al.’s algorithm is a model-based automatic tree matching algorithm that looks for the best possible global match between two trees. The model contains the branches and nodes that are common to both trees. This can be better understood by thinking about the common tree (model) as an initial structure that after undergoing a series of deformations leads to the two trees. The common tree could represent the vasculature of the liver of a patient and both trees the liver of the same patient in different respiratory cycles. Every node in the model corresponds therefore to a match between both trees.
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
length is different this match is wrong even if the direction attribute has a higher weight in the similarity measure. With this change the number of wrong matches is reduced. After inspecting vessel trees obtained from liver CTs, we found out that trifurcations were not enough to cover all the sizes of ramifications that were contained in the tree. The effect of applying the original Graham algorithm on it would be to get less number of correspondences. That is why we adapted the algorithm and defined seven new primitives, to deal with the new deformations that we found. We will give their mathematical expressions in the same way as Graham et al. did it for convenience of the reader (see Appendix A). Please note that the numbering of our primitives starts from 6, as the primitives from 0 to 5 were defined by Graham et al. and can be found in [8]. For our application we need to consider ramifications with up to four children. As Graham et al. were doing it we also assume that there can be cases where two ramifications that are close together correspond to only one in the common tree. This means that those ramifications and their corresponding branches should be merged. The first new deformation (primitive 6) corresponds to a deformation where a bifurcation is close to a trifurcation in one tree and there is a ramification of four nodes in the second tree. In this situation, bifurcation and trifurcation could be merged to form a ramification with four children (1st image 1st row of Fig. 1). Whether or not they are merged in the common tree depends uniquely on the similarity measure. The second new deformation (primitive 7) that our adaptation takes into account is when a trifurcation is close to a bifurcation in one tree and there is a ramification with four children in the other tree. In this case, trifurcation and bifurcation could be merged resulting on a ramification of four nodes, both in the trees and in the model (2nd image 1st row of Fig. 1).
301
The next deformation (primitive 8) is where a trifurcation is close to a bifurcation in both trees but their branches are reversed. Both trees could be merged resulting in a common tree with a ramification of four nodes (1st image 2nd row of Fig. 1). The next deformation (primitive 9) considers when one of the trees has a trifurcation close to a bifurcation and the other tree has a bifurcation close to a trifurcation (2nd image 2nd row of Fig. 1). The next new deformation (primitive 10) is where a trifurcation is close to a bifurcation in one of the trees while the other tree has a trifurcation. Both branches of the bifurcation could be matched to two of the branches of the trifurcation (1st image 3th row of Fig. 1). This means that one of the branches will be a spurious branch. The branch leading to the lowest similarity measure will be considered to be the spurious branch. It is also possible to find the situation (primitive 11) where two close bifurcations are in one of the trees and a bifurcation is in the other tree (2nd image 3th row of Fig. 1). As in the case before, one of the branches resulting from the merging will be considered as a spurious branch. Finally, a ramification with four children can be found in both trees (primitive 12) (4th row of Fig. 1). There are some primitives that have been omitted. The reason for that is that they are indirectly included in some of the primitives introduced by Graham et al.. This is the case for example when a bifurcation is close to a trifurcation in both trees. This is defined by Graham et al.’s primitive number three.
2.3. Setting input matches One of the goals of our current work is to let the clinical user interact with the automatic tree matching algorithm. We have
Fig. 1. Primitives from 6 to 12 in order top to bottom and left to right. (a) and (b) represent trees to be matched and (c) common tree.
302
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
enhanced Graham et al.’s algorithm so that it is possible for the clinical user to set as input some manually selected matches if he considers it necessary. These matches will be always respected by the algorithm which will find the best global tree matching according to those input matches. We first present a pseudocode of the algorithm that is afterwards explained with an example. l represents the level of the node u1, N is the size of the tree and S the similarity measure. Pseudocode fðuÞ
Input: ¼ Two trees T1u , T2 , set of preselected matches Ps Output: ¼ Global optimal match M for ¼ l ¼ 1 to l ¼ N do if ¼ u1 A Ps then fðu Þ
Generate subtrees T1u1 , T2 1 Calculate Graham et al. with restrictions Store S and M Set nodes as already matched (except u1 and fðu1 Þ) end
We use the example shown in Fig. 2 to clarify the process. Fig. 2(a) contains the complete trees to be matched. The colored nodes represent the node-pairs that the clinical user has selected as input matches. This way, the clinical user has decided to match the yellow node of the first tree to the yellow node of the second. As the algorithm starts, we search for those input matches. Being the order to visit the nodes determined by their level (start from the leaves, level 1) the first input node to be found is the yellow (b) one, followed by the red (c), green (d), and blue (e) nodes. The way to proceed when an input match is found is as follows: 1. Generate two subtrees with the found input nodes as roots. 1.1. Nodes that were contained in previous subtrees are not further considered (e.g. Fig. 2(d), the nodes that were checked in (b) are not checked again). 1.2. Input matches contained in previous subtrees are considered if they do not have an ancestor that is an input match (except the root) (Fig. 2(e), the red node is still considered but the yellow node is not because it has an input match (green) as ancestor).
Fig. 2. (a) The complete trees. (b) Subtrees with the yellow node as root. (c) Subtrees with the red node as root. (d) Subtrees with the green node as root. The yellow node is kept but all the nodes that were derived from the yellow in (b) are removed. The yellow imaginary line is respected in the matching. (e) The blue node is the root, red and green nodes are kept but yellow is removed. There are two lines (red and green) to be respected in the matching. The nodes in the orange circle will not be matched. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
2. Apply adapted Graham et al.’s algorithm with some restrictions (explained below) to get the best match between both subtrees. 3. Store the best similarity measure obtained (it is stored as the similarity measure to match both roots). 4. Store the node-pairs that lead to the mentioned similarity measure. In subtrees which contain more than one input match it is not possible to blindly apply Graham et al.’s algorithm. For example in Fig. 2(d) it is topologically not possible to match node v to node u and at the same time both yellow matches. It must be taken into account that the goal of this subtree-matching is to calculate the node-pairs that lead to the best similarity measure when trying to match both green nodes (current roots). Both green nodes are bifurcations and if the yellow nodes are matched (as it was desired by the clinical user), node v can only be matched to z and not to u. There is a yellow line in the Figure that joins yellow and green nodes. To avoid that the yellow node-pair is not matched due to other matches that are topologically incompatible with it we define the following rule: ‘‘Nodes that do not descend from a line (e.g. v) cannot be matched to nodes that descend from a line (e.g. u)’’. There will be as many independent lines as input matches in the tree. In Fig. 2(e) there are red and blue lines. Nodes that descend from the green line in one tree will only be matched to nodes that descend from the green line in the other tree. The nodes in the orange circle cannot be matched to any node of the other tree and will not be considered at all. This enhancement makes the algorithm much faster than the original one (Section 3.1). On the one hand dividing the tree into different subtrees limits the number of node-pairs that are checked. To continue with the example, the nodes in the first subtree in (b) form node-pairs only with those in the second subtree of (b). This is a difference with respect to Graham et al.’s algorithm, where node-pairs would be formed with all the nodes of the complete second tree (a). On the other hand the lines between input matches further limit the number of valid matches, as it was explained before. 2.4. New interactive features A number of features have been designed to help the clinical user in the interaction with the tree matching algorithm. Using them, the clinical user can interact both before and after the algorithm takes place. The node-pairs that can be of importance for the doctor depend mainly on the application in which he
303
wants to use the tree matching and on the liver under study. If it contains a tumor, for example, he could be interested in the nodepairs in that area. Before the algorithm takes place, the clinical user can select some nodes that will guide the tree matching algorithm. Different colors make it easy to distinguish between those nodes that have been preselected (white) and those that have not been (blue). Fig. 3 shows portal and hepatic vein of a liver U/S on the left side and portal and hepatic vein of a liver MR on the right side. Correspondences have been manually selected. In [11] experiments and results can be found in which the participants try to find as many correspondences as possible. The results show that a number of matches per minute of 10–15 is reachable. This gives an idea of how fast a clinical user can select corresponding node-pairs. Often, especially when both trees belong to different modalities, the trees will have different sizes. A new feature has been developed which can hide parts of one or both trees to make the trees as similar as possible. The trees can be changed in two ways. On the one hand they can be changed by hiding those nodes and edges that have a depth higher than a specified threshold (Fig. 4). On the other hand they can be changed by hiding those nodes whose branch diameter is smaller than a specified threshold (Fig. 5). For both options the possibility exists to use an automatically calculated threshold determined by the highest depth of the smallest tree or the smallest diameter of the smallest tree, respectively. In our previous work [11] we showed that correspondences can be visualized with corresponding numbers in both trees or with lines that join two nodes. Every matched node was visualized in green while nonmatched nodes were visualized in blue. This makes it easier to follow the correspondences, but it is still hard to find incorrect correspondences, since the number of correspondences found by the algorithm used to be high (Fig. 11). Therefore, we introduce a new feature to solve this problem. We use different colors to represent the probability of matches to be correct. The probability is calculated using a similarity ratio between the attributes of two corresponding nodes. In order to do that it is necessary to have a node as reference. This will be the node from which the length or the direction will be measured. The node taken as reference to calculate that similarity ratio is the first matched ancestor of the node under study. Fig. 6 shows an example to clarify that. To calculate the similarity measure we use the length attribute 8 2Thl Thl þ 1 > > > < Th 1 þ Th 1 if R4 Thl l l ð1Þ Sl ¼ , 2R Thl þ 1 > > > þ : Th 1 Th 1 if Rr Thl l l
Fig. 3. U/S and MR volumes manually matched.
304
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
Fig. 4. Nodes are shown that are below a determined depth. In Figures from (a) to (d) the depth value is incremented and as it is incremented more nodes are visualized.
Fig. 5. Nodes are shown with vessel diameters higher than a determined diameter value. In Figures (a) to (d) the diameter value is decreased and as it is decreasing more nodes are visualized.
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
305
(yellow, red and green) can be visualized. Fig. 7(b) visualizes the green nodes with lines, 7(c) visualizes the yellow ones and 7(d) the red ones. This allows for example to display only red nodes (nodes that are probably wrongly matched), which highly reduces the number of correspondences that are displayed (Fig. 7(d)). In the same way only yellow or green nodes could be visualized. Finally, correspondences can be visualized one by one (Fig. 8(a)–(c)). It is then possible to step through all matches independently, because interactively corrected matches are visualized in a different color (white, Fig. 7(e) and Fig. 8(d)), which avoids repeated reckoning of the same nodes.
Fig. 6. (a) Original example trees. The red/green node in the left tree is matched to the red/green node in the right tree. (b) if the nodes taken as reference (violet) are the parents of the red nodes the similarity measure is low (see arrows where the direction is different in both trees). (c) if the nodes taken as reference (blue) are the first matched ancestors of the red nodes the similarity measure is higher. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
where Thl is a threshold that determines the highest tolerable ratio between lengths. R is given by d1 d2 R ¼ max , , ð2Þ d2 d1 where u and v are nodes in one tree and fðuÞ and fðvÞ their corresponding nodes in the other tree. d1 is the length from u to v, and d2 the length from fðuÞ to fðvÞ. We also calculate a similarity measure based on the directions 8 2Thd Thd þ 1 > > þ if N o Thd > < Thd 1 Thd 1 ð3Þ , Sd ¼ 2N Thd þ 1 > > > : Th 1 þ Th 1 if R ZThd d d where Thd determines the highest tolerable difference between directions and N¼
~ n uv ~ n fðuÞfðvÞ , J~ n uv J J~ n fðuÞfðvÞ J
ð4Þ
where ~ n uv is the vector between two branching points u and v, J~ n uv J is the norm of the vector. A match is visualized in red if Sl oThl1 or Sd o Thd1 , in yellow if Thl1 rSl o Thl2 or Thd1 r Sd o Thd2 and in green if Thl2 r Sl or Thd2 r Sd . As an additional feature only a subset of matches
Fig. 7. Results using the group of colors feature. (a) shows the results of the tree matching visualized with the color feature. (b), (c) and (d) show the green, yellow and red subsets of nodes respectively. (e) shows the subset of nodes that the user has changed. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
306
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
every tree pair: one where no input matches were set as input, and three with one, two and three input matches, respectively. For the latter experiments, input node-pairs were selected that belong to the main branch, as we think that it is more realistic to believe that the clinical user will select those nodes. 3.1.1. Results Table 1 shows the efficiency of the algorithm. As it can be seen, the algorithm is slower for bigger trees with no input matches (7.45 s when both trees have 192 nodes). It is important to notice the time difference by just selecting one node-pair as input to the algorithm. In this case the runtime improves from 7.45 to 2.56 s. 3.2. Evaluation of different attributes
Fig. 8. Resulting nodes are shown one by one. (a), (b) and (c) show an individual correspondence from each subset (green, yellow and red respectively). (d) the nodes in the subset of changed correspondences can be also individually visualized. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
3. Evaluation In this section we present an extensive evaluation of the presented algorithm and the interactive features. In Section 3.1 the efficiency of the algorithm for different sizes of trees is presented. In Section 3.2 the process of choosing the more appropriate attributes is explained. After that the robustness of the algorithm is evaluated. We evaluate it towards topological deformations (Section 3.3) and noise addition (Section 3.4). Finally, two realistic experiments were done with trees where both attributes and topology were slightly different (Section 3.5). All experiments were executed on a PC equipped with an AMD Athlon 2.41 GHz 64 X2 Dual Core Processor 4600+, 3.25 GB RAM and Windows Vista x64 as operating system. The dataset was acquired with a GE Medical Systems LightSpeed 16 CT Scanner (dimension: 512 512 291, spacing: 0.64 0.64 1.0 mm, slice thickness: 1.25 mm). The evaluation of the interactive features it is explained in Section 3.6. 3.1. Efficiency The runtime of the algorithm for trees with different number of nodes was measured. Four experiments were performed for
The way to evaluate the different attributes that are presented in this subsection is explained in Section 3.3. For every attribute under study topological changes were applied to one of the trees and the number of wrong matches was analyzed. A comparison between all the attributes was made and the ones showing the best results were chosen. On the one hand we evaluated the attributes defined by Graham et al. on the other we evaluated some new attributes: mean radius and angle attributes of the branches, as well as the radius attribute of the nodes. Length (proposed by Graham et al.) is a pose independent attribute and it remains constant after deformations derived from breathing movements. On the other hand, there are many nodes and branches with similar mean radius and radius attributes, which makes hard to find the global optimal match. Indeed, after some experiments we found out that the only robust attribute between them was the length. Both mean radius of the branches and radius of the nodes were resulting in many wrong matches as result. We also evaluated a combination between length and angle attributes, however, the angle attribute contains exclusive information about the angle but not the direction. Thus, nodes were matched to nodes that having the same angle value were not corresponding. We got the best results with a combination between length and direction attributes. The best results were obtained with threshold values for length and direction of 1.5 and 0.6, respectively, and giving to both of them the same weight (0.5). 3.3. Topological experiments We use two different methods to introduce topological deformations to the trees. For each of the method 60 experiments were realized (30 with 25% of the nodes removed and 30 with 50% of the nodes removed). The first method consists on the removal of random nodes. When a node is removed all the nodes and branches that derive from it are also removed. The second method also randomly removes nodes randomly with the difference that the nodes that Table 1 Efficiency. Time in seconds that the algorithm requires for trees with different number of nodes and input matches. The No. nodes column shows the number of nodes of the first and the second trees. No. nodes
0 Input
1 Input
2 Input
3 Input
192-192 192-101 192-52 192-11 101-101 101-52 101-11 52-52 52-11
7.45 2.84 0.95 0.15 0.96 0.35 0.1 0.14 0.03
2.56 1 0.46 0.12 0.45 0.18 0.07 0.13 0.04
1.41 0.48 0.22 0.12 0.24 0.11 0.08 0.09 0.04
0.74 0.32 0.21 0.13 0.19 0.1 0.07 0.1 0.05
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
derive from it are not removed anymore. The nodes that are direct children of the removed node are connected to the parent of the mentioned node. This introduces topological deformations. The more nodes are removed the bigger are the deformations and the more difficult it is to match every node-pair correctly. The difficulty to find correct matches is bigger with the second method that reveals more information about the robustness of the algorithm. However, there are situations, e.g. tumor resection where deformations like the ones derived from the first method would occur. This is the reason for us to evaluate the algorithm with both kinds of deformations. 3.3.1. Results The results are summarized in Tables 2 and 3. The wrong matches are given as an average of wrong matches obtained in the experiments. In addition to this the tables contain information about the number of obtained matches, the number of experiments that had wrong matches, and the maximum and minimum number of matches obtained during the 30 experiments. The number in parenthesis represents the maximum number of wrong matches that were obtained. For the first method the results are good. As can be seen there are no errors and all the possible node-pairs are matched (the size of the trees is 192 and 144 when 25% of the nodes are removed and 192 and 96 when 50% are removed) (Table 2). The second method shows that the algorithm is robust towards topological deformations (Table 3). Even when 50% of the nodes are removed (the topological deformations are bigger, unrealistic for medical applications) the average of wrong matches is 1.4 errors for the 30 performed experiments, and only a maximum of three wrong nodes are obtained. It can be seen that the number of matches is not as high as with the first method. As we wrote before, the deformations derived from this method are bigger. It would be possible to get more matches by simply introducing more primitives to deal with ramifications of more than four children. However, until now we find this is not necessary in realistic applications that deal with liver vessel trees. 3.4. Attribute experiments
307
0.2 to 0.8 with step size 0.2, in other words, the distance between a and b is increased. For each standard deviation 30 experiments were performed and the average of the results is calculated. ba
s ¼ pffiffiffiffiffiffi
ð5Þ
12
3.4.1. Results Table 4 shows the results of the experiments. The algorithm is robust against noise addition to the attributes. In the worst case the average of wrongly matched nodes is 1, and not less than 184 nodes are matched from all the nodes (192). It is worth to mention that of the 30 experiments realized for s ¼ 0:8, there were only two experiments with wrongly matched nodes. Fig. 10 is a summary of the presented results for the topological and the attribute experiments. As can be seen the worst results are obtained for the second topological method, where fewer nodes are matched. In all the cases the algorithm is robust and presents almost no wrong matches. 3.5. Realistic experiments It is difficult to determine the number of correct or wrong matches in the case of more realistic experiments. We checked every node-pair one by one to determine which of them were matched as expected and which not. It must be noticed that it is not always objective to determine the nodes that are wrongly matched as there are branches in one tree that are shorter than branches on the other one, but that belong together. In this case matches could occur that seem to be correct but are not. On the contrary, matches could be correct but appear as if they were not. Fig. 11 shows the result of an experiment. We applied the algorithm to two different datasets. We obtained both of them by cropping the complete CT volume, and getting therefore, a dataset that it is smaller and slightly different than the previous one. In the second case the algorithm employed to generate the tree was also different getting two datasets containing many different branches. After evaluating of
To evaluate the effect of having trees with slightly different attributes uniformly distributed noise is added to one of the trees. Eq. (5) shows the mathematical expression of the standard deviation of uniformly distributed noise. As can be seen in Fig. 9, in uniform noise all the values of the probability density function P(x), that are between the minimum a and the maximum b are equally probable. We take values between a and b randomly, and we also randomly add or subtract the values to the attribute. For each node of the tree, different noise values are added. We proceed in the same way with the rest of the attributes. In our experiment, the standard deviation s of the noise is varied from Table 2 Topological experiments. Method 1. Rem (%)
Matches
Wrong
Max
Min
Wrong exp
25 50
144 96
0 0
144 96
144 96
0 0
Fig. 9. Probability density function, P(x), of uniformly distributed noise.
Table 4 Addition of noise. Table 3 Topological experiments. Method 2. Rem (%)
Matches
Wrong
Max
Min
Wrong exp
25 50
103.82 46.59
1.17(2) 1.4(3)
131 68
62 22
6 7
s
Matches
Wrong
Max.
Min.
Wrong exp.
0.2 0.4 0.6 0.8
192 191.47 189.83 183.13
0 0 1 1
192 192 192 192
192 189 184 174
0 0 1 2
308
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
the results, 0 to 3 matches were considered as wrong. In the first experiment 63 of all the nodes (78) where matched, and in the second 83 of all the nodes (129). As it can be seen in the realistic experiments the number of obtained matches is high. We come therefore to the conclusion, that the relatively small number of matches obtained with the topological deformations is not decisive in real applications. On the other hand the algorithm is still robust toward realistic experiments. Finally, we also tested the algorithm with real clinical data. The preoperatively gathered CT had a tumor and the preoperatively gathered one was obtained after tumor ablation. The liver was also deformed because both data were taken in different respiratory cycles. Fig. 12 shows the results. The data was previously rigidly registered. After one by one analysis of every correspondence only one wrongly matched was detected. 3.6. Evaluation of visualization features We carried out a series of experiments with the goal to find out which of the features are really useful during interactive refinement of the automatically calculated matches. Furthermore, we were interested in how the newly introduced features perform
Fig. 10. Summary of the results of the experiments. Average number of wrong matches (blue), average number of matched nodes (red) and total number of nodes (green). (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
in comparison to the previous ones. Five experiments were prepared, each one to test one of the features: 1. Visualization without new features. Every node is visualized in green (matched) or blue (unmatched) with the option to check lines or numbers feature (Fig. 11). 2. Every node is visualized in green and the participant has the option to visualize the correspondences one by one (1st row of Fig. 8). 3. Visualization with colors determined by the probability of the nodes to be correctly matched. The participant has the option to choose which groups of colors he wants to visualize each moment (Fig. 7(b) green nodes, 7(c) yellow nodes and 7(d) red nodes). 4. Visualization with colors determined by the probability of the nodes to be correctly matched. The participant has the option to visualize the correspondences one by one (Fig. 8). 5. Every node is visualized in green but with the option to increase/decrease the depth of the visualized tree (Fig. 4). Seven persons participated in the experiments. We provided them with some tree matching results that contained a number of wrong matches. It has to be noticed that no participant was aware of the number of wrong nodes that the current pair of trees had. The participants were asked to find the wrong matches using the features corresponding to the current experiment. From one tree six pairs of trees were generated by randomly removing nodes from the previous trees. The trees obtained after the removal were different as it is shown in Fig. 13. As can be seen in the figure the liver vasculature was semitransparently visualized as background to give additional support to the clinical user. This could in some sense reduce the effect of node removal. However, the goal of the evaluation was to make a comparison
Fig. 12. Visualization of results with real clinical data of pre and post operative CT’s.
Fig. 11. Visualization of results of a realistic experiment. The results are visualized without using the new features.
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
between all the experiments and they were carried out under the same conditions In addition to this the experiments carried out in [11] showed that the use of the background was not determinant for the obtained results. Since the idea was to test the quality of the newly developed features and not the skills of the participants, we carried out the five experiments in different order for each person, making the results independent of their acquired experiences. In addition, trees were randomly assigned to the experiments. This would limit the significance of the quality of the particular feature. It was therefore important for each experiment to be carried out with different difficulty tree levels. After the experiments were carried out we calculated the difficulty of the six trees based on the number of wrong nodes (variable for each tree from 1 to 3) that they contained, the number of them found by the participants, as well as the elapsed time to find these nodes. Among all the trees there were two, such that for every person and every experiment all the nodes were found. We classified those two trees as being the easiest ones. On the other hand, there were two trees, such that in some of the experiments none of the wrong matches were found. Those are therefore the most difficult trees. Finally there were two trees with intermediate difficulty. Table 5 shows the number of easy, intermediate and difficult trees that were used for each experiment. 3.6.1. Results Table 6 shows the mean results for each experiment. The second column shows the percentage of wrong matches found, the third one the mean time consumed per wrong match found. In experiment 4 the most wrong matches were found. Together with experiment 3 it was carried out the fastest. Using features offered in these experiments, the participants were able to focus on matches that are more likely to be wrong. Experiment 2 took by far the longest time. It has to be mentioned that one of the participants gave up while doing experiment 1. This person did the experiments with colors before experiment 1. We consider this a sign that after using the color features experiment 1 looks much harder. All the participants in the experiments expressed a clear preference for experiments 3 and 4, and especially for experiment 4. The arguments against experiments 1, 2 and 5 were that in them everything looked more congested. It was more difficult to focus on a pair of nodes even by using the highlight feature. They found
Fig. 13. One of the tree pairs used for the experiments. After removal of 50% of the nodes the tree in the left is different.
Table 5 Level of difficulty of the trees used in each experiment. Experiment no.
Easy
Intermediate
Difficult
1 2 3 4 5
2 2 4 3 2
3 3 2 3 3
3 3 2 2 3
309
Table 6 Percentage of wrong matches found per experiment and mean time consumed to find them. Experiment no.
No. wrong found (%)
Mean time (s)
1 2 3 4 5
56.25 68.86 71.28 78.43 76
227 632 107 122 367
experiment 2 to be time consuming since it was necessary to go through all the node correspondences one by one without exception. In the opinion of the participants experiment 5 was the most confusing one. We can conclude that the new features that are evaluated in experiments 3 and 4 improve the usability of the interactive tool.
4. Discussion The algorithm as it was presented is not pose independent. The similarity measure is formed by the length (pose independent) and the direction (pose dependent) attributes. Two possible solutions to this problem have been considered. The first one is to replace the direction attribute with another more appropriate one. In this direction, some preliminary experiments have been performed using the angle between branches. Even if the obtained results are good (small number of incorrect matches and high rate of obtained correspondences), they are not as good as the ones obtained with the direction attribute. They present wrong matches in the order of 2 or 3 more than in the presented algorithm. The combination with more pose independent attributes could improve those results. Another option would be to continue using the same attributes that make the algorithm robust by previously applying a rigid registration. Far to be a disadvantage this would make the task of the clinical user to interact with the trees easier, at the same time allowing the algorithm to use the direction attribute. In addition to this the threshold for the direction attribute can be made more permissive against difference on directions. From this discussion we expect that the presented algorithm can be made robust against pose changes. The algorithm shows dependence on the root, i.e., for the algorithm to work properly the root of one tree and its corresponding root on the other tree have to be known. This works for the studied clinical case where the CT volume shows the whole anatomical vasculature of the liver. There are some situations, however, in which the algorithm as it currently is would fail. For example, this is the case for US data, where one only sees a small part of the liver vasculature. We are currently working to enhance the algorithm so that it is able to find the global optimal match without knowing the correspondence between the roots. In our work we apply the tree matching to the anatomical vasculature of the liver; however, it is not limited to it. The bronchial tree for example contains both bifurcations and trifurcations. In the liver there can be situations in which some branches that are visible in one tree are not visible in the other tree. The same happens in the bronchial vasculature due to air hiding branches. The original algorithm was already tested in the human airway by Graham et al. A series of comments have being collected from the persons who did the interactive experiments. Those comments will be taken into account in future work. Between those comments the most critical ones were about experiments 1, 2 and 5. Experiments 1 and 5 were graded as difficult and confusing, since except of the highlighting feature there was no way to differentiate between the provided matchings leading to a congested visualization. Participants found
310
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
experiment 2 to be time consuming. Experiment 3 was the most confusing according to the participants since when the depth was increased one could not be sure of which nodes were already checked and which not and many nodes were rechecked. Experiments 3 and 4 were the most accepted and were considered as fast and easy to do. This shows once more the improvement that involves the addition of the colors.
5. Conclusion The presented work provides an enhancement to Graham et al.’s algorithm. We proposed seven new primitives as an extension to Graham et al.’s algorithm when trifurcations are not enough to cover all the ramifications of the tree. Furthermore, it enables the preselection of important matches, which makes it more efficient. With three preselected matches our algorithm is always below 1 s for trees of up to 192 nodes. In addition to this the preselection of matches makes the algorithm more suitable for use in medical environment, as the clinical user is able to guide the process. We provided also a detailed evaluation of the presented algorithm. Topological deformations as well as noise are introduced to the trees and the algorithm is also applied to real pre/post operative clinical data proving it to be a robust tree matching algorithm. It would be interesting as future
work to let the clinical user choose the root of the trees, as there will be intraoperative situations where the whole tree will not be available. This can be the case with ultrasound data where only a small part of the tree will be visible. More evaluation should be done in this direction. New features have been developed for interacting with the algorithm. The results of the evaluation show that the new features are an improvement against the old ones. The percentage of wrong matches found is increased from 56.25% to 78.43% and the mean time to find them is decreased from 227 to 122 s. The choice of using red, yellow and green colors is not trivial. In daily life red is associated to something that should not be done, this helps to directly identify which nodes are the wrong ones (red) by association of ideas. On the other hand the fact of having different colors gives the feeling that the results are not so much congested even if the number of found correspondences is the same. In the case of not using colors one of the participants even gave up.
Acknowledgment This work was partially supported by the Fraunhofer Internal Programs under Grant No. MAVO 817 775.
Appendix A. Mathematical expressions of the primitives This appendix shows the mathematical expressions of the new primitives. The numbering of the primitives is starting from 6 since fðu Þ the first five correspond to primitives already defined by Graham et al. We will first give a few definitions. CðT1u1 ,T2 1 Þ denotes a primitive that fulfills certain conditions. In this case the subtree T1 with root u1 is matched to the subtree T2 with root fðu1 Þ. fðu1 Þ represents the node that is going to be matched to u1. dðu1 Þ is the degree of u1, in other words, the number of children of the node u1 and lca(u,v) denotes the least common ancestor of u and v. E(T1) is the set of branches of the tree T1. u fðu Þ Mathematical expression for primitive 6: cf1 A Cð6Þ ðT1u1 ,T2 1 Þ if u
(1) cf1 ¼ fðu1 , fðu1 ÞÞ, ðv1 , fðv1 ÞÞ,ðw1 , fðw1 ÞÞ,ðx1 , fðx1 ÞÞ,ðz1 , fðz1 ÞÞg (2) dðu1 Þ ¼ 2 in T1 , dðfðu1 ÞÞ ¼ 4 in T2 (3) lcaðv1 ,w1 Þ ¼ lcaðw1 ,z1 Þ ¼ y1 in T1 ,whereðu1 ,y1 Þ A EðT1 Þ (4) lcaðv1 ,x1 Þ ¼ lcaðw1 ,x1 Þ ¼ lcaðz1 ,x1 Þ ¼ u1 in T1 (5) lcaðfðv1 Þ, fðw1 ÞÞ ¼ lcaðfðv1 Þ, fðz1 ÞÞ ¼ lcaðfðw1 Þ, fðz1 ÞÞ ¼ lcaðfðv1 Þ, fðx1 ÞÞ ¼ lcaðfðw1 Þ, fðx1 ÞÞ ¼ lcaðfðz1 Þ, fðx1 ÞÞ ¼ fðu1 Þ in T2 u
fðu1 Þ
Mathematical expression for primitive 7: cf1 A Cð7Þ ðT1u1 ,T2
Þ if
u
(1) cf1 ¼ fðu1 , fðu1 ÞÞ, ðv1 , fðv1 ÞÞ,ðw1 , fðw1 ÞÞ,ðx1 , fðx1 ÞÞ,ðz1 , fðz1 ÞÞg (2) dðu1 Þ ¼ 3 in T1 , dðfðu1 ÞÞ ¼ 4 in T2 (3) lcaðv1 ,w1 Þ ¼ y1 in T1 ,where ðu1 ,y1 Þ A EðT1 Þ (4) lcaðv1 ,x1 Þ ¼ lcaðw1 ,x1 Þ ¼ lcaðz1 ,x1 Þ ¼ lcaðv1 ,z1 Þ ¼ lcaðw1 ,z1 Þ ¼ u1 in T1 (5) lcaðfðv1 Þ, fðw1 ÞÞ ¼ lcaðfðv1 Þ, fðz1 ÞÞ ¼ lcaðfðw1 Þ, fðz1 ÞÞ ¼ lcaðfðv1 Þ, fðx1 ÞÞ ¼ lcaðfðw1 Þ, fðx1 ÞÞ ¼ lcaðfðz1 Þ, fðx1 ÞÞ ¼ fðu1 Þ in T2 u
fðu1 Þ
Mathematical expression for primitive 8: cf1 A Cð8Þ ðT1u1 ,T2
Þ if
u
(1) cf1 ¼ fðu1 , fðu1 ÞÞ, ðv1 , fðv1 ÞÞ,ðw1 , fðw1 ÞÞ,ðx1 , fðx1 ÞÞ,ðz1 , fðz1 ÞÞg (2) dðu1 Þ ¼ 3 in T1 , dðfðu1 ÞÞ ¼ 3 in T2 (3) lcaðv1 ,w1 Þ ¼ y1 in T1 , where ðu1 ,y1 Þ A EðT1 Þ (4) lcaðfðw1 Þ, fðz1 ÞÞ ¼ y2 in T2 , where ðfðu1 Þ,y2 Þ A EðT2 Þ (5) lcaðv1 ,x1 Þ ¼ lcaðw1 ,x1 Þ ¼ lcaðz1 ,x1 Þ ¼ lcaðv1 ,z1 Þ ¼ lcaðw1 ,z1 Þ ¼ u1 in T1 (6) lcaðfðv1 Þ, fðw1 ÞÞ ¼ lcaðfðv1 Þ, fðx1 ÞÞ ¼ lcaðfðv1 Þ, fðz1 ÞÞ ¼ lcaðfðz1 Þ, fðx1 ÞÞ ¼ lcaðfðw1 Þ, fðx1 ÞÞ ¼ fðu1 Þ in T2 u
fðu1 Þ
Mathematical expression for primitive 9: cf1 A Cð9Þ ðT1u1 ,T2 u
(1) cf1 ¼ fðu1 , fðu1 ÞÞ, ðv1 , fðv1 ÞÞ,ðw1 , fðw1 ÞÞ,ðx1 , fðx1 ÞÞ,ðz1 , fðz1 ÞÞg (2) dðu1 Þ ¼ 3 in T1 , dðfðu1 ÞÞ ¼ 2 in T2 (3) lcaðv1 ,w1 Þ ¼ y1 in T1 , where ðu1 ,y1 Þ A EðT1 Þ
Þ if
C. Oyarzun Laura, K. Drechsler / Computers & Graphics 35 (2011) 299–311
311
(4) lcaðfðv1 Þ, fðw1 ÞÞ ¼ lcaðfðv1 Þ, fðz1 ÞÞ ¼ lcaðfðw1 Þ, fðz1 ÞÞ ¼ y2 in T2 , where ðfðu1 Þ,y2 Þ A EðT2 Þ (5) lcaðv1 ,x1 Þ ¼ lcaðw1 ,x1 Þ ¼ lcaðz1 ,x1 Þ ¼ lcaðv1 ,z1 Þ ¼ lcaðw1 ,z1 Þ ¼ u1 in T1 (6) lcaðfðv1 Þ, fðx1 ÞÞ ¼ lcaðfðw1 Þ, fðx1 ÞÞ ¼ lcaðfðz1 Þ, fðx1 ÞÞ ¼ fðu1 Þ in T2 u
fðu1 Þ
Mathematical expression for primitive 10: cf1 A Cð10Þ ðT1u1 ,T2
Þ if
u
(1) cf1 ¼ fðu1 , fðu1 ÞÞ, ðv1 , fðv1 ÞÞ,ðw1 , fðw1 ÞÞ,ðz1 , fðz1 ÞÞg (2) dðu1 Þ ¼ 3 in T1 , dðfðu1 ÞÞ ¼ 3 in T2 (3) lcaðv1 ,w1 Þ ¼ y1 in T1 , where ðu1 ,y1 Þ A EðT1 Þ (4) lcaðv1 ,x1 Þ ¼ lcaðw1 ,x1 Þ ¼ lcaðz1 ,x1 Þ ¼ lcaðv1 ,z1 Þ ¼ lcaðw1 ,z1 Þ ¼ u1 in T1 (5) lcaðfðv1 Þ, fðw1 ÞÞ ¼ lcaðfðv1 Þ, fðz1 ÞÞ ¼ lcaðfðw1 Þ, fðz1 ÞÞ ¼ fðu1 Þ in T2 u
fðu1 Þ
Þ if
u
fðu1 Þ
Þ if
Mathematical expression for primitive 11: cf1 A Cð11Þ ðT1u1 ,T2 (1) (2) (3) (4) (5)
cuf1 ¼ fðu1 , fðu1 ÞÞ,ðv1 , fðv1 ÞÞ,ðw1 , fðw1 ÞÞg dðu1 Þ ¼ 2 in T1 , dðfðu1 ÞÞ ¼ 2 in T2 lcaðv1 ,w1 Þ ¼ y1 in T1 , where ðu1 ,y1 Þ A EðT1 Þ lcaðv1 ,x1 Þ ¼ lcaðw1 ,x1 Þ ¼ u1 in T1 lcaðfðv1 Þ, fðw1 ÞÞ ¼ fðu1 Þ in T2 Mathematical expression for primitive 12: cf1 A Cð12Þ ðT1u1 ,T2 u
(1) cf1 ¼ fðu1 , fðu1 ÞÞ, ðv1 , fðv1 ÞÞ,ðw1 , fðw1 ÞÞ,ðx1 , fðx1 ÞÞ,ðz1 , fðz1 ÞÞg (2) lcaðv1 ,w1 Þ ¼ lcaðv1 ,z1 Þ ¼ lcaðv1 ,x1 Þ ¼ lcaðw1 ,z1 Þ ¼ lcaðw1 ,x1 Þ ¼ lcaðz1 ,x1 Þ ¼ u1 in T1 (3) lcaðfðv1 Þ, fðw1 ÞÞ ¼ lcaðfðv1 Þ, fðz1 ÞÞ ¼ lcaðfðv1 Þ, fðx1 ÞÞ ¼ lcaðfðw1 Þ, fðz1 ÞÞ ¼ lcaðfðw1 Þ, fðx1 ÞÞ ¼ lcaðfðz1 Þ, fðx1 ÞÞ ¼ fðu1 Þ in T2 References ¨ [1] Metzen JH, Kroger T, Schenk A, Zidowitz S, Peitgen H-O, Jiang X. Matching of tree structures for registration of medical images. In: Proceedings of the international conference on graph-based representations in pattern recognition. p. 13–24. [2] Pelillo M, Siddiqi K, Zucker SW. Matching hierarchical structures using association graphs. IEEE Transactions on Pattern Analysis and Machine Intelligence 1999;21:1105–19. [3] Gold R, Rangarajan A. A graduated assignment algorithm for graph matching. IEEE Transactions on Pattern Analysis and Machine Intelligence 1996;18: 377–88. [4] Medasani S, Krishnapuram R, Choi Y. Graph matching by relaxation of fuzzy assignments. IEEE Transactions on Fuzzy Systems 2001;9:173–82. [5] Charnoz A, Agnus V, Malandain G, Soler L, Tajine M. Tree matching applied to vascular system. In: Proceedings of the international conference on graphbased representations in pattern recognition. p. 183–92.
[6] Tschirren J, McLennan G, Pala´gyi K, Hoffman EA, Sonka M. Matching and anatomical labeling of human airway tree. IEEE Transactions on Medical Imaging 2005;24:1540–7. [7] Kaftan JN, Kiraly AP, Naidich DP, Novak CL. A novel multi-purpose tree and path matching algorithm with application to airway trees. In: Medical imaging 2006: physiology, function, and structure from medical images, vol. 6143. p. 215–24. [8] Graham MW, Higgins WE. Globally optimal model-based matching of anatomical trees. In: Reinhardt, Joseph M, editors. Medical Imaging 2006: Image Processing; Pluim, Josien PW. Proceedings of the SPIE 2006;6144:373–87. [9] Graham MW, Higgins WE. Optimal graph-theoretic approach to 3d anatomical tree matching. In: Proceedings of the IEEE international symposium on biomedical imaging, p. 109–12. [10] Oyarzun Laura C, Drechsler K. Efficient globally optimal matching of anatomical trees of the liver. In: Proceedings of the 2nd eurographics workshop on visual computing for biology and medicine, p. 75–82. [11] Drechsler K, Oyarzun Laura C, Chen Y, Erdt M. Semi-automatic anatomical tree matching for landmark-based elastic registration of liver volumes. Journal of Healthcare Engineering 2010;1:101–23.