Two-dimensional projection image generation method, computer equipment and computer program product

By adaptively determining the projection area and the number of thread blocks, the problems of efficiency and applicable scenarios of GPU parallel generation of two-dimensional projection images are solved, and the projection images of different objects are efficiently generated, which improves the overall generation efficiency and applicability.

CN120833403AActive Publication Date: 2025-10-24YUANHUA ORTHOPAEDIC ROBOTICS (SHENZHEN) LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511345221.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-19
Publication Date
2025-10-24
Estimated Expiration
2045-09-19

AI Technical Summary

Technical Problem

The existing method of generating two-dimensional projection images based on GPU parallelism cannot simultaneously take into account generation efficiency and applicable scenarios, especially when the three-dimensional voxel data changes, the efficiency decreases.

Method used

The projection areas of the target patient and target medical device are determined by the CPU, and the number of thread blocks is adaptively determined according to the GPU performance parameters. The GPU is used to process the projection operations in parallel and fuse the projection images of different objects.

Benefits of technology

The efficiency of generating target projection images is improved, the scope of application of the method is expanded, and the computational overhead is reduced, especially the time consumption in generating projection images of small-sized objects is shortened.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120833403A_ABST
    Figure CN120833403A_ABST
Patent Text Reader

Abstract

The invention is suitable for the technical field of medical images, and provides a two-dimensional projection image generation method, computer equipment and a computer program product. The method comprises the following steps: determining a first projection area corresponding to first three-dimensional voxel data of a target patient and a second projection area corresponding to second three-dimensional voxel data of a target medical device through a CPU (Central Processing Unit), and determining a first number of thread blocks to be started according to performance parameters of a GPU (Graphics Processing Unit); starting a first number of thread blocks through the GPU, respectively executing digital reconstruction projection operation on the first three-dimensional voxel data and the second three-dimensional voxel data in respective corresponding projection areas in parallel through the first number of thread blocks, and fusing a first projection image and a second projection image which are respectively obtained into a target projection image; therefore, the application range of the method can be expanded while the overall generation efficiency of the target projection image is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of medical imaging, and particularly relates to a method for generating a two-dimensional projection image, a computer device, and a computer program product. BACKGROUND

[0002] Digitally reconstructed radiograph (DRR) technology is a kind of computing technology for generating a two-dimensional projection image based on three-dimensional medical image data. The core principle of the DRR technology is to simulate the imaging process of X-rays by projecting three-dimensional voxel data of computed tomography (CT) or magnetic resonance imaging (MRI) and the like, so as to generate a virtual X-ray image similar to a real X-ray image without additional radiation. Based on this, the DRR technology has been widely applied to medical scenarios such as radiotherapy, surgical planning, and surgical navigation.

[0003] In order to improve the generation efficiency of the two-dimensional projection image based on the DRR technology, the related technology provides a method for generating a two-dimensional projection image in parallel by using a graphics processing unit (GPU). However, this method has high image generation efficiency only in the scenario where the three-dimensional voxel data is unchanged. When it is necessary to generate two-dimensional projection images of multiple different objects, the change of the three-dimensional voxel data of different objects will cause the data processing efficiency of the GPU to decrease. It can be seen that the method for generating a two-dimensional projection image in parallel based on the GPU in the related technology cannot simultaneously consider the generation efficiency and the applicable scenario of the two-dimensional image. SUMMARY

[0004] Therefore, the embodiments of the present application provide a method for generating a two-dimensional projection image, a computer device, and a computer program product to solve the technical problem that the method for generating a two-dimensional projection image in parallel based on the GPU in the related technology cannot simultaneously consider the generation efficiency and the applicable scenario of the two-dimensional image.

[0005] In a first aspect, the embodiments of the present application provide a method for generating a two-dimensional projection image, applied to a computer device, wherein the computer device comprises a central processing unit (CPU) and a graphics processing unit (GPU); and the method comprises the following steps: The CPU determines a first projection area corresponding to first three-dimensional voxel data of a target patient on a virtual projection screen, and determines a second projection area corresponding to second three-dimensional voxel data of a target medical instrument on the virtual projection screen; and the area of the second projection area is smaller than the area of the first projection area. The CPU determines a first number of thread blocks to be started according to a performance parameter of the GPU. The CPU transmits the first three-dimensional voxel data, the first projection area, the second three-dimensional voxel data, the second projection area, the first number and preset projection parameters to the GPU; The GPU starts the first number of thread blocks, and performs, by the first number of thread blocks, a digital reconstruction projection operation on the first three-dimensional voxel data in the first projection area in parallel based on the preset projection parameters to obtain a first projection image, and performs, by the first number of thread blocks, the digital reconstruction projection operation on the second three-dimensional voxel data in the second projection area in parallel based on the preset projection parameters to obtain a second projection image; The GPU fuses the first projection image and the second projection image to obtain a target projection image.

[0006] In an optional implementation of the first aspect, the CPU determines a first projection area corresponding to the first three-dimensional voxel data of the target patient on a virtual projection screen, and determines a second projection area corresponding to the second three-dimensional voxel data of the target medical instrument on the virtual projection screen, including: The CPU obtains preset projection parameters; the preset projection parameters include a projection source position, a projection screen position, a projection angle, a projection image size and a preset projection pose of the second three-dimensional voxel data; The CPU determines, as the first projection area, a first axis-aligned rectangular area in which a center point coincides with a center point of the virtual projection screen and which has the same size as the projection image size; The CPU determines the second projection area according to the projection source position, the projection screen position, the projection angle and the preset projection pose of the second three-dimensional voxel data.

[0007] In an optional implementation of the first aspect, the CPU determines the second projection area according to the projection source position, the projection screen position, the projection angle and the preset projection pose of the second three-dimensional voxel data, including: The CPU determines positions of each vertex of a three-dimensional bounding box corresponding to the second three-dimensional voxel data when the second three-dimensional voxel data is in the preset projection pose; The CPU determines, according to the projection source position, the positions of each vertex and the projection screen position, two-dimensional coordinates of each virtual intersection point of each virtual ray emitted from a virtual projection source and passing through each vertex on the virtual projection screen in a projection screen coordinate system; The CPU determines a second-axis aligned rectangular region defined by minimum horizontal coordinate value, maximum horizontal coordinate value, minimum vertical coordinate value and maximum vertical coordinate value in all the two-dimensional coordinates as the second projection region.

