Method, device and medium for extracting blood vessel centerline
By generating and processing the center point of the section in the three-dimensional model of the blood vessel, the problems of poor local smoothness, inaccuracy and incompleteness of vascular centerline extraction in the prior art are solved, and high-precision and efficient vascular centerline extraction are achieved.
Patent Information
- Application Number
- CN202111188627.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-12
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2041-10-12
AI Technical Summary
The prior art, when extracting the central line of the blood vessel, local smoothness is poor, inaccurate results are incomplete, and insufficient sensitivity to curvature and branching, resulting in extraction errors at sharp turns or branches.
In the pre-established three-dimensional model of blood vessels, the sections are generated based on the current tracking position and direction, and the tracking step size and direction are determined, and the center line of the blood vessel is gradually extracted by generating and processing the center points of all sections.
High-precision, complete and efficient vascular centerline extraction is achieved, avoiding the problems of poor local smoothness and inaccurate results, and improving the processing ability of curvature changes and branching.
Smart Images

Figure CN113902715B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to the field of medical image processing, and more particularly to a method, apparatus, and medium for extracting a blood vessel centerline. Background Art
[0002] Blood vessel centerline extraction technology is an important application branch of biomedical engineering. It is an important auxiliary means for analyzing and diagnosing cardiovascular and cerebrovascular diseases. In particular, the blood vessel centerline is of great significance for preoperative path planning, intraoperative operation, and postoperative effect monitoring of vascular intervention. At present, the minimum path method, the centerline extraction method based on deformation or geometric model, and the direct centerline tracking method are usually used to extract the blood vessel centerline.
[0003] The minimum path method usually extracts the centerline of the blood vessel by finding the shortest path through the blood vessel between the starting point and the end point in the image. The centerline extracted by this method has poor smoothness in the local area, and the extracted result is not exactly located in the center of the blood vessel, and often requires subsequent adjustment.
[0004] The centerline extraction method based on deformation or geometric model usually needs to segment the blood vessel target first, and then use the geometric center of gravity model to calculate the central axis. This method is usually time-consuming and requires good image features and prior knowledge as a prerequisite, otherwise it is impossible to extract a more accurate centerline.
[0005] The direct centerline tracking method obtains the direction of the blood vessel at the current position by determining the local direction of the blood vessel, and then combines the local spatial information and curvature change of the blood vessel in the image to obtain the cross section of the blood vessel orthogonal to the direction of the blood vessel at the current position and its center point; then the current tracking point and the current tracking direction are corrected according to the center point of the cross section, and the above local center point calculation process is repeated until the end of the blood vessel is tracked. This direct centerline tracking method is based on a local method, and global information is not considered during the tracking process. Therefore, the extracted centerline is usually incomplete. Moreover, since this method is insensitive to the overall topological structure of tubular objects such as blood vessels, the centerline extraction is prone to errors at locations with large curvature changes or many branches. For example, for a sharp turn of an irregular blood vessel caused by a lesion or external force (for example, a sharp turn of more than about 135 degrees), using this direct centerline tracking method, such a sharp turn is often misjudged as the end of the blood vessel and tracking is stopped, resulting in an incomplete centerline.
[0006] Therefore, it is necessary to provide a technology for extracting the centerline of a blood vessel, so that a complete and high-precision centerline of a blood vessel can be accurately and efficiently extracted. Summary of the invention
[0007] In view of the above problems, the present disclosure provides a method, device and medium for extracting a blood vessel centerline, so that a high-precision blood vessel centerline can be accurately and efficiently extracted.
[0008] According to a first aspect of the present disclosure, a method for extracting a centerline of a blood vessel is provided, comprising: in a pre-established three-dimensional model of the blood vessel, generating a current section of the blood vessel based on a current tracking position and a current tracking direction of the blood vessel, the current section including a current center point of the blood vessel; determining a current tracking step size based on a size of the generated current section, so as to determine a next tracking position of the blood vessel based on the current tracking step size and the current tracking direction; determining a next tracking direction of the blood vessel based on the current tracking direction, the current center point, the next tracking position, and a predetermined angle threshold; generating a next section of the blood vessel based on the next tracking position and the next tracking direction, so as to sequentially generate all sections of the blood vessel; and obtaining the centerline of the blood vessel based on the center points of all the generated sections.
[0009] According to a second aspect of the present disclosure, a computing device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor so that the at least one processor can execute the method of the first aspect of the present disclosure.
[0010] In a third aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute the method of the first aspect of the present disclosure.
[0011] In some embodiments, determining the next tracking direction of the blood vessel based on the current tracking direction, the current center point, the next tracking position and a predetermined angle threshold includes: generating an expected next slice of the blood vessel based on the next tracking position and the current tracking direction, the expected next slice including the expected next center point of the blood vessel; determining whether the current angle between a line connecting the current center point and the expected next center point and the current tracking direction is greater than the predetermined angle threshold; in response to determining that the current angle is less than or equal to the predetermined angle threshold, determining that the next tracking direction is consistent with the current tracking direction; and in response to determining that the current angle is greater than the predetermined angle threshold, determining the next tracking direction based on the current tracking direction and the current angle so that the angle between the next tracking direction and the current tracking direction is less than the predetermined angle threshold.
[0012] In some embodiments, obtaining the centerline of the blood vessel based on the center points of all generated cross-sections includes: smoothing the set of center points of all generated cross-sections to obtain a smoothed set of center points; interpolating between each pair of adjacent center points in the smoothed set of center points to obtain an interpolated set of center points, wherein the spacing between adjacent center points in the interpolated set of center points is a desired spacing; and obtaining the centerline of the blood vessel based on the interpolated set of center points.
[0013] In some embodiments, the blood vessel is a main vessel and any one of a plurality of branch vessels of the main vessel, and the method further comprises: generating an interception surface between the main vessel and the branch vessels.
[0014] In some embodiments, generating an interception surface between the main vessel and the branch vessel includes: determining the normal direction of the interception surface; and generating the interception surface based on any point on the intersection surface of the main vessel and each branch vessel and the normal direction, the interception surface including an interception surface center point and an interception surface point set for defining the interception surface.
[0015] In some embodiments, generating a current section of a blood vessel based on the current tracking position and the current tracking direction of the blood vessel includes: determining a first search vector and a second search vector based on the current tracking direction and the current tracking position, the first search vector and the second search vector being perpendicular to the current tracking direction, and the first search vector and the second search vector being perpendicular to each other; determining a third search vector and a fourth search vector based on the first search vector and the second search vector, respectively, the third search vector and the fourth search vector being the reverse vectors of the first search vector and the second search vector, respectively; taking the current tracking position as a starting point, performing a breadth-first search along the first search vector, the second search vector, the third search vector, and the fourth search vector, so as to determine a current section point set and a boundary point set of the current section for defining the current section based on the interception surface and a pre-set global boundary value of the three-dimensional model; and determining a current center point of the current section based on the boundary point set of the current section.
[0016] In some embodiments, the initial tracking position of the main vessel is any point on the main vessel, and the initial tracking direction of the main vessel is the vessel extension direction of the main vessel at the initial tracking position.
[0017] In some embodiments, the initial tracking position and the initial tracking direction of each branch vessel are determined based on the following steps: the initial tracking position and the initial tracking direction of each branch vessel are determined based on the following steps: obtaining the center point of the interception surface as the initial tracking position of the branch vessel; obtaining the nearest center point that is closest to the initial tracking position among all center points determined for the main vessel; determining the initial tracking direction of the branch vessel based on the initial tracking position, the nearest center point and the normal direction vector of the interception surface.
[0018] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements.
[0020] Figure 1 A schematic diagram of a system 100 for implementing a method for extracting a blood vessel centerline according to an embodiment of the present invention is shown.
[0021] Figure 2 A flow chart of a method 200 for extracting a blood vessel centerline according to an embodiment of the present disclosure is shown.
[0022] Figure 3 A flowchart of a method 300 for generating a current section of a blood vessel according to an embodiment of the present disclosure is shown;
[0023] Figure 4 A flowchart of a method 400 for determining a next tracking direction of a blood vessel according to an embodiment of the present disclosure is shown.
[0024] Figure 5A A schematic diagram showing the principle of determining the next tracking direction of a blood vessel according to an embodiment of the present disclosure is shown;
[0025] Figure 5B A schematic diagram showing the principle of determining the next tracking direction of a blood vessel according to an embodiment of the present disclosure is shown;
[0026] Figure 6 A block diagram of an electronic device 600 according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0027] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0028] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "based at least in part on". The terms "an example embodiment" and "an embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0029] As mentioned above, the minimum path method, the centerline extraction method based on deformation or geometric model, and the direct centerline tracking method are generally used to extract the centerline of the blood vessel. However, the centerline extracted by the minimum path method has poor smoothness in the local area, and the extracted result is not accurately located in the center of the blood vessel, and often requires subsequent adjustment. The centerline extraction method based on deformation or geometric model is usually time-consuming, and requires better image features and prior knowledge as a prerequisite, otherwise it is impossible to extract a more accurate centerline. In addition, the direct centerline tracking method is not sensitive to the overall topological structure of tubular objects such as blood vessels. Therefore, the centerline extraction is prone to errors in locations with large curvature changes or more branches.
[0030] In order to at least partially solve one or more of the above problems and other potential problems, an exemplary embodiment of the present disclosure proposes a method for extracting a blood vessel centerline, comprising: in a pre-established three-dimensional model of a blood vessel, generating a current section of the blood vessel based on the current tracking position and current tracking direction of the blood vessel, the current section including the current center point of the blood vessel; determining a current tracking step size based on the size of the generated current section, so as to determine a next tracking position of the blood vessel based on the current tracking step size and the current tracking direction; determining a next tracking direction of the blood vessel based on the current tracking direction, the current center point, the next tracking position and a predetermined angle threshold; generating a next section of the blood vessel based on the next tracking position and the next tracking direction, so as to sequentially generate all sections of the blood vessel; and obtaining the centerline of the blood vessel based on the center points of all generated sections. In this way, it is possible to accurately and efficiently extract a high-precision blood vessel centerline, thereby providing more accurate reference data for medical workers (such as doctors) to perform preoperative planning, for example, thereby facilitating shortening of operation time and reducing operation risks.
[0031] Figure 1 FIG. 1 is a schematic diagram of a system 100 for implementing a method for extracting a blood vessel centerline according to an embodiment of the present invention. Figure 1 As shown in , the system 100 includes a computing device 110, a network 120, and a server 130. The computing device 110 and the server 130 can exchange data via the network 120 (e.g., the Internet). In the present disclosure, the server 130 can be used as a server to establish a three-dimensional model of a blood vessel. The computing device 110 can communicate with the server 130 via the network 120 to obtain the three-dimensional model of the blood vessel established by the server. The computing device 110 may include at least one processor 112 and at least one memory 114 coupled to the at least one processor 112, the memory 114 storing instructions 116 executable by the at least one processor 112, and the instructions 116 execute the method 200 described below when executed by the at least one processor 112. Note that in this article, the computing device 110 may be part of the server 130 or may be independent of the server 130. The specific structure of the computing device 110 or the server 130 may be, for example, combined as follows Figure 6 described.
[0032] Figure 2 FIG. 2 is a flow chart of a method 200 for extracting a blood vessel centerline according to an embodiment of the present disclosure. The method 200 may be performed as follows: Figure 1 The computing device 110 shown may also be executed in Figure 6The method 200 is executed at the electronic device 600. It should be understood that the method 200 may further include additional blocks not shown and / or may omit the blocks shown, and the scope of the present disclosure is not limited in this respect.
[0033] In step 202 , the computing device 110 generates a current section of the blood vessel in a pre-established three-dimensional model of the blood vessel based on a current tracking position and a current tracking direction of the blood vessel, where the current section includes a current center point of the blood vessel.
[0034] The pre-established three-dimensional model of the blood vessel can be a three-dimensional model automatically generated based on the medical image of the blood vessel using an artificial intelligence (AI) model. The three-dimensional model of the blood vessel can be implemented with the help of image segmentation. Image segmentation refers to dividing an image into several regions and extracting the anatomical structure or region of interest (in the present disclosure, the blood vessel region) in the image. In some embodiments, image segmentation based on a deep learning model can be used to extract the blood vessel region from each of the multiple axial tomographic images of the blood vessel, and then generate a three-dimensional mesh model of the blood vessel based on these blood vessel regions. The deep learning model can be, for example, a convolutional neural network model, a three-dimensional Unet network model, and the like. In the present disclosure, the three-dimensional model of the blood vessel may include a three-dimensional model of the main vessel and a three-dimensional model of each branch vessel.
[0035] In the present disclosure, generating a current section of the blood vessel based on the current tracking position and the current tracking direction of the blood vessel refers to generating a current section of the blood vessel that passes through the current tracking position and is orthogonal to the current tracking direction.
[0036] In some embodiments, the current section is generated by acquiring multiple points located on the section based on the current tracking position and the current tracking direction. In these embodiments, in addition to acquiring the current center point of the blood vessel, a current section point set for defining the current section and a current section boundary point set for defining the boundary of the current section are also acquired. For example, in the case where the current section is a circular cross-section, the current section point set refers to a set of multiple points spread over the circular cross-section, such as a set of coordinates of multiple pixel points spread over the circular cross-section), which may not include the boundary of the current section. The current section boundary point set refers to a set of multiple points spread over the circumference of the current section, such as a set of coordinates of multiple pixel points spread over the circumference of the current section). The following will be combined with Figure 3 The method 300 for generating a current slice of a blood vessel is further described in more detail.
[0037] In the present disclosure, the blood vessel mentioned in step 202 can be a main vessel or any of a plurality of branch vessels of the main vessel. Furthermore, in the present disclosure, method 200 can also include generating an interception surface between the main vessel and the branch vessel, that is, a connecting surface between the main vessel and the branch vessel. In the present disclosure, the method can also include generating an interception surface between a primary branch vessel and each secondary branch vessel of the primary branch vessel, that is, a connecting surface between the primary branch vessel and each secondary branch vessel. As will be further described below, each interception surface can be based on Figure 3 The method 300 shown in FIG. 1 is similar to the method 300 shown in FIG. 1 . It should be understood that the primary branch vessel refers to the branch vessel of the main vessel, and the secondary branch vessel refers to the branch vessel of the primary branch vessel. Since the branch vessel (i.e., the three-dimensional model of the branch vessel) will affect the correct direction of the centerline of the main vessel, and the secondary branch vessel will also affect the correct direction of the centerline of the primary branch vessel, when extracting the centerline of the main vessel and the centerline of each branch vessel, the information of the relevant interception surface must also be considered to avoid the influence of each branch vessel. For example, if the interception surface between the branch vessel of the main vessel and the main vessel is not determined, it may lead to the inability to determine the boundary of the main vessel, and then the inability to correctly determine the centerline of the main vessel. In addition, the interception surface can intercept part of the lesion area or the abnormal area caused by thrombus or calcification. Therefore, by generating the interception surface, the negative impact of this heterogeneity on the calculation of the vascular centerline can be greatly reduced, and the accuracy of the starting tracking position and starting tracking direction of the center of each branch vessel can be ensured.
[0038] In the present disclosure, for the aorta, its initial tracking position can be any point on the aorta, and its initial tracking direction can be the blood vessel extension direction of the aorta at the initial tracking position. For example, if the aorta extends up and down at the initial tracking position, the initial tracking direction of the aorta can be the upward direction along the aorta, or the downward direction along the aorta. Starting from the initial tracking position and initial tracking direction of the aorta, the method 200 is executed to effectively extract the centerline of the aorta.
[0039] For each branch vessel, its initial tracking position and initial tracking direction can be determined based on the following method: first, the center point of the interception surface between the branch vessel and the main vessel is obtained as the initial tracking position of the branch vessel (for example, represented by P). Then, the nearest center point that is closest to the initial tracking position of the branch vessel among all the center points determined for the main vessel is obtained (for example, represented by C M1Finally, the initial tracking direction of the branch vessel is determined based on the initial tracking position, the nearest center point, and the normal direction vector of the interception surface. In some implementations, the normal direction vector of the interception surface can be determined based on any three points in the interception surface point set used to define the interception surface, because the plane where the interception surface is located can be determined by these three points, and then the normal direction vector of the interception surface can be determined by determining the normal direction vector of the plane (for example, represented by Norm). For example, the normal direction vector of the interception surface can be determined by taking P as the starting point and C as the starting point. M1 The direction vector of the end point is denoted as PC M1 If the PC M1 If the angle between the normal direction Norm and the intercept surface is greater than 90 degrees, the normal direction Norm is determined as the initial tracking direction of the intercept surface, otherwise the opposite direction of the normal direction Norm is determined as the initial tracking direction of the intercept surface. Starting from the initial tracking position and initial tracking direction of each branch vessel, executing method 200 can effectively extract the centerline of the branch vessel.
[0040] In step 204, a current tracking step size is determined based on the size of the generated current slice, so as to determine a next tracking position of the blood vessel based on the current tracking step size and the current tracking direction.
[0041] In the present disclosure, the size of the generated current section refers to the size of the area of the current section. As mentioned above, in some embodiments, the current section can be generated by obtaining points located on the section, that is, by obtaining a current section point set for defining the current section and a current section boundary point set for defining the boundary of the current section, so the size of the area of the current section can be indicated by the number of points included in the current section point set.
[0042] In the present disclosure, the current tracking step is proportional to the size of the current section, for example, the larger the size of the current section is, the larger the current tracking step is set, otherwise the smaller it is set. The three-dimensional model of the blood vessel is very complex, so if a single step is used, it will not be applicable to all blood vessel environments. If the tracking step is too small, it will take too much computing resources and time to obtain the centerline of the entire blood vessel, and if the tracking step is too large, it may cause the end of the blood vessel to be misjudged at the turning point of the blood vessel, thereby stopping the extraction of the blood vessel centerline, and then making the extracted blood vessel centerline incomplete. In the present disclosure, by determining the current tracking step based on the size of the current section, the tracking step is not fixed in the process of extracting the centerline of the blood vessel, but will change according to the size of the current section. That is, in the process of gradually generating the section of the blood vessel from the initial tracking position of the blood vessel, the tracking step can be modified in real time based on the data of the current section, and the next tracking position is determined thereby, so that the extraction efficiency of the blood vessel centerline can be greatly improved.
[0043] In step 206, the next tracking direction of the blood vessel is determined based on the current tracking direction, the current center point, the next tracking position, and a predetermined angle threshold.
[0044] In the present disclosure, determining the next tracking direction of a blood vessel based on the current tracking direction, the current center point, the next tracking position, and a predetermined angle threshold can help avoid misjudging a location where the blood vessel turns significantly (for example, a sharp turn of an irregular blood vessel caused by a lesion or external force, such as a sharp turn greater than 135 degrees) or a later location as the end of the blood vessel, thereby helping to more accurately extract the centerline of the blood vessel.
[0045] The following will be combined Figure 4 Step 206 is further described in more detail.
[0046] In step 208, a next slice of the blood vessel is generated based on the next tracking position and the next tracking direction, so that all slices of the blood vessel are generated in sequence.
[0047] Specifically, after determining the next tracking position and the next tracking direction, all other sections of the blood vessel may be generated in sequence according to steps 202 to 206. For example, if the initial tracking position is obtained at the starting end of the blood vessel, then when the end of the blood vessel is reached, it can be determined that all sections of the blood vessel have been generated.
[0048] In step 210, the center line of the blood vessel is obtained based on the center points of all the generated sections of the blood vessel.
[0049] In some embodiments, step 210 may include smoothing the set of center points of all generated sections (i.e., the coordinates of the center points of all sections) to obtain a smoothed set of center points. Smoothing can help obtain a more accurate blood vessel centerline.
[0050] The set of center points of all generated sections may be smoothed based on, for example, a moving average algorithm. For example, for the center points of all generated sections, an average value is calculated for every n center points (n is an integer greater than or equal to 2), and the set of the average values calculated is used as the set of center points that have been smoothed. For example, as an example only, if n is 2, an average value is calculated for the first and second center points, and then an average value is calculated for the second and third center points, and then an average value is calculated for the third and fourth center points, and so on, until the last center point, and then the set of all the average values calculated is used as the set of center points that have been smoothed.
[0051] Step 210 may further include performing interpolation between each pair of adjacent center points in the smoothed center point set, thereby obtaining an interpolated center point set, wherein the spacing between adjacent center points in the interpolated center point set is a desired spacing.
[0052] Specifically, based on the smoothed center point set (for example, each midpoint in the set can be represented by c 1 、c 2 、c 3 、c 4 For each pair of adjacent center points in ……), construct a vector (for example, represented as vector c 1 c 2 、c 2 c 3 、c 3 c 4 ...), and then normalize these vectors to obtain the corresponding unit vectors (for example, represented as unit vector n 1 n 2 、n 2 n 3 、n 3 n 4 …). If the desired spacing is expressed as r, the position of each new center point to be inserted can be determined based on the following formula: a +r*n a n b For example, if the adjacent center point c a and c b The spacing between the adjacent center points c is 1 mm, and the expected spacing r is 0.2 mm. a and c b Insert four new center points between them. The positions of these four new center points are: c a +0.2*n a n b 、c a +0.2*n a n b +0.2*n a n b 、c a +0.2*n a n b +0.2*n a n b +0.2*n a n b 、c a +0.2*n a n b +0.2*n a n b +0.2*n a nb +0.2*n a n b .
[0053] Through the above method, we finally obtain a set of interpolated center points with a spacing of r between adjacent center points, which can be expressed as C M .
[0054] Step 210 may further include obtaining the centerline of the blood vessel based on the interpolated set of center points.
[0055] For example, by connecting the interpolated center point set C M By combining all the center points in the image, the high-precision centerline of the blood vessel can be finally obtained.
[0056] Figure 3 FIG. 3 is a flow chart of a method 300 for generating a current section of a blood vessel according to an embodiment of the present disclosure. The method 300 may be performed as follows: Figure 1 The computing device 110 shown may also be executed in Figure 6 The method 300 is executed at the electronic device 600 shown. It should be understood that the method 300 may further include additional blocks not shown and / or may omit the blocks shown, and the scope of the present disclosure is not limited in this respect.
[0057] In step 302, based on the current tracking direction and the current tracking position, a first search vector and a second search vector are determined, the first search vector and the second search vector are both perpendicular to the current tracking direction, and the first search vector and the second search vector are perpendicular to each other. In the present disclosure, the first search vector and the second search vector are unit vectors. In addition, in the present disclosure, since the first search vector and the second search vector are determined based on the current tracking position, and the first search vector and the second search vector are both perpendicular to the current tracking direction, the first search vector and the second search vector should both fall on the current section. For example, the starting point of the first search vector and the second search vector can be the current tracking position.
[0058] In step 304, a third search vector and a fourth search vector are determined based on the first search vector and the second search vector, respectively. The third search vector and the fourth search vector are reverse vectors of the first search vector and the second search vector, respectively. In the present disclosure, the third search vector and the fourth search vector should also fall on the current slice.
[0059] In step 306, starting from the current tracking position, a breadth-first search is performed along the first search vector, the second search vector, the third search vector and the fourth search vector to determine the current section point set and the boundary point set of the current section for defining the current section based on the interception surface and the pre-set global boundary value of the three-dimensional model (i.e., the three-dimensional model of the blood vessel mentioned above).
[0060] The process of the breadth-first search includes taking the current tracking position as the starting point, and performing unordered search along the first search vector, the second search vector, the third search vector, and the fourth search vector in units of search steps, so as to search for the set of all points used to define the current section (also referred to as the current section point set of the current section) and the set of all points used to define the boundary of the current section (also referred to as the boundary point set of the current section). Specifically, the process may include first taking the current tracking position as the starting point, and moving along the first search vector, the second search vector, the third search vector, and the fourth search vector in four directions for one search step, so as to collect the coordinates of the four points fed back by the search, and then taking each of the four points as the starting point, and moving along the first search vector, the second search vector, the third search vector, and the fourth search vector in four directions for one search step, so as to collect four points for each search, and so on, until the search range exceeds the boundary position of the current section. The threshold of the global boundary position of the three-dimensional model of the blood vessel may be pre-set to 0, for example. Therefore, in the above unordered search process, if the search feedback value is 0 or a coordinate point on the interception surface, it indicates that the search distance of the current search step exceeds the boundary range of the current section, so it is necessary to return to the previous search layer (i.e., the search of the previous starting point), and repeat until all feedback values along each of the four directions are 0 or a coordinate point on the interception surface, the search process ends. Through the above search process, all points related to the current section can be collected, including the current section point set used to define the current section and the boundary point set of the current section.
[0061] In the present disclosure, the search step size may be a pixel spacing, for example, a pixel spacing on each image used to construct a three-dimensional model.
[0062] In step 308, a current center point of the current slice is determined based on the boundary point set of the current slice.
[0063] In the present disclosure, based on the collected coordinate values of each boundary, the center point of the current section, that is, the coordinate value of the center point of the current section, can be obtained. For example, by calculating the average value of the searched boundary coordinate values, the coordinate value of the center point of the current section can be obtained.
[0064] By adopting the above means, the present disclosure can accurately and quickly generate the current section.
[0065] As mentioned above, method 200 may also include generating an interception surface between the main vessel and each branch vessel. In the present disclosure, generating an interception surface between the main vessel and each branch vessel may include: determining a normal direction of the interception surface, and then generating an interception surface based on any point on the intersection surface between the main vessel and each branch vessel and the normal direction, the interception surface including an interception surface center point and an interception surface point set for defining the interception surface.
[0066] In some embodiments, the normal direction of the interception surface can be determined by the following method: first, obtain any three points on the intersection surface of the main vessel and the corresponding branch vessel, and then determine the normal direction of the plane defined by the three points, and the normal direction of the plane defined by the three points corresponds to the normal direction of the interception surface. After the normal direction of the interception surface is determined, the interception surface can be generated based on any one of the three points and the normal direction.
[0067] In other embodiments, the normal direction of the interception surface can be determined in the following manner: obtain any two points on the intersection surface of the main vessel and the corresponding branch vessel; then, take these two points as starting points, respectively, obtain the direction vector on the interception surface (defined as the interception direction), for example, hereinafter represented as V1 and V2. In the present disclosure, V1 and V2 can be, for example, the directions in which the observer's eyes look toward the interception surface with the two aforementioned points as starting points. Finally, based on these two direction vectors V1 and V2, a direction vector perpendicular to both V1 and V2 is obtained according to a vector cross multiplication operation, that is, a normal direction perpendicular to the plane where V1 and V2 are located (that is, the interception surface). After determining the normal direction of the interception surface, the interception surface can be generated based on any one of the two points and the normal direction.
[0068] In the present disclosure, the interception surface is generated based on any point on the intersection surface of the main vessel and each branch vessel (for example, any one of the three points mentioned above or any one of the two points mentioned above, but it can also be other points on the intersection surface) and the normal direction. This is similar to the method 300 described above for generating the current section of the blood vessel. It only requires replacing the current tracking position in method 300 with the position of any of the above points (for example, the coordinates of any one of the three points mentioned above or the coordinates of any one of the two points mentioned above), replacing the current tracking direction with the normal direction, and replacing the current section with the interception surface. Therefore, no further description will be given in this article.
[0069] Figure 4 FIG. 4 is a flow chart of a method 400 for determining a next tracking direction of a blood vessel according to an embodiment of the present disclosure. The method 400 may be performed as follows: Figure 1 The computing device 110 shown may also be executed in Figure 6The method 400 is executed at the electronic device 600 shown. It should be understood that the method 400 may further include additional blocks not shown and / or may omit the blocks shown, and the scope of the present disclosure is not limited in this respect.
[0070] In step 402, based on the next tracking position and the current tracking direction, an estimated next slice of the blood vessel is generated, where the estimated next slice includes an estimated next center point of the blood vessel.
[0071] In the present disclosure, generating a predicted next slice of a blood vessel based on the next tracking position and the current tracking direction refers to generating a current slice of the blood vessel that passes through the next tracking position and is orthogonal to the current tracking direction. Step 402 is substantially the same as step 202 described above, except that in step 402, a predicted next slice is generated, and the predicted next slice is generated based on the next tracking position and the current tracking direction, rather than the current tracking position and the current tracking direction, so for the sake of brevity, no further description is given here.
[0072] In step 404, it is determined whether the current angle between the line connecting the current center point and the predicted next center point and the current tracking direction (ie, the normal direction of the current section) is greater than a predetermined angle threshold.
[0073] The current angle can be determined, for example, based on the following formula (1):
[0074]
[0075] Wherein, θ represents the current angle, (x1, x2, x3) is a vector used to represent the line connecting the current center point and the expected next center point, and (y1, y2, y3) is a vector used to represent the current tracking direction.
[0076] In the present disclosure, a predetermined angle threshold is pre-specified. By comparing the current angle between the line connecting the current center point and the predicted next center point and the current tracking direction with the predetermined angle threshold, it can be used to determine whether the predicted next slice generated in step 403 is an invalid slice. If it is an invalid slice, the information related to the slice is not recorded, but a new tracking direction is explored again. Figure 5A As shown, if the predicted next section is still considered as a valid section, it will lead to misjudgment of the end of the blood vessel, resulting in incomplete centerline of the finally extracted blood vessel.
[0077] In step 406, in response to determining that the current angle is less than or equal to a predetermined angle threshold, it is determined that the next tracking direction is consistent with the current tracking direction.
[0078] In the present disclosure, if it is determined that the current angle is less than or equal to a predetermined angle threshold, it can be determined that the expected next cut surface is a valid cut surface, so there is no need to re-explore a new tracking direction, because the current tracking direction is sufficient to find the next cut surface that meets the requirements, so the next tracking direction can be consistent with the current tracking direction.
[0079] In step 408, in response to determining that the current angle is greater than a predetermined angle threshold, a next tracking direction is determined based on the current tracking direction and the current angle so that the angle between the next tracking direction and the current tracking direction is less than the predetermined angle threshold.
[0080] For example, Figure 5A As shown, the current angle between the line connecting the current center point and the predicted next center point and the current tracking direction is greater than the predetermined angle threshold, so Figure 5A The expected next slice in is an invalid slice, and a new tracking direction needs to be explored again, that is, the next tracking direction needs to be explored again to generate a suitable next slice.
[0081] In some embodiments, it may be determined whether half of the current angle obtained in step 404 is greater than the predetermined angle threshold. If half of the current angle is less than or equal to the predetermined angle threshold, the direction whose angle with the current tracking direction is half of the current angle is selected as the next tracking direction. If half of the current angle is still greater than the predetermined angle threshold, it is determined whether one quarter of the current angle obtained in step 404 is greater than the predetermined angle threshold, and the above process is repeated until a suitable next tracking direction is found. For example, Figure 5B As shown in FIG. 1 , through the above process, a suitable next tracking direction is found. Based on the suitable next tracking direction and the next tracking position, a valid next cut surface can be generated, for example, Figure 5B The following cut surface is shown.
[0082] By adopting the above means, the present disclosure can effectively avoid misjudging the obvious turning point or later position of the blood vessel as the end of the blood vessel, thereby facilitating more accurate extraction of the centerline of the blood vessel.
[0083] Figure 6 Schematic block diagram of an example electronic device 600 that can be used to implement an embodiment of the present disclosure is shown. Figure 1The computing device 110 shown can be implemented by an electronic device 600. As shown, the electronic device 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 602 or computer program instructions loaded from a storage unit 608 to a random access memory (RAM) 603. In the random access memory 603, various programs and data required for the operation of the electronic device 600 can also be stored. The central processing unit 601, the read-only memory 602, and the random access memory 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0084] Multiple components in the electronic device 600 are connected to the input / output interface 605, including: an input unit 606, such as a keyboard, a mouse, a microphone, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a disk, an optical disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0085] The various processes and processing described above, such as methods 200, 300, and 400, may be performed by the central processing unit 601. For example, in some embodiments, methods 200, 300, and 400 may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 600 via the read-only memory 602 and / or the communication unit 609. When the computer program is loaded into the random access memory 603 and executed by the central processing unit 601, one or more actions of the methods 200, 300, and 400 described above may be performed.
[0086] The present disclosure relates to methods, apparatuses, systems, electronic devices, computer-readable storage media and / or computer program products. The computer program products may include computer-readable program instructions for executing various aspects of the present disclosure.
[0087] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples of computer-readable storage media (a non-exhaustive list) include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.
[0088] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge computing devices. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing / processing device.
[0089] The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed completely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be customized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.
[0090] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0091] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0092] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0093] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of special hardware and computer instructions.
[0094] The embodiments of the present disclosure have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or technical improvements in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A method for extracting a blood vessel centerline, comprising: In a pre-established three-dimensional model of a blood vessel, generating a current section of the blood vessel based on a current tracking position and a current tracking direction of the blood vessel, wherein the current section includes a current center point of the blood vessel; Determining a current tracking step length based on the size of the generated current section, so as to determine a next tracking position of the blood vessel based on the current tracking step length and the current tracking direction; Determining a next tracking direction of the blood vessel based on the current tracking direction, the current center point, the next tracking position, and a predetermined angle threshold; generating a next section of the blood vessel based on the next tracking position and the next tracking direction, so as to sequentially generate all sections of the blood vessel; as well as Obtaining a centerline of the blood vessel based on the center points of all generated sections of the blood vessel; Wherein, based on the current tracking direction, the current center point, the next tracking position and a predetermined angle threshold, determining the next tracking direction of the blood vessel comprises: generating a predicted next slice of the blood vessel based on the next tracking position and the current tracking direction, wherein the predicted next slice includes a predicted next center point of the blood vessel; Determine whether a current angle between a line connecting the current center point and the predicted next center point and the current tracking direction is greater than a predetermined angle threshold; In response to determining that the current angle is less than or equal to the predetermined angle threshold, determining that the next tracking direction is consistent with the current tracking direction; and In response to determining that the current angle is greater than the predetermined angle threshold, the next tracking direction is determined based on the current tracking direction and the current angle so that the angle between the next tracking direction and the current tracking direction is less than the predetermined angle threshold.
2. The method according to claim 1, wherein obtaining the centerline of the blood vessel based on the center points of all generated sections of the blood vessel comprises: Smoothing the set of center points of all generated sections to obtain a smoothed set of center points; interpolating between each pair of adjacent center points in the smoothed center point set to obtain an interpolated center point set, wherein the spacing between adjacent center points in the interpolated center point set is a desired spacing; and Based on the interpolated set of center points, the center line of the blood vessel is obtained.
3. The method according to any one of claims 1 or 2, wherein the blood vessel is a main vessel or any one of a plurality of branch vessels of the main vessel, and the method further comprises: An interception surface between the main vessel and the branch vessel is generated.
4. The method according to claim 3, wherein generating an interception surface between the main vessel and the branch vessel comprises: determining the normal direction of the interception surface; and The interception surface is generated based on any point on the intersection surface between the main vessel and each branch vessel and the normal direction. The interception surface includes an interception surface center point and an interception surface point set for defining the interception surface.
5. The method according to claim 4, wherein generating a current section of the blood vessel based on the current tracking position and current tracking direction of the blood vessel comprises: Determine a first search vector and a second search vector based on the current tracking direction and the current tracking position, wherein the first search vector and the second search vector are both perpendicular to the current tracking direction, and the first search vector and the second search vector are perpendicular to each other; Determine a third search vector and a fourth search vector based on the first search vector and the second search vector, respectively, wherein the third search vector and the fourth search vector are reverse vectors of the first search vector and the second search vector, respectively; Taking the current tracking position as a starting point, a breadth-first search is performed along the first search vector, the second search vector, the third search vector, and the fourth search vector, so as to determine a current section point set and a boundary point set of the current section for defining the current section based on the interception surface and a preset global boundary value of the three-dimensional model; as well as Based on the boundary point set of the current section, a current center point of the current section is determined.
6. The method according to claim 3, wherein the initial tracking position of the main vessel is any point on the main vessel, and the initial tracking direction of the main vessel is the vessel extension direction of the main vessel at the initial tracking position.
7. The method according to claim 4, wherein the initial tracking position and the initial tracking direction of each branch vessel are determined based on the following steps: Acquiring the center point of the interception surface as the initial tracking position of the branch blood vessel; Obtaining a nearest center point which is closest to the initial tracking position among all center points determined for the main vessel; and An initial tracking direction of the branch blood vessel is determined based on the initial tracking position, the nearest center point, and the normal direction vector of the interception surface.
8. A computing device comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 7.
9. A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the method of any one of claims 1 to 7.
Citation Information
Patent Citations
Three-dimensional blood vessel central axis extraction method based on tubular feature enhancement filtering and ridge tracking
CN106875375A