CT blood vessel data processing method and device, computer equipment, storage medium and computer program product

By converting CT data into point cloud data and registering it using the skeletal portion, and calculating the rotation and translation matrix to process CTA data, the problem of inaccurate alignment between CTA images and plain scan images is solved, improving the extraction accuracy and image alignment of vascular images.

CN121437480APending Publication Date: 2026-01-30HEFEI MEIYA OPTOELECTRONICS TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511639722.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-10
Publication Date
2026-01-30

AI Technical Summary

Technical Problem

During the subtraction process of CTA and plain scan images, the differences in patient position and imaging environment lead to significant noise, affecting the accuracy of vascular image extraction.

Method used

By converting CT data into point cloud data, registering it using the skeletal portion, calculating the rotation and translation matrix to process the initial point cloud data, the target CTA data is obtained, and a subtraction operation is performed to extract vascular data.

Benefits of technology

It improves the accuracy of vascular image extraction, reduces noise interference, and enhances image alignment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121437480A_ABST
    Figure CN121437480A_ABST
Patent Text Reader

Abstract

The invention relates to a CT blood vessel data processing method and device, computer equipment, a storage medium and a computer program product. The method comprises the following steps: acquiring initial CTA data and plain-scan CT data; converting the initial CTA data into initial point cloud data, converting the plain-scan CT data into plain-scan point cloud data, and selecting registration point cloud data from a skeleton part of the initial point cloud data; determining target plain scanning point cloud data corresponding to the registration point cloud data in the skeleton part of the plain scanning point cloud data, and determining a rotation translation matrix according to the position coordinates of the registration point cloud data and the position coordinates of the target plain scanning point cloud data; performing rotation and translation processing on the initial point cloud data by adopting a rotation and translation matrix to obtain target point cloud data, and converting the target point cloud data into target CTA data; and based on the difference between the target CTA data and the plain-scan CT data, extracting blood vessel data in the target CTA data. The method can improve the blood vessel data extraction precision.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of CT reconstruction, and in particular, to a CT blood vessel data processing method and device, computer equipment, a storage medium and a computer program product. BACKGROUND

[0002] CTA (Computed Tomography Angiography) is a main diagnosis and treatment method for cerebral vascular diseases. It performs CT scanning to obtain CT images under the condition of injecting contrast agent into blood vessels of a human body, so that the blood vessels in the images are more obvious.

[0003] Subtraction refers to subtracting a CT image (a CT image without contrast) from a CTA image (a CT image with contrast). Ideally, the anatomical structures at the same spatial positions of the two images only have a large difference in CT values at blood vessels. Directly subtracting the CTA image from the CT image can obtain the body data after subtraction, and the blood vessel image in the CTA image can be obtained through image processing.

[0004] However, in actual applications, the patient position and imaging environment when the CTA image and the CT image are taken are not completely the same, so the CTA image and the CT image are not completely aligned. Directly subtracting the CTA image from the CT image can introduce a large amount of noise. Therefore, it is necessary to provide a CT blood vessel data processing method capable of reducing noise. SUMMARY

[0005] Therefore, it is necessary to provide a CT blood vessel data processing method, device, computer equipment, storage medium and computer program product to solve the above technical problems.

[0006] In a first aspect, the present application provides a CT blood vessel data processing method. The method comprises:

[0007] obtaining initial CTA data and CT data without contrast;

[0008] converting the initial CTA data into initial point cloud data, converting the CT data without contrast into CT point cloud data without contrast, and selecting registration point cloud data from a bone part of the initial point cloud data;

[0009] determining target CT point cloud data corresponding to the registration point cloud data in the bone part of the CT point cloud data without contrast, and determining a rotation and translation matrix according to position coordinates of the registration point cloud data and position coordinates of the target CT point cloud data;

[0010] The rotation and translation matrix is used to perform rotation and translation processing on the initial point cloud data to obtain target point cloud data, and the target point cloud data is converted into target CTA data.

[0011] Based on the difference between the target CTA data and the plain scan CT data, the blood vessel data in the target CTA data is extracted.

[0012] In a second aspect, the present application further provides a CT blood vessel data processing device. The device comprises:

[0013] An acquisition module is configured to acquire initial CTA data and plain scan CT data.

[0014] A conversion module is configured to convert the initial CTA data into initial point cloud data, convert the plain scan CT data into plain scan point cloud data, and select registration point cloud data from a bone part of the initial point cloud data.

[0015] A determination module is configured to determine target plain scan point cloud data corresponding to the registration point cloud data in a bone part of the plain scan point cloud data, and determine a rotation and translation matrix according to position coordinates of the registration point cloud data and position coordinates of the target plain scan point cloud data.

[0016] A processing module is configured to use the rotation and translation matrix to perform rotation and translation processing on the initial point cloud data to obtain target point cloud data, and convert the target point cloud data into target CTA data.

[0017] An extraction module is configured to extract blood vessel data in the target CTA data based on the difference between the target CTA data and the plain scan CT data.

[0018] In a third aspect, the present application further provides a computer device. The computer device comprises a memory and a processor, the memory stores a computer program, and the processor implements any one of the above methods when executing the computer program.

[0019] In a fourth aspect, the present application further provides a computer readable storage medium. The computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement any one of the above methods.

[0020] In a fifth aspect, the present application further provides a computer program product. The computer program product comprises a computer program, and the computer program is executed by a processor to implement any one of the above methods.

[0021] The aforementioned CT vascular data processing method, apparatus, computer equipment, storage medium, and computer program product use initial CTA data with angiography and the skeletal portion of plain CT data for registration. After converting the CT data into point cloud data, registration point cloud data is selected from the skeletal portion of the initial point cloud data for registration. Then, target plain CT point cloud data corresponding to the registration point cloud data is determined from the skeletal portion of the plain CT point cloud data. A rotation and translation matrix is ​​calculated based on the registration point cloud data and the target plain CT point cloud data. The initial point cloud data is rotated and translated using the rotation and translation matrix to obtain target point cloud data aligned with the plain CT point cloud data. The target point cloud data is then converted back to target CTA data. Finally, a subtraction operation is performed on the target CTA data and the plain CT data to obtain the vascular data in the target CTA data. Since the skeletal portion is relatively easy to segment in CT images and its position and shape are relatively stable, this embodiment uses the skeletal portion for registration, which makes the calculated rotation and translation matrix more accurate, improves the alignment between the target CTA data and the plain CT data obtained after rotation and translation, and thus improves the extraction accuracy of vascular images. Attached Figure Description

[0022] Figure 1 This is a flowchart illustrating a CT vascular data processing method in one embodiment;

[0023] Figure 2 This is a schematic diagram of stray objects in point cloud data in one embodiment;

[0024] Figure 3 This is a schematic diagram of the process for selecting registration point cloud data in one embodiment;

[0025] Figure 4 This is a schematic diagram of the active skeleton region in one embodiment;

[0026] Figure 5 This is a schematic diagram illustrating the search for the starting point of the active skeleton region in one embodiment;

[0027] Figure 6 This is a schematic diagram of artifacts in a CTA image in one embodiment;

[0028] Figure 7 This is a schematic diagram of the process of constructing a target CTA image in one embodiment;

[0029] Figure 8 This is a schematic diagram of a target voxel in one embodiment;

[0030] Figure 9 This is a schematic diagram of the process for constructing a target CTA image in another embodiment;

[0031] Figure 10This is a schematic diagram of the process for extracting target blood vessel data in one embodiment;

[0032] Figure 11 This is a schematic diagram of blood vessels in the sagittal and coronal planes in one embodiment;

[0033] Figure 12 This is a schematic diagram of the subtraction process in one embodiment;

[0034] Figure 13 This is a schematic diagram illustrating the effect of erasing the bone surrounding line in one embodiment;

[0035] Figure 14 This is a schematic diagram illustrating the noise reduction effect achieved by using corrosion and expansion methods in one embodiment.

[0036] Figure 15 This is a structural block diagram of a CT vascular data extraction device in one embodiment;

[0037] Figure 16 This is a structural block diagram of a CT vascular data processing device in one embodiment;

[0038] Figure 17 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0039] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0040] In one embodiment, such as Figure 1 As shown, a method for processing CT vascular data is provided. This embodiment illustrates the method applied to a server; however, it is understood that the method can also be applied to a terminal, or to a system including both a terminal and a server, and implemented through interaction between the terminal and the server. In this embodiment, the method includes the following steps:

[0041] Step 102: Obtain initial CTA data and plain CT data.

[0042] In this embodiment, the initial CTA data consists of multiple CT images with angiography obtained from a single CT scan, while the plain CT data consists of multiple CT images without angiography obtained from a single CT scan. Both the initial CTA data and the plain CT data are CT data collected from the same area of ​​the patient. When referring to "pixel" in CT data below, it refers to a pixel in any single CT image.

[0043] Step 104: Convert the initial CTA data into initial point cloud data, convert the plain CT data into plain point cloud data, and select the registration point cloud data from the skeletal portion of the initial point cloud data.

[0044] In this embodiment, the initial CTA data and plain CT data are converted into point cloud data, and registration point cloud data are selected from the corresponding skeletal portion to register the initial CTA data and plain CT data. Since the morphology of bones is relatively fixed and does not change significantly between two CT image acquisitions, using bones for CT data registration yields better results.

[0045] Each pixel in the CT data is assigned a position coordinate to convert the CT data into point cloud data for calculating the rotation and translation matrix. This position coordinate can be obtained by calculating the distance between the pixel and a reference pixel in the CT data. The reference pixel is equivalent to the origin of the coordinate system in the point cloud data, and can be any pixel chosen by those skilled in the art based on actual needs. The reference pixels selected for the initial CTA data and the plain CT data do not necessarily correspond to the same location, but for ease of subsequent registration, the locations of these two pixels should be as close as possible. For example, the pixel located in the i-th row and j-th column of the n-th CT image can be selected as the reference pixel; alternatively, pixels corresponding to the same easily identifiable feature point (e.g., for head CT, the lowest point of the foramen magnum, the temporomandibular joint junction, etc.) can be selected from both sets of CT data and used as the reference pixel.