[0008] In an optional implementation of the first aspect, the CPU determines the first number of thread blocks to be started according to a performance parameter of the GPU, including: The CPU determines the number of parallel processors included in the GPU and the maximum number of concurrent threads of each parallel processor according to the model of the GPU; The CPU determines the second number of threads included in each thread block; The CPU calculates the first number according to the number of parallel processors, the maximum number of concurrent threads and the second number by using the following formula: G ( M / B ) S * R ; Wherein, G is the first number, M is the maximum number of concurrent threads, B is the second number, S is the number of parallel processors, R is a preset expansion factor.

[0009] In an optional implementation of the first aspect, based on the preset projection parameter, the second digital reconstruction projection operation is performed on the second three-dimensional voxel data in the second projection region by the first number of thread blocks in parallel to obtain a second projection image, including: The GPU determines target threads for respectively being responsible for each pixel in the second projection region from all threads included in the first number of thread blocks, and performs the following digital reconstruction projection operation by all the target threads in parallel: Each target thread determines a projection ray corresponding to the target thread and pointing to the pixel responsible by the target thread from a virtual projection source, and in the case that the projection ray and a three-dimensional bounding box corresponding to the second three-dimensional voxel data have an intersection point, determines an original pixel value of the pixel responsible by the target thread according to voxel values of all target voxels through which the projection ray passes in the three-dimensional bounding box.

[0010] In an optional implementation of the first aspect, determining the original pixel value of the pixel responsible by the target thread according to the voxel values of all target voxels through which the projection ray passes in the three-dimensional bounding box, including: determining, by each of the target threads, a near-end intersection point and a far-end intersection point of the corresponding projection ray and the three-dimensional bounding box; determining, by each of the target threads, target voxels through which the corresponding projection ray passes in the three-dimensional bounding box from the near-end intersection point to the far-end intersection point; integrating and accumulating, by each of the target threads, voxel values of all the target voxels through which the corresponding projection ray passes in the three-dimensional bounding box, to obtain an original pixel value of the pixel responsible for by the target thread.

[0011] In an optional implementation of the first aspect, the determining, by each of the target threads, target voxels through which the corresponding projection ray passes in the three-dimensional bounding box from the near-end intersection point to the far-end intersection point, comprises: by each of the target threads, taking a voxel at which the near-end intersection point is located and a voxel at which the far-end intersection point is located as a first target voxel and a last target voxel respectively, and starting from the first target voxel, repeatedly performing the following voxel determination steps until the current voxel is the last target voxel: determining, according to a direction vector of the projection ray, three candidate boundary surfaces through which the projection ray is about to pass from all boundary surfaces of the current target voxel, the three candidate boundary surfaces being mutually perpendicular; calculating a travel parameter value required for the projection ray to travel from an incident point of the projection ray in the current target voxel to each of the candidate boundary surfaces; determining, as a next target voxel, a voxel adjacent to the candidate boundary surface corresponding to the smallest travel parameter value.

[0012] In an optional implementation of the first aspect, the GPU fuses the first projection image and the second projection image to obtain a target projection image, comprising: the GPU calculates, according to a minimum original pixel value and a maximum original pixel value in the first projection image, normalized pixel values of each pixel in the first projection image by a plurality of target threads corresponding to the first projection image in parallel, to obtain a first normalized image; the GPU calculates, according to a minimum original pixel value and a maximum original pixel value in the second projection image, normalized pixel values of each pixel in the second projection image by a plurality of target threads corresponding to the second projection image in parallel, to obtain a second normalized image; the GPU fuses the first normalized image and the second normalized image into the target projection image in a pixel value accumulation manner.

[0013] In a second aspect, an embodiment of the present application provides a computer device, including a memory and a computer program stored in the memory and capable of running on a processor, and the processor implements the method according to any of the optional implementation manners of the first aspect when executing the computer program.

[0014] In a third aspect, an embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the computer program, when executed by a processor, implements the method according to any of the optional implementation manners of the first aspect.

[0015] In a fourth aspect, an embodiment of the present application provides a computer program product, which, when running on a computer device, causes the computer device to implement the method according to any of the optional implementation manners of the first aspect.

[0016] The implementation of the method for generating a two-dimensional projection image, the computer device, the computer readable storage medium and the computer program product provided by the embodiments of the present application has the following beneficial effects: The method for generating a two-dimensional projection image provided by the embodiments of the present application can adaptively determine projection regions with different areas for different objects by the CPU, so that the GPU only performs a digital reconstruction projection operation in the corresponding projection region with an area much smaller than the size of the global image when generating a projection image of a small-size object such as a target medical instrument, thereby reducing the total amount of pixels to be processed and unnecessary computing overhead, shortening the projection time of the small-size object, and improving the overall generation efficiency of the target projection image. Since the CPU can adaptively determine the first number of thread blocks to be started according to the performance parameters of the GPU, the method can be applied to GPUs with different performance parameters. In addition, since the method can also efficiently generate projection images of different objects in the case of changes in three-dimensional voxel data, the method can improve the overall generation efficiency of the target projection image while expanding the scope of application. BRIEF DESCRIPTION OF DRAWINGS

[0017] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without creative labor.

[0018] Figure 1 A schematic flowchart of a method for generating a two-dimensional projection image provided by an embodiment of the present application; Figure 2 An implementation flowchart of S101 in a method for generating a two-dimensional projection image provided by an embodiment of the present application; Figure 3A A schematic diagram of a first projection region provided for an embodiment of the present application; Figure 3B A schematic diagram of a second projection region provided for an embodiment of the present application; Figure 4 An implementation flowchart of S105 in a method for generating a two-dimensional projection image provided for an embodiment of the present application; Figure 5 A structural schematic diagram of a computer device provided for an embodiment of the present application. DETAILED DESCRIPTION

[0019] The following embodiments are only used to more clearly illustrate the technical solutions of the present application, and thus only serve as examples, but cannot be used to limit the protection scope of the present application.

