WO2003034336A2 - Method for automatic branch labelling - Google Patents

Method for automatic branch labelling Download PDF

Info

Publication number
WO2003034336A2
WO2003034336A2 PCT/IB2002/004268 IB0204268W WO03034336A2 WO 2003034336 A2 WO2003034336 A2 WO 2003034336A2 IB 0204268 W IB0204268 W IB 0204268W WO 03034336 A2 WO03034336 A2 WO 03034336A2
Authority
WO
WIPO (PCT)
Prior art keywords
ofthe
branch
branches
bifurcations
voxels
Prior art date
Application number
PCT/IB2002/004268
Other languages
French (fr)
Other versions
WO2003034336A3 (en
Inventor
Johannes Bruijns
Original Assignee
Koninklijke Philips Electronics N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Priority to JP2003536990A priority Critical patent/JP4248399B2/en
Priority to US10/492,447 priority patent/US7372983B2/en
Priority to EP02775088A priority patent/EP1442427B1/en
Priority to DE60208431T priority patent/DE60208431T2/en
Priority to AT02775088T priority patent/ATE314703T1/en
Publication of WO2003034336A2 publication Critical patent/WO2003034336A2/en
Publication of WO2003034336A3 publication Critical patent/WO2003034336A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present invention relates to a method of analysing an object data set in which a tubular structure having a plurality of branches and bifurcations occurs, wherein said object data set assigns data values to positions in a multi-dimensional space, which data values relate to an object to be examined.
  • the invention relates further to a corresponding apparatus and computer program.
  • Shape extraction such as measuring a vessel's cross-sectional area, is done by interactively positioning and orienting a plane. The intersection of this plane with the volume gives a 2D image of grey values in which the vessel pixels have a different grey value than the tissue pixels. After selection of the proper object the cross-sectional area can be measured, for example by counting the number of non-black pixels.
  • the plane should be oriented so that it is orthogonal to the vessel whose shape has to be measured. An oblique plane would give the wrong cross-sectional area.
  • interactively orienting the plane orthogonally to the vessel is a time-consuming and error-prone task.
  • a probe is a combination of a sphere and a plane through the centre of the sphere. After the probe has interactively been placed on a vessel in the neighbourhood of the desired position, the probe automatically adjusts itself so that its plane is orthogonal to the vessel and the centre of its sphere is on the central axis of the vessel. The ellipse radii of the vessel are also estimated. When the probe is aligned, it can be moved along the vessel in the direction of the plane normal. The probe aligns itself again after each step. It is therefore possible to let the probe follow the vessel automatically until the probe detects for example the end of a vessel or the beginning of an aneurysm.
  • the self-adjusting probe extracts shapes from a 3D triangle surface model, created for example by a known marching cube algorithm.
  • surface vertices of the neighbour vessel branch are included in the set of selected surface vertices which are used to extract the local shape of the vessel branch investigated. These erroneously included surface vertices deteriorate the accuracy of the estimated shape.
  • the invention is based on the idea to give the vessel voxels, and from these, the surface vertices, a unique label per vessel branch of said tubular structure. Now, vertices of neighbour vessel branches can be excluded because their label is different. This new method results also in a set of directed graphs - one for each component - which facilitates fully automatic vessel tracing from one node, i.e. an extremity or bifurcation ofthe vessel structure, to another node of the same graph.
  • the fully-automatic branch labelling method consists of five steps.
  • Starting point is a segmented voxel volume without tissue inclusions.
  • the elements of this segmented voxel volume are for example signed bytes, with a 0 for a tissue and a 1 for a vessel voxel. This makes it possible to assign different labels to vessel voxels during these steps.
  • Vessel voxels with a label 1 are called original vessel voxels.
  • Tissue voxels are never changed.
  • the final outcome is a segmented voxel volume in which almost all vessel voxels have a label indicating to which bifurcation or branch they belong and a set of directed graphs describing the topology ofthe vessels.
  • the extremities ofthe voxel vessel structures are searched, preferably by applying a wave propagation method, as e.g. described in Zahlten et al., "Reconstruction of Branching Blood Vessels From CD-Data", Proceedings ofthe Eurographics Workshop on Visualization in Scientific Computing, Rostock, June 1994.
  • a wave propagation method as e.g. described in Zahlten et al., "Reconstruction of Branching Blood Vessels From CD-Data", Proceedings ofthe Eurographics Workshop on Visualization in Scientific Computing, Rostock, June 1994.
  • the segmented voxel volume with the extremities indicated by a special label is peeled in a number of iterations.
  • the resulting skeleton of branches and bifurcations is a good approximation ofthe centre structure ofthe vessels.
  • the graphs are created.
  • Starting point is the peeled segmented voxel volume with the bifurcation and extremity voxels indicated by special labels.
  • a directed graph is generated for each connected set of vessel voxels in the peeled segmented voxel volume. This graph contains one node for each extremity and one node for each bifurcation voxel.
  • the vessel voxel strings between adjacent nodes are stored in branch lists. Each branch list gets a unique number. The voxels of a branch list get this number as label.
  • node geometry is generated. Node geometry contains the position and the shape ofthe centre region ofthe bifurcation of said tubular structure and the position and the shape of its branch regions.
  • the vessel voxels get their final label.
  • the voxels in the branch regions of said tubular structure get the label ofthe corresponding branch list.
  • the voxels in the centre regions of said tubular structure get a label which is different from the labels ofthe other centre regions and different from the labels ofthe branch lists.
  • the voxels ofthe branches between two adjacent branch regions of said tubular structure get the label ofthe corresponding branch list.
  • a modified marching cube algorithm is applied which generates the surface vertices including the label of their neighbouring vessel voxel.
  • Claim 9 defines a computer program for implementing the method according to the invention. According to a preferred embodiment the label ofthe corresponding branch is assigned as final label to the positions along the branches. Mainly only for bifurcations new final labels have to be selected.
  • the geometry ofthe branches and the bifurcations is determined on the basis of branch spheres and bifurcation spheres resulting in the position and shape ofthe bifurcations and adjacent branch regions.
  • voxels in all regions of branches and bifurcations can correctly be labelled thus improving accuracy ofthe whole method.
  • the branch spheres and bifurcation spheres for branches and adjacent bifurcations are arranged such that the radius of these spheres corresponds to the diameter ofthe corresponding branch or bifurcation, respectively.
  • the radius of a branch sphere or a bifurcation sphere is derived from the distance transform ofthe centre position of this sphere.
  • the invention is generally applicable for analysis of a multi-dimensional object data set of a tubular object having a plurality of branches and bifurcations, such as lung structures or vessel trees.
  • the object data set can be acquired, for example, by means of various techniques such as magnetic resonance angiography, computed tomography or 3D rotational X-ray angiography. Techniques of this kind produce an object data set with data values representing the structure of (a part of) the vascular system of the patient to be examined.
  • Figure 1 shows a flow chart ofthe method according to the invention
  • Figure 2 shows a pixel map of a segmented voxel volume
  • Figure 3 illustrates wave propagation
  • Figure 4 illustrates splitting of waves
  • Figure 5 shows trial waves according to the invention
  • Figure 6 shows the segmented voxel volume with extremities indicated
  • Figure 7 shows a peeled segmented volume with extremity and bifurcation voxels indicated
  • Figure 8 shows directional graphs obtained from the peeled segmented volume
  • Figure 9 illustrates the determination of note geometry
  • Figure 10 shows centre and branch spheres along the directional graphs
  • Figure 11 illustrates the labelling of voxels and Figure 12 shows a labelled segmented volume.
  • Fig. 1 shows a flow chart illustrating the steps ofthe method according to the invention. These steps will further be explained with reference to the subsequent figures, hi the first step SI the wave propagation method is applied to a segmented voxel volume of a tubular structure, in this particular example of a vessel structure of a patient, as exemplary shown in Fig. 2. Conventionally wave propagation is used to label the grey value voxel volume and to generate the corresponding vessel graph. However, wave propagation is not accurate enough at the bifurcations since the incoming waves continue too long at the bifurcations. According to the invention wave propagation is used to generate the extremities ofthe vessel voxel structures.
  • one ofthe voxels ofthe current wave is selected for inclusion in the set of extremities.
  • the labels assigned during the wave propagation step are ignored.
  • the starting points are generated automatically. Selection by the user is too time- consuming because the segmented voxel volumes generally contain a lot of vessel graphs. These starting points are included in the set of extremities.
  • a wave, with a branch number greater than 1, is a list of voxel descriptions.
  • a voxel description contains a label with the value the voxel had when the description was created (except for trial waves discussed later), the memory address of the voxel, giving fast access to the current value ofthe voxel and its index (ix, iy, iz).
  • a voxel was already member of a wave can be deduced from the current value ofthe voxel in the segmented voxel volume because voxels which are included in a wave get the branch number ofthe current wave.
  • the current wave is deleted and the new wave becomes the current wave.
  • the voxels ofthe current wave are not corner connected, the wave is split in two or more new waves with each a new unique branch number. These new branch numbers are also assigned to the voxels ofthe split waves. Splitting will occur when a wave travels through a bifurcation ofthe vessel voxel structures.
  • the wave propagation method is applied to each ofthe new wave fragments. The process is finished when all new waves are empty.
  • FIG. 3 shows the initial wave consisting of a single seed voxel (the dark cross).
  • Fig. 3B shows the new wave consisting ofthe corner neighbour voxels (the five dark crosses) with the voxel ofthe initial wave marked by a filled circle.
  • Figs. 3C and 3D show the waves generated from the corner neighbour voxels ofthe wave of Fig. 3B respectively.
  • Fig. 3D shows the splitting of a wave. .
  • wave propagation is preferably used - other method are also possible - to find the extremities ofthe voxel structures. Extremities are found when the new wave is empty. However, in case of a noisy surface the wave will be split in many sub-waves just before the end of a branch is reached. This yields many unwanted extremities.
  • Fig. 4 there are three waves shown. The first wave contains the voxels labelled 1, the second wave the voxels labelled 2 and the third wave the voxels labelled 3. The voxels ofthe third wave are not corner connected. So, this wave is split in three new waves. Because these three wave fragments do not have successors, three extremities are generated.
  • Double waves solve this problem.
  • the waves described in the previous paragraphs are called single waves in the following.
  • a double wave contains old voxels, already present in the previous double wave, and new voxels, which are the corner neighbour vessel voxels of these old voxels.
  • the new voxels ofthe old double wave are copied to the new double wave as old voxels.
  • the comer neighbour vessel voxels ofthe old voxels ofthe new double wave are added as new voxels.
  • the old voxels of a new double wave are also used to test whether the new voxels of this new double wave are comer connected.
  • the new double wave is considered empty if it contains only old voxels.
  • the first wave contains the voxels labelled 1 as old and the voxels labelled 2 as new voxels.
  • the second wave contains the voxels labelled 2 as old and the voxels labelled 3 as new voxels.
  • the third wave contains the voxels labelled 3 as old and no new voxels.
  • the new voxels ofthe second double wave are comer connected to each other via the old voxels of this wave. So, this second double wave is not split as was the case for the third single wave.
  • the third double wave contains only old voxels. Hence, this wave is considered empty and the extremity is derived from all voxels ofthe second double wave, giving only one extremity for this branch end.
  • the waves for wave propagation are double waves.
  • Wave propagation is based on corner neighbours. But peeling, graph generation, generation of node geometry and final labelling are based on face neighbours, i.e. a voxel which shares a face with the voxel examined. Indeed, each voxel has 26 comer neighbours and 6 face neighbours. So, using face neighbours instead of corner neighbours saves a significant amount of computing time. Even more important, corner neighbours may yield much more unwanted connections between parallel neighbour vessels. Therefore, before wave propagation is started for a new seed voxel, the original vessel voxels which are face connected, via vessel voxels, to this seed voxel, are labelled as component voxels. The seed voxel itself is also labelled as component voxel.
  • These face connected original vessel voxels are labelled by the following twin wave algorithm: Two empty waves are created. The first wave is filled with a voxel description ofthe seed voxel. The seed voxel is labelled as a component voxel. The second wave is filled with voxel descriptions of those original vessel voxels which are face neighbours ofthe voxels ofthe first wave. The corresponding voxels are labelled as component voxels. This process is repeated, changing each time the role of the first and second wave, until no original vessel voxels, face connected to the voxels ofthe current wave are found. The normal wave propagation can now be applied on the component voxels. Vessel voxels which are comer but not face connected to a voxel of this component are now ignored because they do not have the component label.
  • Wave propagation yields the best results, if the waves travel from wider to narrower vessels. Because wave propagation is used to find the extremities ofthe vessel structures, seed voxels should be in the neighbourhood of these extremities. Fortunately, very often the large dominant vessel structures start on the boundaries of the volume with their widest vessels. The centre voxels ofthe widest vessel can be found by means ofthe distance transform.
  • the distance transform of a vessel voxel is an indicator for the length ofthe shortest path of face connected vessel voxels to a voxel of a vessel boundary.
  • a local maximum in the distance transform is shared by a number of face neighbour vessel voxels in the same boundary volume slice. So, it is not safe to look for the vessel voxel with a distance transform greater than the distance transform of its face neighbours. Therefore, all voxels in the six boundary volume slices with a distance transform greater than or equal to the distance transform of its face neighbours are stored in a special wave, the so-called seed wave, by means of an insertion sort on the basis of their distance transforms.
  • the insertion sort makes that the seed voxel with the highest distance transform is the first voxel description in the seed wave.
  • the distance transform of its face neighbour vessel voxels is decreased. This prevents that many vessel voxels with the same distance transform as their face neighbours are included in the seed wave.
  • the wave propagation algorithm including the component selection is carried out. Many voxels of the seed wave will be altered because they belong to the same vessel component. So, skipping and removing the first voxel descriptions ofthe seed wave from which the corresponding voxels have already been changed, the wave propagation algorithm including the component selection is carried out for all first voxel descriptions ofthe seed wave from which the corresponding voxels are not yet processed, until the seed wave is empty.
  • Waves do not only have a branch number but also a serial number. This serial number is increased every time a new wave is created from an old wave.
  • the voxel descriptions ofthe extremity voxels ofthe trial waves get the serial number ofthe trial wave as label (not the current value of the extremity voxel as is normally the case). Because the seed wave is filled by means of an insertion sort, the extremity voxel ofthe trial wave with the highest serial number will be used as seed voxel for a normal wave propagation pass.
  • the trial waves get a special branch number, not used in case of a normal wave propagation pass. So, after the seed voxels are found, the voxels ofthe component can be reset to their original value.
  • the trial wave propagation pass is alternated with the normal wave propagation pass until all interior components have been processed.
  • the result ofthe wave propagation step SI is a segmented volume with extremity voxels as shown in Fig. 6 where the extremities are indicated as darker spots 9.
  • the segmented voxel volume is peeled in a number of iterations by an algorithm similar to that described by Dokladal et al. "A new thinning algorithm and its application to extraction of blood vessels", conference proceedings, BioMedSim '99, ESIEE, April 1999, France.
  • the resulting skeleton of branches and bifurcations shown in Fig. 7 is a faithful approximation ofthe centre structure ofthe vessels: the branches are close to the core lines ofthe vessel branches and the skeleton bifurcations are close to the centres ofthe vessel bifurcations.
  • Starting point is the original segmented voxel volume with the extremity voxels indicated by a special label, the darker spots 9 in Fig. 6.
  • Each iteration creates first a skin layer by labelling the current boundary voxels except the extremity voxels.
  • Each voxel has at most six face neighbours.
  • An original vessel voxel with label one is a boundary voxel if and only if one of these neighbours is not a voxel with a positive label.
  • the label of a boundary is increased with the number of face neighbours with a zero or negative label (boundary voxels removed in a previous iteration).
  • Boundary voxels with exactly one vessel voxel as face neighbour are always removed. Boundary voxels with at least two and at most four vessel voxels as face neighbours are removed unless the local topology changes by removing this voxel. Boundary voxels with exactly five vessel voxels as face neighbour are never removed because removing such a boundary voxel causes a local con-cavity. If a boundary voxel is removed, the labels of its face neighbour boundary voxels are adjusted. Face neighbours with a label greater than or equal to the label ofthe boundary voxel removed, are immediately processed in decreasing order of their new label before normal scanning from the lower left front comer to the upper right back corner continues.
  • the topology checks are performed by looking at the comer neighbours ofthe boundary voxel tested. To this end a cube of 3 by 3 by 3 cells is filled with zero's.
  • the centre cell corresponds to the boundary voxel checked.
  • the other cells correspond to its corner neighbours.
  • a cell is set to one if the corresponding comer neighbour has a positive label. It is possible that some of these cells are equal to one although the corresponding comer neighbour vessel voxel is not face connected, via vessel voxels, to the boundary voxel examined. This can happen when two components are comer but not face connected to each other. These cells are reset to zero. First, resetting the centre cell to zero, should not result in two disjunct face connected sets of positive cells.
  • the centre cell should not decrease the number of face or the number of comer connected sets of zero cells. If one of these two complementary checks fails, the boundary voxel examined should not be removed.
  • the graphs for the branches of said skeleton are created. Starting point is the peeled segmented voxel volume as shown in Fig. 7 with the bifurcation voxels indicated by a special label together with the extremities, stored in a special wave by the wave propagation step. A directed graph is generated for each face connected set of positive vessel voxels in the peeled segmented voxel volume.
  • This graph contains one node for each extremity voxel and one node for each bifurcation voxel.
  • a wave is created and stored in this graph for each branch between two nodes.
  • This special wave consists of a list, i.e. a branch list, of voxel descriptions for the face connected positive vessel voxels between these two nodes.
  • Each branch list gets a unique number.
  • the voxels of a branch wave (branch list) get this number as special unique label.
  • An example ofthe resulting segmented voxel volume is shown in Fig. 8.
  • the generated graphs facilitate not only fully-automatic vessel tracing from one node to another node, but are also required to label short branches correctly, h this last case, information about the bifurcation structure, especially its size, at one end ofthe branch is needed for labelling voxels at the other end ofthe branch.
  • the generated graphs contain this neighbour information.
  • a graph contains amongst other things the number of branches in the graph, the number of nodes in the graph, a pointer to the list of its branch waves and two pointers, one to the first node and one to the last node ofthe list of nodes ofthe graph.
  • a node contains amongst other things a voxel description for the corresponding extremity or bifurcation voxel (called the centre voxel ofthe node in the following) and the number of branches in this node.
  • the number of branches should be either equal to one or greater than two and less than or equal to six. If the number of branches is equal to one, the node corresponds to an extremity ofthe vessel structure. Two branches at a node is not possible because nodes are created either for an extremity or a bifurcation.
  • a bifurcation voxel is a voxel with at least three and at most six positive face neighbours.
  • a node contains for each branch amongst other things a pointer to the corresponding branch wave, a direction number indicating whether the head or the tail of this branch wave is connected to this node and a pointer to the node at the other end of this branch wave.
  • the pointers to other nodes represent the graph structure.
  • the branch waves make it possible to travel from one node to another node going from one voxel to the next voxel ofthe branch wave.
  • a branch of a node is incoming or outgoing does not imply direction of blood flow at that node.
  • the graphs are generated by scanning the list of extremities. It is easy to detect whether an extremity is already part of a graph because during the generation of the graph, the voxels visited are made negative. For each positive extremity voxel a node is generated and filled. For each positive face neighbour ofthe centre voxel of a node a branch wave is generated and filled with the face connected positive vessel voxels until a positive extremity or bifurcation voxel is encountered. A node is generated for the closing extremity or bifurcation voxel and the branch information in the two nodes is updated.
  • the algorithm continues with tracing the branches ofthe new node.
  • a node may already exist for the closing bifurcation voxel. If so, the bifurcation voxel is negative. Therefore, if no positive extremity or bifurcation voxel is found at the end of a branch wave, the face neighbours ofthe last positive voxel are inspected for a negative bifurcation voxel. The corresponding node is used to close the branch. Correct labelling of voxels requires that voxels of a bifurcation can be distinguished from branch voxels.
  • node geometry ofthe branches and bifurcations ofthe tubular stmcture is generated in step S4 as shown in Fig. 9 so that positions can be classified as belonging to either a bifurcation or a branch, hi this step the vessel boundary is indicated by 18.
  • Node geometry contains the position and the shape ofthe centre region ofthe bifurcation and the position and the shape of its branch regions.
  • a centre sphere 10 is created.
  • the position ofthe bifurcation voxel is used as centre 11 ofthe centre sphere 10.
  • the radius (in voxels) ofthe centre sphere is derived from the distance transform ofthe bifurcation voxel.
  • a branch sphere 12 is created for each branch 13.
  • the centre 14 of a branch sphere 12 is equal to the position ofthe voxel ofthe branch wave so that the branch sphere 12 is just separated from the centre sphere 10.
  • the radius ofthe branch sphere 12 is derived from the distance transform ofthe centre voxel ofthe branch sphere 12. Travelling along and checking each voxel ofthe branch wave yields the first voxel which fulfils these conditions.
  • one branch plane 15 and one centre plane 16 is created for each branch 13.
  • the branch plane 15 is defined by the centre 14 ofthe branch sphere 12 and the normal 17 which is given by the direction ofthe connection line from the centre 14 ofthe branch sphere 12 to the centre 11 ofthe centre sphere 10.
  • the position ofthe corresponding centre plane 16 is determined by the intersection ofthe centre sphere 10 and this connection line 17. Its normal is equal to the normal ofthe branch plane 15 multiplied with -1.
  • centre sphere 10 and branch spheres 12 overlap.
  • the radius ofthe first branch sphere 12 is multiplied with minus one to indicate this condition. Indeed, if the centre of a branch sphere 12 is inside one ofthe centre spheres 10 of a branch between two bifurcations, all voxels ofthe branch 13 are inside the two bifurcations.
  • the vessel voxels get their final label.
  • Starting point is the original segmented voxel volume with only tissue and original vessel voxels and the node geometry generated in step S4.
  • the original vessel voxels in a region are labelled by a similar twin wave algorithm as is used for component selection as described above. The difference is that the original vessel voxels should not only be face connected, via vessel voxels, to the initial voxel, but should also fulfil constraints depending on the region currently processed.
  • the voxels in the branch regions 19 ofthe tubular stmcture get the label of their branch 13, i.e. ofthe corresponding branch list.
  • a simplified 2D example of a branch region 13 is given in Fig. 11.
  • the initial voxel for the twin wave algorithm is the centre voxel 14 ofthe branch sphere 12.
  • the additional constraints are:
  • the distance ofthe original vessel voxel to the centre 14 ofthe branch sphere 12 should be less than or equal to twice the radius ofthe branch sphere 12.
  • the original vessel voxel should reside between the branch planel5 and the centre plane 16.
  • the first constraint prevents unrestricted growth ofthe labelled area of a side branch 13 in case the centre sphere 10 is so small that the centre plane 16 for this side branchl3 does not intersect this branch 13 (as to the left ofthe right vertical vessel boundaries in Fig. 11).
  • a large number of original vessel voxels ofthe main branch 13', fulfilling the second constraint are face connected to the centre voxel 14 ofthe branch sphere 12.
  • the voxels in the centre regions 10 ofthe tubular stmcture are labelled.
  • Each centre region 10 gets a unique label, different from all branch numbers and different from the labels assigned to the other centre regions and the branch lists.
  • the initial voxel for the twin wave algorithm is the centre voxel 11 ofthe node.
  • the additional constraints are: 1. The distance ofthe original vessel voxel to the centre 11 ofthe centre sphere 10 should be less than or equal to the radius ofthe centre sphere 10 plus the maximum ofthe branch radii ofthe current node.
  • the original vessel voxel should reside inside the "enclosure" ofthe branch planes 15 ofthe node.
  • the distance ofthe original vessel voxel to the position ofthe current node should be less than or equal to all distances ofthe original vessel voxel to the positions of the neighbour nodes.
  • the original vessel voxels ofthe centre regions 10 are separated from the remaining original vessel voxels in the branches 13 by the already labelled vessel voxels. But when a branch region 19 is skipped because its branch radius is negative or when the distance between the branch plane 15 and centre plane 16 is very small, the original vessel voxels ofthe centre region 10 are face connected to the original vessel voxels ofthe branch 13.
  • the first two constraints prevent unrestricted growth ofthe labelled area in these cases.
  • the third constraint separates the voxels ofthe current centre region from the voxels ofthe centre regions of neighbour nodes in case of overlapping centre regions.
  • the voxels ofthe branches 13 between two branch regions 19 ofthe tubular structure are labelled and get the label ofthe corresponding branch list.
  • the original vessel voxels ofthe branch wave are used as initial voxels. But using one original vessel voxel ofthe branch wave as initial voxel for the twin algorithm will normally result in labelling of most other original vessel voxels ofthe branch wave. So, only one or two vessel voxels ofthe branch wave will really be used as initial voxel.
  • the new method for fully-automatic branch labelling of voxels in vessel structures gives better results than the wave propagation method.
  • the wave propagation step deteriorates in case of wide short branches (for example an aneurysm), producing spurious extremities.
  • the elapsed time for the wave propagation steps depends on the number of components.
  • the elapsed time for the peeling step depends on the number of vessel voxels in the original segmented volume.
  • the elapsed time for the last three steps is negligible compared with the time taken by the first two steps. 5.
  • the method according to the invention results also in a set of directed graphs, one for each component, which facilitates fully-automatic vessel tracing from one node - an extremity or bifurcation ofthe vessel stmcture - to another node ofthe same graph.

Abstract

The invention relates to a method of analysing an object data set in which a tubular structure having a plurality of branches and bifurcations occurs, wherein said object data set assigns data values to positions in a multi-dimensional space, which data values relate to an object to be examined. In order to improve accuracy when applying the invention particularly for fully-automated vessel tracing, particularly in the vessel structure of the brain of a patient, the following steps are proposed according to the invention: finding the extremities of the branches of said tubular structure, forming a skeleton of branches and bifurcations by a peeling step, forming directional graphs for the branches of said skeleton between two neighbouring bifurcations or between a bifurcation and an extremity based on said skeleton, assigning a label to the positions along the directional graphs, wherein for each branch of each directional graph aunique label is selected, determining the geometry of the branches and bifurcations of said tubular structure so that positions can be classified as belonging to either a bifurcation or a branch, andassigning a final label to the positions along the branches and of the bifurcations of said tubular structure, wherein for each branch and each bifurcation a unique label is selected.

Description

Method for automatic branch labelling
The present invention relates to a method of analysing an object data set in which a tubular structure having a plurality of branches and bifurcations occurs, wherein said object data set assigns data values to positions in a multi-dimensional space, which data values relate to an object to be examined. The invention relates further to a corresponding apparatus and computer program.
Nowadays, it is possible to acquire volume representations of the brain which show a clear distinction in grey values between tissue and vessel voxels. Shape extraction, such as measuring a vessel's cross-sectional area, is done by interactively positioning and orienting a plane. The intersection of this plane with the volume gives a 2D image of grey values in which the vessel pixels have a different grey value than the tissue pixels. After selection of the proper object the cross-sectional area can be measured, for example by counting the number of non-black pixels. The plane should be oriented so that it is orthogonal to the vessel whose shape has to be measured. An oblique plane would give the wrong cross-sectional area. Unfortunately, interactively orienting the plane orthogonally to the vessel is a time-consuming and error-prone task. In J. Bruijns "Semi-Automatic Shape Extraction from Tube-like Geometry", Proceedings Vision Modeling and Visualization 2000, Saarbruecken, Germany, pp. 347-355, November 2000 a new tool, the self-adjusting probe, was introduced. A probe is a combination of a sphere and a plane through the centre of the sphere. After the probe has interactively been placed on a vessel in the neighbourhood of the desired position, the probe automatically adjusts itself so that its plane is orthogonal to the vessel and the centre of its sphere is on the central axis of the vessel. The ellipse radii of the vessel are also estimated. When the probe is aligned, it can be moved along the vessel in the direction of the plane normal. The probe aligns itself again after each step. It is therefore possible to let the probe follow the vessel automatically until the probe detects for example the end of a vessel or the beginning of an aneurysm.
Currently, the self-adjusting probe extracts shapes from a 3D triangle surface model, created for example by a known marching cube algorithm. However, if two vessel branches are close together, it is possible that surface vertices of the neighbour vessel branch are included in the set of selected surface vertices which are used to extract the local shape of the vessel branch investigated. These erroneously included surface vertices deteriorate the accuracy of the estimated shape.
It is therefore the object of the present invention to provide a method of analysing an object data set having an improved accuracy.
This object is achieved by a method as claimed in claim 1, comprising the steps of:
- finding the extremities of the branches of said tubular structure,
- forming a skeleton of branches and bifurcations by a peeling step, - forming directional graphs for the branches of said skeleton between two neighbouring bifurcations or between a bifurcation and an extremity based on said skeleton,
- assigning a label to the positions along the directional graphs, wherein for each branch of each directional graph a unique label is selected, - determining the geometry of the branches and bifurcations of said tubular structure so that positions can be classified as belonging to either a bifurcation or a branch, and
- assigning a final label to the positions along the branches and of the bifurcations of said tubular structure, wherein for each branch and each bifurcation a unique label is selected.
The invention is based on the idea to give the vessel voxels, and from these, the surface vertices, a unique label per vessel branch of said tubular structure. Now, vertices of neighbour vessel branches can be excluded because their label is different. This new method results also in a set of directed graphs - one for each component - which facilitates fully automatic vessel tracing from one node, i.e. an extremity or bifurcation ofthe vessel structure, to another node of the same graph.
The fully-automatic branch labelling method according to the invention consists of five steps. Starting point is a segmented voxel volume without tissue inclusions. The elements of this segmented voxel volume are for example signed bytes, with a 0 for a tissue and a 1 for a vessel voxel. This makes it possible to assign different labels to vessel voxels during these steps. Vessel voxels with a label 1 are called original vessel voxels. Tissue voxels are never changed. The final outcome is a segmented voxel volume in which almost all vessel voxels have a label indicating to which bifurcation or branch they belong and a set of directed graphs describing the topology ofthe vessels.
In a first step, the extremities ofthe voxel vessel structures are searched, preferably by applying a wave propagation method, as e.g. described in Zahlten et al., "Reconstruction of Branching Blood Vessels From CD-Data", Proceedings ofthe Eurographics Workshop on Visualization in Scientific Computing, Rostock, June 1994. In a second step, the segmented voxel volume with the extremities indicated by a special label is peeled in a number of iterations. The resulting skeleton of branches and bifurcations is a good approximation ofthe centre structure ofthe vessels. In a third step, the graphs are created. Starting point is the peeled segmented voxel volume with the bifurcation and extremity voxels indicated by special labels. A directed graph is generated for each connected set of vessel voxels in the peeled segmented voxel volume. This graph contains one node for each extremity and one node for each bifurcation voxel. The vessel voxel strings between adjacent nodes are stored in branch lists. Each branch list gets a unique number. The voxels of a branch list get this number as label. In a fourth step, node geometry is generated. Node geometry contains the position and the shape ofthe centre region ofthe bifurcation of said tubular structure and the position and the shape of its branch regions. In a fifth step the vessel voxels get their final label. First, the voxels in the branch regions of said tubular structure get the label ofthe corresponding branch list. Next, the voxels in the centre regions of said tubular structure get a label which is different from the labels ofthe other centre regions and different from the labels ofthe branch lists. Finally, the voxels ofthe branches between two adjacent branch regions of said tubular structure get the label ofthe corresponding branch list. After the vessel voxels are labelled, a modified marching cube algorithm is applied which generates the surface vertices including the label of their neighbouring vessel voxel.
Preferred embodiments ofthe invention are defined in the dependent claims. An apparatus for analysing an object data set is defined in claim 8. Claim 9 defines a computer program for implementing the method according to the invention. According to a preferred embodiment the label ofthe corresponding branch is assigned as final label to the positions along the branches. Mainly only for bifurcations new final labels have to be selected.
According to another embodiment the geometry ofthe branches and the bifurcations is determined on the basis of branch spheres and bifurcation spheres resulting in the position and shape ofthe bifurcations and adjacent branch regions. Thus, voxels in all regions of branches and bifurcations can correctly be labelled thus improving accuracy ofthe whole method.
Preferably, the branch spheres and bifurcation spheres for branches and adjacent bifurcations are arranged such that the radius of these spheres corresponds to the diameter ofthe corresponding branch or bifurcation, respectively. Further, the radius of a branch sphere or a bifurcation sphere is derived from the distance transform ofthe centre position of this sphere. Thus, voxels or bifurcation can be distinguished from branch voxels which is required for correct labelling of voxels in a subsequent step.
The invention is generally applicable for analysis of a multi-dimensional object data set of a tubular object having a plurality of branches and bifurcations, such as lung structures or vessel trees. The object data set can be acquired, for example, by means of various techniques such as magnetic resonance angiography, computed tomography or 3D rotational X-ray angiography. Techniques of this kind produce an object data set with data values representing the structure of (a part of) the vascular system of the patient to be examined. The invention will now be explained in more detail with reference to the drawings, in which
Figure 1 shows a flow chart ofthe method according to the invention, Figure 2 shows a pixel map of a segmented voxel volume,
Figure 3 illustrates wave propagation, Figure 4 illustrates splitting of waves, Figure 5 shows trial waves according to the invention, Figure 6 shows the segmented voxel volume with extremities indicated, Figure 7 shows a peeled segmented volume with extremity and bifurcation voxels indicated,
Figure 8 shows directional graphs obtained from the peeled segmented volume,
Figure 9 illustrates the determination of note geometry, Figure 10 shows centre and branch spheres along the directional graphs,
Figure 11 illustrates the labelling of voxels and Figure 12 shows a labelled segmented volume.
Fig. 1 shows a flow chart illustrating the steps ofthe method according to the invention. These steps will further be explained with reference to the subsequent figures, hi the first step SI the wave propagation method is applied to a segmented voxel volume of a tubular structure, in this particular example of a vessel structure of a patient, as exemplary shown in Fig. 2. Conventionally wave propagation is used to label the grey value voxel volume and to generate the corresponding vessel graph. However, wave propagation is not accurate enough at the bifurcations since the incoming waves continue too long at the bifurcations. According to the invention wave propagation is used to generate the extremities ofthe vessel voxel structures. If the current wave is at the far end of a branch, one ofthe voxels ofthe current wave is selected for inclusion in the set of extremities. The labels assigned during the wave propagation step are ignored. The starting points are generated automatically. Selection by the user is too time- consuming because the segmented voxel volumes generally contain a lot of vessel graphs. These starting points are included in the set of extremities.
A wave, with a branch number greater than 1, is a list of voxel descriptions. A voxel description contains a label with the value the voxel had when the description was created (except for trial waves discussed later), the memory address of the voxel, giving fast access to the current value ofthe voxel and its index (ix, iy, iz). Starting with a single seed voxel as initial wave, a new wave with the same branch number is created by generating voxel descriptions for all corner neighbour vessel voxels, i.e. a voxel which shares at least one corner with the voxel examined, ofthe current wave which were not yet member of any wave. Whether a voxel was already member of a wave can be deduced from the current value ofthe voxel in the segmented voxel volume because voxels which are included in a wave get the branch number ofthe current wave. Next, the current wave is deleted and the new wave becomes the current wave. If the voxels ofthe current wave are not corner connected, the wave is split in two or more new waves with each a new unique branch number. These new branch numbers are also assigned to the voxels ofthe split waves. Splitting will occur when a wave travels through a bifurcation ofthe vessel voxel structures. The wave propagation method is applied to each ofthe new wave fragments. The process is finished when all new waves are empty. The wave propagation method in general is explained in detail in the above mentioned article of Zahlten et al. In this article the generation of three waves is shown in Figure 3 which is also included herein as Fig. 3. Fig. 3 A shows the initial wave consisting of a single seed voxel (the dark cross). Fig. 3B shows the new wave consisting ofthe corner neighbour voxels (the five dark crosses) with the voxel ofthe initial wave marked by a filled circle. Figs. 3C and 3D show the waves generated from the corner neighbour voxels ofthe wave of Fig. 3B respectively. Fig. 3D shows the splitting of a wave. .
As already mentioned, wave propagation is preferably used - other method are also possible - to find the extremities ofthe voxel structures. Extremities are found when the new wave is empty. However, in case of a noisy surface the wave will be split in many sub-waves just before the end of a branch is reached. This yields many unwanted extremities. In the example of Fig. 4 there are three waves shown. The first wave contains the voxels labelled 1, the second wave the voxels labelled 2 and the third wave the voxels labelled 3. The voxels ofthe third wave are not corner connected. So, this wave is split in three new waves. Because these three wave fragments do not have successors, three extremities are generated.
Double waves solve this problem. The waves described in the previous paragraphs are called single waves in the following. A double wave contains old voxels, already present in the previous double wave, and new voxels, which are the corner neighbour vessel voxels of these old voxels. When from such a double wave a new double wave is created, the new voxels ofthe old double wave are copied to the new double wave as old voxels. Next, the comer neighbour vessel voxels ofthe old voxels ofthe new double wave are added as new voxels. The old voxels of a new double wave are also used to test whether the new voxels of this new double wave are comer connected. The new double wave is considered empty if it contains only old voxels. In the example of Fig.4 there are three double waves. The first wave contains the voxels labelled 1 as old and the voxels labelled 2 as new voxels. The second wave contains the voxels labelled 2 as old and the voxels labelled 3 as new voxels. The third wave contains the voxels labelled 3 as old and no new voxels. The new voxels ofthe second double wave are comer connected to each other via the old voxels of this wave. So, this second double wave is not split as was the case for the third single wave. The third double wave contains only old voxels. Hence, this wave is considered empty and the extremity is derived from all voxels ofthe second double wave, giving only one extremity for this branch end. In the following sections, the waves for wave propagation (except the special waves) are double waves.
Wave propagation is based on corner neighbours. But peeling, graph generation, generation of node geometry and final labelling are based on face neighbours, i.e. a voxel which shares a face with the voxel examined. Indeed, each voxel has 26 comer neighbours and 6 face neighbours. So, using face neighbours instead of corner neighbours saves a significant amount of computing time. Even more important, corner neighbours may yield much more unwanted connections between parallel neighbour vessels. Therefore, before wave propagation is started for a new seed voxel, the original vessel voxels which are face connected, via vessel voxels, to this seed voxel, are labelled as component voxels. The seed voxel itself is also labelled as component voxel.
These face connected original vessel voxels are labelled by the following twin wave algorithm: Two empty waves are created. The first wave is filled with a voxel description ofthe seed voxel. The seed voxel is labelled as a component voxel. The second wave is filled with voxel descriptions of those original vessel voxels which are face neighbours ofthe voxels ofthe first wave. The corresponding voxels are labelled as component voxels. This process is repeated, changing each time the role of the first and second wave, until no original vessel voxels, face connected to the voxels ofthe current wave are found. The normal wave propagation can now be applied on the component voxels. Vessel voxels which are comer but not face connected to a voxel of this component are now ignored because they do not have the component label.
Wave propagation yields the best results, if the waves travel from wider to narrower vessels. Because wave propagation is used to find the extremities ofthe vessel structures, seed voxels should be in the neighbourhood of these extremities. Fortunately, very often the large dominant vessel structures start on the boundaries of the volume with their widest vessels. The centre voxels ofthe widest vessel can be found by means ofthe distance transform. The distance transform of a vessel voxel is an indicator for the length ofthe shortest path of face connected vessel voxels to a voxel of a vessel boundary.
It is possible that a local maximum in the distance transform is shared by a number of face neighbour vessel voxels in the same boundary volume slice. So, it is not safe to look for the vessel voxel with a distance transform greater than the distance transform of its face neighbours. Therefore, all voxels in the six boundary volume slices with a distance transform greater than or equal to the distance transform of its face neighbours are stored in a special wave, the so-called seed wave, by means of an insertion sort on the basis of their distance transforms. The insertion sort makes that the seed voxel with the highest distance transform is the first voxel description in the seed wave.
When a voxel is included in the seed wave, the distance transform of its face neighbour vessel voxels is decreased. This prevents that many vessel voxels with the same distance transform as their face neighbours are included in the seed wave. Starting with (and removing) the first voxel description ofthe seed wave, the wave propagation algorithm including the component selection is carried out. Many voxels of the seed wave will be altered because they belong to the same vessel component. So, skipping and removing the first voxel descriptions ofthe seed wave from which the corresponding voxels have already been changed, the wave propagation algorithm including the component selection is carried out for all first voxel descriptions ofthe seed wave from which the corresponding voxels are not yet processed, until the seed wave is empty.
Many components do not start or end on a boundary ofthe volume. Scanning the segmented voxel volume for not yet processed voxels, will not always result in a seed voxel in the neighbourhood ofthe extremities of a component. But, by sending trial waves from the start voxel found by scanning, the extremities will be found as shown in Fig.5. Therein the volume boundary is indicated by 5, the volume scan direction by 6, the left trial path by 7 and the right trial path by 8. The extremities 4 of the trial wave propagation pass are stored in the seed wave instead of in the set of extremities.
Waves do not only have a branch number but also a serial number. This serial number is increased every time a new wave is created from an old wave. The voxel descriptions ofthe extremity voxels ofthe trial waves get the serial number ofthe trial wave as label (not the current value of the extremity voxel as is normally the case). Because the seed wave is filled by means of an insertion sort, the extremity voxel ofthe trial wave with the highest serial number will be used as seed voxel for a normal wave propagation pass. The trial waves get a special branch number, not used in case of a normal wave propagation pass. So, after the seed voxels are found, the voxels ofthe component can be reset to their original value. The trial wave propagation pass is alternated with the normal wave propagation pass until all interior components have been processed.
The result ofthe wave propagation step SI is a segmented volume with extremity voxels as shown in Fig. 6 where the extremities are indicated as darker spots 9.
In the second step S2, the segmented voxel volume is peeled in a number of iterations by an algorithm similar to that described by Dokladal et al. "A new thinning algorithm and its application to extraction of blood vessels", conference proceedings, BioMedSim '99, ESIEE, April 1999, France. The resulting skeleton of branches and bifurcations shown in Fig. 7 is a faithful approximation ofthe centre structure ofthe vessels: the branches are close to the core lines ofthe vessel branches and the skeleton bifurcations are close to the centres ofthe vessel bifurcations.
There are many algorithms to create such a skeleton. In the following one particular algorithm shall be explained, which may, however, be replaced by another algorithm as long as the resulting skeleton is a faithful approximation ofthe centre structure ofthe vessels.
Starting point is the original segmented voxel volume with the extremity voxels indicated by a special label, the darker spots 9 in Fig. 6. Each iteration creates first a skin layer by labelling the current boundary voxels except the extremity voxels. Each voxel has at most six face neighbours. An original vessel voxel with label one is a boundary voxel if and only if one of these neighbours is not a voxel with a positive label. The label of a boundary is increased with the number of face neighbours with a zero or negative label (boundary voxels removed in a previous iteration).
Checking and removing (if the local topology does not change) all boundary voxels ofthe current skin layer before creating, checking and removing the boundary voxels ofthe next inner skin layer, guarantees that the remaining set of voxels approximates the core lines ofthe vessel graphs. After peeling is finished, bifurcation voxels are marked by a special label. Bifurcation voxels are voxels with more than two positive neighbours in the peeled segmented voxel volume shown in Fig. 7. The boundary voxels ofthe current skin layer are checked and possibly removed in order of their label. The volume is traversed from the lower left front comer to the upper right back comer, looking for boundary voxels with the current label. Boundary voxels with exactly one vessel voxel as face neighbour are always removed. Boundary voxels with at least two and at most four vessel voxels as face neighbours are removed unless the local topology changes by removing this voxel. Boundary voxels with exactly five vessel voxels as face neighbour are never removed because removing such a boundary voxel causes a local con-cavity. If a boundary voxel is removed, the labels of its face neighbour boundary voxels are adjusted. Face neighbours with a label greater than or equal to the label ofthe boundary voxel removed, are immediately processed in decreasing order of their new label before normal scanning from the lower left front comer to the upper right back corner continues.
The topology checks are performed by looking at the comer neighbours ofthe boundary voxel tested. To this end a cube of 3 by 3 by 3 cells is filled with zero's. The centre cell corresponds to the boundary voxel checked. The other cells correspond to its corner neighbours. A cell is set to one if the corresponding comer neighbour has a positive label. It is possible that some of these cells are equal to one although the corresponding comer neighbour vessel voxel is not face connected, via vessel voxels, to the boundary voxel examined. This can happen when two components are comer but not face connected to each other. These cells are reset to zero. First, resetting the centre cell to zero, should not result in two disjunct face connected sets of positive cells. Secondly, resetting the centre cell to zero, should not decrease the number of face or the number of comer connected sets of zero cells. If one of these two complementary checks fails, the boundary voxel examined should not be removed. hi the third step S3, the graphs for the branches of said skeleton are created. Starting point is the peeled segmented voxel volume as shown in Fig. 7 with the bifurcation voxels indicated by a special label together with the extremities, stored in a special wave by the wave propagation step. A directed graph is generated for each face connected set of positive vessel voxels in the peeled segmented voxel volume. This graph contains one node for each extremity voxel and one node for each bifurcation voxel. A wave is created and stored in this graph for each branch between two nodes. This special wave consists of a list, i.e. a branch list, of voxel descriptions for the face connected positive vessel voxels between these two nodes. Each branch list gets a unique number. The voxels of a branch wave (branch list) get this number as special unique label. An example ofthe resulting segmented voxel volume is shown in Fig. 8. The generated graphs facilitate not only fully-automatic vessel tracing from one node to another node, but are also required to label short branches correctly, h this last case, information about the bifurcation structure, especially its size, at one end ofthe branch is needed for labelling voxels at the other end ofthe branch. The generated graphs contain this neighbour information.
A graph contains amongst other things the number of branches in the graph, the number of nodes in the graph, a pointer to the list of its branch waves and two pointers, one to the first node and one to the last node ofthe list of nodes ofthe graph. A node contains amongst other things a voxel description for the corresponding extremity or bifurcation voxel (called the centre voxel ofthe node in the following) and the number of branches in this node. The number of branches should be either equal to one or greater than two and less than or equal to six. If the number of branches is equal to one, the node corresponds to an extremity ofthe vessel structure. Two branches at a node is not possible because nodes are created either for an extremity or a bifurcation. A bifurcation voxel is a voxel with at least three and at most six positive face neighbours.
A node contains for each branch amongst other things a pointer to the corresponding branch wave, a direction number indicating whether the head or the tail of this branch wave is connected to this node and a pointer to the node at the other end of this branch wave. The pointers to other nodes represent the graph structure. The branch waves make it possible to travel from one node to another node going from one voxel to the next voxel ofthe branch wave.
It should be noted that whether a branch of a node is incoming or outgoing does not imply direction of blood flow at that node. The graphs are generated by scanning the list of extremities. It is easy to detect whether an extremity is already part of a graph because during the generation of the graph, the voxels visited are made negative. For each positive extremity voxel a node is generated and filled. For each positive face neighbour ofthe centre voxel of a node a branch wave is generated and filled with the face connected positive vessel voxels until a positive extremity or bifurcation voxel is encountered. A node is generated for the closing extremity or bifurcation voxel and the branch information in the two nodes is updated. The algorithm continues with tracing the branches ofthe new node. hi case of cycles in the vessel structures, a node may already exist for the closing bifurcation voxel. If so, the bifurcation voxel is negative. Therefore, if no positive extremity or bifurcation voxel is found at the end of a branch wave, the face neighbours ofthe last positive voxel are inspected for a negative bifurcation voxel. The corresponding node is used to close the branch. Correct labelling of voxels requires that voxels of a bifurcation can be distinguished from branch voxels. To this end node geometry ofthe branches and bifurcations ofthe tubular stmcture is generated in step S4 as shown in Fig. 9 so that positions can be classified as belonging to either a bifurcation or a branch, hi this step the vessel boundary is indicated by 18. Node geometry contains the position and the shape ofthe centre region ofthe bifurcation and the position and the shape of its branch regions. First, a centre sphere 10 is created. The position ofthe bifurcation voxel is used as centre 11 ofthe centre sphere 10. The radius (in voxels) ofthe centre sphere is derived from the distance transform ofthe bifurcation voxel.
Next, a branch sphere 12 is created for each branch 13. The centre 14 of a branch sphere 12 is equal to the position ofthe voxel ofthe branch wave so that the branch sphere 12 is just separated from the centre sphere 10. The radius ofthe branch sphere 12 is derived from the distance transform ofthe centre voxel ofthe branch sphere 12. Travelling along and checking each voxel ofthe branch wave yields the first voxel which fulfils these conditions. Finally, one branch plane 15 and one centre plane 16 is created for each branch 13. The branch plane 15 is defined by the centre 14 ofthe branch sphere 12 and the normal 17 which is given by the direction ofthe connection line from the centre 14 ofthe branch sphere 12 to the centre 11 ofthe centre sphere 10. The position ofthe corresponding centre plane 16 is determined by the intersection ofthe centre sphere 10 and this connection line 17. Its normal is equal to the normal ofthe branch plane 15 multiplied with -1.
If the distance in voxels along the connecting branch wave between two bifurcation voxels or between a bifurcation and extremity voxel is small compared with the radii ofthe centre spheres, centre sphere 10 and branch spheres 12 overlap.
Identifying the entities at one end with "first" and at the other end with "second", the following cases can be distinguished:
1. If all voxels of a branch wave are inside the first centre sphere 10, the position of the last voxel is used as centre ofthe first branch sphere 12. The radius of this branch sphere 12 is in this case multiplied with minus one to indicate this condition.
2. If some ofthe voxels of this branch wave are outside the first centre sphere 10, but the first branch sphere 12 overlaps the first centre sphere 10 even for the last voxel ofthe branch wave, this last voxel is used as centre ofthe first branch sphere 12. This overlap does not harm the final labelling because only the voxels between the branch plane 15 and the corresponding centre plane 16 are members ofthe branch region.
3. If the second node ofthe branch is a bifurcation and if the centre ofthe first branch sphere 12 is inside the second centre sphere, the radius ofthe first branch sphere 12 is multiplied with minus one to indicate this condition. Indeed, if the centre of a branch sphere 12 is inside one ofthe centre spheres 10 of a branch between two bifurcations, all voxels ofthe branch 13 are inside the two bifurcations.
It should be noted that if the node at the other end ofthe branch 13 is an extremity, all voxels outside the bifurcation including the voxels in the neighbourhood ofthe extremity are labelled as branch voxels. So, in this case it is not necessary to test whether the centre ofthe branch sphere 12 ofthe bifurcation is inside the centre sphere ofthe extremity.
The branch and centre spheres are shown in Fig. 10. As is clear from this figure, centre spheres are also generated for the extremities. The occasional overlap of spheres is also shown in this figure.
In the fifth step S5, the vessel voxels get their final label. Starting point is the original segmented voxel volume with only tissue and original vessel voxels and the node geometry generated in step S4. The original vessel voxels in a region are labelled by a similar twin wave algorithm as is used for component selection as described above. The difference is that the original vessel voxels should not only be face connected, via vessel voxels, to the initial voxel, but should also fulfil constraints depending on the region currently processed.
First, the voxels in the branch regions 19 ofthe tubular stmcture get the label of their branch 13, i.e. ofthe corresponding branch list. A simplified 2D example of a branch region 13 is given in Fig. 11. The initial voxel for the twin wave algorithm is the centre voxel 14 ofthe branch sphere 12. The additional constraints are:
1. The distance ofthe original vessel voxel to the centre 14 ofthe branch sphere 12 should be less than or equal to twice the radius ofthe branch sphere 12.
2. The original vessel voxel should reside between the branch planel5 and the centre plane 16. The first constraint prevents unrestricted growth ofthe labelled area of a side branch 13 in case the centre sphere 10 is so small that the centre plane 16 for this side branchl3 does not intersect this branch 13 (as to the left ofthe right vertical vessel boundaries in Fig. 11). In this case a large number of original vessel voxels ofthe main branch 13', fulfilling the second constraint, are face connected to the centre voxel 14 ofthe branch sphere 12.
After the voxels in the branch regions 19 are labelled, the voxels in the centre regions 10 ofthe tubular stmcture are labelled. Each centre region 10 gets a unique label, different from all branch numbers and different from the labels assigned to the other centre regions and the branch lists. The initial voxel for the twin wave algorithm is the centre voxel 11 ofthe node. The additional constraints are: 1. The distance ofthe original vessel voxel to the centre 11 ofthe centre sphere 10 should be less than or equal to the radius ofthe centre sphere 10 plus the maximum ofthe branch radii ofthe current node.
2. The original vessel voxel should reside inside the "enclosure" ofthe branch planes 15 ofthe node.
3. The distance ofthe original vessel voxel to the position ofthe current node should be less than or equal to all distances ofthe original vessel voxel to the positions of the neighbour nodes.
After labelling the original vessel voxels in the branch regions 19, the original vessel voxels ofthe centre regions 10 are separated from the remaining original vessel voxels in the branches 13 by the already labelled vessel voxels. But when a branch region 19 is skipped because its branch radius is negative or when the distance between the branch plane 15 and centre plane 16 is very small, the original vessel voxels ofthe centre region 10 are face connected to the original vessel voxels ofthe branch 13. The first two constraints prevent unrestricted growth ofthe labelled area in these cases. The third constraint separates the voxels ofthe current centre region from the voxels ofthe centre regions of neighbour nodes in case of overlapping centre regions.
After the voxels in the centre regions 10 are labelled, the voxels ofthe branches 13 between two branch regions 19 ofthe tubular structure are labelled and get the label ofthe corresponding branch list. The original vessel voxels ofthe branch wave are used as initial voxels. But using one original vessel voxel ofthe branch wave as initial voxel for the twin algorithm will normally result in labelling of most other original vessel voxels ofthe branch wave. So, only one or two vessel voxels ofthe branch wave will really be used as initial voxel.
Because the remaining original vessel voxels of a branch are separated from the original vessel voxels in other branches by the labelled voxels ofthe centre regions, no additional constraints are necessary to prevent unrestricted growth ofthe labelled area. A labelled segmented volume is shown in Fig. 12. The following conclusions can be drawn when applying the method according to the invention:
1. The new method for fully-automatic branch labelling of voxels in vessel structures gives better results than the wave propagation method. 2. The wave propagation step deteriorates in case of wide short branches (for example an aneurysm), producing spurious extremities.
3. The quality depends on the smoothness ofthe surfaces ofthe voxel structures. A very noisy surface results in many short branches. Smoothing the voxel volume can remove these short branches. However, finding the correct smoothing factor may still require human interaction.
4. The elapsed time for the wave propagation steps depends on the number of components. The elapsed time for the peeling step depends on the number of vessel voxels in the original segmented volume. The elapsed time for the last three steps is negligible compared with the time taken by the first two steps. 5. The method according to the invention results also in a set of directed graphs, one for each component, which facilitates fully-automatic vessel tracing from one node - an extremity or bifurcation ofthe vessel stmcture - to another node ofthe same graph.

Claims

CLAIMS:
1. Method of analysing an obj ect data set in which a tubular structure having a plurality of branches and bifurcations occurs, wherein said object data set assigns data values to positions in a multi-dimensional space, which data values relate to an object to be examined, said method comprising the steps of: - finding the extremities ofthe branches of said tubular stmcture,
- forming a skeleton of branches and bifurcations by a peeling step,
- forming directional graphs for the branches of said skeleton between two neighbouring bifurcations or between a bifurcation and an extremity based on said skeleton, - assigning a label to the positions along the directional graphs, wherein for each branch of each directional graph a unique label is selected,
- determining the geometry ofthe branches and bifurcations of said tubular structure so that positions can be classified as belonging to either a bifurcation or a branch, and - assigning a final label to the positions along the branches and of the bifurcations of said tubular structure, wherein for each branch and each bifurcation a unique label is selected.
2. Method according to claim 1, wherein as final label to the positions along the branches the label ofthe corresponding branch is assigned.
3. Method according to claim 1, wherein the geometry ofthe branches and the bifurcations is determined on the basis of branch spheres and bifurcation spheres resulting in the position and shape ofthe bifurcations and adjacent branch regions.
4. Method according to claim 3, wherein the branch spheres and bifurcation spheres for branches and adjacent bifurcations are arranged such that the radius ofthe spheres corresponds to the diameter ofthe corresponding branch or bifurcation, respectively.
5. Method according to claim 3, wherein the radius of a branch sphere or a bifurcation sphere is derived from the distance transform ofthe centre position ofthe sphere.
6. Method according to claim 1, wherein said object data set is a 3D object data set of a segmented voxel volume, in particular ofthe vessel structure ofthe brain of a patient.
7. Method according to claim 6, wherein said method is used for fully- automated vessel tracing.
8. Apparatus for analysing an object data set in which a tubular stmcture having a plurality of branches and bifurcations occurs, wherein said object data set assigns data values to positions in a multi-dimensional space, which data values relate to an object to be examined, said apparatus comprising:
- means for finding the extremities ofthe branches of said tubular stmcture, - means for forming a skeleton of branches and bifurcations by a peeling step,
- means for forming directional graphs for the branches of said skeleton between two neighbouring bifurcations or between a bifurcation and an extremity based on said skeleton,
- means for assigning a label to the positions along the directional graphs, wherein for each branch of each directional graph a unique label is selected,
- means for determining the geometry ofthe branches and bifurcations of said tubular stmcture so that positions can be classified as belonging to either a bifurcation or a branch, and - means for assigning a final label to the positions along the branches and ofthe bifurcations of said tubular stmcture, wherein for each branch and each bifurcation a unique label is selected.
9. Computer program for analysing an object data set in which a tubular structure having a plurality of branches and bifurcations occurs, wherein said object data set assigns data values to positions in a multi-dimensional space, which data values relate to an object to be examined, said computer program comprising computer program code means for implementing the steps ofthe method as claimed in claim 1 when said computer program is run.
PCT/IB2002/004268 2001-10-16 2002-10-14 Method for automatic branch labelling WO2003034336A2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003536990A JP4248399B2 (en) 2001-10-16 2002-10-14 Automatic branch labeling method
US10/492,447 US7372983B2 (en) 2001-10-16 2002-10-14 Method for automatic branch labeling
EP02775088A EP1442427B1 (en) 2001-10-16 2002-10-14 Method for automatic branch labelling
DE60208431T DE60208431T2 (en) 2001-10-16 2002-10-14 METHOD FOR AUTOMATIC LABEL LABELING
AT02775088T ATE314703T1 (en) 2001-10-16 2002-10-14 METHOD FOR AUTOMATIC LABELING OF BRANCHES

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01203938.4 2001-10-16
EP01203938 2001-10-16

Publications (2)

Publication Number Publication Date
WO2003034336A2 true WO2003034336A2 (en) 2003-04-24
WO2003034336A3 WO2003034336A3 (en) 2003-11-20

Family

ID=8181085

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2002/004268 WO2003034336A2 (en) 2001-10-16 2002-10-14 Method for automatic branch labelling

Country Status (6)

Country Link
US (1) US7372983B2 (en)
EP (1) EP1442427B1 (en)
JP (1) JP4248399B2 (en)
AT (1) ATE314703T1 (en)
DE (1) DE60208431T2 (en)
WO (1) WO2003034336A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529639A (en) * 2005-02-11 2008-08-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Inspection apparatus, image processing device, method of inspecting target object with inspection apparatus, computer-readable medium, and program element
US8157742B2 (en) 2010-08-12 2012-04-17 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8200466B2 (en) 2008-07-21 2012-06-12 The Board Of Trustees Of The Leland Stanford Junior University Method for tuning patient-specific cardiovascular simulations
US8249815B2 (en) 2010-08-12 2012-08-21 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8548778B1 (en) 2012-05-14 2013-10-01 Heartflow, Inc. Method and system for providing information from a patient-specific model of blood flow
US10354050B2 (en) 2009-03-17 2019-07-16 The Board Of Trustees Of Leland Stanford Junior University Image processing method for determining patient-specific cardiovascular information

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050207630A1 (en) * 2002-02-15 2005-09-22 The Regents Of The University Of Michigan Technology Management Office Lung nodule detection and classification
US7457444B2 (en) * 2003-05-14 2008-11-25 Siemens Medical Solutions Usa, Inc. Method and apparatus for fast automatic centerline extraction for virtual endoscopy
US20080094389A1 (en) * 2004-05-18 2008-04-24 Koninklijke Philips Electronics, N.V. Image Processing System for Automatic Segmentation of a 3-D Tree-Like Tubular Surface of an Object, Using 3-D Deformable Mesh Models
US7583829B2 (en) * 2004-09-13 2009-09-01 Siemens Medical Solutions Usa, Inc. Method and apparatus for embolism analysis
DE102004048209B3 (en) * 2004-09-30 2005-09-01 Siemens Ag Generating three-dimensional image data record of moving object with x-ray tomography involves generating at least two preliminary 3D image data sets from corresponding raw images, deriving movement matrix, applying to target data record
US7532748B2 (en) * 2004-11-24 2009-05-12 General Electric Company Methods and apparatus for selecting and/or labeling vessel branches
EP1903944B1 (en) * 2005-06-24 2017-04-19 Volcano Corporation Co-registration of graphical image data representing three-dimensional vascular features
US7953262B2 (en) * 2007-02-05 2011-05-31 General Electric Company Vascular image extraction and labeling system and method
DE102007046701A1 (en) * 2007-09-28 2009-04-16 Siemens Ag Method for processing arteriographic image data, involves providing image data set obtained with help of medical diagnostic device, where image data set comprises display of artery
JP5597429B2 (en) * 2010-03-31 2014-10-01 富士フイルム株式会社 Medical image processing apparatus and method, and program
CN102243759B (en) * 2010-05-10 2014-05-07 东北大学 Three-dimensional lung vessel image segmentation method based on geometric deformation model
CN105701799B (en) * 2015-12-31 2018-10-30 东软集团股份有限公司 Divide pulmonary vascular method and apparatus from lung's mask image
GB201908440D0 (en) * 2019-06-12 2019-07-24 Brainomix Ltd Angiographic data analysis
JP6832479B1 (en) * 2020-04-10 2021-02-24 株式会社ヴォクシス Image processing method, image processing program, and image processing device that divides a solid by a narrow part of the shape.

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2591005B1 (en) * 1985-12-04 1988-01-08 Thomson Csf METHOD FOR IDENTIFYING A TREE STRUCTURE IN DIGITAL IMAGES AND ITS APPLICATION TO AN IMAGE PROCESSING DEVICE
FR2708166A1 (en) * 1993-07-22 1995-01-27 Philips Laboratoire Electroniq A method of processing digitized images for the automatic detection of stenoses.
US6047080A (en) * 1996-06-19 2000-04-04 Arch Development Corporation Method and apparatus for three-dimensional reconstruction of coronary vessels from angiographic images
US7194117B2 (en) * 1999-06-29 2007-03-20 The Research Foundation Of State University Of New York System and method for performing a three-dimensional virtual examination of objects, such as internal organs
US6148095A (en) * 1997-09-08 2000-11-14 University Of Iowa Research Foundation Apparatus and method for determining three-dimensional representations of tortuous vessels
GB9909966D0 (en) * 1999-04-29 1999-06-30 Torsana Diabetes Diagnostics A Analysis of fundus images
EP1272976A1 (en) * 2000-02-11 2003-01-08 THE GOVERNMENT OF THE UNITED STATES OF AMERICA, as represented by THE SECRETARY, DEPARTMENT OF HEALTH AND HUMAN SERVICES Vessel delineation in magnetic resonance angiographic images
US6482161B1 (en) * 2000-06-29 2002-11-19 Acuson Corporation Medical diagnostic ultrasound system and method for vessel structure analysis
AU2001296506A1 (en) * 2000-10-02 2002-04-15 The Research Foundation Of State University Of New York Centerline and tree branch skeleton determination for virtual objects
WO2002056240A1 (en) * 2000-11-22 2002-07-18 R2 Technology, Inc. Graphical user interface for display of anatomical information
US6718193B2 (en) * 2000-11-28 2004-04-06 Ge Medical Systems Global Technology Company, Llc Method and apparatus for analyzing vessels displayed as unfolded structures
US6845260B2 (en) * 2001-07-18 2005-01-18 Koninklijke Philips Electronics N.V. Automatic vessel indentification for angiographic screening

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
PUIG A ET AL: "Features detection and navigation on neurovascular trees" PATTERN RECOGNITION, 2000. PROCEEDINGS. 15TH INTERNATIONAL CONFERENCE ON SEPTEMBER 3-7, 2000, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 3 September 2000 (2000-09-03), pages 76-79, XP010533029 ISBN: 0-7695-0750-6 *
QUEK F K H ET AL: "VESSEL EXTRACTION IN MEDICAL IMAGES BY WAVE-PROPAGATION AND TRACEBACK" IEEE TRANSACTIONS ON MEDICAL IMAGING, IEEE INC. NEW YORK, US, vol. 20, no. 2, 1 February 2001 (2001-02-01), pages 117-131, XP001038899 ISSN: 0278-0062 *
SATO M ET AL: "TEASAR: tree-structure extraction algorithm for accurate and robust skeletons" COMPUTER GRAPHICS AND APPLICATIONS, 2000. PROCEEDINGS. THE EIGHTH PACIFIC CONFERENCE ON HONG KONG, CHINA 3-5 OCT. 2000, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 3 October 2000 (2000-10-03), pages 281-449, XP010523020 ISBN: 0-7695-0868-5 *
STEFANCIK R M ET AL: "HIGHLY AUTOMATED SEGMENTATION OF ARTERIAL AND VENOUS TREES FROM THREE-DIMENSIONAL MAGNETIC RESONANCE ANGIOGRAPHY (MRA)" INTERNATIONAL JOURNAL OF CARDIAC IMAGING, DORDRECHT, NL, vol. 17, no. 1, February 2001 (2001-02), pages 37-47, XP009000839 ISSN: 0167-9899 *

Cited By (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008529639A (en) * 2005-02-11 2008-08-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Inspection apparatus, image processing device, method of inspecting target object with inspection apparatus, computer-readable medium, and program element
US11107587B2 (en) 2008-07-21 2021-08-31 The Board Of Trustees Of The Leland Stanford Junior University Method for tuning patient-specific cardiovascular simulations
US8200466B2 (en) 2008-07-21 2012-06-12 The Board Of Trustees Of The Leland Stanford Junior University Method for tuning patient-specific cardiovascular simulations
US10354050B2 (en) 2009-03-17 2019-07-16 The Board Of Trustees Of Leland Stanford Junior University Image processing method for determining patient-specific cardiovascular information
US9743835B2 (en) 2010-08-12 2017-08-29 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US8315814B2 (en) 2010-08-12 2012-11-20 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8311750B2 (en) 2010-08-12 2012-11-13 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8315813B2 (en) 2010-08-12 2012-11-20 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8311748B2 (en) 2010-08-12 2012-11-13 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9801689B2 (en) 2010-08-12 2017-10-31 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8321150B2 (en) 2010-08-12 2012-11-27 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8386188B2 (en) 2010-08-12 2013-02-26 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8496594B2 (en) 2010-08-12 2013-07-30 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8523779B2 (en) 2010-08-12 2013-09-03 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US11793575B2 (en) 2010-08-12 2023-10-24 Heartflow, Inc. Method and system for image processing to determine blood flow
US8594950B2 (en) 2010-08-12 2013-11-26 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8606530B2 (en) 2010-08-12 2013-12-10 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8630812B2 (en) 2010-08-12 2014-01-14 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US11583340B2 (en) 2010-08-12 2023-02-21 Heartflow, Inc. Method and system for image processing to determine blood flow
US8734356B2 (en) 2010-08-12 2014-05-27 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8734357B2 (en) 2010-08-12 2014-05-27 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8812245B2 (en) 2010-08-12 2014-08-19 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8812246B2 (en) 2010-08-12 2014-08-19 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US11298187B2 (en) 2010-08-12 2022-04-12 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US11154361B2 (en) 2010-08-12 2021-10-26 Heartflow, Inc. Method and system for image processing to determine blood flow
US9078564B2 (en) 2010-08-12 2015-07-14 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9081882B2 (en) 2010-08-12 2015-07-14 HeartFlow, Inc Method and system for patient-specific modeling of blood flow
US9149197B2 (en) 2010-08-12 2015-10-06 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9152757B2 (en) 2010-08-12 2015-10-06 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9167974B2 (en) 2010-08-12 2015-10-27 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9226672B2 (en) 2010-08-12 2016-01-05 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9235679B2 (en) 2010-08-12 2016-01-12 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9268902B2 (en) 2010-08-12 2016-02-23 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9271657B2 (en) 2010-08-12 2016-03-01 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9449147B2 (en) 2010-08-12 2016-09-20 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9585723B2 (en) 2010-08-12 2017-03-07 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US9697330B2 (en) 2010-08-12 2017-07-04 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US9706925B2 (en) 2010-08-12 2017-07-18 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US9839484B2 (en) 2010-08-12 2017-12-12 Heartflow, Inc. Method and system for image processing and patient-specific modeling of blood flow
US8311747B2 (en) 2010-08-12 2012-11-13 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8315812B2 (en) 2010-08-12 2012-11-20 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US9855105B2 (en) 2010-08-12 2018-01-02 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US9861284B2 (en) 2010-08-12 2018-01-09 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US9888971B2 (en) 2010-08-12 2018-02-13 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US10052158B2 (en) 2010-08-12 2018-08-21 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US10080613B2 (en) 2010-08-12 2018-09-25 Heartflow, Inc. Systems and methods for determining and visualizing perfusion of myocardial muscle
US10080614B2 (en) 2010-08-12 2018-09-25 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US10092360B2 (en) 2010-08-12 2018-10-09 Heartflow, Inc. Method and system for image processing and patient-specific modeling of blood flow
US10149723B2 (en) 2010-08-12 2018-12-11 Heartflow, Inc. Method and system for image processing and patient-specific modeling of blood flow
US10154883B2 (en) 2010-08-12 2018-12-18 Heartflow, Inc. Method and system for image processing and patient-specific modeling of blood flow
US10159529B2 (en) 2010-08-12 2018-12-25 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US10166077B2 (en) 2010-08-12 2019-01-01 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US10179030B2 (en) 2010-08-12 2019-01-15 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US10321958B2 (en) 2010-08-12 2019-06-18 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US10327847B2 (en) 2010-08-12 2019-06-25 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US8249815B2 (en) 2010-08-12 2012-08-21 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US10376317B2 (en) 2010-08-12 2019-08-13 Heartflow, Inc. Method and system for image processing and patient-specific modeling of blood flow
US10441361B2 (en) 2010-08-12 2019-10-15 Heartflow, Inc. Method and system for image processing and patient-specific modeling of blood flow
US10478252B2 (en) 2010-08-12 2019-11-19 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US10492866B2 (en) 2010-08-12 2019-12-03 Heartflow, Inc. Method and system for image processing to determine blood flow
US10531923B2 (en) 2010-08-12 2020-01-14 Heartflow, Inc. Method and system for image processing to determine blood flow
US10682180B2 (en) 2010-08-12 2020-06-16 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US10702340B2 (en) 2010-08-12 2020-07-07 Heartflow, Inc. Image processing and patient-specific modeling of blood flow
US10702339B2 (en) 2010-08-12 2020-07-07 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US11135012B2 (en) 2010-08-12 2021-10-05 Heartflow, Inc. Method and system for image processing to determine patient-specific blood flow characteristics
US11033332B2 (en) 2010-08-12 2021-06-15 Heartflow, Inc. Method and system for image processing to determine blood flow
US11083524B2 (en) 2010-08-12 2021-08-10 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US11090118B2 (en) 2010-08-12 2021-08-17 Heartflow, Inc. Method and system for image processing and patient-specific modeling of blood flow
US8157742B2 (en) 2010-08-12 2012-04-17 Heartflow, Inc. Method and system for patient-specific modeling of blood flow
US11116575B2 (en) 2010-08-12 2021-09-14 Heartflow, Inc. Method and system for image processing to determine blood flow
US10842568B2 (en) 2012-05-14 2020-11-24 Heartflow, Inc. Method and system for providing information from a patient-specific model of blood flow
US9063635B2 (en) 2012-05-14 2015-06-23 Heartflow, Inc. Method and system for providing information from a patient-specific model of blood flow
US9063634B2 (en) 2012-05-14 2015-06-23 Heartflow, Inc. Method and system for providing information from a patient-specific model of blood flow
US8706457B2 (en) 2012-05-14 2014-04-22 Heartflow, Inc. Method and system for providing information from a patient-specific model of blood flow
US8548778B1 (en) 2012-05-14 2013-10-01 Heartflow, Inc. Method and system for providing information from a patient-specific model of blood flow
US11826106B2 (en) 2012-05-14 2023-11-28 Heartflow, Inc. Method and system for providing information from a patient-specific model of blood flow

Also Published As

Publication number Publication date
WO2003034336A3 (en) 2003-11-20
US7372983B2 (en) 2008-05-13
EP1442427A2 (en) 2004-08-04
JP2005505397A (en) 2005-02-24
JP4248399B2 (en) 2009-04-02
US20040258296A1 (en) 2004-12-23
DE60208431D1 (en) 2006-02-02
EP1442427B1 (en) 2005-12-28
DE60208431T2 (en) 2006-08-31
ATE314703T1 (en) 2006-01-15

Similar Documents

Publication Publication Date Title
US7372983B2 (en) Method for automatic branch labeling
US7043290B2 (en) Method and apparatus for segmentation of an object
JP5635980B2 (en) Image processing, in particular a method and apparatus for processing medical images
US20060062447A1 (en) Method for simple geometric visualization of tubular anatomical structures
EP1504414B1 (en) Method for branch selection for probe alignment
US7570802B2 (en) Automated centerline detection algorithm for colon-like 3D surfaces
WO2007058993A2 (en) Surface-based characteristic path generation
CN1620990A (en) Method and apparatus for segmenting structure in CT angiography
JPS63266583A (en) Calculation and visualization of image of object
US20090244061A1 (en) High quality accurate surface triangulation from a simplex mesh
Nowinski et al. A 3D model of human cerebrovasculature derived from 3T magnetic resonance angiography
Bruijns Fully-Automatic Branch Labelling of Voxel Vessel Structures.
JPH021082A (en) Apparatus and method for generating definition of three-dimensional surface
Mayerich et al. Hardware accelerated segmentation of complex volumetric filament networks
EP0373854B1 (en) Apparatus and method for detecting internal structures contained within the interior region of a solid object
Fetita et al. Volumetric quantification of airway wall in CT via collision-free active surface model: application to asthma assessment
US20050089245A1 (en) Method of analyzing a data set comprising a tubular structure
Burton Automated 3 D reconstruction of neuronal structures from serial sections
Yu et al. Toward reliable multigenerational analysis of anatomical trees in 3D high-resolution CT images
Liu et al. Optimal graph search based image segmentation for objects with complex topologies
CN112669370B (en) Coronary artery radius calculation method, terminal and storage medium
CN106204628A (en) Blood vessel segmentation method and apparatus
US6906731B2 (en) Method of automatically determining the starting point for analysis of a data set comprising a tubular structure
JP2004321439A (en) Method and apparatus of generating three-dimensional finite element model, and storage medium having program for generating the model recorded thereon
KR101674462B1 (en) Method for merging blood vessel using three dimension tubular meshes

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FR GB GR IE IT LU MC NL PT SE SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2002775088

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2003536990

Country of ref document: JP

Ref document number: 10492447

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2002775088

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2002775088

Country of ref document: EP