[0046] Pixels corresponding to the skeletal portion can be extracted from CT data based on CT values. The point data corresponding to these pixels in the initial point cloud data or plain scan point cloud data constitutes the skeletal portion of the point cloud data. This application does not specifically limit how to extract the skeletal portion from CT data; any CT data processing method capable of extracting bones is applicable to this application.

[0047] For example, pixels in CT data whose CT values ​​fall within a preset range of bone CT values ​​can be used as pixels representing the corresponding bone portion. The lower and upper limits of the CT values ​​corresponding to the bones can be predetermined, and a preset range of bone CT values ​​can be constructed. Then, each pixel in the CT data can be traversed, and if the CT value of a pixel falls within the preset range of bone CT values, that pixel is marked as a pixel representing the corresponding bone portion, until all pixels have been traversed. In this way, the bone portion of the initial CTA data and plain CT data can be extracted.

[0048] In one embodiment, after obtaining the point data corresponding to each pixel, the point data can be further filtered, including:

[0049] For any pixel in the initial CTA data, the position coordinates of the pixel are determined according to the distance between the pixel and the reference pixel in the initial CTA data in each dimension, and the pixel is converted into point data based on the position coordinates.

[0050] For any target point in the data set, determine the number of points within the search range corresponding to the target point; the search range is a sphere centered on the target point with a preset search distance as its radius; the preset search distance is proportional to the pixel size.

[0051] Delete target point data whose number of point data is less than a preset threshold to obtain initial point cloud data.

[0052] In this embodiment, the position coordinates of a pixel in the point cloud data space can be determined based on the distance between the pixel and the reference pixel. These position coordinates are the position coordinates of the point data corresponding to the pixel in the first point cloud data. For ease of calculation, the coordinate axes of the point cloud data space can be parallel to the coordinate axes of the three-dimensional space where the CT data is located. In this way, the calculated distance between the pixel and the reference pixel in each dimension can be directly used as the distance between the point data of the pixel and the origin of the coordinate system in each dimension. The distance between two pixels in the CT data can be determined based on the number of pixels between these two pixels and the size of the pixel. The method for calculating the distance on the X-axis (corresponding to the left-right direction of the human body), Y-axis (corresponding to the front-back direction of the human body), and Z-axis (corresponding to the up-down direction of the human body, i.e., the scanning direction of CT) can be found in Formula (I):

[0053] Formula (1)

[0054] in, , and These are the distances between the pixel and the reference pixel on the X, Y, and Z axes, respectively, which are the X, Y, and Z coordinates of this pixel. , , These are the pixel's index on the X, Y, and Z axes, respectively, indicating which pixel is the nth pixel in each of these three dimensions. , , These are the indexes of the center pixel on the X, Y, and Z axes, respectively. , These are the pixel dimensions on the X and Y axes, respectively. It is the interval between two CT images.

[0055] After obtaining the position coordinates of a pixel, point data corresponding to that pixel can be constructed. After constructing point data for each pixel, it's important to consider that CT data may also contain imaging results of surrounding clutter (such as the scanning table, headrest, etc.). Figure 2 As shown, the point cloud data around the skull is obtained from imaging clutter. Therefore, the set of point data needs further filtering to remove peripheral clutter. Each point data point can be traversed, and for the currently traversed point data (target point data), the number of other point data points contained within a sphere centered on the target point data and with a preset search distance as the radius is determined. If the number of point data points is less than a preset threshold, such target point data points are deleted. After traversing all point data points, the initial point cloud data with peripheral clutter removed is obtained. This method can also be used to remove peripheral clutter from plain CT scan data.

[0056] It should be noted that the preset search distance can be proportional to the pixel size to eliminate the influence of pixel size on the distance between point data.

[0057] After obtaining the initial point cloud data, registration point cloud data can be further selected from the skeletal portion of the initial point cloud data for registration. This can be achieved by using all skeletal portions of the initial point cloud data as registration point cloud data, denoising the skeletal portion of the initial point cloud data, or reducing the dimensionality of the skeletal portion of the initial point cloud data. The purpose of dimensionality reduction is to retain only some important feature points for calculating the rotation and translation matrices, thereby accelerating the computation. Any dimensionality reduction algorithm can be used, or point data corresponding to specific locations can be selected from the initial point cloud data to achieve dimensionality reduction; this embodiment does not impose specific limitations.

[0058] It should be noted that if the registration point cloud data is obtained by using a dimensionality reduction method, then only the initial point cloud data needs to be dimensionality reduced, and the scanned point cloud data does not need to be dimensionality reduced. Otherwise, the points left after dimensionality reduction of the two sets of point cloud data may not correspond, which will affect the calculation of the rotation and translation matrix.

[0059] Step 106: Determine the target flat scan point cloud data corresponding to the registration point cloud data in the skeletal part of the flat scan point cloud data, and determine the rotation and translation matrix based on the position coordinates of the registration point cloud data and the position coordinates of the target flat scan point cloud data.

[0060] In this embodiment, a target flat-scan point cloud data corresponding to the same position as the registered point cloud data is identified from the skeletal portion of the flat-scan point cloud data. Then, the rotation and translation matrix required to rotate and translate the registered point cloud data to the position of the target flat-scan point cloud data is determined. Any point cloud registration method can be used to identify the target flat-scan point cloud data and determine the rotation and translation matrix. For example, features of the registered point cloud data can be generated using a fast point feature histogram, the target flat-scan point cloud data can be determined using nearest neighbor matching, or the rotation and translation matrix can be determined using an iterative nearest point algorithm. This embodiment does not specifically limit the method used in this regard.

[0061] In one embodiment, the rotation and translation matrix is ​​determined through multiple iterations, specifically including:

[0062] Based on the position coordinates of the registration point cloud data and the position coordinates of the target flat scan point cloud data, an initial rotation and translation matrix is ​​determined, and the registration point cloud data is rotated and translated based on the initial rotation and translation matrix to obtain updated registration point cloud data.

[0063] For each point in the updated registration point cloud data, the registration point data of the point data is determined from the target flat scan point cloud data, and the distance between the point data and the registration point data is determined.

[0064] The distance is determined based on the distances corresponding to each point in the updated registration point data, and the process jumps to the step of determining the initial rotation and translation matrix based on the position coordinates of the registration point cloud data and the position coordinates of the target flat scan point cloud data, until the iteration termination condition is met.

[0065] The rotation and translation matrix is ​​determined based on the initial rotation and translation matrix with the smallest sum of distances among all the initial rotation and translation matrices obtained during the iteration process.

[0066] In this embodiment, the rotation and translation matrix is ​​obtained through an iterative method. In each iteration, an initial rotation and translation matrix is ​​determined based on the position coordinates of the registered point cloud data and the position coordinates of the target scan point cloud data. For example, after calculating the covariance matrix of the registered point cloud data and the target scan point cloud data, a quaternion can be quickly calculated using the iterative Jacobi method, and then the rotation matrix and translation vector can be calculated using the quaternion to obtain the initial rotation and translation matrix.

[0067] Then, the initial rotation and translation matrix can be used to perform rotation and translation operations on the registration point cloud data. The rotated and translated registration point cloud data is the updated registration point cloud data. For each point data in the updated registration point cloud data, the point data closest to that point data in the target planar scan point cloud data is determined as the registration point data, and the distance between the point data and the registration point data is determined based on the position coordinates of the point data and the position coordinates of the registration point data. After calculating the distance between each point data and the registration point data, the distances between all point data and the registration point data are summed to obtain the distance sum. The distance sum is used to reflect the alignment accuracy between the registered point cloud data and the target planar scan point cloud data after rotation and translation.

[0068] Then, the initial rotation and translation matrix between the updated registered point cloud data and the target planar scan point cloud data is recalculated. This process is repeated until the iteration termination condition is met. The iteration termination condition may include any one or more of the following: the number of iterations reaches a preset threshold; the distance sum is less than a preset threshold; the change in the parameters of the initial rotation and translation matrix compared to the parameters of the initial rotation and translation matrix in the previous iteration is less than a preset threshold; the distance sum is greater than the product of the minimum distance sum obtained during the iteration and the amplification factor (i.e., the distance sum may exhibit oscillations near the optimal solution). This application embodiment does not limit the specific iteration termination condition to be set.

[0069] During the iteration process, the initial rotation and translation matrix obtained in each iteration and the calculated distance sum are saved. After the iteration termination condition is met, the initial rotation and translation matrix with the smallest distance sum, that is, the highest alignment accuracy, is selected as the final rotation and translation matrix.

[0070] In one embodiment, if the positions corresponding to the previously selected reference pixels are relatively close, then for each point data in the registration point cloud data, the point in the skeleton part of the flat scan point cloud data that is closest to this point data is likely the target flat scan point data corresponding to this point data. The process of searching for the target flat scan point data in this case includes:

[0071] The three-dimensional space containing the registered point cloud data and the flat scan point cloud data is divided along the X-axis and Y-axis to obtain multiple three-dimensional subspaces.

[0072] For any point in the registered point cloud data, determine the number of flat scan point data points located in the target 3D subspace where the point data is located within the skeletal part of the flat scan point cloud data. If the number of flat scan point data points is greater than or equal to a preset threshold, determine the target flat scan point data closest to the point data from the flat scan point data in the corresponding target 3D subspace. Alternatively, if the number of flat scan point data points is less than or equal to a preset threshold, determine the target flat scan point data closest to the point data from the flat scan point data located in the target 3D subspace and the 3D subspace adjacent to the target 3D subspace.

[0073] In this embodiment of the application, when calculating the position coordinates of a pixel according to the aforementioned calculation method, if the distance between two layers of the CT image is thick and the pixels corresponding to the same position in the initial CTA data and the plain CT data are located in CT images of different layers, it is possible that the distance between the point data corresponding to these two pixels is determined to be far, while the distance between pixels located in the same layer but not corresponding to the same position is determined to be close, resulting in the inability to correctly find the target plain CT point data corresponding to the point data.

[0074] To at least partially solve this problem, the 3D space containing the registered point cloud data and the planar scan point cloud data (the aforementioned point cloud data space) can be divided along the X and Y axes, but not along the Z axis, thus obtaining multiple 3D subspaces. The division lengths along the X and Y axes can be determined based on the density of the planar scan point cloud data; the higher the density, the shorter the division length can be. The lengths along the X and Y axes of each 3D subspace are the divided lengths, while the length along the Z axis is the original length of the 3D space.