[0020] In the description of the embodiments of the present application, the technical terms “comprise”, “contain”, “have” and any variations thereof all mean “comprise but are not limited to”, unless otherwise specifically emphasized. In the description of the embodiments of the present application, unless otherwise specified, the technical term “multiple” refers to two or more than two, and the technical terms “at least one” and “one or more” refer to one, two or more than two. The technical terms “first”, “second” and the like are only used to distinguish different objects, and cannot be understood as indicating or implying relative importance or implicitly indicating the number, specific order or primary and secondary relationship of the indicated technical features. The technical term “and / or” is only a description of the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent the three cases of A existing alone, A and B existing together, and B existing alone. In addition, the character “ / ” herein generally represents an “or” relationship between the front and rear associated objects.

[0021] The embodiments of the present application first provide a method for generating a two-dimensional projection image. The execution subject of the method can be a computer device. Exemplarily, the computer device can be a desktop computer, a notebook computer, a tablet computer or a mobile phone, etc. The type of the computer device is not limited in the embodiments of the present application.

[0022] Optionally, the computer device can include a central processing unit (CPU), a GPU and a memory. The GPU and the memory are connected with the CPU. The GPU can include multiple parallel processors. The parallel processor can be a streaming multiprocessor (SM) for example. It should be noted that the specific functions of the CPU, the GPU and the memory in the computer device can refer to the related descriptions in the following method embodiments or computer device embodiments, which will not be described in detail here.

[0023] Figure 1 A schematic flowchart of a method for generating a two-dimensional projection image is provided in an embodiment of the present application. As shown in Figure 1 , the method can include S101-S105, which are described in detail as follows: S101, the CPU determines a first projection region corresponding to the first three-dimensional voxel data of the target patient on the virtual projection screen, and determines a second projection region corresponding to the second three-dimensional voxel data of the target medical instrument on the virtual projection screen; the area of the second projection region is smaller than the area of the first projection region.

[0024] Optionally, the target medical instrument can be a surgical instrument for performing a surgical operation, can also be a surgical implant for implanting into the target patient, or can be another type of medical instrument. The type of the target medical instrument is not limited in the embodiment of the present application.

[0025] In some application scenarios, the user can directly import the existing first three-dimensional voxel data of the target patient and the second three-dimensional voxel data of the target medical instrument into the computer device, so that the computer device can save the step of calculating the first three-dimensional voxel data and the second three-dimensional voxel data, thereby shortening the data preparation time and improving the overall digital reconstruction projection efficiency (i.e., the overall generation efficiency of the target projection image).

[0026] In other application scenarios, the user can import CT data or MRI data of the target patient and a three-dimensional model of the target medical instrument into the computer device. Based on this, the CPU in the computer device can perform three-dimensional reconstruction on the CT data or MRI data of the target patient to obtain the first three-dimensional voxel data of the target patient. The CPU can also convert the three-dimensional model of the target medical instrument into the second three-dimensional voxel data by using an isosurface extraction algorithm. It should be noted that the specific process of reconstructing the CT data or MRI data into the three-dimensional voxel data and the process of converting the three-dimensional model into the three-dimensional voxel data by using the isosurface extraction algorithm can be referred to the description in the related art, and the embodiment of the present application does not make a detailed description.

[0027] Optionally, the memory of the computer device can store preset projection parameters. The preset projection parameters can be customized by the user, for example, the user can set the corresponding projection parameters according to the use scenario. Exemplarily, the preset projection parameters can include: a projection source position, a projection screen position, a projection angle, a projection image size, a preset projection pose of the first three-dimensional voxel data, and a preset projection pose of the second three-dimensional voxel data.

[0028] The projection source position can refer to a to-be-placed position of a virtual projection source (such as a virtual X-ray source) in the projection space. Optionally, the projection source position can be determined by the first three-dimensional coordinates of the to-be-placed position in the projection space and the second three-dimensional coordinates of the to-be-placed position in the projection space.x 1, y 1, z 1) represents.

[0029] The projection screen position can refer to a geometric position of the virtual projection screen (e.g., a virtual X-ray imaging screen) in the projection space. Optionally, the projection screen position can be represented by a second three-dimensional coordinate (x s, y s, z s) of a center point of the virtual projection screen in the projection space and a three-dimensional normal vector (n x, n y, n z) of the virtual projection screen. x 2, y 2, z 2) and a three-dimensional normal vector (n x, n y, n z) of the virtual projection screen. n x , n y , n z ) represents.

[0030] The projection angle can be used to describe a projection visual angle of the virtual projection source relative to the target patient. Optionally, the projection angle can be represented by a rotation angle of the virtual projection source around the patient body axis in a preset plane. Wherein, the preset plane can refer to a plane perpendicular to the patient body axis. Illustratively, the projection angle of 0 degrees can represent that the virtual projection source is at the back of the target patient, i.e., projecting from the back to the front of the target patient; the projection angle of 90 degrees can represent that the virtual projection source is at the left side of the target patient, i.e., projecting from the left to the right of the target patient; the projection angle of 180 degrees can represent that the virtual projection source is at the front of the target patient, i.e., projecting from the front to the back of the target patient; the projection angle of 270 degrees can represent that the virtual projection source is at the right side of the target patient, i.e., projecting from the right to the left of the target patient.

[0031] The projection image size can include a resolution of the projection image, a horizontal pixel pitch Δx and a vertical pixel pitch Δy. W × H , u , v The horizontal pixel pitch Δx and the vertical pixel pitch Δy can be the same or different. Optionally, the projection image size can be set based on the first three-dimensional voxel data of the target patient. u v The preset projection pose of the first three-dimensional voxel data can include a first preset projection position and a first preset projection attitude. Optionally, the first preset projection position can be represented by a third three-dimensional coordinate (x s, y s, z s) of a center point of a three-dimensional bounding box corresponding to the first three-dimensional voxel data in the projection space and a three-dimensional normal vector (n x, n y, n z) of the three-dimensional bounding box.

[0032] The preset projection pose of the first three-dimensional voxel data can include a first preset projection position and a first preset projection attitude. Optionally, the first preset projection position can be represented by a third three-dimensional coordinate (x s, y s, z s) of a center point of a three-dimensional bounding box corresponding to the first three-dimensional voxel data in the projection space and a three-dimensional normal vector (n x, n y, n z) of the three-dimensional bounding box. x 3, y 3, z ​3) represents. Wherein the three-dimensional bounding box corresponding to the first three-dimensional voxel data can refer to the minimum cuboid bounding box capable of completely enclosing the first three-dimensional voxel data. Optionally, the first preset projection pose can be represented by the first rotation matrix of the three-dimensional bounding box corresponding to the first three-dimensional voxel data in the projection space.

