Volume rendering methods, systems, devices and storage media
By acquiring the boundary mesh of the tissue and using the hierarchical bounding box algorithm to manage rays and intersections, combined with the mesh smoothing algorithm for smoothing, the problem of jagged tissue boundaries in volume rendering is solved, achieving high-quality and efficient volume rendering effects.
Patent Information
- Application Number
- CN202210655566.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-10
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2042-06-10
AI Technical Summary
In existing volumetric rendering techniques, jagged edges are easily generated at the boundaries between the tissue of interest and adjacent tissues, resulting in uneven boundaries and affecting the quality and efficiency of the rendering results.
By acquiring the boundary mesh of the tissue, the boundary mesh is managed using a hierarchical bounding box algorithm to determine the rays and intersections, and volume rendering is performed based on the intersections. The mesh smoothing algorithm is then used for smoothing to ensure the continuous smoothness of the tissue boundary.
It improves the quality and efficiency of volume rendering results, ensures the continuous smoothness of tissue boundaries, reduces computational redundancy, and enhances the smoothness and computation speed of rendered images.
Smart Images

Figure CN114882163B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of data processing, and more specifically to methods, systems, apparatuses, and storage media for volume rendering. Background Technology
[0002] Medical scanning equipment, such as computed tomography (CT), can obtain three-dimensional volumetric data by scanning the human body. To visually visualize the three-dimensional structure of human organs, volumetric rendering can be performed on the 3D data to obtain a rendered image on the screen (e.g., a 2D image). During volume rendering, because the voxel values of some tissues of interest (e.g., blood vessels, heart, etc.) are similar to those of other adjacent tissues, the parameters (e.g., color, opacity, etc.) obtained during volume rendering of the tissue of interest and its neighbors are also similar, making it difficult to distinguish the tissue of interest from its neighbors in the image. Currently, voxels can be classified based on additional information such as voxel label values, and the display of the current voxel can be determined based on the classification results, thus distinguishing the tissue of interest from its neighbors. However, when performing volume rendering based on additional information such as voxel label values, limitations such as voxel resolution and volume effects may result in uneven boundaries between different regions, producing jagged edges.
[0003] Therefore, there is a need to provide a volume rendering method, system, and device to reduce or avoid jagged edges at the boundaries of adjacent tissues when performing volume rendering on volume data containing multiple regions or tissues, thereby obtaining a volume rendering image with continuous smooth boundaries, thus improving the quality of the rendering results and rendering efficiency. Summary of the Invention
[0004] One embodiment of this specification provides a volume rendering method. The volume rendering method includes obtaining a boundary mesh of an organization based on volume data; determining the intersection point of the ray and the boundary mesh for each ray in the volume rendering; and determining the volume rendering result of the organization based on the intersection point.
[0005] In some embodiments, obtaining the boundary mesh of an organization based on volume data may include: segmenting the volume data to determine the organization corresponding to each voxel and the label of the organization; binarizing the volume data based on the label of each organization; and determining the boundary mesh of the organization corresponding to the label based on the result of the binarization.
[0006] In some embodiments, determining the boundary grid of the organization corresponding to the label based on the result of the binarization process may include: determining the boundary grid of the organization corresponding to the label based on the moving cube algorithm.
[0007] In some embodiments, the method may further include: smoothing the boundary mesh of the organization.
[0008] In some embodiments, the boundary mesh may include multiple mesh patches. For each ray in volume rendering, determining the intersection point of the ray with the boundary mesh may include: managing the boundary mesh of the organization based on a hierarchical bounding box algorithm, wherein each parent node of the hierarchical bounding box algorithm corresponds to a bounding box, and each leaf node of the hierarchical bounding box algorithm corresponds to one or more mesh patches; determining whether the ray intersects with the parent node; if the ray intersects with the parent node, determining the intersection point of the ray with the leaf node corresponding to the parent node; if the ray does not intersect with the parent node, skipping the parent node and the leaf node corresponding to the parent node.
[0009] In some embodiments, determining the volume rendering result of the tissue based on the intersection point may include: for each ray, dividing the ray into multiple segments based on the intersection point and determining a label for each of the multiple segments; determining multiple sampling points along the ray direction; determining a label for each of the multiple sampling points based on the label of each segment; determining whether the label of each sampling point is visible; and determining the volume rendering result of the tissue based on the result of the determination.
[0010] In some embodiments, determining the volume rendering result of the organization based on the judgment result may include: if the label is not visible, skipping the segment where the sampling point is located and judging the next segment; if the label is visible, determining the contribution of the sampling points visible to the label to the brightness of the light based on the rendering parameters corresponding to the label; and determining the brightness of each ray based on the contribution of the sampling points visible to the label to the brightness of the light.
[0011] In some embodiments, the method may further include: displaying the volume rendering result based on the brightness of each ray.
[0012] One embodiment of this specification provides a volume rendering system. The volume rendering system includes: an acquisition module for acquiring the boundary mesh of an organization based on volume data; an intersection point determination module for determining the intersection point of each ray in the volume rendering with the boundary mesh; and a rendering module for determining the volume rendering result of the organization based on the intersection points.
[0013] One embodiment of this specification provides a computer-readable storage medium that stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes the volume drawing method as described in any embodiment. Attached Figure Description
[0014] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0015] Figure 1 These are schematic diagrams of exemplary imaging systems according to some embodiments of this specification;
[0016] Figure 2 This is an exemplary flowchart of a volume drawing method according to some embodiments of this specification;
[0017] Figure 3 This is an exemplary flowchart illustrating the acquisition of an organizational boundary mesh according to some embodiments of this specification;
[0018] Figure 4 This is an exemplary flowchart illustrating the determination of the intersection point of a ray and a boundary mesh according to some embodiments of this specification;
[0019] Figure 5 This is an exemplary flowchart illustrating the volume drawing results according to some embodiments of this specification;
[0020] Figure 6a and Figure 6b Volume rendering images generated according to existing methods and methods shown in some embodiments of this specification are provided respectively;
[0021] Figure 7 This is a block diagram of an exemplary drawing system based on some embodiments of this specification. Detailed Implementation
[0022] To more clearly illustrate the technical solutions of the embodiments in this specification, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are merely some examples or embodiments of this specification. For those skilled in the art, these drawings can be applied to other similar scenarios without creative effort. Unless obvious from the context or otherwise specified, the same reference numerals in the drawings represent the same structures or operations.
[0023] It should be understood that the terms “system,” “device,” “unit,” and / or “module” used herein are one way to distinguish different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.
[0024] As indicated in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not specifically refer to the singular and may also include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.
[0025] Flowcharts are used in this specification to illustrate the operations performed by the system according to embodiments of this specification. It should be understood that the preceding or following operations are not necessarily performed in exact order. Instead, the steps can be processed in reverse order or simultaneously. Furthermore, other operations can be added to these processes, or one or more steps can be removed from them.
[0026] Medical imaging equipment can obtain corresponding medical data by scanning the human body. For example, computed tomography (CT) equipment can use X-rays to scan the human body to obtain volume data. The volume data can be a three-dimensional image composed of multiple two-dimensional slice images, containing multiple voxels. The CT value at any position in the three-dimensional image can be obtained by linear interpolation based on the CT values of nearby voxels. In some embodiments, the three-dimensional structure of human organs can be visualized, and volume rendering can be performed on the volume data using techniques such as ray casting or ray tracing to obtain a rendered image on the screen. For example, during volume rendering, light rays can be emitted from each pixel corresponding to the rendered image on the screen, and the volume data can be sampled along the path of the light rays passing through the volume data. The CT value of each sampling point during the sampling process is mapped to rendering-related parameters (e.g., RGB values, opacity, etc.) according to information such as window width, window level, and color table. Based on the rendering-related parameters and the ray rendering equation, the contribution of direct or indirect lighting at each sampling point to the brightness of the light can be obtained. The brightness of the light can be obtained by superimposing the contributions of each sampling point. The brightness can be used to represent the color of the pixel corresponding to the light ray on the rendered image.
[0027] In some embodiments, the display effect of the rendered image can be adjusted by modifying information such as window width, window level, or color table. For example, by adjusting window width, window level, or color table, the opacity corresponding to the tissue of interest (e.g., heart, lungs, etc.) can be increased, while the opacity corresponding to the tissue of non-interest can be decreased, thus displaying only the region of interest; alternatively, different color styles can be used to distinguish between the tissue of interest and the tissue of non-interest. During the rendering of volume data, the CT values corresponding to some tissues of interest (e.g., blood vessels, heart, etc.) may be similar to the CT values corresponding to tissues of non-interest (e.g., adjacent soft tissues), making the rendering-related parameters they map similar and indistinguishable during display.
[0028] In some embodiments, tissues of interest can be classified into those of no interest using additional information, and the display of the current voxel can be determined based on the classification results, thus distinguishing between tissues of interest and those of no interest. For example, image algorithms (e.g., image segmentation algorithms) can be used to segment each voxel in the volume data, determining the label corresponding to each voxel, where different labels can represent different tissues. For each voxel in the volume data, the display of the voxel or its corresponding tissue can be determined based on the label corresponding to the current voxel, or voxels with different labels can be distinguished by different colors. Thus, in volume rendering, the label of the current sampling point can be determined by the voxel labels near the sampling point, thereby determining the display effect of the rendered image obtained from volume rendering. However, due to limitations such as voxel resolution, jagged edges may exist at the boundaries between different tissues in the rendered image. In addition, due to factors such as volume effects, the gradient of the volume data and the boundary normal at some boundaries may be inconsistent, resulting in uneven lighting and darkness at the boundaries calculated based on the boundary normal, and insufficient smoothness. In some embodiments, higher-order interpolation calculations can be used to improve the continuous smoothness of tissue boundaries. The higher-order interpolation calculations increase the number of samplings, affecting the computational efficiency of volume rendering.
[0029] This specification provides a volume rendering method, system, and apparatus. For volume data with multiple tissues, the method can obtain the boundary mesh of the tissues based on the volume data. In volume rendering, for each ray, the intersection point of the ray with the boundary mesh can be determined, and the volume rendering result of the tissue can be determined based on the intersection point. In some embodiments, the mesh can also be processed based on a mesh smoothing algorithm (e.g., bilateral filtering algorithm, etc.) to obtain continuous and smooth tissue boundaries while preserving the characteristics of the tissue boundaries. Furthermore, the boundary information on the mesh can be used accurately and efficiently for volume rendering, ensuring the continuous smoothness of the boundaries between tissues in the volume rendering result, and the rendering result is not affected by the volume data resolution or volume effect, thereby improving the quality of the rendered image and the efficiency of volume rendering.
[0030] To better understand the volume rendering system and / or method, the following description is based on data related to medical devices. It should be noted that this description based on data related to medical devices is not intended to limit the scope of this specification. For those skilled in the art, the systems and methods disclosed in this specification can be applied to any other system and / or device requiring data rendering.
[0031] Figure 1 These are schematic diagrams of exemplary imaging systems according to some embodiments of this specification. Figure 1 As shown, the imaging system 100 may include an imaging device 110, a network 120, one or more terminals 130, a processor 140, and a memory 150. In some embodiments, the various components of the imaging system 100 may be connected to and / or communicate with each other via wired and / or wireless means.
[0032] Imaging device 110 can scan objects located within its detection area and generate object-related data. In some embodiments, imaging device 110 may be a medical imaging device for disease diagnosis or research purposes. This medical imaging device may include a single-modal scanner and / or a multimodal scanner. A single-modal scanner may include, for example, an ultrasound scanner, an X-ray scanner, a CT scanner, a magnetic resonance imaging (MRI) scanner, a positron emission tomography (PET) scanner, an optical coherence tomography (OCT) scanner, a single photon emission computed tomography (SPECT) scanner, etc. A multimodal scanner may include, for example, a PET-MRI scanner, a SPECT-MRI scanner, a PET-CT scanner, etc. In some embodiments, object-related data may include projection data, scan data, one or more images of the object, etc. In some embodiments, object-related data may include volume data (e.g., three-dimensional volume data, four-dimensional volume data, etc.). For example, a CT scanner can obtain three-dimensional volume data of a patient by scanning the patient.
[0033] Network 120 may include any suitable network that facilitates the exchange of information and / or data between imaging system 100 and imaging system 100. In some embodiments, one or more components of imaging system 100 (e.g., imaging device 110, terminal 130, processor 140, memory 150, etc.) may communicate information and / or data with one or more other components of imaging system 100 via network 120. For example, processor 140 may acquire CT scan data from imaging device 110 via network 120. As another example, processor 140 may acquire user instructions from terminal 130 via network 120.
[0034] Terminal 130 may include mobile device 131, tablet computer 132, laptop computer 133, etc., or any combination thereof. In some embodiments, terminal 130 may be part of processor 140. In some embodiments, terminal 130 may be used to input user commands, display scan results, display volume rendering results, etc. The volume rendering results include rendered images that can be displayed on the screen of the terminal (e.g., terminal 130). In some embodiments, the rendered images may include two-dimensional images, three-dimensional images, etc. In some embodiments, terminal 130 may issue prompts to the user. In some embodiments, terminal 130 may be part of processor 140.
[0035] Processor 140 can process data and / or information acquired from imaging device 110, terminal 130, and / or memory 150. In some embodiments, processor 140 can acquire volume data of a scanned object from imaging device 110. In some embodiments, processor 140 can perform volume rendering on the volume data according to the methods described herein to obtain volume rendering results.
[0036] Memory 150 may store data, instructions, and / or any other information. In some embodiments, memory 150 may store data acquired from terminal 130 and / or processor 140. In some embodiments, memory 150 may store data and / or instructions, which processor 140 and / or terminal 130 may execute or use to implement the exemplary methods described herein. In some embodiments, memory 150 may be connected to network 120 to communicate with one or more other components of imaging system 100 (e.g., processor 140, terminal 130, etc.). One or more components of imaging system 100 may access the data or instructions stored in memory 150 via network 120. In some embodiments, memory 150 may be directly connected to or communicate with one or more other components of imaging system 100 (e.g., imaging device 110, processor 140, terminal 130, etc.). In some embodiments, memory 150 may be part of processor 140.
[0037] Figure 2 This is an exemplary flowchart of a volume drawing method 200 shown according to some embodiments of this specification. In some embodiments, one or more operations in the volume drawing method 200 can be performed... Figure 1 The volume rendering method 200 is executed in the imaging system 100 shown. For example, the volume rendering method 200 may be stored as instructions in memory 150 and invoked and / or executed by processor 140. The operations in the volume rendering method 200 shown below are for illustrative purposes. In some embodiments, the volume rendering method 200 may also be implemented in terminal 130. Figure 2 As shown, the volume drawing method 200 may include the following steps.
[0038] Step 210: Obtain the boundary mesh of the organization based on volume data. In some embodiments, step 210 may be implemented by the acquisition module 710.
[0039] In some embodiments, an imaging device (e.g., Figure 1 The imaging device 110 shown scans an object to generate volumetric data. Exemplary imaging devices may include MR scanning devices, CT scanning devices, X-ray scanning devices, ultrasound scanning devices, PET scanning devices, DR scanning devices, etc., or any combination thereof. In some embodiments, the object may include a patient, an artificial object, etc. In some embodiments, the object may include one or more tissues of the patient. The tissue may refer to a part of the human body, an organ, and / or biological tissue. For example, tissue may include the head, brain, neck, body, shoulder, arm, chest, heart, stomach, blood vessels, soft tissue, or any combination thereof. Accordingly, the volumetric data generated by the imaging device through scanning may include volumetric data of one or more tissues. In some embodiments, the volumetric data may include three-dimensional volumetric data, four-dimensional volumetric data, etc., or any combination thereof. For example, the volumetric data may include three-dimensional volumetric data, which may consist of an image sequence comprising multiple image frames, each image frame being generated by the imaging device through performing a scan. In some embodiments, the volumetric data may include multiple voxels, each voxel having a corresponding voxel value (e.g., CT value).
[0040] In some embodiments, medical body data can be acquired directly from the imaging device. In some embodiments, the body data can be acquired from a storage device (e.g., memory 150) disclosed elsewhere in this specification. For example, body data generated by imaging device 110 can be transmitted and stored in memory 150. Processor 140 can acquire body data from memory 150.
[0041] In some embodiments, the volume data can be segmented to determine the tissue corresponding to each voxel and the label of the tissue. For example, the volume data can be segmented based on an image segmentation algorithm to determine the tissue to which each voxel in the volume data belongs and the label of that tissue. In some embodiments, different tissues can have different labels. Further, based on the label of each tissue, the volume data can be binarized, and the boundary grid of the tissue corresponding to the label can be determined based on the result of the binarization. For example, for each tissue, the voxel value corresponding to that tissue can be set to 1 based on its label value, and the voxel values corresponding to other tissues can be set to 0, thereby obtaining binarized volume data. Based on the binarized volume data corresponding to the label of each tissue, the boundary grid of that tissue can be determined by a grid generation algorithm. In some embodiments, after determining the boundary grid of the tissue, the boundary grid can also be smoothed to obtain a smoothed boundary grid. For more description of data acquisition of tissue boundary grids, please refer to descriptions elsewhere in this specification (e.g., Figure 3 (and related descriptions).
[0042] In some embodiments, by extracting the segmentation results of different tissues using a mesh and smoothing them, a more continuous and smooth boundary mesh can be obtained while preserving the boundary features between tissues. In subsequent volume rendering, this improves the continuity and smoothness of tissue boundaries in the rendering results, ensuring the rendering results are not affected by the volume data resolution, thereby improving the quality and efficiency of the rendering results. Furthermore, when calculating illumination based on the boundary mesh, for sampling points near the boundary mesh, the mesh normal is used as the normal for that sampling point. This avoids problems such as uneven illumination and insufficient smoothness caused by inconsistencies between the volume data gradient and the boundary normal, thus improving the quality of the rendered image.
[0043] Step 220: For each ray in the volume rendering, determine the intersection point of the ray with the boundary mesh. In some embodiments, step 220 can be implemented by the intersection point determination module 720.
[0044] In some embodiments, volume rendering algorithms can be used to render three-dimensional volume data to obtain a rendered image on the screen. The rendered image may include a two-dimensional image, a three-dimensional image, etc. Exemplary volume rendering algorithms may include ray casting algorithms, ray tracing algorithms, etc. During the volume rendering process, a ray can be emitted from each pixel on the screen based on camera parameters (e.g., camera position), and multiple sampling points can be determined along the path of the ray through the volume data for sampling to obtain the color of the pixel corresponding to the ray.
[0045] In some embodiments, for each ray in volume rendering, the intersection point of the ray with the boundary mesh can be determined. In some embodiments, the boundary mesh of an organization can be composed of multiple mesh patches. The intersection point of a ray with the boundary mesh can be the intersection point of the ray with the mesh patch contained therein. In some embodiments, the boundary mesh of an organization can be managed based on a Bounding Volume Hierarchy (BVH) algorithm. For example, the BVH algorithm can include multiple parent nodes, each parent node corresponding to a bounding box, and each leaf node in each parent node corresponding to one or more mesh patches. For each ray, it can be determined whether the ray intersects with a parent node. If the ray intersects with a parent node, the intersection point of the ray with the leaf node corresponding to the parent node is further determined. If the ray does not intersect with a parent node, the parent node and the leaf node corresponding to the parent node are skipped. In some embodiments, a ray can pass through multiple organizations in the volume data. Accordingly, a ray can intersect with the boundary meshes of multiple organizations, resulting in multiple intersection points. For a more detailed description of determining the intersection point of a ray with the boundary mesh, see descriptions elsewhere in this specification (e.g., Figure 4 (and related descriptions).
[0046] In some embodiments, the boundary mesh of the organization is managed by the BVH algorithm. When the light rays intersect with the boundary mesh, it is not necessary to determine whether the light rays intersect with each mesh patch. This avoids redundant calculations when the light rays do not intersect with the mesh patches, reduces the amount of computation for light ray intersection, and improves the calculation speed for light ray intersection.
[0047] Step 230: Based on the intersection points, determine the volumetric rendering result of the tissue. In some embodiments, step 230 can be implemented by the rendering module 730.
[0048] In some embodiments, for each ray, based on the intersection points of the ray with the boundary mesh, the ray can be divided into multiple segments, and a label for each segment can be determined. For example, a mesh patch corresponding to each tissue can have a label for that tissue. The label of the intersection point can be determined based on the label of the mesh patch intersecting with the ray. Thus, the ray can be divided into multiple segments based on the intersection points of the ray with the boundary mesh, and the label of the intersection point corresponding to each segment can be used as the label of the segment. Further, multiple sampling points along the ray direction can be determined. For example, in volume rendering based on a ray casting algorithm, the sampling points can be step sampling points along the ray direction. As another example, in volume rendering based on a ray tracing algorithm, the sampling points can be random sampling points along the ray transmission path. Based on the label of each segment, the label of each sampling point can be determined. Further, it can be determined whether the label of each sampling point is visible. For example, the label of the tissue of interest can be preset as visible, and the label of the tissue of no interest can be preset as invisible. Based on this preset, the processor 140 can determine whether the label of each sampling point is visible. If the label of a sampled point is not visible, the segment containing that sampled point is skipped, and the next segment is evaluated. If the label of a sampled point is visible, the contribution of the visible sampled points to the brightness of the light is determined based on the rendering parameters corresponding to that label. Furthermore, for each ray, the brightness of the ray can be determined based on the contribution of the visible sampled points to the brightness of the ray. More details on determining the tissue rendering results can be found elsewhere in this specification (e.g., Figure 5 (and related descriptions).
[0049] It should be noted that the above description of the process of method 200 is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can make any changes or modifications based on this specification. In some embodiments, the steps of method 200 are not sequential. In some embodiments, method 200 may include one or more additional steps, or one or more steps of method 200 may be omitted. For example, method 200 may also include a step for smoothing the boundary mesh of an organization. As another example, method 200 may also include a step for displaying the volume rendering results based on the brightness of each ray.
[0050] Figure 3 This is an exemplary flowchart illustrating the acquisition of an organizational boundary mesh according to some embodiments of this specification. In some embodiments, one or more operations in method 300 can be performed... Figure 1The method 300 is executed in the imaging system 100 shown. For example, method 300 may be stored as instructions in memory 150 and invoked and / or executed by processor 140. The operations in method 300 shown below are for illustrative purposes. In some embodiments, method 300 may also be implemented in terminal 130. In some embodiments, step 210 in volume rendering method 200 may be implemented by method 300. Figure 3 As shown, method 300 may include the following steps.
[0051] Step 310: Segment the volume data to determine the tissue corresponding to each voxel and the label of the tissue.
[0052] In some embodiments, the volume data may include multiple tissues, and the volume data can be segmented to determine the tissue to which each voxel belongs. For example, the volume data can be segmented based on an image segmentation algorithm to determine the tissue corresponding to each voxel. Exemplary image segmentation algorithms may include graph-based image segmentation algorithms, pixel-based image segmentation algorithms, semantic segmentation algorithms, etc.
[0053] In some embodiments, the result of volume data segmentation may include different tissues and their corresponding voxels. For each tissue or voxel, a corresponding label can be determined. In some embodiments, the label can be used to identify the tissue to which the current voxel belongs, and different tissues may have different labels. For example, the label for the heart may be 'a', the label for the left lung may be 'b', the label for the right lung may be 'c', and so on. In some embodiments, the label may also be represented by a number. In some embodiments, the label for each tissue can be automatically generated during volume data segmentation; for example, when the processor 140 segments the volume data based on an image segmentation algorithm, it can automatically determine the label for each tissue when determining the tissue corresponding to each voxel.
[0054] Step 320: Binarize the volume data based on the labels of each organization.
[0055] In some embodiments, for each segmented tissue, the volume data can be binarized based on labels to obtain a binarized result. During binarization, for each tissue, the labels of voxels within that tissue can be set to a first value, and the labels of voxels in other tissues can be set to a second value, where the first and second values are different. For example, for tissue labeled 'a', the label value of each voxel can be set to 1, while the label value of each voxel in other tissues (e.g., b, c, etc.) can be set to 0. As another example, for tissue labeled 'b', the label value of each voxel can be set to 1, while the label value of each voxel in other tissues (e.g., a, c, etc.) can be set to 0. Thus, each tissue's label can correspond to a binarization result. In some embodiments, the binarization result can be used to indicate whether the tissue is visible in subsequent processing. For example, during boundary mesh extraction, the first value can indicate that the tissue is visible during mesh extraction, and the second value can indicate that the tissue is not visible during mesh extraction. In some embodiments, the volume data can be binarized based on a binarization algorithm. Exemplary binarization algorithms may include the bimodal method, the P-parameter method, the iterative method, and the Otsu binarization method.
[0056] Step 330: Determine the boundary mesh of the organization corresponding to the label based on the result of binarization processing.
[0057] A boundary grid can refer to a grid used to represent the boundaries of an organization. For example, each organization may have its own boundary, which may be an interface (e.g., an isosurface) surrounding the organization. This interface can be represented by a grid, i.e., a boundary grid. In some embodiments, a boundary grid can be used to represent the result of segmenting different organizations. For each organization in the volume data, its corresponding boundary grid can be determined. In some embodiments, a boundary grid may include multiple grid patches. By way of example only, the grid patches may be triangular grid patches, and multiple triangular grid patches connected together form the complete boundary grid of the organization.
[0058] In some embodiments, the boundary mesh of an organization can be extracted based on a mesh extraction algorithm. For example, the boundary mesh of the organization corresponding to a label can be determined based on the Moving Cube algorithm. Based on the Moving Cube algorithm, it can be determined whether the organization is visible based on the result of binarization processing, and the boundary mesh of the visible organization can be extracted. In some embodiments, it can also be determined whether the organization is visible based on window width and window level information, thereby extracting the boundary mesh of the organization based on the window width and window level information using a mesh extraction algorithm. Optionally or additionally, the boundary mesh of the organization can also be extracted based on both the window width and window level information and the result of binarization processing using a mesh extraction algorithm. In some embodiments, the boundary mesh of the organization corresponding to the label can be extracted based on the result of binarization processing corresponding to each organization's label. Thus, the boundary mesh of each organization can be obtained. In some embodiments, the boundary mesh of each organization can have the label corresponding to that organization.
[0059] In some embodiments, the extracted boundary mesh can also be smoothed. Smoothing can be achieved by adjusting parameters associated with the boundary mesh to obtain a continuous and smooth boundary mesh. As an example only, the boundary mesh may include multiple triangular mesh patches, and the parameters associated with the boundary mesh may include the vertex parameters of the triangular mesh patches. Smoothing can adjust the vertex parameters of the triangular mesh patches to achieve a smooth transition between different triangular mesh patches, resulting in a continuous and smooth boundary mesh. In some embodiments, the boundary mesh can be smoothed based on a mesh smoothing algorithm; for example, the boundary mesh of a tissue can be smoothed based on a bilateral filtering algorithm. Thus, the embodiments of this specification can extract the segmentation results of different tissues through a mesh based on the label of each tissue, facilitating further volume rendering. Furthermore, by smoothing the mesh, a more continuous and smooth boundary mesh can be obtained while preserving the boundary features between tissues. In the subsequent volume rendering process, the smoothed boundary mesh provides accurate tissue boundary information while improving the continuity and smoothness of tissue boundaries in the rendering result, ensuring that the rendering result is not affected by the data resolution, thereby improving the quality and efficiency of the rendering result.
[0060] It should be noted that the above description of method 300 is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can make any changes or modifications based on this specification. In some embodiments, the steps of method 300 are not sequential. In some embodiments, method 300 may include one or more additional steps, or one or more steps of method 300 may be omitted. In some embodiments, at least two steps in method 300 may be combined into one step, or one step in method 300 may be split into two steps. For example, step 310 may be divided into two steps: in one step, volume data may be segmented to determine the tissue corresponding to each voxel; in the other step, the label of each tissue may be determined based on the segmentation result. As another example, method 300 may also include a step of smoothing the boundary mesh of the tissue. As another example, in step 310, a trained neural network model may be used to segment the volume data. As another example, steps 320-330 may be omitted, and a trained neural network model may be used to extract the boundary mesh of the segmented volume data. Optionally or additionally, the same neural network model may be used for both volume data segmentation and boundary mesh extraction.
[0061] Figure 4 This is an exemplary flowchart illustrating the determination of the intersection point of a ray and a boundary mesh according to some embodiments of this specification. In some embodiments, one or more operations in method 400 can be performed... Figure 1 The method 400 is executed in the imaging system 100 shown. For example, method 400 may be stored as instructions in memory 150 and invoked and / or executed by processor 140. The operations in method 400 shown below are for illustrative purposes. In some embodiments, method 400 may also be implemented in terminal 130. In some embodiments, step 220 in volume rendering method 200 may be implemented using method 400. Figure 4 As shown, method 400 may include the following steps.
[0062] Step 410: Manage the organization's boundary mesh based on the Bounding Volume Hierarchy (BVH) algorithm.
[0063] In some embodiments, for the boundary meshes of various tissues in volume data, a tree structure for managing the boundary meshes can be constructed based on the BVH algorithm. For example, the tree structure may include multiple parent nodes, each parent node corresponding to a bounding box, and each leaf node corresponding to one or more mesh patches. In some embodiments, each bounding box may represent a three-dimensional spatial extent in the volume data, enclosing one or more mesh patches. Thus, based on the BVH algorithm, multiple bounding boxes can be determined, each bounding box enclosing one or more mesh patches, thereby enabling the management of the tissue's boundary mesh based on the bounding boxes. In some embodiments, at least a portion of the multiple bounding boxes may overlap. For example, the mesh patches enclosed by two or more bounding boxes may partially overlap. In some embodiments, the tree structure may include multiple layers of nodes. For example, each parent node may correspond to a bounding box, and each bounding box may also enclose multiple lower-level bounding boxes. Further, each lower-level bounding box may enclose one or more mesh patches.
[0064] Step 420: Determine whether the ray intersects with the parent node.
[0065] In some embodiments, for each ray in volume rendering, it can be determined whether the ray intersects with a parent node. For example, the BVH algorithm can be used to determine whether a ray intersects with a parent node. Alternatively, the intersection of the ray and parent node can be determined by calculating the spatial relationship between the ray's path in the volume data and the bounding box corresponding to the parent node. If at least a portion of the ray passes through the 3D space corresponding to the bounding box, it can be determined that the ray intersects with the parent node. In some embodiments, for each ray, the parent nodes in the BVH algorithm can be traversed to determine whether the ray intersects with each parent node.
[0066] Step 430: If the ray intersects with the parent node, determine the intersection point of the ray with the corresponding leaf node of the parent node.
[0067] Step 440: If the ray does not intersect with the parent node, skip the parent node and its corresponding leaf node.
[0068] In some embodiments, if a ray intersects a parent node, the ray may intersect with one or more mesh patches enclosed in the bounding box. Therefore, if a ray intersects a parent node, the intersection points of the ray with the leaf nodes corresponding to the parent node can be further calculated. For example, each leaf node corresponding to the parent node can be traversed to determine the intersection points of the ray with one or more leaf nodes. If a ray does not intersect a parent node, the ray does not intersect with one or more mesh patches enclosed in the bounding box. Therefore, if a ray does not intersect a parent node, the parent node and its corresponding leaf nodes can be skipped. In some embodiments, a ray may pass through multiple tissues in the volume data. Accordingly, a ray may intersect with the boundary meshes of multiple tissues, resulting in multiple intersection points. In some embodiments, a ray may intersect with the boundary mesh of a tissue at different locations along its path, resulting in multiple intersection points.
[0069] By using the BVH algorithm to manage the boundary mesh, when determining the intersection point of a ray with the boundary mesh, it's possible to first determine if the ray intersects with its parent node. If they do, then the intersection point between the ray and the corresponding leaf node of the parent node is further determined; otherwise, the parent node and its corresponding leaf node can be skipped. According to this method, when finding the intersection point of a ray with the boundary mesh, it's unnecessary to determine if the ray intersects with each mesh patch, avoiding redundant calculations when the ray doesn't intersect with the mesh patch, reducing the computational load of ray intersection calculations, and improving the calculation speed.
[0070] In some embodiments, a distance field of the boundary grid can be constructed to determine the intersection point of the ray and the boundary grid. For any point in the volume data, the distance field can include the shortest distance from that point to the boundary grid. Thus, for any point on the ray, the shortest distance from that point to the grid boundary can be determined based on the distance field. Further, the intersection point of the ray and the boundary grid can be determined based on a ray stepping algorithm. For example, in a ray stepping algorithm, the ray can move along its path at certain step sizes, and while moving forward, it can determine whether the ray intersects with the boundary grid based on the distance field, thereby determining the intersection point of the ray and the boundary grid. Based on the distance field, the shortest distance from the sampling point on the ray to the boundary grid can be determined, avoiding redundant calculations and improving the speed of ray intersection determination.
[0071] It should be noted that the above description of method 400 is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can make any changes or modifications based on this specification. In some embodiments, the steps of method 400 are not sequential. In some embodiments, method 400 may include one or more additional steps, or one or more steps of method 400 may be omitted. In some embodiments, at least two steps in method 400 may be combined into one step, or one step in method 400 may be split into two steps.
[0072] Figure 5 This is an exemplary flowchart illustrating the determination of volume drawing results according to some embodiments of this specification. In some embodiments, one or more operations in method 500 can be performed... Figure 1 The method 500 is executed in the imaging system 100 shown. For example, method 500 may be stored as instructions in memory 150 and invoked and / or executed by processor 140. The operations in method 500 shown below are for illustrative purposes. In some embodiments, method 500 may also be implemented in terminal 130. In some embodiments, step 230 in volume rendering method 200 may be implemented by method 500. Figure 4 As shown, method 500 may include the following steps.
[0073] Step 510: For each ray, based on the intersection of the ray and the boundary grid, divide the ray into multiple segments and determine the label of each segment.
[0074] In some embodiments, a ray may intersect the boundary grids of one or more tissues as it passes through volume data, resulting in multiple intersection points. Based on these intersection points, the ray can be divided into multiple segments. For example, a segment can be determined based on two adjacent intersection points. In some embodiments, the boundary grid or grid patch corresponding to each tissue may have a label for that tissue. For each ray, the label of the intersection point between the ray and the grid patch can be determined based on the label of the grid patch intersecting with the ray. For example, the intersection point between the ray and the grid patch of the heart may have a label corresponding to the heart. Further, based on the labels of the intersection points, the label of each segment among the multiple segments can be determined. For example, the labels of the start and end points of each segment can be determined as the label of that segment. As an example only, a segment passing through the heart may have a label corresponding to the heart.
[0075] Step 520: Determine multiple sampling points along the ray direction of the light.
[0076] In some embodiments, during volume rendering, a ray can be emitted from each pixel on the screen based on camera parameters (e.g., camera position), and multiple sampling points along the ray path through the volume data can be determined. The brightness of each sampling point is calculated, and the brightness corresponding to the ray is obtained based on the brightness of each sampling point. The brightness corresponding to the ray can be used to represent the color of the pixel corresponding to that ray in the rendered image. In some embodiments, the multiple sampling points can be determined along the ray path with a fixed step size or a random step size. As an example only, in a ray casting algorithm, the step size of the sampling points can be determined based on the resolution of the volume data, and the step size can be a fixed step size.
[0077] Step 530: Based on the label of each segment, determine the label of each sampling point among multiple sampling points.
[0078] In some embodiments, the light segment to which each of the multiple sampling points belongs can be determined, and the label of the sampling point can be determined based on the label of the segment. For example, the label of the segment to which the sampling point belongs can be set as the label of the sampling point.
[0079] Step 540: Determine whether the label of each sampling point is visible.
[0080] In some embodiments, the label of each organization can be set to be visible or invisible in the rendering result. For example, the label of an organization of interest can be set to be visible, while the label of an organization of no interest can be set to be invisible. Thus, it is possible to determine whether the label of the current sampling point is visible during the volume rendering sampling process. Furthermore, the volume rendering result of the organization can be determined based on the determination result of whether the label of each sampling point is visible.
[0081] Step 550: If the label is not visible, skip the segment where the sampling point is located and proceed to the next segment judgment.
[0082] In some embodiments, if the label of a sampling point is not visible, the label of the segment to which the sampling point belongs is also not visible, and there is no need to perform sampling calculations on that segment. Therefore, the segment to which the sampling point belongs can be skipped, and the next segment can be determined.
[0083] Step 560: If the label is visible, determine the contribution of the sampling points visible to the label to the brightness of the light based on the rendering parameters corresponding to the label.
[0084] In some embodiments, if the label of a sampling point is visible, then the label of the segment to which the sampling point belongs is visible, and sampling calculation needs to be performed on that segment. In some embodiments, for each sampling point on a ray where the label is visible, the brightness of each sampling point can be calculated using a lighting model based on the rendering parameters corresponding to the label. In some embodiments, the brightness of a sampling point can be considered as the contribution of the sampling point to the brightness of the ray. Here, rendering parameters can refer to parameters used to map the data attributes (e.g., voxel values) of the voxels corresponding to the sampling points in the volume data to optical attributes (e.g., RGB values, opacity, etc.). Exemplary rendering parameters may include color tables, material parameters, etc. In some embodiments, different labels may correspond to different rendering parameters. For example, the heart and blood vessels may correspond to different color tables or material parameters.
[0085] As an example, the volume rendering process based on a ray casting algorithm is used for illustration. For each sampling point where the label is visible on each ray, the voxel value of the sampling point can be obtained by interpolation based on the voxel values corresponding to the eight voxels near the sampling point. Further, based on the label of the sampling point, the color table corresponding to the label can be determined. The color (i.e., RGB value) and opacity corresponding to the label are obtained by mapping based on the color, opacity, and material parameters, etc., and the brightness of the light at the sampling point can be calculated using a lighting model. The brightness can represent the color at the sampling point. Exemplary lighting models may include the Lambert lighting model, the Phong lighting model, the Blinn-Phong lighting model, etc. For example, the brightness of the light corresponding to the sampling point can be calculated based on the Blinn-Phong lighting model shown in formula (1):
[0086] I volume =I emission +I BlinnPhong
[0087] =I emission +I ambient +I diffuse +I specular
[0088] =k e I e +k a M a I a +k d M d I d <l°n> +k s M s I s <h°n> n (1)
[0089] Among them, I volume I represents the brightness of the light at the sampling point. emission The self-illumination brightness of the volume data; I ambient k represents ambient light intensity. a M represents the ambient light coefficient. a Indicates the material color corresponding to ambient light, I a Indicates the illuminance corresponding to ambient light; I diffuse k represents the brightness of diffuse reflected light. d M represents the diffuse reflection coefficient. d Indicates the material color corresponding to diffuse light, I d This represents the light intensity corresponding to diffuse reflection.<l°n> This represents the dot product of the light source direction and the normal; I specular k represents the gloss level of the specular surface. s M represents the specular coefficient. s Indicates the material color corresponding to the specular finish, I s This represents the illumination intensity corresponding to specular light, and h represents the midpoint between the direction of the light source and the direction of the line of sight.<h°n> Let h represent the dot product of h and the normal direction, and n represent the glossiness in the material parameters. In formula (1), k a k d and k s M represents the material parameters corresponding to the label. a and M d The color is obtained based on the color table mapping.
[0090] In some embodiments, when calculating the illumination corresponding to a sampling point located at a tissue boundary, the normal used for the sampling point can be the normal of the boundary where the sampling point is located, which can be determined based on the gradient of the volume data. However, due to factors such as volume effects, the gradient of the volume data and the boundary normal may be inconsistent at certain boundaries, resulting in uneven illumination and darkness at the boundary calculated based on the boundary normal, and thus, insufficient smoothness. In some embodiments, when calculating illumination based on a boundary mesh, if the sampling point is near the boundary mesh, the mesh normal (e.g., the normal of the mesh patch intersecting with the light rays) can be used as the normal of that sampling point, instead of using the gradient of the volume data. This avoids problems such as uneven illumination and darkness and insufficient smoothness caused by the inconsistency between the gradient of the volume data and the boundary normal, thereby improving the quality of the rendered image.
[0091] Step 570: The brightness of each ray can be determined based on the contribution of the sampling points visible to the label to the brightness of the light.
[0092] In some embodiments, the brightness of each ray can be determined based on the contribution of each visible sampling point to the brightness of the ray. For example, the brightness of the ray can be obtained by integrating along the ray path based on the brightness of each visible sampling point, and the brightness can be used to represent the color of the pixel corresponding to the ray in the rendered image. For example, based on the brightness (or color) of the illumination corresponding to the sampling point and the mapped opacity, the superimposed color and superimposed opacity of the ray at the current sampling point can be calculated, and the final superimposed color can be used as the brightness of the ray. As an example only, the superimposed color at the current sampling point can be the superposition value of the color of each previously visible sampling point along the ray path and the color of the current sampling point; the superimposed opacity at the current sampling point can be the superimposed value of the opacity of each previously visible sampling point along the ray path and the opacity of the current sampling point. As an example only, the superimposed color of the current sampling point can be calculated based on formula (2), and the superimposed opacity of the current sampling point can be calculated based on formula (3):
[0093] C dst ′=C dst "+(1-α" dst ")C src (2)
[0094] α dst ′=α dst "+(1-α" dst ")α src (3)
[0095] Among them, C dst ′ represents the superimposed color of the light at the current sampling point, C dst "" represents the superimposed color of the light at the previous visible sampling point, α dst "" indicates the superposition opacity of the light at the previous visible sampling point, C src This represents the color corresponding to the current sampling point obtained based on the above formula (1); α dst ' represents the superposition opacity of the light rays at the current sampling point, α src This represents the opacity corresponding to the current sampling point obtained by mapping. Based on the above formulas (2) and (3), the superimposed color and superimposed opacity at each sampling point can be calculated along the ray path. In some embodiments, the initial superimposed color and superimposed opacity can be 0.
[0096] Based on the above method, the brightness and opacity of each visible sampling point can be determined, and integration is performed along the ray path to obtain the superimposed color and opacity of the ray at each sampling point, until the ray exceeds the range of the volume data. At this point, the final superimposed color can be used as the color (or brightness) of the pixel corresponding to that ray in the rendering result. Therefore, for each pixel on the screen, the superimposed color corresponding to that ray can be obtained by integrating the ray passing through that pixel using the above method, thereby determining the brightness of each ray. In some embodiments, the volume rendering result can be displayed based on the brightness of each ray. In some embodiments, the volume rendering result can be displayed as a rendered image on the screen, and the brightness of each ray obtained from the volume rendering is the color of each pixel in the rendered image.
[0097] In some embodiments, a ray can have multiple intersections with a tissue along its path. For example, in the vascular tissue shown in Figure 6, the ray can pass through blood vessels 610 and 620 sequentially. Along this ray path, the ray can have two intersections with blood vessel 610 and two intersections with blood vessel 620. In some embodiments, the brightness of the ray can be determined by calculating some of the multiple intersections based on a boundary mesh. For example, the two intersections closest to the ray's origin (e.g., a camera position or a pixel on the screen) can be determined based on the boundary mesh, and the segment between the two intersections and the sampling points on the segment can be determined. For each sampling point on the segment, the label of the sampling point can be determined based on the label of the boundary mesh for subsequent calculations. As an example only, the boundary mesh of blood vessel 610 and the two intersections of the ray with the boundary mesh can be determined, and then the label of the sampling point between these two intersections can be determined based on the label of the boundary mesh to calculate the brightness of each sampling point. In some embodiments, for other sampling points on the ray, the label of the sampling point can be directly determined based on the voxels near the sampling point for the calculation of the sampling point. For example, for blood vessels 620, the label of each sampling point can be determined based on the label of the voxels near each sampling point, without the need for a boundary mesh. Therefore, on the one hand, volume rendering of tissues near the screen can be performed based on the boundary mesh, improving the quality of the rendering results; on the other hand, volume rendering of subsequent sampling points directly based on voxel labels can reduce the amount of data that needs to be stored and the amount of computation, improving rendering efficiency.
[0098] It should be noted that the above description of method 500 is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can make any changes or modifications based on this specification. In some embodiments, the steps of method 500 are not sequential. In some embodiments, method 500 may include one or more additional steps, or one or more steps of method 500 may be omitted. In some embodiments, at least two steps in method 500 may be combined into one step, or one step in method 500 may be split into two steps. For example, method 500 may also include a step of displaying the volume drawing result.
[0099] Figure 6a and Figure 6b Volume rendering images generated according to existing methods and methods shown in some embodiments of this specification are provided respectively. Figure 6a The image shown is a volume drawing obtained using the nearest neighbor interpolation method. Figure 6b The images shown are obtained by volume rendering based on a mesh, according to some embodiments of this specification. Figure 6b As shown, the volume rendering images generated by the methods described in the embodiments of this specification provide better organizational boundary information. For example, Figure 6a The blood vessel boundaries shown are not smooth and have jagged edges, while Figure 6b The blood vessels shown are more continuous and smooth.
[0100] Figure 7 This is a block diagram of an exemplary volume rendering system according to some embodiments of this specification. In some embodiments, the volume rendering system 700 may include an acquisition module 710, an intersection determination module 720, and a rendering module 730. In some embodiments, the volume rendering system 700 may be implemented on a processor 140.
[0101] The acquisition module 710 can be used to acquire the boundary mesh of a tissue based on volume data. In some embodiments, the acquisition module 710 can directly acquire medical volume data from an imaging device. In some embodiments, the acquisition module 710 can acquire the volume data from a storage device (e.g., memory 150) disclosed elsewhere in this specification. In some embodiments, to acquire the boundary mesh of a tissue, the acquisition module 710 can segment the volume data to determine the tissue corresponding to each voxel and the label of the tissue. Based on the label of each tissue, the acquisition module 710 can binarize the volume data and determine the boundary mesh of the tissue corresponding to the label based on the result of the binarization. In some embodiments, after determining the boundary mesh of the tissue, the acquisition module 710 can also smooth the boundary mesh to obtain a smoothed boundary mesh. More details on acquiring tissue boundary meshes can be found in this specification. Figure 3And its related descriptions.
[0102] The intersection point determination module 720 can be used to determine the intersection point of each ray in volume rendering with the boundary mesh. During volume rendering, a ray can be emitted from each pixel on the screen based on camera parameters (e.g., camera position), and multiple sampling points can be determined along the path of the ray through the volume data to obtain the color of the pixel corresponding to the ray. In some embodiments, for each ray in volume rendering, the intersection point determination module 720 can determine the intersection point of the ray with the boundary mesh. In some embodiments, the organized boundary mesh can be composed of multiple mesh patches. The intersection point of the ray with the boundary mesh can be the intersection point of the ray with the mesh patch it contains. In some embodiments, the intersection point determination module 720 can manage the organized boundary mesh based on the BVH algorithm. The BVH algorithm can include multiple parent nodes, each parent node corresponding to a bounding box, and each leaf node in each parent node corresponding to one or more mesh patches. For each ray, the intersection point determination module 720 can determine whether the ray intersects with a parent node. If the ray intersects with a parent node, the intersection point of the ray with the leaf node corresponding to the parent node is further determined. If a ray does not intersect with a parent node, skip that parent node and its corresponding leaf nodes. For more information on determining the intersection points of ray branches and boundary meshes, please refer to this specification. Figure 4 And its related descriptions.
[0103] The rendering module 730 can be used to determine the volume rendering result of the organization based on the intersection points. In some embodiments, for each ray, based on the intersection points of the ray and the boundary mesh, the rendering module 730 can divide the ray into multiple segments and determine the label of each segment. For example, the mesh patch corresponding to each organization can have the label of that organization. The label of the intersection point can be determined based on the label of the mesh patch intersecting with the ray. Thus, the rendering module 730 can divide the ray into multiple segments based on the intersection points of the ray and the boundary mesh, and use the label of the intersection point corresponding to each segment as the label of the segment. Further, the rendering module 730 can determine multiple sampling points along the ray direction. Based on the label of each segment, the rendering module 730 can determine the label of each sampling point among the multiple sampling points. Further, the rendering module 730 can determine whether the label of each sampling point is visible. If the label of the sampling point is not visible, the segment where the sampling point is located is skipped, and the next segment is judged. If the label of the sampling point is visible, the contribution of the sampling point with visible label to the brightness of the ray is determined based on the rendering parameters corresponding to the label. Furthermore, the brightness of each ray can be determined based on the contribution of the sampling points visible to the label to the brightness of the light.
[0104] It should be noted that the above description of the processor 140 and its modules is for convenience only and should not limit this application to the scope of the illustrated embodiments. It is understood that those skilled in the art, after understanding the principles of this system, may arbitrarily combine the various modules or construct subsystems connected to other modules without departing from these principles. For example, Figure 7 The acquisition module 710, intersection point determination module 720, and drawing module 730 shown can be different modules in one system, or a single module can implement the functions of two or more of the above modules. For example, the processor 140 may also include a display module for displaying the volume drawing results based on the brightness of each ray. Such variations are all within the scope of protection of this application.
[0105] The beneficial effects that can be achieved by the embodiments of this specification may include, but are not limited to: (1) Extracting the results of segmentation of different tissues through a mesh and smoothing them can obtain a more continuous and smooth boundary mesh while preserving the boundary features between tissues. In the subsequent volume rendering process, the continuity and smoothness of the tissue boundaries in the rendering results can be improved, so that the rendering results are not affected by the resolution of the body data, thereby improving the quality of the rendering results and the rendering efficiency; (2) When calculating the illumination intensity based on the boundary mesh, for the sampling points near the boundary mesh, the mesh normal is used as the normal of the sampling point, avoiding problems such as uneven illumination and insufficient smoothness caused by the inconsistency between the gradient of the volume data and the boundary normal, thus improving the quality of the rendered image; (3) By managing the boundary mesh of the tissue through the BVH algorithm, when the light rays intersect with the boundary mesh, it is not necessary to determine whether the light rays intersect with each mesh patch, avoiding redundant calculations when the light rays do not intersect with the mesh patches, reducing the amount of calculation for light ray intersection, and improving the calculation speed for light ray intersection.
[0106] This specification describes embodiments of methods, apparatus (systems), and computer program products according to embodiments of the invention with reference to flowchart illustrations and / or block diagrams. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0107] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0108] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0109] Although preferred embodiments have been described in this specification, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this specification.
[0110] Obviously, those skilled in the art can make various modifications and variations to the embodiments of this specification without departing from the spirit and scope of the embodiments of this specification. Therefore, if these modifications and variations to the embodiments of this specification fall within the scope of the claims of this invention and their equivalents, then this invention also intends to include these modifications and variations.
Claims
1. A volume rendering method, characterized in that, include: Obtain the boundary mesh of an organization based on volume data; For each ray in the volume rendering, determine the intersection point of the ray with the boundary mesh; as well as For each ray of light, based on the intersection point, the ray of light is divided into multiple segments and a label is determined for each of the multiple segments; Determine multiple sampling points along the ray direction of the light; Based on the label of each segment, determine the label of each sampling point among the plurality of sampling points; Determine whether the label of each sampling point is visible, wherein the labels of sampling points belonging to the organization of interest are visible, and the labels of sampling points belonging to the organization of no interest are invisible; as well as The volumetric drawing result of the organization is determined based on the result of the judgment.
2. The method as described in claim 1, characterized in that, The method for obtaining the boundary mesh of an organization based on volume data includes: The volume data is segmented to determine the tissue corresponding to each voxel and the label of the tissue; The volume data is binarized based on the label of each organization; and The boundary grid of the organization corresponding to the label is determined based on the result of the binarization process.
3. The method as described in claim 2, characterized in that, Determining the boundary grid of the organization corresponding to the label based on the result of the binarization process includes: The boundary grid of the organization corresponding to the label is determined based on the moving cube algorithm.
4. The method as described in claim 1, characterized in that, Further includes: The boundary mesh of the organization is smoothed.
5. The method as described in claim 1, characterized in that, The boundary mesh comprises multiple mesh patches, and determining the intersection point of the ray and the boundary mesh for each ray in the volume rendering includes: The organization's boundary mesh is managed based on a hierarchical bounding box algorithm, wherein each parent node of the hierarchical bounding box algorithm corresponds to a bounding box, and each leaf node of the hierarchical bounding box algorithm corresponds to one or more mesh patches. Determine whether the ray intersects with the parent node; If the ray intersects the parent node, determine the intersection point between the ray and the leaf node corresponding to the parent node; If the ray does not intersect the parent node, skip the parent node and the leaf node corresponding to the parent node.
6. The method as described in claim 1, characterized in that, Determining the volumetric rendering result of the tissue based on the judgment result includes: If the label is not visible, skip the segment where the sampling point is located and proceed to the next segment. If the label is visible, determine the contribution of the sampling points where the label is visible to the brightness of the light based on the rendering parameters corresponding to the label; and The brightness of each ray is determined based on the contribution of the visible sampling points of the label to the brightness of the ray.
7. The method as described in claim 6, characterized in that, Further includes: The volume rendering result is displayed based on the brightness of each ray.
8. A volume rendering system, characterized in that, include: The acquisition module is used to acquire the boundary mesh of an organization based on volume data; The intersection point determination module is used to determine the intersection point between each ray and the boundary mesh for each ray in the volume rendering. as well as The drawing module is used for: For each ray of light, based on the intersection point, the ray of light is divided into multiple segments and a label is determined for each of the multiple segments; Determine multiple sampling points along the ray direction of the light; Based on the label of each segment, the label of each sampling point among the plurality of sampling points is determined, wherein the label of sampling points belonging to the organization of interest is visible, and the label of sampling points belonging to the organization of no interest is invisible; Determine whether the label of each sampling point is visible; and The volumetric drawing result of the organization is determined based on the result of the judgment.
9. A computer-readable storage medium, characterized in that, The storage medium stores computer instructions. When the computer reads the computer instructions from the storage medium, the computer executes the method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Iteration rendering method
CN104167010A
Three-dimensional image volume rendering method and device and computer readable storage medium
CN113643416A