[0075] Then, point data corresponding to the skeletal portion are selected and retained from the planar scan point cloud data; this data is subsequently referred to as planar scan point data. Each time a target planar scan point data corresponding to the point data is searched, the search is prioritized among all planar scan point data within the same 3D subspace as the point data, thereby reducing the probability of false searches.

[0076] For each point in the registered point cloud data, if the number of planar scan points in the target 3D subspace is greater than or equal to a preset threshold, then the planar scan point closest to that point in the target 3D subspace is determined as the target planar scan point. If the number of planar scan points in the target 3D subspace is less than the preset threshold, the search range is extended: from the planar scan points in the target 3D subspace and the 3D subspaces adjacent to the target 3D subspace, the planar scan point closest to that point is determined as the target planar scan point. Here, "the three-dimensional subspace adjacent to this target three-dimensional subspace" can refer to the four three-dimensional subspaces that are in contact with the target three-dimensional subspace in the X-axis or Y-axis direction, or it can refer to the eight subspaces surrounding the target three-dimensional subspace. Each time the search range is extended, all adjacent three-dimensional subspaces are extended as the search range to ensure that all directions are isotropic during the search. If, after one extension, the number of planar scan point data in the search range is still less than the preset threshold, then the extension is continued based on the current search range, and any three-dimensional subspace adjacent to any three-dimensional subspace in the current search range is also added to the search range. The above process is repeated until the number of planar scan point data in the search range is greater than or equal to the preset threshold, and then the planar scan point data closest to the point data is found from the search range as the target planar scan point data.

[0077] After finding the target flat scan point data for each point data, the collection of these target flat scan point data is the target flat scan point cloud data.

[0078] The kd-tree method can also be used to accelerate the search. When constructing the kd-tree structure, each planar scan point is treated as a node in the kd-tree, and each 3D subspace is treated as a subtree under the root node. Then, the normal kd-tree partitioning method can be used to further divide each subtree to obtain the complete kd-tree structure. For 3D subspaces with fewer than a preset threshold of nodes, the kd-tree search allows backtracking to the root node to search for the corresponding subtrees of adjacent 3D subspaces; otherwise, backtracking to the root node is not allowed. Therefore, for each point in the registered point cloud data, the target planar scan point data corresponding to that point can be found using the kd-tree search method.

[0079] After obtaining the registration point cloud data and the target planar scan point cloud data, the rotation and translation matrix can be calculated using any point cloud registration method. For example, the iterative nearest point algorithm can be used, but this application does not specifically limit the method.

[0080] Step 108: Rotate and translate the initial point cloud data using a rotation and translation matrix to obtain the target point cloud data, and then convert the target point cloud data into target CTA data;

[0081] In this embodiment, after obtaining the rotation and translation matrix, the position coordinates of each point in the initial point cloud data are processed using the rotation and translation matrix to obtain the rotated and translated target point cloud data. The 3D space where the target point cloud data is located is aligned with the 3D space where the planar scan point cloud data is located.

[0082] The target point cloud data can then be converted back into CT data. For each point data point, the inverse operation of formula (I) can be performed. That is, based on the point data's location coordinates, pixel size, and the distance between two layers in the CT image, the position of the corresponding pixel in the CT data space of the plain scan CT data is determined, and then the CT value corresponding to that point data is assigned to the pixel at that position. After performing this operation on all point data points, the target CTA data can be obtained.

[0083] Step 160: Based on the differences between the target CTA data and the plain CT data, extract the vascular data from the target CTA data.

[0084] In this embodiment, for each pixel in the target CTA data, a target pixel in the plain CT data located at the same position as that pixel is identified, and then the CT value of that pixel is subtracted from the CT value of the target pixel. Since the CT values ​​of pixels corresponding to the same position in these two types of CT data differ significantly only in the vascular region, the vascular data in the target CTA data can be obtained after performing this operation for each pixel.

[0085] The CT vascular data processing method provided in this application uses the skeletal portion of initial CTA data with angiography and plain CT data for registration. After converting the CT data into point cloud data, registration point cloud data is selected from the skeletal portion of the initial point cloud data for registration. Then, the target plain CT point cloud data corresponding to the registration point cloud data is determined from the skeletal portion of the plain CT point cloud data. A rotation and translation matrix is ​​calculated based on the registration point cloud data and the target plain CT point cloud data. The initial point cloud data is rotated and translated using the rotation and translation matrix to obtain target point cloud data aligned with the plain CT point cloud data. The target point cloud data is then converted back into target CTA data. Finally, a subtraction operation is performed on the target CTA data and the plain CT data to obtain the vascular data in the target CTA data. Since the skeletal portion is relatively easy to segment in CT images and its position and shape are relatively stable, this application uses the skeletal portion for registration, which makes the calculated rotation and translation matrix more accurate, improves the alignment between the target CTA data and the plain CT data obtained after rotation and translation, and thus improves the extraction accuracy of vascular images.

[0086] In one embodiment, registration point cloud data can be further selected from the inactive skeletal portion of the initial point cloud data that has a large number of feature points, such as... Figure 3 As shown, it includes:

[0087] Step 202: Obtain two-dimensional sliced ​​bone images based on the skeletal portion of the initial point cloud data;

[0088] Step 204: Based on the pixels of the corresponding bone in each two-dimensional slice bone image, determine the first target bone image of the corresponding bone concentration region from each two-dimensional slice bone image, and determine the first target point data corresponding to the pixels in each first target bone image in the initial point cloud data.

[0089] Step 206: Determine the active bone removal plane. From each two-dimensional slice bone image on the active bone removal plane, determine the second target bone image containing the starting point of the active bone region and the third target bone image containing the ending point of the active bone region. Obtain all fourth target bone images located between the second target bone image and the third target bone image. Determine the second target point data corresponding to the pixels in each fourth target bone image in the initial point cloud data.

[0090] Step 208: Select registration point cloud data from the skeletal portion of the initial point cloud data, excluding the first target point data and the second target point data.

[0091] In this embodiment, based on the skeletal portion of the initial point cloud data, two-dimensional slice skeletal images can be constructed on the transverse (XY plane), sagittal (YZ plane), and coronal (XZ plane) planes. The first target skeletal image belonging to the imaging results for concentrated skeletal regions can be selected based on the number of pixels corresponding to the bones in each two-dimensional slice skeletal image. For example, concentrated skeletal regions such as the skull, ischium, and mid-femur are typically displayed as planes with high CT values ​​on CT images, making it almost impossible to extract effective feature points for registration. Therefore, the point data corresponding to these concentrated skeletal regions can be removed from the initial point cloud data, and registration point cloud data is not selected from these point data.

[0092] Furthermore, by identifying the start and end points of the movable bone regions, fourth-order movable bone images can be selected, targeting movable bone regions such as the mandible, anterior ribs, and atlas, which are highly mobile during CT imaging. These movable bone regions are almost impossible to be in the same position when acquiring initial CTA data and plain CT data. Using point data from these movable bone regions for registration would reduce registration accuracy. Therefore, the point data corresponding to these movable bone regions can also be removed from the initial point cloud data, and registration point cloud data should not be selected from these point data.

[0093] The first target bone image can be selected based on the number of pixels of the corresponding bone in each second slice bone image. For example, the second slice bone image with the number of pixels of the corresponding bone greater than a certain threshold can be used as the first target bone image, or the second slice bone image with the number of pixels of the corresponding bone accounting for a proportion of the total number of pixels greater than a certain threshold can be used as the first target bone image, and so on.

[0094] In one embodiment, a method for filtering a first target skeleton image includes:

[0095] For any two-dimensional slice bone image, determine the pixels of the corresponding bones in the two-dimensional slice bone image, and use the sum of the CT values ​​of the pixels of each corresponding bone as the first CT value.

[0096] The largest value among the first CT values ​​is taken as the second CT value, and the two-dimensional slice bone image with a ratio of the first CT value to the second CT value greater than a preset ratio threshold is taken as the first target bone image.

[0097] In this embodiment, the sum of the CT values ​​of the corresponding bone pixels in each two-dimensional slice bone image is calculated, and the largest of these values ​​is taken as the second CT value. Then, the ratio of the first CT value to the second CT value of each two-dimensional slice bone image is calculated. If this ratio is greater than a preset ratio threshold, the two-dimensional slice bone image can be determined to be the first target bone image.

[0098] As shown in Formula (II), the formula for determining whether a two-dimensional slice skeleton image belongs to the first target skeleton image includes:

[0099] Formula (II)

[0100] Where th is the soft tissue CT value threshold, j is the sequence number of the two-dimensional slice bone image, and i is the pixel sequence number in the image. In other words, the CT values ​​of each pixel in the 2D sliced ​​bone image whose CT value is greater than the soft tissue threshold are summed, and the result is the first CT value. jmax is the image index of the largest value in the summation result. That is, the second CT value. thsca is a preset scale threshold. If a two-dimensional slice skeleton image satisfies the conditions of formula (II), then the two-dimensional slice skeleton image is the first target skeleton image.

[0101] After obtaining all the first target skeleton images, the point data corresponding to the pixels in each first target skeleton image are deleted from the initial point cloud data.

[0102] Based on the orientation and shape of the active bone region, a bone removal plane that easily identifies the start and end points of the active bone region can be determined. For example, for the mandible, it is easier to identify the temporomandibular joint from the coronal plane, so the XZ plane can be used as the active bone removal plane. Bone images containing the start and end points of the active bone region can be determined from the active bone removal plane. Then, all bone images between these two bone images (including the two bone images themselves) on the active bone removal plane are used as the fourth target bone image.

[0103] In one embodiment, a method for filtering a fourth target skeleton image includes:

[0104] Determine at least one fifth target bone image from each two-dimensional slice bone image. The fifth target bone image is a two-dimensional slice bone image that covers the active bone region and / or the fixed bone region adjacent to the active bone region.

[0105] For any fifth target skeleton image, determine the starting pixel from the active or fixed skeleton region of the fifth target skeleton image, and search for pixels connected to the starting pixel in at least one target direction from the starting pixel until the last endpoint pixel connected to the starting pixel in the target direction is found; the target direction is any direction toward the edge of the active skeleton region.