[0033] The preset projection pose of the second three-dimensional voxel data can include a second preset projection position and a second preset projection pose. Wherein the second preset projection position can be represented by the fourth three-dimensional coordinates of the center point of the three-dimensional bounding box corresponding to the second three-dimensional voxel data in the projection space. x 4, y 4, z 4) represents. Wherein the three-dimensional bounding box corresponding to the second three-dimensional voxel data can refer to the minimum cuboid bounding box capable of completely enclosing the second three-dimensional voxel data. Optionally, the second preset projection pose can be represented by the second rotation matrix of the three-dimensional bounding box corresponding to the second three-dimensional voxel data in the projection space.

[0034] Based on this, the CPU can determine the first projection area and the second projection area according to the above-mentioned preset projection parameters. Specifically, S101 can include S1011-S1013 as shown in the following figure: Figure 2 S1011, the CPU acquires the preset projection parameters.

[0035] Specifically, the CPU can acquire the preset projection parameters from the memory.

[0036] S1012, the CPU determines the axis-aligned rectangular region with the center point coinciding with the center point of the virtual projection screen and the size being the same as the projection image size as the first projection area.

[0037] It should be understood that since the projection image size in the preset projection parameters is usually set based on the first three-dimensional voxel data of the target patient, the CPU can directly determine the first axis-aligned rectangular region with the center point coinciding with the center point of the virtual projection screen and the size being the same as the projection image size as the first projection area corresponding to the first three-dimensional voxel data. Wherein the two groups of opposite sides of the first axis-aligned rectangular region are respectively parallel to the horizontal direction and the vertical direction. Exemplarily, Figure 3A A schematic diagram of a first projection area provided by an embodiment of the present application. As shown in the following figure: Figure 3A Assuming that 31 in the following figure is a virtual projection screen, the first axis-aligned rectangular region can be 32 in the following figure. Figure 3A Figure 3A

[0038] S1013, the CPU determines the second projection area according to the projection source position, the projection screen position, the projection angle, and the preset projection pose of the second three-dimensional voxel data. ​​​

[0039] It should be understood that the larger the projection area is, the longer the time taken to generate the corresponding projection image is, and the lower the digital reconstruction projection efficiency is. In actual applications, since the volume of the three-dimensional bounding box corresponding to the second three-dimensional voxel data is usually much smaller than the volume of the three-dimensional bounding box corresponding to the first three-dimensional voxel data, if the projection head image size in the preset projection parameter is directly used to determine the second projection area corresponding to the second three-dimensional voxel data, a large number of projection rays will be discarded in the projection process of the second three-dimensional voxel data, thereby reducing the digital reconstruction projection efficiency. Based on this, in order to improve the digital reconstruction projection efficiency, the CPU can determine the second projection area matched with the second three-dimensional voxel data according to the projection source position, the projection screen position, the projection angle and the preset projection pose of the second three-dimensional voxel data in the preset projection parameter.

[0040] Optionally, S1013 can specifically include the following steps 1.1-1.3: Step 1.1, the CPU determines the positions of each vertex of the three-dimensional bounding box corresponding to the second three-dimensional voxel data when the second three-dimensional voxel data is in its preset projection pose.

[0041] It should be understood that the three-dimensional bounding box usually includes 8 vertices. Exemplarily, the position of each vertex can be represented by the fifth three-dimensional coordinates (x5, y5, z5) of each vertex in the projection space, respectively. x 5, y 5, z 5) respectively.

[0042] Optionally, the CPU can determine the positions of each vertex of the three-dimensional bounding box corresponding to the second three-dimensional voxel data when the second three-dimensional voxel data is in its preset projection pose according to the preset projection pose of the second three-dimensional voxel data, and the length, width and height of the three-dimensional bounding box corresponding to the second three-dimensional voxel data. The length, width and height of the three-dimensional bounding box corresponding to the second three-dimensional voxel data are determined in the process of converting the three-dimensional model of the target medical instrument into the second three-dimensional voxel data by using the isosurface extraction algorithm. It should be noted that the specific process of determining the positions of each vertex of the three-dimensional bounding box when the three-dimensional voxel data is in its preset pose according to the preset pose of the three-dimensional voxel data and the length, width and height of the three-dimensional bounding box corresponding to the three-dimensional voxel data can be referred to the description in the related art, and the embodiments of the present application will not be described in detail.

[0043] Step 1.2, the CPU determines the two-dimensional coordinates of each virtual intersection point of each virtual ray emitted from the virtual projection source and passing through each vertex and the virtual projection screen in the projection screen coordinate system according to the projection source position, the position of each vertex and the projection screen position.

[0044] Optionally, for each vertex, the CPU may determine the direction vector of a virtual ray emitted from the virtual projection source and passing through the vertex according to the projection source position and the position of the vertex using the following formula (1): D = normalize ( V - P source ); formula (1) in, D is the direction vector of the virtual ray, P _ source is the projection source position, V is the position of the vertex, normalize () is the normalization function.

[0045] Afterwards, for each virtual ray, the CPU can calculate the three-dimensional coordinates of the virtual intersection point of the virtual ray and the virtual projection screen in the projection space according to the projection source position, the direction vector of the virtual ray, and the projection screen position using the following formula (2): ;Formula (2) in, P intersect is the three-dimensional coordinate of the virtual intersection of the virtual ray and the virtual projection screen in the projection space, C is the three-dimensional coordinate of the center point of the virtual projection screen in the projection space, N is the three-dimensional normal vector of the virtual projection screen, and the operator “·” represents the dot product operation.

[0046] Finally, for each virtual intersection point, the CPU can calculate the two-dimensional coordinates of the virtual intersection point in the projection screen coordinate system using the following formula (3): ;Formula (3) in, U is the horizontal coordinate of the virtual intersection point in the two-dimensional coordinate system of the projection screen, U 1 is the row vector of the virtual projection screen, V is the vertical coordinate of the virtual intersection point in the two-dimensional coordinate system of the projection screen, V 1 is the column vector of the virtual projection screen. That is, the two-dimensional vector of each virtual intersection can be obtained by ( U , V )express.

