Three-dimensional image data splicing method and device
By segmenting and registering the spinal segments of spinal image data, the image splicing error problem caused by differences in angle and equipment parameters in the prior art is solved, and high-precision image data splicing is achieved, which improves the coherence of images and diagnostic support capabilities.
Patent Information
- Application Number
- CN202411833487.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-07-01
AI Technical Summary
In the spinal CT examination, the existing image splicing methods are affected by factors such as shooting angle, equipment parameters and patient position differences, resulting in misalignment, overlap or distortion of the images after splicing, affecting the diagnostic quality.
By obtaining the image data of the first and second areas of the target spine, the image data of each vertebrae are divided into respectively, and the overlapping target vertebrae segments are compared and determined. The bone structure characteristics are used for registration and splicing to eliminate errors caused by differences in shooting angles and equipment parameters.
It improves the registration accuracy and splicing effect of image data, generates image data with a larger field of view, with higher consistency and clearer details, and supports subsequent medical diagnosis and analysis.
Smart Images

Figure CN120235750A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of image data, and particularly relates to a three-dimensional image data splicing method and apparatus. Background Art
[0002] During the medical imaging process, the range of the examined part may far exceed the effective coverage area of the image detector. Therefore, in order to complete the imaging, it is often necessary to take multiple segmented shots of the examined part. For example, in a spinal CT examination, the spine is usually divided into the cervical, thoracic, and lumbar regions for separate shooting. Subsequently, the obtained images of each part are spliced according to certain rules to form a complete image.
[0003] However, the existing image splicing methods still have deficiencies in accuracy. Due to factors such as shooting angles, device parameters, and patient posture differences, the spliced images often show misalignment, overlap, or distortion, seriously affecting the diagnostic quality of the images. Summary of the Invention
[0004] Embodiments of this application provide a three-dimensional image data splicing method and apparatus, which can improve the quality of the spliced images.
[0005] In a first aspect, embodiments of this application provide a three-dimensional image data splicing method, the method comprising:
[0006] Obtain first image data and second image data, where the first image data includes image data of a first region of a target spine, and the second image data includes image data of a second region of the target spine, and there is an overlapping part between the first region and the second region;
[0007] Respectively segment out the image data of each vertebral segment in the first region and the image data of each vertebral segment in the second region from the first image data and the second image data;
[0008] Compare the image data of each vertebral segment in the first region with the image data of each vertebral segment in the second region to determine a target vertebral segment, where the target vertebral segment is the vertebral segment that overlaps between the first region and the second region;
[0009] Splice the first image data and the second image data according to the target vertebral segment to obtain target image data.
[0010] In a second aspect, embodiments of this application provide a three-dimensional image data splicing apparatus, the apparatus comprising:
[0011] An obtaining module, configured to obtain first image data and second image data, where the first image data includes image data of a first region of a target spine, and the second image data includes image data of a second region of the target spine, and there is an overlapping part between the first region and the second region;
[0012] A segmentation module, configured to respectively segment the image data of each vertebral segment in the first region and the image data of each vertebral segment in the second region from the first image data and the second image data;
[0013] An analysis module, configured to compare the image data of each vertebral segment in the first region and the image data of each vertebral segment in the second region, and determine a target vertebral segment, where the target vertebral segment is the overlapping vertebral segment of the first region and the second region;
[0014] A splicing module, configured to splice the first image data and the second image data according to the target vertebral segment to obtain target image data.
[0015] In a third aspect, an embodiment of the present application provides a computer device, including: a processor, and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the method of any one of the above first aspects.
[0016] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the method of any one of the above first aspects is implemented.
[0017] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the method of any one of the above first aspects is implemented.
[0018] The technical solutions provided by the embodiments of the present application at least bring the following beneficial effects:
[0019] The three-dimensional image data splicing method provided by the embodiment of the present application, by combining the characteristics of the bone structure, first accurately segments the vertebral segments in each image data, and performs registration processing guided by the segmented overlapping vertebral segments. Based on the same vertebral segments, the errors caused by differences in shooting angles, positions, or imaging device parameters are eliminated, thereby significantly improving the registration accuracy and splicing effect of the image data. Finally, two image data are spliced into one image with a larger field of view with high precision, which not only retains the integrity of the image, but also improves the coherence and detail clarity of the image, providing higher-quality image data support for subsequent medical diagnosis and analysis. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings required to be used in the embodiments of the present application.
[0021] Figure 1 It is a flowchart of a three-dimensional image data splicing method provided by an embodiment of the present application;
[0022] Figure 2 It is a schematic flowchart of a three - dimensional image data stitching method provided by an embodiment of the present application;
[0023] Figure 3 It is a schematic example diagram of the first image data provided by an embodiment of the present application;
[0024] Figure 4 It is a schematic example diagram of the second image data provided by an embodiment of the present application;
[0025] Figure 5 It is a schematic example diagram of the first image data and the second image data before coordinate transformation provided by an embodiment of the present application;
[0026] Figure 6 It is a schematic example diagram of the first image data and the second image data before coordinate transformation provided by an embodiment of the present application;
[0027] Figure 7 It is a schematic example diagram of the image data of the target vertebral segment before fusion provided by an embodiment of the present application;
[0028] Figure 8 It is a schematic example diagram of the image data of the target vertebral segment after fusion provided by an embodiment of the present application;
[0029] Figure 9 It is a schematic example diagram of the principle introduction of the trilinear interpolation method provided by an embodiment of the present application;
[0030] Figure 10 It is a schematic structural diagram of a three - dimensional image data stitching device provided by an embodiment of the present application;
[0031] Figure 11 It is a schematic structural diagram of a three - dimensional image data stitching device provided by an embodiment of the present application. Detailed implementation manners
[0032] In order to enable those of ordinary skill in the art to better understand the technical solutions of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than limiting the present application. For those skilled in the art, the present application can be implemented without some of these specific details. The following description of the embodiments is only intended to provide a better understanding of the present application by showing examples of the present application.
[0033] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here can be implemented in an order other than those illustrated or described here. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. On the contrary, they are only examples consistent with some aspects of the present application as detailed in the attached claims.
[0034] As described in the background technology section, the prior art has not yet achieved more accurate spine image splicing. In order to solve this technical problem, the present application provides a three-dimensional image data splicing method and device.
[0035] The following is a detailed description of the three-dimensional image data stitching method provided by the embodiment of the present application through specific embodiments in conjunction with the accompanying drawings.
[0036] Figure 1 A schematic flow chart of a three-dimensional image data stitching method provided in one embodiment of the present application is shown.
[0037] like Figure 1 As shown, the method may include the following steps:
[0038] S110, acquiring first image data and second image data.
[0039] The first image data includes image data of a first region of a target spine.
[0040] The second image data includes image data of a second region of the target spine.
[0041] The target spine refers to the spinal structure of the same target object.
[0042] The first area and the second area are partial areas of the target spine respectively, and there is a certain overlap between the two areas.
[0043] The first image data and the second image data may correspond to medical image data of different parts of the target spine in two consecutive shots. For example, these image data may be computer tomography (CT) image data.
[0044] S120, segmenting the image data of each vertebral segment in the first area and the image data of each vertebral segment in the second area respectively from the first image data and the second image data.
[0045] Segmenting the vertebral segment image data within the first region and the second region from the first image data and the second image data is an important step before image stitching. This step aims to segment different anatomical regions of the spine (such as the thoracic vertebrae and lumbar vertebrae) one by one according to the vertebral segments, so as to perform precise alignment and stitching subsequently.
[0046] In one implementation, a pre-trained spine segmentation model can be utilized. The first image data and the second image data are input into the model to automatically segment each vertebral segment region in the images. This method is suitable for large-scale automated processing and has relatively high segmentation accuracy, but it relies on a high-quality pre-trained model.
[0047] In one implementation, a standard spine template can be constructed based on anatomical knowledge. The template is registered with the first image data and the second image data, and each vertebral segment feature region defined in the template is used to crop the image and extract the vertebral segment image data. This method has relatively low requirements for hardware, relies on the template accuracy and registration quality, and is suitable for use in specific scenarios.
[0048] S130. Compare the vertebral segment image data within the first region and the vertebral segment image data within the second region to determine the target vertebral segments.
[0049] The target vertebral segments are the vertebral segments that overlap between the first region and the second region.
[0050] In the case where there is an overlapping part between the first region and the second region, it is necessary to compare the vertebral segment image data within the two regions to determine the overlapping target vertebral segments. This step is crucial for image stitching and can provide an accurate reference point for subsequent alignment.
[0051] Figure 3 This is an example diagram of the first image data. Figure 4 This is an example diagram of the second image data. Combining Figure 3 and Figure 4 it can be seen that the target vertebral segments are thoracic vertebra T12 (the red vertebral segment in the figure) and lumbar vertebra L1 (the white vertebral segment in the figure).
[0052] In one implementation, an image feature extraction algorithm can be used to extract the feature points of each vertebral segment image within the first region and the second region. Through feature point matching and similarity calculation, the vertebral segment images with high overlap in the two image data are identified and determined as the target vertebral segments. This method has a fast processing speed and is suitable for automated processes with relatively high image resolution.
[0053] In one implementation, typical anatomical features can be marked in the image data. Combining with the positional relationship of the vertebral segments within the region, the operator manually judges and verifies the overlapping vertebral segments between the first region and the second region. This method is applicable to scenarios with relatively low resolution or obvious image distortion, with high accuracy but relatively low efficiency.
[0054] S140. According to the target vertebral segment, splice the first image data and the second image data to obtain the target image data.
[0055] Using the target vertebral segment as a reference point, align and splice the first image data and the second image data, thereby generating the complete target image data.
[0056] In one implementation, the three-dimensional point cloud data of the target vertebral segment can be utilized to convert the first image data and the second image data into point cloud representations respectively. The Iterative Closest Point (ICP) algorithm is adopted to iteratively optimize and align the point cloud data of the two parts of the images, so that they are accurately coincident within the range of the target vertebral segment, and the splicing of the overall image data is completed. This method can effectively solve the problems of position and angle differences and is suitable for the automated processing of three-dimensional CT images.
[0057] In one implementation, the overlapping regions of the first image data and the second image data can be extracted, and their relative displacement and rotation angle are calculated through pixel intensity distribution matching. According to the calculation results, adjust the position and angle of the images, and splice the images into the complete target image data. This method is applicable to two-dimensional image data and has the advantages of simple implementation and low computational complexity.
[0058] In the solution of this application, by combining the characteristics of the bone structure, first accurately segment the vertebral segments in each image data, and perform registration processing based on the same vertebral segment. Through this process, the errors caused by differences in shooting angles, positions or imaging device parameters can be eliminated, and the registration accuracy and splicing effect of the image data can be improved. Finally, the two image data are spliced into an image with a larger field of view, which not only preserves the integrity of the image, but also improves the coherence and detail clarity of the image, providing higher-quality image data support for subsequent medical diagnosis and analysis.
[0059] Figure 2 The flowchart of a three-dimensional image data splicing method provided by an embodiment of this application is shown.
[0060] It should be understood that Figure 2 The illustrated embodiment can be regarded as an example of step S140.
[0061] As Figure 2 shown, the method may include the following steps.
[0062] S210. Calculate the target transformation matrix according to the first target vertebral segment image data and the second target vertebral segment image data.
[0063] The first target vertebral segment image data refers to the image data of the target vertebral segment in the first image.
[0064] The second target vertebral segment image data refers to the image data of the target vertebral segment in the second image.
[0065] Figure 5 and Figure 6 FIG. shows a schematic example diagram of the first image data and the second image data before coordinate transformation.
[0066] It can be understood that, as Figure 5 shown, since the coordinate origins of the first image data (such as Figure 5 a) and the second image data (such as Figure 5 b) are different, overlapping or misalignment may occur during loading and display, as Figure 6 shown. To solve this problem, it is necessary to transform the coordinates of the two sets of image data so as to accurately splice them together.
[0067] In an embodiment of the present application, by calculating the target transformation matrix, the spatial coordinates of the first target vertebral segment image data and the second target vertebral segment image data are unified.
[0068] That is to say, the target transformation matrix is used to unify the spatial coordinates of the first target vertebral segment image data and the second target vertebral segment image data, so that the two are aligned in the same reference coordinate system.
[0069] In one implementation manner, when implementing image splicing by using the iterative closest point algorithm, the first target vertebral segment image data and the second target vertebral segment image data are processed, and the calculated rigid body transformation matrix (including translation and rotation operations) is determined as the target transformation matrix. This transformation matrix is iteratively optimized and can accurately describe the transformation relationship from the first target vertebral segment image data to the second target vertebral segment image data.
[0070] S220. According to the target transformation matrix, transform the first image data and / or the second image data to the target coordinate system.
[0071] Use the target transformation matrix to perform a spatial transformation on the image data, and adjust the first image data and / or the second image data to the target coordinate system.
[0072] The target coordinate system can be the coordinate system of the first image data, the coordinate system of the second image data, or other preset reference coordinate systems.
[0073] In one implementation manner, based on matrix operations, the voxel coordinates of the image data can be transformed so that their positions in the target coordinate system are consistent with the target transformation matrix, thereby completing the spatial alignment of the image data.
[0074] S230. In the target coordinate system, fuse the first image data and the second image data to obtain target image data.
[0075] It can be understood that the target image data is composed of the image data of the target vertebral segment and the image data of non-target vertebral segments. Among them, the image data of non-target vertebral segments directly comes from the first image data or the second image data, and the target vertebral segment is the overlapping part, and its image data is jointly determined by the first image data and the second image data.
[0076] In one implementation, the fusion process may include:
[0077] S231. Determine the image data of the target vertebral segment in the target image data according to the first image data and the second image data.
[0078] For the voxels of the target vertebral segment, calculate the average value of the voxel values of the voxels in the first image data and the second image data, and determine the average value as the voxel value of the voxels in the target image data.
[0079] That is to say, by calculating the average value of the voxel values of the voxels of the target vertebral segment in the two sets of image data, and taking the average value as the final value of the voxels of the target vertebral segment in the target image data. This method can make the transition at the splicing place natural and avoid obvious splicing traces.
[0080] For example, Figure 7 is a schematic diagram of the image data of the target vertebral segment before fusion. Among them, the upper part is the image data of the first target vertebral segment, and the lower part is the image data of the second target vertebral segment. After fusion by the above method, the image data of the target vertebral segment after fusion is obtained, as Figure 8 shown.
[0081] S232. Determine the image data of non-target vertebral segments in the target image data according to the first image data or the second image data.
[0082] For the image data of non-target vertebral segments, the relevant content in the first image data or the second image data can be directly adopted and mapped to the corresponding position of the target image data.
[0083] S233. Combine the image data of the target vertebral segment in the target image data and the image data of non-target vertebral segments in the target image data to obtain the target image data.
[0084] Combine the image data of the target vertebral segment obtained by fusion with the image data of non-target vertebral segments to obtain the complete target image data.
[0085] In one implementation, the weighted average can be performed using the weight coefficient of the voxels, so as to further optimize the smoothness of the image data in the transition region.
[0086] In this embodiment, by precisely aligning the first image data and the second image data using the target transformation matrix, and combining the fusion calculation of the target vertebral body voxels and the direct mapping of the non-target vertebral segment data, the problems of misalignment or distortion caused by differences in shooting angles and inconsistent device parameters in traditional image stitching are effectively solved. This solution can improve the accuracy and integrity of image stitching, ensure that the target image data is spatially coherent and accurate in details, and provide higher-quality image support for subsequent medical diagnosis and analysis.
[0087] Next, through an embodiment, the process of stitching using the ICP algorithm will be explained in detail.
[0088] In this embodiment, assume Figure 5 that the middle spinal column image data a is the source image data (source), and the spinal column image data b is the target image data (target). Through step S210, the transformation matrix T has been calculated, representing the rotation and translation relationship for converting the source image a to the target image b. The following are the specific stitching steps:
[0089] S1. Calculate the dimension of the stitched volume data.
[0090] First, calculate the maximum coordinate point of the source image (source_max_point):
[0091] source_max_point = source_origin_point + source_spacing * source_dim.
[0092] Among them,
[0093] source_origin_point represents the origin coordinate of source;
[0094] target_origin_point represents the origin coordinate of target;
[0095] source_spacing represents the sampling intervals of source in the X, Y, and Z directions:
[0096] source_spacing = [source_spacingX, source_spacingY, source_spacingZ]; similarly, target_spacing = [target_spacingX, target_spacingY, target_spacingZ].
[0097] source_dim represents the dimension size of source.
[0098] According to the transformation matrix T, transform the source_max_point to the corresponding point in the target coordinates to obtain source_max2target_point. The calculation formula is:
[0099] source_max2target_point = source_max_point * T.
[0100] Calculate the range of the spliced volume data in the Z direction: Calculate the distance distanceZ in the Z direction from the point source_max2targe_point to the point target_origin_point. After obtaining this distance, the dimensions dims_new of the spliced volume data can be calculated:
[0101] dims_new = [target_dimX, target_dimY, distanceZ / target_spacingZ].
[0102] In this step, determine the overall size of the spliced image data to ensure that it can accommodate the two image data and adapt to their positional relationship.
[0103] S2. Calculate the transformation matrix from target to source.
[0104] By finding the inverse matrix, obtain the inverse matrix T_inv of the matrix T:
[0105] T_inv = inv(T).
[0106] In this step, obtain the transformation relationship for transforming the target image data back to the source image coordinate system to locate the target image data in the source image coordinates.
[0107] S3. Calculate the spliced volume data target_new.
[0108] Calculate the coordinates (target_new_point) of each voxel point of target_new, that is, for each target voxel index index, calculate its actual coordinates in the target coordinate system:
[0109] target_new_point = target_origin_point + index * target_spacing.
[0110] Among them, index represents the index of the current voxel position.
[0111] Convert the target_new_point to the source coordinate system, that is, through the transformation matrix T_inv, calculate the corresponding source image index index_source:
[0112] index_source = (target_new_point * T_inv - source_origin_point) / source_spacing.
[0113] Similarly, calculate the index index_target of target_new_point in the target:
[0114] index_target = (target_new_point – target_origin_point) / target_spacing.
[0115] Verify the validity of the index range, that is, for the calculated index_source and index_target, determine whether they are within the dimension range of their respective image data. If out of range, skip this voxel point.
[0116] In this step, determine the position of each point in the new image data voxel by voxel, and map it to the source image and the target image to obtain the corresponding data.
[0117] S4. Calculate the voxel value
[0118] For valid indexes, calculate the voxel value:
[0119] For the source data, use the trilinear interpolation algorithm to calculate the interpolation of this voxel according to the grid point where index_source is located and its adjacent 8 points.
[0120] For the target data, directly obtain the corresponding voxel value.
[0121] For the voxel values in the overlapping area, calculate the spliced voxel value by taking the average.
[0122] In this step, assign a value to each voxel of the spliced image data to ensure the integrity and natural fusion of the image data.
[0123] Through the above steps, the splicing of the source image data a and the target image data b is completed, generating a unified volume data, ensuring accurate alignment of the overlapping area and seamless fusion of the images.
[0124] It can be understood that due to possible differences in the sampling intervals between the two shootings before and after, it is necessary to unify the sampling intervals of the first image data and the second image data to ensure the accuracy of subsequent image splicing.
[0125] In one embodiment, step S110 may include the following steps.
[0126] In the case where the sampling intervals of the first image data and the second image data are inconsistent, trilinear interpolation is used to resample the voxel data of any one of the images so that the sampling interval of this image data is the same as that of the other image data.
[0127] Trilinear interpolation is an algorithm commonly used for three-dimensional data interpolation. By using the eight known voxel values around the target point in three-dimensional space for weighted calculation in proportion, the voxel value of the target point is determined.
[0128] Figure 9 It is a schematic diagram for introducing the principle of trilinear interpolation.
[0129] Next, in combination with Figure 9 , the principle of resampling using trilinear interpolation will be introduced.
[0130] In subfigure a, the black frame represents the position of the points under the original sampling interval, and the red dashed frame represents the position of the points under the new sampling interval. Subfigure b represents the new sampling points and their adjacent 8 original sampling points. Subfigures c and d represent the specific calculation process of trilinear interpolation.
[0131] To calculate the pixel value of the sampling point C(x, y, z), first calculate the ratios of point C in the X, Y, and Z directions in the cell, and their calculation formulas are as follows:
[0132] x d =(x - x0) / (x1 - x0)
[0133] y d =(y - y0) / (y1 - y0)
[0134] z d =(z - z0) / (z1 - z0)
[0135] In the formula, x0 represents a grid point below x, and x1 represents a grid point above x. The same applies to y0, y1, z0, and z1.
[0136] Then, interpolate along the X-axis direction, and its calculation formula is as follows:
[0137] c 00 =V[x0, y0, z0](1 - x d ) + V[x1, y0, z0]x d
[0138] c 01= V[x0, y0, z1](1 - x d ) + V[x1, y0, z1]x d
[0139] c 10 = V[x0, y1, z0](1 - x d ) + V[x1, y1, z0]x d
[0140] c 11 = V[x0, y1, z1](1 - x d ) + V[x1, y1, z1]x d
[0141] wherein, V[x0, y0, z0] represents the value of the function at (x0, y0, z0), and the others are similar.
[0142] Next, interpolation is performed along the Y-axis, and the calculation formula is as follows:
[0143] c0 = c 00 (1 - y d ) + c 10 y d
[0144] c1 = c 01 (1 - y d ) + c 11 y d
[0145] Finally, interpolation is performed along the Z-axis, and the calculation formula is as follows:
[0146] c = c0(1 - z d ) + c1z d .
[0147] The pixel value of C can be calculated through the above three linear interpolations.
[0148] Using the trilinear interpolation algorithm to resample the image data to make its sampling interval uniform can improve the accuracy of image stitching and ensure more accurate alignment of the overlapping areas. At the same time, the algorithm can smooth the sampling gaps of the original data, enhance the continuity of the image, and lay a foundation for the fusion and subsequent processing of multi-resolution images.
[0149] In one embodiment, respectively segmenting each vertebral segment image in the first region and each vertebral segment image in the second region from the first image data and the second image data may include the following steps:
[0150] Determine the masks of each vertebral segment in the first region according to the first image data.
[0151] Determine the masks of each vertebral segment in the second region according to the second image data.
[0152] Use the marching cubes algorithm to perform three-dimensional reconstruction on the masks of each vertebral segment in the first region and the masks of each vertebral segment in the second region respectively, to obtain the image data of each vertebral segment in the first region and the image data of each vertebral segment in the second region.
[0153] The marching cubes algorithm is a voxel-level reconstruction algorithm, also known as the "isosurface extraction" algorithm, mainly used for surface rendering of 3D medical images.
[0154] In this embodiment, according to the three-dimensional image data of the spine, two-dimensional masks of each vertebral segment are generated, and three-dimensional reconstruction is performed on these masks, so as to obtain the three-dimensional image data of each vertebral segment. In this process, redundant information outside the bones is effectively removed, highlighting the structural features of the spine, and providing a more efficient and accurate data basis for subsequent image registration and stitching.
[0155] The above mainly introduces a three-dimensional image data stitching method according to an embodiment of the present application in combination with the accompanying drawings. At the same time, it should be understood that although the steps in the flowcharts involved in the above-described embodiments are shown in sequence, these steps do not necessarily need to be executed in the order shown in the figures. Unless there is a clear description in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages, and these steps or stages do not necessarily need to be executed at the same time, but can be executed at different times, and the execution order of these steps or stages does not necessarily need to be sequential, but can be executed alternately or alternately with at least a part of other steps or steps in other steps. Next, a three-dimensional image data stitching device according to an embodiment of the present application will be introduced in combination with the accompanying drawings. For the sake of brevity, when introducing the device below, appropriate omissions will be made, and relevant content can refer to the relevant descriptions in the above method and will not be repeated.
[0156] Corresponding to the method described in the above embodiment, Figure 10 The structural block diagram of a three-dimensional image data stitching device 1000 provided by an embodiment of the present application is shown. For the sake of convenience of description, only the parts related to the embodiment of the present application are shown.
[0157] As Figure 10 shown, the device 1000 may include:
[0158] An acquisition module 1001, configured to acquire first image data and second image data.
[0159] The first image data includes the image data of the first region of the target spine.
[0160] The second image data includes the image data of the second region of the target spine.
[0161] There is an overlapping part between the first region and the second region.
[0162] The segmentation module 1002 is configured to respectively segment the image data of each vertebral segment in the first region and the image data of each vertebral segment in the second region from the first image and the second image;
[0163] The analysis module 1003 is configured to compare the image data of each vertebral segment in the first region with the image data of each vertebral segment in the second region to determine the target vertebral segment.
[0164] The target vertebral segment is the vertebral segment that overlaps between the first region and the second region;
[0165] The splicing module 1004 is configured to splice the first image data and the second image data according to the target vertebral segment to obtain the target image data.
[0166] Figure 11 The schematic diagram of the hardware structure of the computer device provided by the embodiment of the present application is shown.
[0167] The computer device may include a processor 7001 and a memory 7002 storing computer program instructions.
[0168] Specifically, the above-mentioned processor 7001 may include a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
[0169] The memory 7002 may include a mass storage for data or instructions. By way of example and not limitation, the memory 7002 may include a Hard Disk Drive (HDD), a floppy disk drive, a flash memory, an optical disc, a magneto-optical disc, a magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. In one example, the memory 7002 may include removable or non-removable (or fixed) media, or the memory 7002 is a non-volatile solid-state memory. The memory 7002 may be inside or outside the integrated gateway disaster recovery device.
[0170] In one example, the memory 7002 may be a Read Only Memory (ROM). In one example, the ROM may be a mask-programmed ROM, a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), an Electrically Alterable ROM (EAROM), or a flash memory, or a combination of two or more of these.
[0171] The memory 302 may include a read only memory (ROM), a random access memory (RAM), a magnetic disk storage media device, an optical storage media device, a flash memory device, an electrical, optical, or other physical / tangible memory storage device. Thus, generally, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to one aspect of the present disclosure.
[0172] The processor 7001 reads and executes the computer program instructions stored in the memory 7002 to implement Figure 1 the three-dimensional image data stitching method in the illustrated embodiment.
[0173] In one example, the computer device may further include a communication interface 7003 and a bus 7004. Among them, as Figure 11 shown, the processor 7001, the memory 7002, and the communication interface 7003 are connected through the bus 7004 and complete communication with each other.
[0174] The communication interface 7003 is mainly used to implement communication between various modules, devices, units, and / or devices in the embodiments of the present application.
[0175] The bus 7004 includes hardware, software, or both, and couples components of the online data flow metering device to each other. By way of example and not limitation, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses or a combination of two or more of these. Where appropriate, the bus 7004 may include one or more buses. Although the embodiments of the present application describe and illustrate specific buses, the present application contemplates any suitable bus or interconnect.
[0176] In addition, in combination with the three-dimensional image data stitching method in the above embodiments, an embodiment of the present application can be implemented by providing a computer storage medium. Computer program instructions are stored on the computer storage medium; when the computer program instructions are executed by a processor, any one of the three-dimensional image data stitching methods in the above embodiments is implemented.
[0177] An embodiment of the present application also provides a computer program product, including a computer program, and when the computer program is executed by a processor, any one of the three-dimensional image data stitching methods in the above embodiments is implemented.
[0178] It should be clear that the present application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications, and additions, or change the order between steps after understanding the spirit of the present application.
[0179] The functional blocks shown in the above-described structural block diagrams can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a functional card, and so on. When implemented in software, the elements of the present application are programs or code segments for performing the required tasks. The program or code segment can be stored in a machine-readable medium or transmitted over a transmission medium or a communication link via a data signal carried in a carrier wave. A "machine-readable medium" can include any medium that can store or transmit information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, read-only memory (ROM), flash memory, erasable read-only memory (EROM), floppy disks, compact disc read-only memory (CD-ROM), optical discs, hard disks, fiber optic media, radio frequency (RF) links, and so on. The code segment can be downloaded via a computer network such as the Internet, an intranet, and so on.
[0180] As described above, aspects of the present disclosure have been described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block in the flowcharts and / or block diagrams, and the combinations of blocks in the flowcharts 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, a special purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing apparatus enable the implementation of the functions / operations specified in one or more blocks of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general purpose processor, a special purpose processor, a special application processor, or a field programmable logic circuit. It should also be understood that each block in the block diagram and / or flowchart, and the combinations of blocks in the block diagram and / or flowchart, can also be implemented by dedicated hardware that performs the specified functions or operations, or by a combination of dedicated hardware and computer instructions.
[0181] As described above, this is only the specific implementation manner of the present application. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein. It should be understood that the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of various equivalent modifications or substitutions, and these modifications or substitutions should all be covered within the protection scope of the present application.
Claims
1. A three-dimensional image data splicing method, characterized in that: include: Acquire first image data and second image data, wherein the first image data includes image data of a first region of a target spine, and the second image data includes image data of a second region of the target spine, and the first region and the second region have an overlapping portion; Segmenting the image data of each vertebral segment in the first region and the image data of each vertebral segment in the second region from the first image data and the second image data respectively; Comparing the image data of each vertebral segment in the first region with the image data of each vertebral segment in the second region, determining a target vertebral segment, wherein the target vertebral segment is a vertebral segment overlapping the first region and the second region; According to the target vertebral segment, the first image data and the second image data are spliced to obtain target image data.
2. The method according to claim 1, characterized in that The step of splicing the first image data with the second image data according to the target vertebral segment to obtain target image data includes: Calculating a target transformation matrix according to first target vertebral segment image data and second target vertebral segment image data, wherein the first target vertebral segment image data is image data of the target vertebral segment in the first image, and the second target vertebral segment image data is image data of the target vertebral segment in the second image, and the target transformation matrix is used to align the first target vertebral segment image data with the second target vertebral segment image data; transforming the first image data and / or the second image data into a target coordinate system according to the target transformation matrix; In the target coordinate system, the first image data and the second image data are fused to obtain the target image data.
3. The method according to claim 2, characterized in that The step of calculating the target transformation matrix according to the first target vertebral segment image data and the second target vertebral segment image data includes: The first target vertebral segment image data and the second target vertebral segment image data are processed using an iterative closest point algorithm, and the calculated rigid body transformation matrix is determined as the target transformation matrix.
4. The method according to claim 2, characterized in that: In the target coordinate system, the first image data and the second image data are fused to obtain the target image data, including: Determining image data of the target vertebral segment in the target image data according to the first image data and the second image data; Determining image data of a non-target vertebral segment in the target image data according to the first image data or the second image data; The target image data is obtained by combining the image data of the target vertebral segment in the target image data and the image data of the non-target vertebral segment in the target image data.
5. The method according to claim 4, characterized in that Determining the image data of the target vertebral segment in the target image data according to the first image data and the second image data includes: For the voxel of the target vertebral segment, an average value of the voxel value of the voxel in the first image data and the second image data is calculated, and the average value is determined as the voxel value of the voxel in the target image data.
6. The method according to any one of claims 1 to 5, characterized in that The acquiring of the first image data and the second image data comprises: When the sampling interval of the first image data is inconsistent with the sampling interval of the second image data, the voxel data of any image data is resampled by using trilinear interpolation method to make the sampling interval of the image data the same as that of the other image data.
7. The method according to any one of claims 1 to 5, characterized in that The step of segmenting the vertebral segment images in the first region and the vertebral segment images in the second region from the first image data and the second image data respectively includes: determining masks of each vertebral segment in the first region according to the first image data; determining masks of each vertebral segment in the second area according to the second image data; The masks of each vertebral segment in the first region and the masks of each vertebral segment in the second region are respectively reconstructed in three dimensions using a marching cube algorithm to obtain image data of each vertebral segment in the first region and image data of each vertebral segment in the second region.
8. A three-dimensional image data splicing device, characterized in that: include: An acquisition module, configured to acquire first image data and second image data, wherein the first image data includes image data of a first region of a target spine, and the second image data includes image data of a second region of the target spine, and the first region and the second region have an overlapping portion; a segmentation module, configured to segment image data of each vertebral segment in the first region and image data of each vertebral segment in the second region from the first image data and the second image data respectively; An analysis module, configured to compare the image data of each vertebral segment in the first region with the image data of each vertebral segment in the second region to determine a target vertebral segment, wherein the target vertebral segment is a vertebral segment overlapping the first region and the second region; A splicing module is used to splice the first image data with the second image data according to the target vertebral segment to obtain target image data.
9. A computer device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the method according to any one of claims 1 to 7 is implemented.
11. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of a computer device, the computer device is caused to perform the method according to any one of claims 1 to 7.