[0106] Based on the extension direction of the active skeleton region, the pixels at the starting point and the pixels at the ending point of the active skeleton region are determined from the endpoint pixels of each fifth target skeleton image.

[0107] In this embodiment, the fifth target bone image needs to cover the edge portion of the movable bone region, or cover the edge portion of the fixed bone region adjacent to the movable bone region that is close to the movable bone region. The fifth target bone image does not necessarily have to be an image on the movable bone removal plane. The specific image selected as the fifth target bone image can be determined based on the characteristics of the movable bone region and the imaging quality of the CT scan for the movable bone region. For example, for the atlas, a movable bone region, since the origin of the atlas is difficult to extract because it connects with the occipital bone in the CT image, the edge of the foramen magnum is easier to extract. Therefore, an image covering the occipital bone can be selected as the fifth target bone image, and the edge of the foramen magnum can be regarded as the origin of the atlas.

[0108] From the fifth target bone image, select any pixel at the approximate location of the active or fixed bone region as the starting pixel, and then search for pixels connected to the starting pixel along the edge of the active bone region. The search can proceed in any direction along the edge of the active bone region, or one or more directions can be determined based on the extension direction of the active bone region. Taking the atlas as an example, since it can be determined that the atlas is roughly located at the base of the occipital bone, the negative direction of the Z-axis can be used as the target direction.

[0109] Then, starting from the starting pixel, search for pixels connected to the starting pixel in the target direction. The search method can be as follows: Define a search range with the starting pixel as the center and a radius of a small preset length (e.g., 3 pixels). If a pixel within the search range is closer to the target direction than the starting pixel and has a non-zero CT value, then this pixel is taken as the new starting pixel. Repeat the above process until no pixel is found that is closer to the target direction than the starting pixel and has a non-zero CT value. At this point, the starting pixel is taken as the ending pixel.

[0110] After finding at least one endpoint pixel for each fifth target skeleton image, based on the approximate direction of the active skeleton region's extension, the endpoint pixel closest to and furthest from this direction is determined. These two pixels are the start and end points of the active skeleton region, respectively. For example, the atlas extends in the negative Z-axis direction, so the endpoint pixel closest to the positive Z-axis direction (i.e., with the largest Z-axis coordinate) can be taken as the start point of the active skeleton region, and the endpoint pixel closest to the negative Z-axis direction (i.e., with the smallest Z-axis coordinate) can be taken as the end point of the active skeleton region.

[0111] If there are multiple active skeletal regions, the above process is performed multiple times to obtain the start and end points of each active skeletal region.

[0112] Then, on the active bone removal plane of each active bone region, the following operations can be performed for each active bone region: determine a second target bone image containing the starting point of the active bone region, and determine a third target bone image containing the ending point of the active bone region. All bone images located between the second and third target bone images on the active bone removal plane are taken as fourth target bone images. After completing the above operations for each active bone region, the point data corresponding to the pixels of all fourth target bone images are removed from the initial point cloud data.

[0113] The following example, a head CT scan, illustrates the above process. In a head CT scan, the main areas of motion in the skeletal system are the atlas and mandible. For example... Figure 4The image shows the approximate location of the mobile skeletal region in a head CT scan. Since the extension directions of the atlas and mandible both include the Z-axis, the removal plane corresponding to these two mobile skeletal regions can both be transverse sections (XY plane).

[0114] The origin of the mandible is relatively easy to determine in the coronal plane, while the origin of the atlas can be determined using the edge of the foramen magnum, which is relatively easy to determine in the sagittal plane. Select the fifth target bone image from the more central portion of the CT data in both the coronal and sagittal planes.

[0115] like Figure 5 The diagram illustrates the starting and ending pixels of the five target skeleton images. For the fifth target skeleton image in the sagittal plane, the starting pixel is point a (which could be the pixel with the largest X-axis coordinate; this pixel is at the edge of the skull, and searching downwards along the Z-axis will find the edge of the foramen magnum). The target direction is the negative Z-axis. Searching for connected pixels along the negative Z-axis will lead to the ending pixel, point A. For the fifth target skeleton image in the coronal plane, the starting pixels are points b and c (there are two corresponding mandibular regions on the coronal plane; these two pixels could be the pixels with the smallest Z-axis coordinate, and they are highly likely to be pixels within the mandible). The target direction is the positive Z-axis. Searching for connected pixels along the positive Z-axis will lead to the ending pixels, points B and C.

[0116] Since the removal planes for the movable bones corresponding to the atlas and mandible are the same, and these two movable bone regions overlap to some extent, a point can be selected from points A, B, and C to simultaneously represent the starting point of both the atlas and mandible movable bone regions. This point can be chosen as the one with the largest Z-axis coordinate.

[0117] Furthermore, since head CT scans typically begin or end at the neck, the last CT image taken at the base of the neck can be considered the endpoint containing the active skeletal region. Therefore, in this example, the second target bone image is the bone image containing the point with the largest Z-axis coordinate among A, B, and C on the cross-section, and the third target bone image is the last bone image at the base of the neck. All images between these two (including the two images themselves) are used as the fourth target bone image.

[0118] The CT vascular data processing method provided in this application selects registration point cloud data from the initial point cloud data after removing the active bone region and the concentrated bone region. This avoids the problem that the position change of the active bone region during two CT scans affects the calculation of the rotation and translation matrix, and avoids the problem that a large number of point data representing bones in the concentrated bone region can easily lead to errors when searching for the target plain scan point cloud data, thereby improving the calculation accuracy of the rotation and translation matrix.

[0119] In one embodiment, when the CT value of a point in the target point cloud data is directly assigned to its corresponding pixel in the CT data space, jumps and artifacts may appear in the target CTA image, such as... Figure 6 The selected area is shown. This problem can be partially solved using the concept of interpolation, as shown below. Figure 7 As shown, it includes:

[0120] Step 702: Traverse each point data in the target point cloud data, and determine the target voxel corresponding to the point data in the CT data space based on the position coordinates of the currently traversed point data; the vertex of the target voxel is the pixel in the CT data space.

[0121] Step 704: Determine the distance between the point data and each vertex of the target voxel, determine the interpolation weight of each vertex based on the distance, and determine the target CT value corresponding to each vertex of the target voxel based on the CT value corresponding to the point data and the interpolation weight corresponding to each vertex.

[0122] Step 706: Update the current CT value of the pixel corresponding to each vertex using the target CT value, until every point data in the target point cloud data has been traversed.

[0123] In this embodiment of the application, eight adjacent pixels in the CT data space are grouped into a target voxel, such as... Figure 8 The pixels are shown in gray. Taking the pixel in the ixth row and iyth column of the izth layer (hereinafter abbreviated as (ix, iy, iz)) as an example, this pixel, together with the pixel to its right (ix, iy+1, iz), the pixel above it (ix+1, iy, iz), the pixel to the upper right (ix+1, iy+1, iz), and the pixels in the next layer that correspond to these four pixels ((ix, iy, iz+1), (ix, iy+1, iz+1), (ix+1, iy, iz+1), (ix+1, iy+1, iz+1)), together form a target voxel. These 8 pixels are the vertices of this target voxel.

[0124] The target voxel corresponding to the point data is the target voxel where that pixel is located after the point data has been converted back to a pixel using the inverse operation of Formula (I). As shown in Formula (III), the formula for this inverse operation is:

[0125] Formula (3)

[0126] in, , , These are the pixel indices on the X, Y, and Z axes, respectively, after the inverse operation. Since the point data has been rotated and translated, these pixel indices may not be integers. , , These are the X-axis, Y-axis, and Z-axis coordinates of the point data, respectively. The meanings of the other parameters are the same as in formula (I).