[0047] In step 1.3, the CPU determines a second axis-aligned rectangular area defined by the minimum abscissa value, the maximum abscissa value, the minimum ordinate value, and the maximum ordinate value in all two-dimensional coordinates as a second projection area.

[0048] Wherein, the two pairs of opposite sides of the second axis-aligned rectangular region are parallel to the horizontal direction and the vertical direction respectively. For example, Figure 3B This is a schematic diagram of a second projection area provided in an embodiment of the present application. Figure 3B As shown, assuming that eight virtual rays emitted from the virtual projection source and passing through the eight vertices of the three-dimensional bounding box corresponding to the second three-dimensional voxel data intersect the virtual projection screen at eight virtual points A1 to A8, where A1 has the smallest abscissa value X1, A7 has the largest abscissa value X7, A5 has the smallest ordinate value Y5, and A3 has the largest ordinate value Y3, the CPU can then determine the second axis-aligned rectangular area 33 defined by A1's abscissa value X1, A7's abscissa value X7, A5's ordinate value Y5, and A3's ordinate value Y3 as the second projection area corresponding to the second three-dimensional voxel data.

[0049] It can be understood that since the area of ​​the second projection area is smaller than that of the first projection area, the resolution (i.e., the number of pixels contained) of the second projection image corresponding to the subsequently generated second three-dimensional voxel data is smaller than the resolution of the first projection image corresponding to the first three-dimensional voxel data.

[0050] S102: The CPU determines a first number of thread blocks to be started according to performance parameters of the GPU.

[0051] It should be noted that the first number determined by the CPU matches the performance parameters of the GPU.

[0052] For example, the performance parameter of the GPU may include the model of the GPU. Different models of GPUs generally have different numbers of parallel processors and / or different maximum numbers of concurrent threads of each parallel processor.

[0053] Optionally, S102 may specifically include the following steps 2.1 to 2.3: In step 2.1, the CPU determines the number of parallel processors included in the GPU and the maximum number of concurrent threads of each parallel processor based on the GPU model.

[0054] Optionally, the computer device's memory may store the current GPU model, or may store mappings between multiple GPU models, the number of parallel processors included in the GPU, and the maximum number of concurrent threads for each parallel processor. Based on this, the CPU may retrieve the current GPU model and these mappings from the memory, and determine the number of parallel processors included in the current GPU and the maximum number of concurrent threads for each parallel processor based on the current GPU model and these mappings.

[0055] In step 2.2, the CPU determines a second number of threads included in each thread block.

[0056] In an alternative implementation, the CPU can directly determine the default number as the second number of threads contained in each thread block, i.e. each thread block can contain the default number of threads regardless of how many parallel processors the GPU contains. Exemplarily, the default number can be 256.

[0057] In another alternative implementation, the CPU can determine the second number according to the number of parallel processors contained in the GPU by using the following formula (4): ; formula (4) wherein, B the second number is N2, S the number of parallel processors contained in the GPU is P.

[0058] According to the above formula (4), in the case that the number of parallel processors contained in the GPU is less than 10, each thread block can contain 128 threads; in the case that the number of parallel processors contained in the GPU is greater than or equal to 10 and less than 30, each thread block can contain 256 threads; in the case that the number of parallel processors contained in the GPU is greater than or equal to 30, each thread block can contain 512 threads.

[0059] Step 2.3, the CPU calculates the first number according to the number of parallel processors contained in the GPU, the maximum number of concurrent threads and the second number by using the following formula (5): G M B S R ; formula (5) wherein, G the first number is N1, M the maximum number of concurrent threads is M, R the preset expansion factor is E.

[0060] Exemplarily, in order to keep all the parallel processors in the GPU busy to maximize parallel computation, the preset expansion factor E R may be set as an integer greater than 1, for example, can be set as 2.

[0061] S103, the CPU transmits the first three-dimensional voxel data, the first projection region, the second three-dimensional voxel data, the second projection region, the first number and the preset projection parameter to the GPU.

[0062] ​​​​It should be understood that, in order to improve the efficiency of digital reconstruction projection, the embodiments of the present application perform the digital reconstruction projection operation on the first three-dimensional voxel data and the second three-dimensional voxel data by means of the GPU comprising a plurality of parallel processors. Based on this, after the CPU determines the first projection region, the second projection region and the first number, the CPU can transmit the first three-dimensional voxel data, the first projection region, the second three-dimensional voxel data, the second projection region, the first number and the preset projection parameter to the GPU.

[0063] In S104, the GPU starts the first number of thread blocks, and performs the digital reconstruction projection operation on the first three-dimensional voxel data in the first projection region by means of the first number of thread blocks in parallel based on the preset projection parameter, to obtain the first projection image; and performs the digital reconstruction projection operation on the second three-dimensional voxel data in the second projection region by means of the first number of thread blocks in parallel based on the preset projection parameter, to obtain the second projection image.

[0064] It should be understood that, since each thread block comprises the second number (N) of threads, B , the GPU starts the first number (M) of thread blocks is equivalent to starting G * M G * N B threads, that is, the GPU actually performs the digital reconstruction projection operation on the first three-dimensional voxel data in the first projection region and the digital reconstruction projection operation on the second three-dimensional voxel data in the second projection region by means of the G * M B * N

[0065] Optionally, in S104, the performing the digital reconstruction projection operation on the second three-dimensional voxel data in the second projection region by means of the first number of thread blocks in parallel based on the preset projection parameter to obtain the second projection image can specifically include the following step 3.1. In step 3.1, the GPU determines the target threads responsible for respective pixels in the second projection region from all threads comprised in the first number of thread blocks, and performs the following digital reconstruction projection operation by means of all the target threads in parallel: Each target thread determines the projection ray corresponding to the pixel responsible by the target thread from the virtual projection source, and in the case that the projection ray and the three-dimensional bounding box corresponding to the second three-dimensional voxel data have intersection points, determines the original pixel value of the pixel responsible by the target thread according to the voxel values of all target voxels through which the projection ray passes in the three-dimensional bounding box.

[0066] Optionally, for each thread in the first number of thread blocks, the GPU can determine a two-dimensional pixel index of the thread according to a block identifier of the thread block to which the thread belongs, an intra-block identifier of the thread, and the second number, and determine a thread whose two-dimensional pixel index is in the second projection region as a target thread. Each target thread is responsible for a pixel pointed to by its two-dimensional pixel index in the second projection region.