[0127] The target voxel containing (ix', iy', iz') is the voxel formed by the pixels corresponding to the values ​​obtained by rounding up and down ix', iy', and iz' respectively. For example, if (ix', iy', iz') is (2.3, 3.5, 1.7), then the rounded down and up values ​​of ix' are 2 and 3 respectively, the rounded down and up values ​​of iy' are 3 and 4 respectively, and the rounded down and up values ​​of iz' are 1 and 2 respectively. Therefore, the 8 vertices of the target voxel containing (ix', iy', iz') are: (2, 3, 1), (3, 3, 1), (2, 4, 1), (3, 4, 1), (2, 3, 2), (3, 3, 2), (2, 4, 2), (3, 4, 2).

[0128] It should be noted that if ix', iy', or iz' is an integer, then the integer itself can be regarded as its floor value, and the integer + 1 can be regarded as its floor value. For example, if ix' is 2, then the floor value and floor value of ix' can be regarded as 2 and 3 respectively.

[0129] Then, the interpolation weights are determined based on the distances between the point data and the vertices of the target voxel; the shorter the distance, the greater the interpolation weight. This distance can be calculated in either the point cloud data space or the CT data space. When calculating in the point cloud data space, the vertices of the target voxel need to be converted into point data in the point cloud data space according to formula (I). When calculating in the CT data space, the pixel indices corresponding to the point data on the X, Y, and Z axes obtained from formula (III) can be used. After obtaining the distance, the interpolation weights corresponding to the distance can be determined in any way, as long as the interpolation weights are inversely proportional to the distance. This application does not specifically limit this.

[0130] For example, the interpolation weights can be determined using formula (iv):

[0131] Formula (IV)

[0132] Where t1 to t8 correspond to the interpolation weights of vertices (ix, iy, iz), (ix+1, iy, iz), (ix, iy+1, iz), (ix, iy, iz+1), (ix+1, iy+1, iz), (ix, iy+1, iz+1), (ix+1, iy, iz+1), (ix+1, iy+1, iz+1), respectively, where ix, iy, and iz are the results obtained by rounding down ix', iy', and iz', respectively, and floor represents rounding down.

[0133] Then, for each vertex, the interpolation weight of that vertex is multiplied by the CT value of the point data to obtain the target CT value for that vertex. The target CT value is then added to the vertex's existing current CT value (i.e., the target CT value accumulated during previous processing of other point data) to obtain the updated current CT value for that vertex. After performing the above operations for each point data in the target point cloud data, the target CTA data can be obtained.

[0134] In one embodiment, considering that the target point cloud data may exceed the boundary of the CT data space on the Z-axis after rotation and translation (the range of the Z-axis in the CT data space is determined based on the number of layers in the CT scan image), a certain extension processing of the Z-axis of the CT data space is required before performing the aforementioned interpolation process to ensure that each point data in the target point cloud data corresponds to a target voxel in the CT data space. This includes:

[0135] Determine the diagonal length of the CT data space based on the X-axis, Y-axis, and Z-axis ranges.

[0136] The number of target CT image layers is determined based on the diagonal length and the distance between two layers of the CT image, and the Z-axis range of the CT data space is extended based on the number of target CT image layers.

[0137] The CT data space can be viewed as a cuboid, with the diagonal length referring to the length of the cuboid's diagonal. Since the diagonal is the longest line in a cuboid, no matter how the cuboid is rotated, its length along the Z-axis will never exceed the diagonal length. Therefore, the CT data space can be extended based on the diagonal length.

[0138] In the CT data space, the X-axis range is the product of the number of pixels on the X-axis and the size of each pixel on the X-axis; the Y-axis range is the product of the number of pixels on the Y-axis and the size of each pixel on the Y-axis; and the Z-axis range is the product of the number of image layers on the Z-axis and the distance between two layers. After calculating the diagonal length based on the X-axis, Y-axis, and Z-axis ranges, the ratio of the diagonal length to the distance between two layers can be used to determine the number of layers after extension. See Formula (V):

[0139] Formula (5)

[0140] Where nz' is the number of layers after extension, dx and dy are the size of the pixel on the X-axis and Y-axis respectively, nx and ny are the number of pixels on the X-axis and Y-axis respectively, nz is the original number of layers, and dz is the distance between the two layers.

[0141] In one embodiment, artifacts may still exist in the target CTA image after interpolation using the method described in the foregoing embodiments. Further methods can be used to eliminate jumps and artifacts in the target CTA image, based on the aforementioned interpolation method, including:

[0142] After updating the current CT value of the pixel corresponding to each vertex using the target CT value, the current weight of each vertex is updated using the interpolation weight of each vertex.

[0143] Before updating the current CT value of the corresponding pixel of each vertex using each target CT value, for any vertex, if the current CT value is less than or equal to the tissue boundary value, and the updated current CT value based on the target CT value is greater than the tissue boundary value, if the vertex meets the first target condition, then the target CT value is not used to update the current CT value; or if the vertex does not meet the first target condition, but the vertex meets the second target condition, then the target CT value is used as the current CT value.

[0144] The first objective condition is that the interpolation weight is less than the first preset threshold and / or the point data is not the neighboring point data of the vertex; when the distance to the point data corresponding to the vertex is less than the distance threshold, the point data is the neighboring point data of the vertex; the second objective condition is that the current weight is less than the second preset threshold and / or the vertex does not have any neighboring point data.

[0145] In this embodiment, after each calculation of the interpolation weight and the accumulation of the current CT value of the vertex based on the interpolation weight, the interpolation weight needs to be added to the vertex's existing current weight (that is, the interpolation weight accumulated when processing other point data) to obtain the updated current weight. The current weight can be used to characterize the degree to which the CT value of the vertex is "affected" by the point data of each point in the target point cloud data.

[0146] Before updating the current CT value of each vertex using the target CT value, it is first checked whether the update will cause the current CT value of that vertex to become greater than the tissue boundary value, that is, whether it will cause a change in the properties of that vertex, such as changing from a pixel representing a gray matter region to a pixel representing a white matter region, or from a pixel representing a soft tissue region to a pixel representing a skeletal region, etc. There can be multiple tissue boundary values, and the specific values ​​can be set by those skilled in the art based on experience. For example, the tissue boundary value between gray matter and white matter regions can be set to 35 HU.

[0147] If the properties of the vertex do not change, then the current CT value is updated normally using the target CT value.

[0148] If the properties of a vertex change abruptly, the reliability of the target CT value of that vertex needs to be verified, i.e., whether the target CT value is obtained based on sufficient influence from the point data. Unreliable target CT values ​​are not accumulated to avoid changes in vertex properties. The reliability of the target CT value is determined based on a first objective condition: the interpolation weight is less than a first preset threshold, and the point data is not among at least one of the vertex's neighboring point data. If a vertex meets the first objective condition, then the target CT value is unreliable. The first preset threshold can be set according to actual needs, and the criterion for determining neighboring point data is that the distance between the point data and the vertex is less than a distance threshold. The distance threshold can be set according to the size of the target voxel or the pixel size, for example, set to half the diagonal length or half the distance between two layers. In other words, for a point data to become a neighboring point of a vertex, it needs to be closer to that vertex than at least some of the other vertices in the target voxel.

[0149] If the target CT value is reliable, then the reliability of the current CT value also needs to be verified, that is, whether the current CT value is obtained based on sufficient influence from other point data. If the current CT value is unreliable, it is replaced with the target CT value to avoid changing the vertex properties. The reliability of the current CT value is determined based on a second objective condition, which is at least one of the following: the current weight is less than a second preset threshold, and the vertex has no neighboring point data. If the vertex meets the second objective condition, then the current CT value is unreliable.

[0150] If both the target CT value and the current CT value are reliable, then the target CT value is used to update the current CT value.

[0151] like Figure 9 The diagram shows the complete interpolation flowchart, combining the aforementioned artifact removal process with the interpolation process described above. At the start of interpolation, the current CT value, the total number of neighboring data points, and the current weight for all pixels in the CT data space are set to 0.

[0152] Then, each point in the target point cloud data is processed. For the currently processed point, the interpolation weights and target CT values ​​corresponding to the target voxel where the point is located and each vertex in the target voxel are calculated according to the process in the aforementioned embodiment. Before adding the target CT value to the current CT value of the vertex, the reliability of the current CT value and the target CT value is verified according to the process in the aforementioned embodiment if the addition would cause a change in the vertex properties.

[0153] If the target CT value is unreliable, then it will not be accumulated, and the current weight and the total number of neighboring points will not be changed.

[0154] If the target CT value is reliable but the current CT value is unreliable, then the target CT value is set to the current CT value. Simultaneously, after clearing the current weights and the total number of neighboring data points, the interpolation weights corresponding to the target CT value are added to the current weights. Furthermore, it is necessary to verify whether the point data corresponding to the target CT value is a neighboring point of the vertex; if so, the total number of neighboring data points is incremented by 1.

[0155] If both the target CT value and the current CT value are reliable, then the target CT value and the current CT value are summed, and the interpolation weight corresponding to the target CT value is added to the current weight. The point data corresponding to the target CT value is verified to be a neighboring point of the vertex. If so, the total number of neighboring point data is incremented by 1.

[0156] After processing all the point data, the CT data formed in the CT data space can be regarded as the target CTA data.

[0157] In one embodiment, to further correct artifacts and jumps in the target CTA image, the following steps can be performed after processing all point data:

[0158] For each vertex, if the vertex satisfies the second objective condition, replace the vertex’s current CT value with the corrected CT value; the corrected CT value is determined based on the current CT value of at least one vertex adjacent to the vertex.

[0159] In this embodiment, if after traversing all point data, it is still determined that the current CT value of a certain vertex is unreliable, then the vertex needs to be re-interpolated based on the CT values ​​of its neighboring vertices. Here, "neighboring vertices" can refer to the 26 vertices surrounding the vertex in 3D space, or it can refer to the 8 vertices surrounding the vertex that are on the same image layer as the vertex.

[0160] At least one vertex is selected from the adjacent vertices to perform interpolation on that vertex. For example, a vertex that does not satisfy the second objective condition, i.e., whose current CT value is reliable, can be selected for interpolation. The interpolation method can be averaging the CT values ​​of all selected adjacent vertices, or it can be other interpolation methods such as linear interpolation or spline interpolation. This application does not specifically limit the method in this way.

[0161] In one embodiment, the vascular data obtained after subtraction can be further denoised. For example... Figure 10 As shown, it includes:

[0162] Step 1002: Acquire target CTA data and plain CT data;

[0163] Step 1004: Based on the difference between the target CTA data and the plain CT data, extract vascular data from the target CTA data, and construct a two-dimensional initial vascular image in multiple target dimensions based on the vascular data; the target dimension is the dimension in which the vascular cross-section is located.

[0164] Step 1006: Erosion processing is performed on the two-dimensional initial vascular images of each layer, and three-dimensional initial vascular data is generated based on the eroded two-dimensional initial vascular images.

[0165] Step 1008: Dilatate the initial three-dimensional vascular data to obtain the target vascular data.

[0166] In this embodiment, denoising is achieved by erosion at a two-dimensional level and dilation at a three-dimensional level. After subtracting the target CTA data from the plain CT data to obtain preliminary vascular data, a two-dimensional initial vascular image in the target dimension can be constructed based on the vascular data. The target dimension is the dimension where the vascular cross-section is located. For example, in head CT, blood vessels typically grow along the sagittal plane, so the vascular cross-section is located in the coronal plane (YZ plane). In this dimension, the blood vessel usually appears as a point, and erosion in this dimension has minimal impact on the blood vessel. See also... Figure 11 This image shows a comparison of blood vessels in the sagittal and coronal planes of a head CT scan.

[0167] It should be noted that if the direction of blood vessel growth is not uniform in the area being scanned by CT, and there are cross-sections of blood vessels in multiple dimensions, then the target dimension can be the dimension containing the cross-section of the main blood vessel to be observed, or it can be the dimension containing the cross-sections of most blood vessels. Alternatively, blood vessels can be grouped according to their growth direction, and a target dimension can be determined for each group of blood vessels. Then, erosion can be performed on the initial two-dimensional blood vessel images in different target dimensions.

[0168] A multi-layered two-dimensional initial vascular image is constructed based on the vascular data obtained after subtraction in the target dimension, and then the two-dimensional initial vascular image is subjected to erosion processing. Any existing erosion processing method can be used to erode the blood vessels, and this application embodiment does not specifically limit this. During the erosion processing, for any region traversed by the erosion template, if there are pixels in the region that do not correspond to blood vessels, then the region is eroded; the erosion method can be to set the CT value of all pixels in the region to 0, or to set it to the minimum value among all pixels in the region.

[0169] Three-dimensional initial blood vessel data is reconstructed based on the eroded two-dimensional initial blood vessel images. Then, dilation processing is performed on the three-dimensional initial blood vessel data in three-dimensional space. Any existing dilation processing method can be used to dilate the blood vessels; this embodiment does not specifically limit this method. During dilation processing, for any region traversed by the dilation template, if a pixel corresponding to a blood vessel exists in that region, that region is dilated. The dilation method can be to set the CT value of all pixels in that region to the maximum CT value of the blood vessel, or to set it to the average CT value of all pixels in that region.

[0170] The CT vascular data extraction method provided in this application erodes the vascular data in the dimension of the vascular cross-section. Since a vascular cross-section typically appears as a point, eroding the cross-section in this dimension reduces damage to the vascular growth morphology. After eroding the vascular data in two dimensions, this application further dilates the eroded vascular data in three-dimensional space, thereby restoring the morphology of the vascular in three-dimensional space and improving the extraction accuracy of the vascular data.

[0171] In one embodiment, such as Figure 12 As shown, the methods for extracting vascular data include:

[0172] Step 1202: For any pixel in the target CTA data, determine the target pixel in the plain CT data corresponding to the pixel. If the CT value of the pixel is within the preset vascular CT value range and the CT value of the target pixel is within the preset soft tissue CT value range, subtract the CT value of the pixel from the CT value of the target pixel to obtain the subtraction CT value of the pixel.

[0173] Step 1204: If the CT value of a pixel is not within the preset vascular CT value range or the CT value of the target pixel is not within the preset soft tissue CT value range, set the first preset value to the subtraction CT value of the pixel.

[0174] Step 1206: Construct vascular data based on the subtraction CT values ​​of each pixel.

[0175] In this embodiment, considering that the CT values ​​of pixels at the same location may differ during two CT scans, a more reliable method than direct subtraction can be used to extract vascular data from the target CTA data. Specifically, the target CTA image is traversed, and for each traversed pixel, the corresponding target pixel in the plain CT data is first determined. Since the target CTA data is rotated and translated relative to the plain CT data, pixels in the plain CT data that are in the same layer, row, and column as the traversed pixel can be considered as the target pixel. If the target pixel does not exist, its subtraction CT value can be directly set to a first preset value. The first preset value can be 0, or any value that is not a possible CT value of a blood vessel.

[0176] If the CT value of the encountered pixel falls within the preset vascular CT value range (the preset vascular CT value range is the CT value that an angiographically enhanced blood vessel might have, for example, set to 0 to 400), then check if the CT value of the target pixel in the plain CT data falls within the preset soft tissue CT value range. If so, it indicates that the pixel is in an area where blood vessels are likely to appear, and is highly likely to correspond to a blood vessel pixel. Subtract the CT value of the target pixel from the CT value of such a pixel to obtain the subtraction CT value of that pixel.

[0177] If the CT value of the traversed pixel is not within the preset blood vessel CT value range, or the CT value of the target pixel is not within the preset soft tissue CT value range, then it can be considered that the pixel is likely not the pixel of the corresponding blood vessel, and the subtraction CT value of the pixel is set to the first preset value.

[0178] Then, the vascular data can be reconstructed based on the subtraction CT values ​​of all pixels in the target CTA image.

[0179] In one embodiment, if the pixel size in the plain CT data differs from the pixel size in the target CTA data, then the plain CT data needs to be scaled before subtraction. This includes:

[0180] Determine the target location of each pixel in the target CTA data in the plain CT data;

[0181] For any target location, the CT value corresponding to the target location is obtained by interpolation based on the CT values ​​of pixels surrounding the target location in the plain CT data.

[0182] In this embodiment, the target location can be calculated based on the position of the reference pixel in the plain CT data, the size of the pixel in the plain CT data, and the size of the pixel in the target CTA data. As shown in formula (VI):

[0183] Formula (VI)

[0184] Where x' and y' are the X-axis and Y-axis coordinates of the target location, x and y are the X-axis and Y-axis coordinates of the pixel location (e.g., the pixel center point) in the target CTA data, cx and cy are the X-axis and Y-axis coordinates of the reference pixel location, and dx src and dy src It refers to the pixel X-axis and Y-axis sizes in the target CTA data, dx dst and dy dst It refers to the X-axis and Y-axis size of pixels in plain CT scan data.

[0185] Then, based on the CT values ​​of the pixels surrounding the target location in the plain CT image, the CT value corresponding to the target location can be obtained by bilinear interpolation.

[0186] In one embodiment, after obtaining the subtraction data, it is also necessary to remove any possible bone-surrounding edge lines, including:

[0187] Multi-layer two-dimensional CT images are obtained based on the subtraction CT values ​​of each pixel. The pixels inside the bone enclosure in each layer of the two-dimensional CT image are determined, and the pixels in each layer of the two-dimensional CT image other than the pixels inside the bone enclosure are taken as the pixels outside the bone enclosure.

[0188] For any two-dimensional CT image, the first erosion template corresponding to the two-dimensional CT image is used to traverse the two-dimensional CT image. For any region traversed by the first erosion template, if there is any bone surrounding the outer pixel in the region, the second preset value is set to the CT value of all pixels inside the region.

[0189] Vascular data were constructed based on the erosion-processed 2D CT images.

[0190] The size of the first erosion template corresponding to the two-dimensional CT image is proportional to the outer dimension of the bone in the area where the two-dimensional CT image is located.

[0191] In this embodiment, image edges can be determined through edge extraction, typically referring to the bone envelope. Pixels inside the bone envelope are then designated as internal pixels surrounded by the bone, and pixels outside the bone envelope are designated as external pixels surrounded by the bone. Subsequently, the bone envelope in the image can be erased using image erosion.

[0192] After obtaining the subtraction data, multi-slice 2D CT images are first constructed. The specific dimension in which the 2D CT images are constructed depends on the region targeted by the CT scan. For example, for head CT scans, 2D CT images can be constructed on the transverse section.

[0193] For each 2D CT image, a first erosion template is determined, and the 2D CT image is traversed using the first erosion template. If any pixel in the traversed region is surrounded by bone, then this region is eroded. The erosion method can still be to set the CT value of all pixels in the region to 0, or to set it to the average or minimum value of the CT values ​​of all pixels in the region. This application embodiment does not limit the specific erosion method used. The size of the erosion template used for the second CT image needs to be proportional to the size of the outer periphery of the bone in the region of the 2D CT image. For example, the size of the erosion template for the middle position of the head needs to be larger than the size of the erosion templates for the top of the head and the neck position to avoid incomplete erasure.

[0194] For example, when using a square etching template, the size of the etching template can be determined by formula (VII):

[0195] Formula (VII)

[0196] Where r is the side length of the erosion template, thr_dis is the size threshold of the region in the 2D CT image, which is proportional to the size of the outer skeleton of that region, and dx is the size of the pixel on the X-axis.

[0197] After edge erasure of each 2D CT image using an erosion method, vascular data can be constructed based on these images. For example... Figure 13 The image shows a schematic diagram of the effect before and after edge erasure. It can be seen that the bone surrounding edge line is significantly eliminated after edge erasure.

[0198] In one embodiment, the pixels inside the bone-surrounded area can be obtained using the bone concentration region removal results from the foregoing embodiments, thus eliminating the need for edge extraction on every 2D CT image. This includes:

[0199] Based on the pixels of the corresponding bone in each two-dimensional CT image, a first target CT image corresponding to the concentrated area of ​​the bone is determined from each two-dimensional CT image, and two-dimensional CT images other than the first target CT image are used as the second target CT images.

[0200] Determine the bone-bound reference image from the second target CT image, perform edge extraction processing on the bone-bound reference image, and determine the internal pixels of the bone-bound reference image based on the edge extraction results;

[0201] Based on the corresponding pixels of the bone-bound interior pixels in the reference bone-bound image and the pixels in each second target CT image, the bone-bound interior pixels in each layer of the 2D CT image are determined.

[0202] In this embodiment, first target CT images located in the dimension of the two-dimensional CT image are extracted from the identification results of the concentrated bone region in the aforementioned embodiments, and the corresponding two-dimensional CT images are determined. The determination method can be based on the coordinates of the pixels of the first target CT image in the dimension perpendicular to that dimension (for example, if the first target CT image is an image on the XY plane, then the Z-axis coordinate is used here), and the coordinates of the pixels of the two-dimensional CT image in the dimension perpendicular to that dimension, to determine the two-dimensional CT image closest to the first target CT image, which is then used as the first target CT image corresponding to the first target CT image.

[0203] Then, all 2D CT images other than the first target CT image are used as the second target CT images. One or more bone-bound reference images are extracted from these to identify the bone envelope. For example, one bone-bound reference image can be selected from each region corresponding to a different bone periphery size.

[0204] After edge extraction of the bone-bound reference image, the pixels inside the bone bounding in the reference image are determined. Then, the pixels in other 2D CT images that correspond to the pixels inside the bone bounding in the reference image can be used as the pixels inside the bone bounding in the 2D CT image.

[0205] In one embodiment, the initial two-dimensional vascular image of each layer is subjected to erosion processing, including:

[0206] For any two-dimensional initial vascular image, the second erosion template is used to traverse the two-dimensional CT image. For any region traversed by the second erosion template, if there is any pixel in the region that takes the value of the first preset value or the second preset value, the third preset value is set to the CT value of all pixels in the region.

[0207] In this embodiment, during the erosion stage of the initial two-dimensional vascular image, a second erosion template is used to traverse the two-dimensional CT image. The size of the second erosion template can be the same as or different from the first erosion template. For example, the second erosion template can be set as a 5×5 square template.

[0208] For each region traversed by the second erosion template, check if there are any pixels in that region that have a value of the first preset value used in the aforementioned subtraction process, or the second preset value used in the aforementioned edge erasure process. If such pixels exist, then perform erosion processing on that region, and set the CT value of all pixels in that region to a third preset value. The third preset value can be 0, the minimum value of the CT value of all pixels in that region, or the average value.

[0209] In one embodiment, dilation processing is performed on the initial three-dimensional vascular data to obtain target vascular data, including:

[0210] The initial three-dimensional vascular data is traversed using an expansion template. For any space traversed by the expansion template, if there is at least one first pixel whose value is not a third preset value and at least one second pixel whose value is a third preset value, the CT value of each second pixel is updated based on the CT value of each first pixel in the space.

[0211] In this embodiment, during the erosion stage of the initial three-dimensional vascular data, an expansion template is used to traverse the two-dimensional CT image. The expansion template is a three-dimensional template. For example, the expansion template can be set as a 3×3×3 cube template. The size of the expansion template in two dimensions can be slightly smaller than the second erosion template to more precisely restore the eroded blood vessels in the previous step.

[0212] For each region traversed by the dilation template, check whether there is at least one second pixel with a value equal to the third preset value used in the aforementioned erosion, and whether there is at least one first pixel with a value not equal to the third preset value. If such a pixel exists, it means that the region is located at the edge of the eroded region in the previous step, and there may be damaged blood vessels in this region, requiring dilation processing. The dilation processing can be performed by updating the CT value of the second pixel based on the CT value of the first pixel in the region, for example: using an interpolation method to calculate the CT value that the second pixel should have, setting the CT value of the second pixel to the average value of the CT values ​​of the first pixel, etc.

[0213] After the expansion process is completed, the final target blood vessel data can be obtained. (Refer to...) Figure 14 The image shown is a rendering of the three-dimensional target blood vessel data after dilation processing.

[0214] If a more detailed reconstruction of a portion of the target blood vessel data is required, the erosion and expansion operations described in steps 1006 to 1008 can be repeated on that portion.

[0215] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0216] Based on the same inventive concept, this application also provides a CT vascular data processing apparatus for implementing the CT vascular data processing method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more CT vascular data processing apparatus embodiments provided below can be found in the limitations of the CT vascular data processing method described above, and will not be repeated here.

[0217] In one embodiment, such as Figure 15 As shown, a CT vascular data processing device 1600 is provided, including: an acquisition module 1602, a conversion module 1604, a determination module 1606, a processing module 1608, and an extraction module 1610, wherein:

[0218] Module 1602 is used to acquire initial CTA data and plain CT data;

[0219] The conversion module 1604 is used to convert the initial CTA data into initial point cloud data, convert the plain CT data into plain point cloud data, and select registration point cloud data from the skeletal part of the initial point cloud data.

[0220] The determining module 1606 is used to determine the target flat scan point cloud data corresponding to the registered point cloud data in the skeletal part of the flat scan point cloud data, and to determine the rotation and translation matrix based on the position coordinates of the registered point cloud data and the position coordinates of the target flat scan point cloud data.

[0221] Processing module 1608 is used to perform rotation and translation processing on the initial point cloud data using the rotation and translation matrix to obtain target point cloud data, and to convert the target point cloud data into target CTA data;

[0222] Extraction module 1610 is used to extract vascular data from the target CTA data based on the differences between the target CTA data and the plain CT data.

[0223] In one embodiment, the conversion module 1604 is further configured to:

[0224] For any pixel in the initial CTA data, the position coordinates corresponding to the pixel are determined according to the distance between the pixel and the reference pixel in the initial CTA data in each dimension, and the pixel is converted into point data based on the position coordinates.

[0225] For any target point data in the aforementioned point data, determine the number of point data within the search range corresponding to the target point data in each point data; the search range is a sphere centered on the target point data with a preset search distance as its radius; the preset search distance is proportional to the size of the pixel;

[0226] Delete the target point data whose number of point data is less than a preset threshold to obtain the initial point cloud data.

[0227] In one embodiment, the conversion module 1604 is further configured to:

[0228] Two-dimensional sliced ​​bone images are obtained based on the skeletal portion of the initial point cloud data;

[0229] Based on the pixels of the corresponding bone in each of the two-dimensional slice bone images, a first target bone image corresponding to the concentrated bone region is determined from each of the two-dimensional slice bone images, and the first target point data corresponding to the pixels in each of the first target bone images is determined in the initial point cloud data.

[0230] Determine the active bone removal plane, and from each of the two-dimensional slice bone images on the active bone removal plane, determine a second target bone image containing the start point of the active bone region and a third target bone image containing the end point of the active bone region, obtain all fourth target bone images located between the second target bone image and the third target bone image, and determine the second target point data corresponding to the pixels in each of the fourth target bone images in the initial point cloud data;

[0231] From the initial point cloud data, excluding the skeletal portion of the first target point data and the second target point data, select the registration point cloud data.

[0232] In one embodiment, the conversion module 1604 is further configured to:

[0233] For any of the two-dimensional sliced ​​bone images, determine the pixels of the corresponding bones in the two-dimensional sliced ​​bone image, and use the sum of the CT values ​​of the pixels of each corresponding bone as the first CT value;

[0234] The largest value among the first CT values ​​is taken as the second CT value, and the two-dimensional slice bone image with a ratio of the first CT value to the second CT value greater than a preset ratio threshold is taken as the first target bone image.

[0235] In one embodiment, the conversion module 1604 is further configured to:

[0236] At least one fifth target bone image is determined from each of the two-dimensional slice bone images, the fifth target bone image being a two-dimensional slice bone image covering the active bone region and / or the fixed bone region adjacent to the active bone region;

[0237] For any of the fifth target skeleton images, a starting pixel is determined from the active bone region or the fixed bone region of the fifth target skeleton image, and a pixel connected to the starting pixel is searched from the starting pixel in at least one target direction until the last ending pixel connected to the starting pixel in the target direction is found; the target direction is any direction toward the edge of the active bone region;

[0238] Based on the extension direction of the active skeletal region, the pixel corresponding to the starting point of the active skeletal region and the pixel corresponding to the ending point of the active skeletal region are determined from the endpoint pixels of each of the fifth target skeletal images.

[0239] In one embodiment, the determining module 1606 is further configured to:

[0240] The three-dimensional space containing the registered point cloud data and the flat scan point cloud data is divided along the X-axis and Y-axis directions to obtain multiple three-dimensional subspaces.

[0241] For any point in the registered point cloud data, determine the number of flat scan point data points located in the target 3D subspace where the point data is located within the skeletal portion of the flat scan point cloud data; if the number of flat scan point data points is greater than or equal to a preset threshold, determine the target flat scan point data closest to the point data from the flat scan point data corresponding to the target 3D subspace; or if the number of flat scan point data points is less than or equal to the preset threshold, determine the target flat scan point data closest to the point data from the flat scan point data located in the target 3D subspace and the 3D subspace adjacent to the target 3D subspace.

[0242] In one embodiment, the processing module 1608 is further configured to:

[0243] Traverse each point data in the target point cloud data, and determine the target voxel corresponding to the point data in the CT data space based on the position coordinates of the currently traversed point data; the vertex of the target voxel is the pixel in the CT data space.

[0244] The distances between the point data and each vertex of the target voxel are determined respectively. The interpolation weights of each vertex are determined according to the distances. The target CT values ​​corresponding to each vertex of the target voxel are determined according to the CT values ​​corresponding to the point data and the interpolation weights corresponding to each vertex respectively.

[0245] The current CT value of the pixel corresponding to each vertex is updated using the target CT value respectively, until every point data in the target point cloud data has been traversed.

[0246] In one embodiment, the processing module 1608 is further configured to:

[0247] The current weight of each vertex is updated using the interpolation weight of each vertex;

[0248] For any of the aforementioned vertices, if the current CT value is less than or equal to the tissue boundary value, and the updated current CT value based on the target CT value is greater than the tissue boundary value, then if the vertex satisfies the first target condition, the target CT value is not used to update the current CT value; or,

[0249] If the vertex does not satisfy the first target condition, but the vertex satisfies the second target condition, then the target CT value is used as the current CT value; or,

[0250] If the vertex does not meet the first target condition and the second target condition, the current CT value of the pixel corresponding to the vertex is updated using the target CT value;

[0251] Wherein, the first target condition is that the interpolation weight is less than a first preset threshold and / or the point data is not the neighboring point data corresponding to the vertex; when the distance between the vertex and the point data is less than a distance threshold, the point data is the neighboring point data of the vertex;

[0252] The second objective condition is that the current weight is less than the second preset threshold and / or the vertex does not have any neighboring point data.

[0253] In one embodiment, the processing module 1608 is further configured to:

[0254] For each vertex, if the vertex satisfies the second objective condition, the current CT value of the vertex is replaced with a modified CT value; the modified CT value is determined based on the current CT value of at least one vertex adjacent to the vertex.

[0255] In one embodiment, such as Figure 16 As shown, a CT vascular data extraction device 1600 is provided, including: an acquisition module 1602, an extraction module 1604, an erosion module 1606, and an expansion module 1608, wherein:

[0256] Module 1602 is used to acquire target CTA data and plain CT data;

[0257] Extraction module 1604 is used to extract vascular data from the target CTA data based on the difference between the target CTA data and the plain CT data, and to construct a two-dimensional initial vascular image in multiple target dimensions based on the vascular data; the target dimension is the dimension in which the vascular cross-section is located.

[0258] The erosion module 1606 is used to perform erosion processing on the two-dimensional initial vascular images of each layer, and generate three-dimensional initial vascular data based on the eroded two-dimensional initial vascular images.

[0259] The expansion module 1608 is used to expand the three-dimensional initial blood vessel data to obtain the target blood vessel data.

[0260] In one embodiment, the extraction module 1604 is further configured to:

[0261] For any pixel in the target CTA data, a target pixel corresponding to the pixel in the plain CT data is determined. If the CT value of the pixel is within a preset vascular CT value range and the CT value of the target pixel is within a preset soft tissue CT value range, the CT value of the pixel and the CT value of the target pixel are subtracted to obtain the subtraction CT value of the pixel.

[0262] If the CT value of the pixel is not within the range of the preset vascular CT value, or if the CT value of the target pixel is not within the range of the preset soft tissue CT value, the first preset value is set to the subtraction CT value of the pixel.

[0263] Vascular data are constructed based on the subtraction CT values ​​of each pixel.

[0264] In one embodiment, the extraction module 1604 is further configured to:

[0265] Multi-layer two-dimensional CT images are obtained based on the subtraction CT values ​​of each pixel, the bone-enclosed inner pixels in each layer of the two-dimensional CT image are determined, and the pixels in each layer of the two-dimensional CT image other than the bone-enclosed inner pixels are taken as bone-enclosed outer pixels.

[0266] For any of the two-dimensional CT images, the two-dimensional CT image is traversed using the first erosion template corresponding to the two-dimensional CT image. For any region traversed by the first erosion template, if any of the outer pixels surrounded by bone exist in the region, the second preset value is set to the CT value of all pixels inside the region.

[0267] Vascular data were constructed based on the two-dimensional CT images after corrosion processing.

[0268] The size of the first erosion template corresponding to the two-dimensional CT image is proportional to the outer dimension of the bone in the region where the two-dimensional CT image is located.

[0269] In one embodiment, the extraction module 1604 is further configured to:

[0270] Based on the pixels of the corresponding bone in each of the two-dimensional CT images, a first target CT image corresponding to the concentrated area of ​​the bone is determined from each of the two-dimensional CT images, and the two-dimensional CT images other than the first target CT image are used as the second target CT images.

[0271] A bone-bound reference image is determined from the second target CT image, and edge extraction processing is performed on the bone-bound reference image. Based on the edge extraction result, the internal pixels of the bone-bound reference image are determined.

[0272] Based on the pixels inside the bone enclosure in the reference image and their corresponding pixels in each of the second target CT images, the pixels inside the bone enclosure in each layer of the two-dimensional CT image are determined.

[0273] In one embodiment, the corrosion module 1606 is further configured to:

[0274] For any of the two-dimensional initial vascular images, the two-dimensional CT image is traversed using a second erosion template. For any region traversed by the second erosion template, if there is any pixel in the region that takes the value of the first preset value or the second preset value, the third preset value is set to the CT value of all pixels in the region.

[0275] In one embodiment, the expansion module 1608 is further configured to:

[0276] The three-dimensional initial vascular data is traversed using an expansion template. For any space traversed by the expansion template, if there is at least one first pixel whose value is not the third preset value and at least one second pixel whose value is the third preset value, the CT value of each second pixel is updated based on the CT value of each first pixel in the space.

[0277] Each module in the above-mentioned device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0278] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows:Figure 17 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a CT vascular data processing method or a CT vascular data extraction method.

[0279] Those skilled in the art will understand that Figure 17 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0280] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.

[0281] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0282] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0283] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0284] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0285] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0286] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method of processing CT angiographic data, characterized by, The method comprises: acquiring initial CTA data and plain CT data; converting the initial CTA data into initial point cloud data, converting the plain CT data into plain point cloud data, and selecting registration point cloud data from a bone part of the initial point cloud data; determining corresponding target plain point cloud data of the registration point cloud data in a bone part of the plain point cloud data, determining a rotation translation matrix according to position coordinates of the registration point cloud data and position coordinates of the target plain point cloud data; performing rotation translation processing on the initial point cloud data by using the rotation translation matrix to obtain target point cloud data, and converting the target point cloud data into target CTA data; extracting blood vessel data in the target CTA data based on a difference between the target CTA data and the plain CT data.

2. The method of claim 1, wherein, The converting of the initial CTA data into initial point cloud data comprises: for any pixel in the initial CTA data, determining a position coordinate corresponding to the pixel according to distances of the pixel and a reference pixel in the initial CTA data in each dimension, and converting the pixel into point data based on the position coordinate; for any target point data in each point data, determining a number of point data in each point data located in a search range corresponding to the target point data; the search range is a sphere with the target point data as the center and a preset search distance as the radius; the preset search distance is proportional to the size of the pixel; deleting the target point data with a point data number less than a preset number threshold to obtain initial point cloud data.