[0067] It should be noted that the specific process of determining whether the ray and the three-dimensional bounding box have an intersection point can refer to the description in the related art, and the embodiments of the present application will not be described in detail.

[0068] In an optional implementation, the step 3.1 of determining the original pixel value of the pixel responsible by the target thread according to the voxel values of all target voxels through which the projection ray passes in the three-dimensional bounding box can specifically include the following steps 3.11-3.13: Step 3.11, the GPU determines, by each target thread, the near-end intersection point and the far-end intersection point of the projection ray corresponding to the target thread and the three-dimensional bounding box.

[0069] It should be noted that the GPU determines, by all target threads simultaneously, the near-end intersection point and the far-end intersection point of the projection ray corresponding to each target thread and the three-dimensional bounding box in parallel. The near-end intersection point of the projection ray and the three-dimensional bounding box refers to the incident point of the projection ray on the three-dimensional bounding box, that is, the intersection point closest to the virtual projection source among all intersection points of the projection ray and the three-dimensional bounding box. The far-end intersection point of the projection ray and the three-dimensional bounding box refers to the exit point of the projection ray on the three-dimensional bounding box, that is, the intersection point farthest to the virtual projection source among all intersection points of the projection ray and the three-dimensional bounding box.

[0070] Optionally, the GPU can determine, by each target thread, the three-dimensional coordinates of the near-end intersection point and the far-end intersection point of the projection ray corresponding to the target thread and the three-dimensional bounding box in the projection space, respectively. It should be noted that the specific process of determining the three-dimensional coordinates of the near-end intersection point and the far-end intersection point of the projection ray and the three-dimensional bounding box can refer to the description in the related art, and the embodiments of the present application will not be described in detail.

[0071] Step 3.12, the GPU determines, by each target thread, the target voxels through which the projection ray corresponding to the target thread passes in the three-dimensional bounding box from the near-end intersection point to the far-end intersection point.

[0072] It should be noted that the target voxels through which the projection ray corresponding to each target thread passes in the three-dimensional bounding box include all voxels located inside the three-dimensional bounding box through which the projection ray passes, and the voxel where the near-end intersection point is located and the voxel where the far-end intersection point is located.

[0073] Optionally, step 3.12 can specifically include the following steps: The GPU takes, by each target thread, the voxel where the near intersection point of the corresponding projection ray is located and the voxel where the far intersection point of the corresponding projection ray is located as the first target voxel and the last target voxel respectively, and starts from the first target voxel, repeatedly executes the following voxel determination step until the current target voxel is the last target voxel: determines three candidate boundary surfaces that the projection ray is about to pass through from all the boundary surfaces of the current target voxel according to the direction vector of the projection ray; calculates a travel parameter value required for the projection ray to travel from the incident point of the current target voxel to each candidate boundary surface; and determines the voxel adjacent to the candidate boundary surface corresponding to the minimum travel parameter value as the next target voxel.

[0074] Optionally, for each target thread, the GPU can calculate the travel parameter value required for the projection ray to travel from the incident point of the current target voxel to each candidate boundary surface according to the direction vector of the corresponding projection ray, the three-dimensional coordinates of the incident point of the projection ray on the current target voxel in the projection space, and the voxel size of each voxel in the second three-dimensional voxel. The travel parameter value can be used to represent the distance to be traveled.

[0075] Step 3.13, the GPU performs integral accumulation operation on the voxel values of all target voxels through which the projection ray corresponding to each target thread passes in the three-dimensional bounding box to obtain the original pixel value of the pixel responsible for by the target thread.

[0076] Optionally, for each target thread, the GPU can calculate the actual path length of the projection ray in the target voxel after determining that the projection ray corresponding to the target thread passes through the target voxel in the three-dimensional bounding box, and perform integral operation on the voxel value of the target voxel based on the actual path length to obtain the contribution integral value of the target voxel. After determining all target voxels and the contribution integral values of the target voxels, the GPU can determine the sum of the contribution integral values of all target voxels as the original pixel value of the pixel responsible for by the target thread.

[0077] It should be noted that the specific process of obtaining the first projection image by the GPU is similar to the specific process of obtaining the second projection image. Therefore, the specific process of obtaining the first projection image by the GPU can be referred to the related description in the above step 3.1, and the embodiments of the present application will not be described in detail.

[0078] S105, the GPU fuses the first projection image and the second projection image to obtain a target projection image.

[0079] The target projection image is a two-dimensional projection image obtained by fusing the first projection image and the second projection image.

[0080] Optionally, S105 can include, for each target thread, Figure 4S1051-S1053 are shown and described in detail as follows: S1051, the GPU calculates, in parallel, the normalized pixel values of each pixel in the first projection image according to the minimum original pixel value and the maximum original pixel value in the first projection image by using a plurality of target threads corresponding to the first projection image.

[0081] Specifically, the GPU can calculate, in parallel, the normalized pixel values of each pixel in the first projection image by using the following formula (6) through a plurality of target threads corresponding to the first projection image: I norm1 x , y )=[ I 1( x , y )- I min1 ] / ( I max1 - I min1 ); formula (6) wherein, I norm1 x , y ) is the normalized pixel value of the pixel responsible by each target thread corresponding to the first projection image in the first projection image, I 1( x , y ) is the original pixel value of the pixel responsible by each target thread corresponding to the first projection image in the first projection image, I min1 is the minimum original pixel value in the first projection image, I max1 is the maximum original pixel value in the first projection image.

[0082] The plurality of target threads corresponding to the first projection image can refer to threads whose two-dimensional pixel indexes are within the first projection region among all threads contained in the first number of thread blocks.

[0083] It should be understood that the resolution of the first normalized image is the same as that of the first projection image. The pixel value of each pixel in the first normalized image is the normalized pixel value of the corresponding pixel in the first projection image.

[0084] S1052, the GPU calculates, in parallel, the normalized pixel values of each pixel in the second projection image according to the minimum original pixel value and the maximum original pixel value in the second projection image by using a plurality of target threads corresponding to the second projection image.