3. The method of claim 1, wherein, The selecting of the registration point cloud data from the bone part of the initial point cloud data comprises: acquiring two-dimensional slice bone images based on the bone part of the initial point cloud data; determining first target bone images of a corresponding bone cluster region from each two-dimensional slice bone image according to pixels of the corresponding bone in each two-dimensional slice bone image, and determining first target point data corresponding to the pixels in each first target bone image in the initial point cloud data; determining an active bone removal plane, determining a second target bone image containing a starting point of an active bone region and a third target bone image containing an end point of the active bone region from each two-dimensional slice bone image on the active bone removal plane, acquiring all fourth target bone images located between the second target bone image and the third target bone image, and determining second target point data corresponding to the pixels in each fourth target bone image in the initial point cloud data; selecting registration point cloud data from the bone part of the initial point cloud data excluding the first target point data and the second target point data.

4. The method of claim 3, wherein, The determining of the first target bone images of the corresponding bone cluster region from each two-dimensional slice bone image according to the number of pixels of the corresponding bone in each two-dimensional slice bone image comprises: for any two-dimensional slice bone image, determining pixels of the corresponding bone in the two-dimensional slice bone image, and taking a sum of CT values of each pixel of the corresponding bone as a first CT value; The maximum value among the first CT values is taken as a second CT value, and a two-dimensional slice bone image in which a ratio of the first CT value to the second CT value is greater than a preset proportion threshold value is taken as a first target bone image.