[0085] ​​Specifically, the GPU can use the following formula (7) to parallelly calculate the normalized pixel value of each pixel in the second projection image through multiple target threads corresponding to the second projection image: I norm2 ( x , y )=[ I 2( x , y )- I min2 ] / ( I max2 - I min2 ); formula (7) in, I norm2 ( x , y ) is the normalized pixel value of the pixel in the second projection image that each target thread is responsible for corresponding to the second projection image, I 2( x , y ) is the original pixel value of the pixel in the second projection image that each target thread is responsible for corresponding to the second projection image, I min2 is the minimum original pixel value in the second projection image, I max2 is the maximum original pixel value in the second projection image.

[0086] It should be understood that the resolution of the second normalized image is the same as the resolution of the second projection image. The pixel value of each pixel in the second normalized image is the normalized pixel value of the corresponding pixel in the second projection image.

[0087] S1053: The GPU fuses the first normalized image and the second normalized image into a target projection image by accumulating pixel values.

[0088] The resolution of the target projection image is the same as the resolution of the first normalized image.

[0089] It should be understood that, since the resolution of the second normalized image is smaller than that of the first normalized image, the second normalized image only corresponds to a partial region in the first normalized image or the target projection image. For ease of description, the partial region in the first normalized image or the target projection image corresponding to the second normalized image is referred to as a fusion region, and a region in the first normalized image or the target projection image other than the fusion region is referred to as a non-fusion region. Based on this, the GPU can determine the normalized pixel value of each pixel in the non-fusion region of the first normalized image as the pixel value of the corresponding pixel in the non-fusion region of the target projection image, respectively. The GPU can determine the pixel value of each pixel in the second normalized image as the sum of the pixel values of the corresponding pixels in the fusion region of the first normalized image, respectively, and the pixel value of the corresponding pixel in the fusion region of the target projection image, respectively, to obtain the target projection image.

[0090] Optionally, after obtaining the target projection image, the GPU can transmit the target projection image to the CPU for subsequent use.

[0091] As can be seen from the above, the method for generating a two-dimensional projection image provided by the embodiments of the present application can adaptively determine projection regions with different areas for different objects by the CPU, so that the GPU only performs a digital reconstruction projection operation in the projection region corresponding to the small-size object, such as the target medical instrument, which has an area much smaller than the size of the global image, when generating a projection image of the small-size object, thereby reducing the total amount of pixels to be processed and unnecessary computational overhead, shortening the projection time of the small-size object, and improving the overall generation efficiency of the target projection image. Since the CPU can adaptively determine the first number of thread blocks to be started according to the performance parameters of the GPU, the method can be applied to GPUs with different performance parameters. In addition, since the method can also efficiently generate projection images of different objects in the case where the three-dimensional voxel data changes, the method can improve the overall generation efficiency of the target projection image while expanding the scope of application of the method.

[0092] It should be understood that the size of the serial number of each step in the above embodiments does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0093] Please refer to Figure 5 , Figure 5 is a structural schematic diagram of a computer device provided by the embodiments of the present application. As shown in Figure 5As shown, the computer device 5 provided by the embodiment can include a processor 50, a memory 51, and a computer program 52 stored in the memory 51 and executable on the processor 50, for example, a program corresponding to the method for generating a two-dimensional projection image. The processor 50 implements the steps in the method for generating a two-dimensional projection image in the above embodiment when executing the computer program 52, for example Figure 1 As shown in S101-S105.

[0094] For example, the computer program 52 can be divided into one or more modules / units, one or more modules / units are stored in the memory 51 and executed by the processor 50 to complete the present application. One or more modules / units can be a series of computer program instruction segments capable of completing a specific function, which is used to describe the execution process of the computer program 52 in the computer device 5.

[0095] Optionally, the processor 50 can include a CPU 501 and a GPU 502. The CPU 501 can implement, for example, as shown in S101-S103 when executing the corresponding computer program, and the GPU 502 can implement, for example, as shown in S104-S105 when executing the corresponding computer program. Figure 1 Figure 1

[0096] For example, the memory 51 can be an internal storage unit of the computer device 5, for example, a hard disk or a memory of the computer device 5. The memory 51 can also be an external storage device of the computer device 5, for example, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, or a flash card, etc. equipped on the computer device 5. Further, the memory 51 can include both the internal storage unit and the external storage device of the computer device 5. The memory 51 is used to store computer programs and other programs and data required by the computer device. The memory 51 can also be used to temporarily store data that has been output or will be output.

[0097] Those skilled in the art can understand that, Figure 5 The computer device 5 is only an example and does not constitute a limitation on the computer device 5, which can include more or fewer components than shown, or combine certain components, or different components.

[0098] The embodiment of the present application also provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement each step in the method for generating a two-dimensional projection image.

[0099] ​​The embodiment of the present application provides a computer program product, when the computer program product runs on the computer device, causes the computer device to realize the steps in each method embodiment.

[0100] In the above embodiments, the description of each embodiment has its own focus, and the parts not described or recorded in a certain embodiment can be referred to the relevant description of other embodiments.

[0101] It should be noted that, unless otherwise specified, all technical terms used in the embodiments of the present application have the same meanings as those commonly understood by the person skilled in the art of the present application. The technical terms used in the embodiments of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.

[0102] The phrase "embodiment" mentioned in the description of the embodiments of the present application means that the specific features, structures or characteristics described in combination with the embodiments can be included in at least one embodiment of the present application. The appearance of this phrase at various places in the specification does not necessarily mean the same embodiment, nor is it an independent or alternative embodiment to other embodiments. The person skilled in the art explicitly and implicitly understands that the embodiments described herein can be combined with other embodiments.

[0103] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized in electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized in hardware or software depends on the specific application and design constraints of the technical solution. The person skilled in the art can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0104] The above-described embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements for some technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.

Claims

1. A method of generating a two-dimensional projection image, characterized by, The method is applied to a computer device comprising a central processing unit (CPU) and a graphics processing unit (GPU), and comprises the following steps: The CPU determines a first projection area corresponding to first three-dimensional voxel data of a target patient on a virtual projection screen, and determines a second projection area corresponding to second three-dimensional voxel data of a target medical instrument on the virtual projection screen; the area of the second projection area is smaller than the area of the first projection area; The CPU determines a first number of thread blocks to be started according to a performance parameter of the GPU; The CPU transmits the first three-dimensional voxel data, the first projection area, the second three-dimensional voxel data, the second projection area, the first number, and preset projection parameters to the GPU; The GPU starts the first number of thread blocks, and performs, by the first number of thread blocks in parallel, a digital reconstruction projection operation on the first three-dimensional voxel data in the first projection area based on the preset projection parameters to obtain a first projection image, and performs, by the first number of thread blocks in parallel, the digital reconstruction projection operation on the second three-dimensional voxel data in the second projection area based on the preset projection parameters to obtain a second projection image; The GPU fuses the first projection image and the second projection image to obtain a target projection image.

2. The method of claim 1, wherein, The CPU determines a first projection area corresponding to first three-dimensional voxel data of a target patient on a virtual projection screen, and determines a second projection area corresponding to second three-dimensional voxel data of a target medical instrument on the virtual projection screen, comprising: The CPU obtains preset projection parameters; the preset projection parameters comprise a projection source position, a projection screen position, a projection angle, a projection image size, and a preset projection pose of the second three-dimensional voxel data; The CPU determines, as the first projection area, a first axis-aligned rectangular region in which a center point coincides with a center point of the virtual projection screen and the size is the same as the projection image size; The CPU determines the second projection area according to the projection source position, the projection screen position, the projection angle, and the preset projection pose of the second three-dimensional voxel data.

3. The method of claim 2, wherein, The CPU determines the second projection area according to the projection source position, the projection screen position, the projection angle, and the preset projection pose of the second three-dimensional voxel data, comprising: The CPU determines the positions of each vertex of a three-dimensional bounding box corresponding to the second three-dimensional voxel data when the second three-dimensional voxel data is in the preset projection pose; The CPU determines, according to the projection source position, the positions of each vertex, and the projection screen position, two-dimensional coordinates of each virtual intersection point of each virtual ray emitted from a virtual projection source and passing through each vertex on the virtual projection screen in a projection screen coordinate system; The CPU determines, as the second projection area, a second axis-aligned rectangular region defined by the minimum horizontal coordinate value, the maximum horizontal coordinate value, the minimum vertical coordinate value, and the maximum vertical coordinate value in all the two-dimensional coordinates.

4. The method of claim 1, wherein, The CPU determines a first number of thread blocks to be started according to the performance parameter of the GPU, including: The CPU determines the number of parallel processors contained in the GPU and the maximum number of concurrent threads of each parallel processor according to the model of the GPU; The CPU determines a second number of threads contained in each thread block; The CPU calculates the first number according to the number of parallel processors, the maximum number of concurrent threads and the second number by using the following formula: G =( M / B )* S * R ; wherein, G is the first number, M is the maximum number of concurrent threads, B is the second number, S is the number of parallel processors, R is a preset expansion factor.

5. The method of claim 1, wherein, Based on the preset projection parameter, the second projection image is obtained by performing the digital reconstruction projection operation on the second three-dimensional voxel data in the second projection region by the first number of thread blocks in parallel, including: The GPU determines target threads responsible for each pixel in the second projection region from all threads contained in the first number of thread blocks, and performs the following digital reconstruction projection operation by all target threads in parallel: Each target thread determines its corresponding projection ray of the pixel responsible by the target thread from a virtual projection source, and in the case that the projection ray and a three-dimensional bounding box corresponding to the second three-dimensional voxel data have an intersection point, determines the original pixel value of the pixel responsible by the target thread according to the voxel values of all target voxels through which the projection ray passes in the three-dimensional bounding box.

6. The method of claim 5, wherein, Determining the original pixel value of the pixel responsible by the target thread according to the voxel values of all target voxels through which the projection ray passes in the three-dimensional bounding box, including: Each target thread determines its corresponding near-end intersection point and far-end intersection point of the projection ray and the three-dimensional bounding box; Each target thread determines the target voxels through which its corresponding projection ray passes in the three-dimensional bounding box from the near-end intersection point to the far-end intersection point; Each target thread performs integral accumulation operation on the voxel values of all target voxels through which its corresponding projection ray passes in the three-dimensional bounding box, to obtain the original pixel value of the pixel responsible by the target thread.

7. The method of claim 6, wherein, Each target thread determines the target voxels through which its corresponding projection ray passes in the three-dimensional bounding box from the near-end intersection point to the far-end intersection point, including: Each target thread takes the voxel where the near-end intersection point is located and the voxel where the far-end intersection point is located as the first target voxel and the last target voxel respectively, and repeatedly performs the following voxel determination step from the first target voxel until the current target voxel is the last target voxel: According to the direction vector of the projection ray, determine three mutually perpendicular candidate boundary surfaces from all boundary surfaces of the current target voxel through which the projection ray is about to pass; Calculate the travel parameter value required for the projection ray to travel from the incident point of the current target voxel to each candidate boundary surface; Determine the voxel adjacent to the candidate boundary surface corresponding to the smallest travel parameter value as the next target voxel.

8. The method according to any one of claims 1 to 7, characterized in that, The GPU fuses the first projection image and the second projection image to obtain a target projection image, comprising: The GPU calculates the normalized pixel value of each pixel in the first projection image according to the minimum original pixel value and the maximum original pixel value in the first projection image through a plurality of target threads corresponding to the first projection image in parallel, to obtain a first normalized image; The GPU calculates the normalized pixel value of each pixel in the second projection image according to the minimum original pixel value and the maximum original pixel value in the second projection image through a plurality of target threads corresponding to the second projection image in parallel, to obtain a second normalized image; The GPU fuses the first normalized image and the second normalized image into the target projection image in a pixel value accumulation manner.

9. A computer device, comprising: A computer program product, comprising a memory and a computer program stored in the memory and executable on a processor, wherein the processor implements the method according to any one of claims 1-8 when executing the computer program.

10. A computer program product, characterised in that, The computer program product, when running on a computer device, enables the computer device to implement the method according to any one of claims 1-8.

Citation Information

Patent Citations

  • Labview-platform-based ultrasound endoscopic imaging device and method

    CN109276276A

  • Model training method, three-dimensional scene reconstruction method and device

    CN116167911A

  • Industrial cone beam CT three-dimensional reconstruction method and system based on CUDA architecture

    CN118314237A

  • Three-dimensional image data bounding box prediction method and data transmission method and device

    CN120047937A