5. The method of claim 3, wherein, The method further comprises: determining at least one fifth target bone image from each of the two-dimensional slice bone images, the fifth target bone image being a two-dimensional slice bone image covering an active bone region and / or a fixed bone region adjacent to the active bone region; for any one of the fifth target bone images, determining a starting pixel from the active bone region or the fixed bone region of the fifth target bone image, and searching for a pixel connected to the starting pixel in at least one target direction from the starting pixel until a terminal pixel connected to the starting pixel in the target direction is found; the target direction being any direction towards the edge of the active bone region; determining, from each of the terminal pixels of each of the fifth target bone images, a pixel corresponding to the starting point of the active bone region and a pixel corresponding to the terminal point of the active bone region according to the extension direction of the active bone region.

6. The method of claim 1, wherein, The method further comprises: spatially dividing the three-dimensional space in which the registration point cloud data and the plain scan point cloud data are located in the X-axis direction and the Y-axis direction to obtain a plurality of three-dimensional subspaces; for any one of the point data in the registration point cloud data, determining the number of plain scan point data in the skeletal part of the plain scan point cloud data located in the target three-dimensional subspace in which the point data is located; in the case where the number of plain scan point data is greater than or equal to a preset threshold value, determining the target plain scan point data closest to the point data from the plain scan point data corresponding to the target three-dimensional subspace; or in the case where the number of plain scan point data is less than or equal to the preset threshold value, determining the target plain scan point data closest to the point data from the plain scan point data located in the target three-dimensional subspace and the three-dimensional subspaces adjacent to the target three-dimensional subspace.

7. The method of claim 1, wherein, The method further comprises: traversing each of the point data in the target point cloud data, determining the target voxel corresponding to the point data in the CT data space based on the position coordinates of the point data currently traversed; the vertices of the target voxel being the pixels in the CT data space; determining the distance between the point data and each vertex of the target voxel respectively, determining the interpolation weight of each vertex according to the distance, and determining the target CT value corresponding to each vertex of the target voxel according to the CT value corresponding to the point data and the interpolation weight corresponding to each vertex respectively; updating the current CT value of the pixel corresponding to each vertex by using each target CT value respectively until the traversal of each of the point data in the target point cloud data is completed.

8. The method of claim 7, wherein, After updating the current CT value of the pixel corresponding to each vertex by using each target CT value respectively, the method further comprises: updating a current weight of each vertex by using the interpolation weight of each vertex respectively; updating a current CT value of a pixel corresponding to each vertex by using the target CT value of each vertex respectively, including: if the current CT value is less than or equal to a tissue boundary value, and an updated value of the current CT value based on the target CT value is greater than the tissue boundary value, and the vertex satisfies a first target condition, then the current CT value is not updated by using the target CT value; or, if the vertex does not satisfy the first target condition, and the vertex satisfies a second target condition, then the target CT value is taken as the current CT value; or, if the vertex does not satisfy the first target condition and the second target condition, then the current CT value of the pixel corresponding to the vertex is updated by using the target CT value; wherein the first target condition is that the interpolation weight is less than a first preset threshold and / or the point data is not adjacent point data corresponding to the vertex; the point data is adjacent point data of the vertex if a distance between the vertex and the point data is less than a distance threshold; the second target condition is that the current weight is less than a second preset threshold and / or the vertex does not have any adjacent point data.

9. The method of claim 8, wherein, after traversing each point data in the target point cloud data, the method further includes: traversing each vertex, and replacing the current CT value of the vertex with a corrected CT value if the vertex satisfies the second target condition; the corrected CT value is determined according to a current CT value of at least one vertex adjacent to the vertex.

10. The method of claim 1, wherein, determining the rotation and translation matrix according to the position coordinates of the registration point cloud data and the position coordinates of the target scan point cloud data, including: determining an initial rotation and translation matrix based on the position coordinates of the registration point cloud data and the position coordinates of the target scan point cloud data, and performing rotation and translation processing on the registration point cloud data based on the initial rotation and translation matrix to obtain updated registration point cloud data; for each point data in the updated registration point cloud data, determining registration point data of the point data from the target scan point cloud data, and determining a distance between the point data and the registration point data; determining a distance sum according to distances corresponding to each point data in the updated registration point data, and jumping to the step of determining the initial rotation and translation matrix based on the position coordinates of the registration point cloud data and the position coordinates of the target scan point cloud data until an iteration termination condition is met; determining the rotation and translation matrix based on an initial rotation and translation matrix corresponding to the smallest distance sum among all initial rotation and translation matrices obtained in the iteration process.

11. A CT blood vessel data processing apparatus characterized by comprising: The device includes: an acquisition module configured to acquire initial CTA data and scan CT data; a conversion module configured to convert the initial CTA data into initial point cloud data, convert the scan CT data into scan point cloud data, and select registration point cloud data from a bone part of the initial point cloud data; The determining module is configured to determine target plain scan point cloud data corresponding to the registration point cloud data in a skeleton part of the plain scan point cloud data, and determine a rotation and translation matrix according to position coordinates of the registration point cloud data and position coordinates of the target plain scan point cloud data. The processing module is configured to perform rotation and translation processing on the initial point cloud data by using the rotation and translation matrix to obtain target point cloud data, and convert the target point cloud data into target CTA data. The extraction module is configured to extract blood vessel data in the target CTA data based on a difference between the target CTA data and the plain scan CT data.

12. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that, The processor executes the computer program to implement the steps of the method in any one of claims 1 to 10.

13. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 10.

14. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 10.