Smooth display method for navigated acetabular reaming

By generating volumetric data and performing image channel splitting and filtering, the problem of long calculation time in the navigation-type acetabular grinding process was solved, and smooth rendering and efficient display of acetabular images were achieved.

CN116824100BActive Publication Date: 2026-07-28LANCET ROBOTICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310760362.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-26
Publication Date
2026-07-28
Estimated Expiration
2043-06-26

AI Technical Summary

Technical Problem

In the existing technology of navigable acetabular grinding, each time the display is updated, several conversions and color judgments between image volumetric data and surface mesh data are required, resulting in long calculation time and affecting operation efficiency.

Method used

A smoothing display method for acetabular grinding is adopted. By generating volumetric data in the overlapping area of ​​the acetabular cup model and the acetabular model, performing image channel splitting and filtering, smoothed volumetric data is generated, and only the volumetric data is updated for color display during the grinding process.

Benefits of technology

It improved computing speed, avoided abnormal color distribution, optimized user experience, and achieved smooth rendering of acetabular images.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116824100B_ABST
    Figure CN116824100B_ABST
Patent Text Reader

Abstract

The present application relates to the medical technical field, especially to navigation type acetabulum grinding smooth display method, including the following steps: S1, the cup model is moved to the predetermined position of acetabulum model;S2, the acetabulum volume rendering data generation;S3, the acetabulum volume rendering data is smoothed, and image channel is split in turn, single-channel image gaussian filter, single-channel image selective merging;S4, the acetabulum model is colored according to the volume rendering data after smoothing;S5, acetabulum grinding visualization operation.The present application only needs to be converted from surface mesh data to volume rendering data once after cup planning is completed, and surface mesh data is not needed to be generated from volume rendering data for visualization in grinding process, on the basis of fast grinding calculation speed, the smoothing of acetabulum image rendering is also realized, and the use experience is optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of medical technology, and more particularly to a smooth display method for navigation-based acetabular grinding. Background Technology

[0002] Acetabular grinding is an important step in guided acetabular replacement surgery, and its main steps are as follows:

[0003] like Figure 1 During preoperative planning, in image space (image coordinate system F) image (Below), move the acetabular cup model and place it in the appropriate position of the patient's acetabular reconstruction model. The area where the acetabular cup model and the acetabular reconstruction model overlap (the shaded area) is the part that needs to be ground away during the operation.

[0004] like Figure 2 During the procedure, an optical tracking array is rigidly attached to the grinding instrument and the patient's acetabulum (pelvis), respectively, and the positioning camera can transmit the positioning camera coordinate system F in real time. camera To the coordinate system F of the instrument tracking array toolRF Transformation matrix T cameraToToolRF , and F camera Bone tracking array coordinate system F boneRF Transformation matrix T cameraToBoneRF After image registration, the two matrices mentioned above can be used for image navigation and localization. The final result is that the relative positional relationship between the patient's acetabulum and the grinding instrument in the real world matches the relative positional relationship between the acetabulum model and the grinding instrument model in the image space. Moving the real patient's acetabulum or the real grinding instrument will also cause the acetabulum model and the grinding instrument model in the image to move accordingly.

[0005] Guided by the image, move the grinding tool to the area to be ground.

[0006] Using a grinding instrument, as the real bone is gradually removed, the acetabular model in image space also needs to deform accordingly until the part to be ground (the lined area in the image above) is completely removed. During the grinding process, if the grinding exceeds the planned grinding area, the over-ground surface of the acetabular model needs to display a different color to warn the operator.

[0007] The visualization of the above process involves real-time cutting calculations between the grinding tool model and the acetabular reconstruction model. Existing technologies visualize surface mesh data, requiring several conversions between image volumetric data and surface mesh data each time the display is updated, and color judgments (regarding over-grinding) of the surface mesh data. This computation is time-consuming, easily causing screen stuttering and affecting navigation operations. Therefore, we propose a smooth display method for navigation-based acetabular grinding. Summary of the Invention

[0008] Based on the technical problems existing in the background technology, the present invention proposes a smooth display method for navigation-type acetabular grinding, which solves the problems in the prior art that require several conversions between image volumetric data and surface mesh data and color judgment of surface mesh data each time the display is updated, which takes a long time to calculate and is prone to screen lag and affect navigation operation.

[0009] This invention provides the following technical solution: a smooth display method for navigable acetabular grinding, comprising the following steps:

[0010] S1. Move the acetabular cup model to the predetermined position of the acetabular model;

[0011] S2. Based on the overlapping area between the acetabular cup model and the acetabular model, plan the area to be ground on the acetabular model, and based on the non-overlapping area, plan the area to be ground on the acetabular model. Generate the volumetric data of the acetabular model based on the planned areas to be ground and the areas to be ground.

[0012] S3. Smooth the acetabular body mapping data. The acetabular body mapping data is split into three images by image channels. The images of each color channel are convolutionally filtered separately using filters. Single-channel images are selectively merged. The three processed images are recombined into a new three-dimensional image and copied to the acetabular body mapping data.

[0013] S4. Color the acetabular model based on the smoothed volume drawing data;

[0014] S5. During the guided grinding process, as the grinding machine moves, the corresponding part on the acetabular model is removed, and the grinding area exposed on the surface of the acetabular model is displayed in the corresponding color to the operator.

[0015] Preferably, the image channel splitting in step S3 refers to splitting the acetabular body mapping data into three images, image_w, image_r, and image_g, which correspond to the third color, the second color, and the first color, respectively, as follows:

[0016] Make a copy of the image and name it image_w. Iterate through each voxel in image_w. If the value of the voxel is equal to K, set its value to A. If the value of the voxel is not equal to K, set its value to B.

[0017] Make a copy of the image and name it image_r. Iterate through each voxel in image_r. If the value of the voxel is equal to K, set its value to C. If the value of the voxel is not equal to K, set its value to D.

[0018] Duplicate an image named image_g, traverse each voxel of image_g. If the value of the voxel is equal to P, set its value to E; if the value of the voxel is not equal to P, set its value to F.

[0019] The above voxel values need to satisfy: A > B > C > F > E, and C ≠ D.

[0020] Preferably, in step S3, a filter is used, the standard deviation σ of the Gaussian convolution kernel is set, and convolution filtering is performed on image_w and image_g.

[0021] Preferably, in the single-channel image selective merging in step S3, based on image, image_w, image_r, and image_g are recombined into a new three-dimensional image image_new, so that image_new contains the smoothed voxel information, and then the content of image_new is copied to image, specifically as follows:

[0022] Duplicate an image named image_new;

[0023] Traverse the voxels of image, image_new, image_w, image_r, and image_g simultaneously. Denote the voxel value of image as n, and the voxel values of the corresponding positions of image_new, image_w, image_r, and image_g as m, w, r, and g respectively:

[0024] If g < F and n ≤ P, assign the value of g to m;

[0025] If w > B and n ≠ P, assign the value of w to m;

[0026] If at this time m = N and r = D, set m to Q = (F + B) / 2;

[0027] If at this time m ≥ [B + (A - B) / 100] and r = C, set m to R = (Q + F) / 2;

[0028] After the traversal is completed, copy the content of image_new to image.

[0029] Preferably, during the coloring process of the acetabular body rendering data in step S4, first set a color transfer function. Set the part of the voxel values in the body rendering data image that is less than (R + F) / 2 to the first color, that is, the area to be ground; set the part of the voxel values that is greater than (R + F) / 2 and less than Q to the second color, that is, the area of excessive grinding; set the part of the voxel values that is greater than Q to the third color, that is, the buffer area.

[0030] Preferably, in step S4, an opacity transfer function needs to be set such that the opacity of the first color part decreases as the voxel value increases, the opacity of the second color part is 0.5 only when the voxel value is R, the opacity of the third color part first increases as the voxel value increases and then decreases as the voxel value increases, and the opacity of the remaining part is 0.

[0031] Preferably, in step S1, the specific process is as follows:

[0032] Import the acetabular cup model in the image coordinate system, and generate a hemispherical shell model on the side where the acetabular cup model contacts the acetabulum model;

[0033] Move the acetabular cup model to the predetermined position of the acetabulum model by means of translation and rotation, and obtain the rigid body transformation matrix that the acetabular cup model experiences from the initial position to the predetermined position in the image coordinate system;

[0034] Apply the rigid body transformation matrix to the hemispherical shell model to move it to the predetermined position of the acetabular cup model.

[0035] Preferably, the specific process in step S2 is as follows:

[0036] Denote the acetabular reconstruction surface model as bone, generate the axis-aligned bounding box of bone, and generate a blank three-dimensional image by using the axis-aligned bounding box, denoted as image;

[0037] For each voxel point of image, if the coordinate of the voxel point falls outside bone, set the voxel value to N, where N < K, otherwise keep its value as K, and obtain the partial image of the acetabular over-grinding area;

[0038] For each voxel point of image, if its value is K and it falls inside the hemispherical shell model, set its value to P, where N < P < K, otherwise keep its original value unchanged, and obtain the partial image of the acetabular area to be ground.

[0039] Preferably, the method for constructing the axis-aligned bounding box of the acetabulum model is:

[0040] Traverse the coordinate values ​​of each vertex on the surface of the acetabular model, and record the maximum and minimum coordinate values ​​in the x-axis, y-axis, and z-axis directions: x_max, x_min, y_max, y_min, z_max, z_min. The spatial closed shape formed by the eight vertices (x_max, y_max, z_max), (x_min, y_max, z_max), (x_max, y_min, z_max), (x_max, y_max, z_min), (x_min, y_min, z_max), (x_min, y_max, z_min), (x_min, y_max, z_min), (x_max, y_min, z_min), (x_min, y_min, z_min), (x_min, y_min, z_min) is the axis-aligned bounding box of the acetabular model.

[0041] Preferably, in step S5, the grinding head surface model is denoted as reamer. Reamer is a pre-prepared hemispherical shell surface with the same size as the real grinding head. During the guided grinding process, the volumetric data image remains stationary in the image, while reamer moves in the image as the real-world grinding head moves. The relative positional relationship between reamer and image conforms to the relative positional relationship between the real-world grinding head and the patient's acetabulum.

[0042] Whenever the position of the reamer changes, update the image as follows, so that the voxel values ​​within the reamer in the image are set to Q:

[0043] Use reamer to initialize a VTK template tool vtkPolyDataToImageStencil, and name it eamerStencil;

[0044] Use the vtkImageStencil filter, take the image as the input of the filter, use reamerStencil as the template tool used by the filter, use the ReverseStencilOn() method to set the filter mode to reverse template extraction, and use the SetBackgroundValue() method to set the background voxel value to Q;

[0045] Assign the filter output to image;

[0046] Because voxels with a grayscale value of Q are completely transparent and have an opacity of 0, the effect is that the overlapping parts of the image and the reamer are no longer displayed. As grinding progresses, the third color of the image representing the buffer area, the first color representing the area to be ground, and the second color representing the over-grinding area are gradually exposed to simulate the grinding process.

[0047] This invention provides a smooth display method for guided acetabular grinding. It only requires a single conversion from surface mesh data (bone) to volumetric data (image) after the acetabular cup planning is completed. During grinding, there is no need to generate surface mesh data from the image for visualization. Grinding visualization is achieved solely through updates to the volumetric data, thus improving computational speed. Because volumetric display is used for visualization, coloring is completed when the volumetric data (image) is initially generated, eliminating the need for real-time calculation of colors for different surfaces during grinding, reducing the computational load for grinding updates, and further improving computational speed.

[0048] In addition, this solution avoids the abnormal color distribution that occurs in traditional Gaussian filtering due to the continuous transition of values ​​between different color regions by separating voxels of different colors, performing Gaussian filtering on different color channels separately, and finally selectively combining them. This achieves smoothing of acetabular image rendering and optimizes the user experience while maintaining the fast grinding calculation speed. Attached Figure Description

[0049] Figure 1 This is a schematic diagram of preoperative planning for navigation-based acetabular replacement surgery in the existing technology.

[0050] Figure 2 This is a schematic diagram of the intraoperative grinding operation in a navigation-based acetabular replacement surgery in the prior art;

[0051] Figure 3 This is a schematic diagram of the generated (annotated) red portion of the acetabulum in an embodiment of the present invention;

[0052] Figure 4 This is a schematic diagram of the green portion of the acetabulum generated (annotated) in an embodiment of the present invention;

[0053] Figure 5 These are cross-sectional views of image_w, image_r, and image_g after image channel splitting in an embodiment of the present invention;

[0054] Figure 6 These are cross-sectional views of image_w and image_g after Gaussian filtering of a single-channel image in an embodiment of the present invention;

[0055] Figure 7 This is a cross-sectional view of the image after selective merging of single-channel images in an embodiment of the present invention;

[0056] Figure 8 This is a diagram showing the relationship between voxel values ​​and colors when setting the color transfer function in an embodiment of the present invention;

[0057] Figure 9 This is a graph showing the relationship between voxel values ​​and opacity when setting the transparency transfer function in an embodiment of the present invention;

[0058] Figure 10 The smoothed acetabular grinding model is shown in the embodiment of the present invention.

[0059] Figure 11 The image shows the results of the unsmoothed acetabular grinding model in an embodiment of the present invention. Detailed Implementation

[0060] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0061] This invention provides a technical solution: a smooth display method for navigable acetabular grinding, comprising the following steps:

[0062] S1, mortar cup planning

[0063] 1. A mortar cup is formed to surround a hemispherical shell;

[0064] 2. Moving mortises model;

[0065] 3. Moving hemispherical shell model.

[0066] S2, Generation of acetabular body mapping data

[0067] 1. Generate (annotate) the red portion of the acetabulum;

[0068] 2. Generate (annotated) the green portion of the acetabulum.

[0069] S3, Smoothing of acetabular body mapping data

[0070] 1. Image channel splitting;

[0071] 2. Gaussian filtering for single-channel images;

[0072] 3. Selective merging of single-channel images.

[0073] S4, Hip Acetabral Mass Mapping Data Coloring

[0074] 1. Define the color transfer function;

[0075] 2. Set the opacity transfer function.

[0076] S5, Visualized calculation of acetabular grinding.

[0077] Subsequent surface mesh data will be based on vtkPolyData, and 3D image data will be based on vtkImageData.

[0078] The specific steps of step S1 are as follows:

[0079] Morphine Cup Planning

[0080] 1. Generate a mortar cup surrounding a hemispherical shell.

[0081] Import the mortar model into the image coordinates. The outermost layer of the mortar is hemispherical, with the center of the hemisphere being the rotation center o of the mortar. The radius of the hemisphere is a known value r.

[0082] With o as the center and r as the radius, generate a hemispherical shell surface model, denoted as implant_bound, whose bottom surface is aligned with the bottom surface of the mortar cup model (the hemispherical shell surface model is not used for visualization, so it will not be displayed in the actual operation steps).

[0083] 2. Moving mortis cup model

[0084] The acetabular cup model is moved to a reasonable position in the acetabular reconstruction model by translation / rotation, and the rigid body transformation matrix T of the acetabular cup model from the initial position to the planned position is obtained in the image coordinate system.

[0085] 3. Moving hemispherical shell model

[0086] Apply the rigid body transformation matrix to implant_bound to bring it to the planned position of the mortise.

[0087] The specific steps for generating acetabular body mapping data in step S2 are as follows:

[0088] 1. Generate (annotate) the red portion of the acetabulum image.

[0089] Generate the axis-aligned bounding box of the bone: The surface data of the bone is actually a spatial polygon composed of multiple vertices connected by lines. Traverse the coordinate values ​​of each vertex and record the maximum x-axis coordinate as x_max, the minimum x-axis coordinate as x_min, the maximum y-axis coordinate as y_max, the minimum y-axis coordinate as y_min, the maximum z-axis coordinate as z_max, and the minimum z-axis coordinate as z_min. The spatial closed shape formed by the eight vertices (x_max, y_max, z_max), (x_min, y_max, z_max), (x_max, y_min, z_max), (x_max, y_max, z_min), (x_min, y_min, z_max), (x_min, y_max, z_min), (x_min, y_max, z_min), (x_max, y_min, z_min), (x_min, y_min, z_min), (x_min, y_min, z_min) is the axis-aligned bounding box.

[0090] Generate a blank 3D image using the above axis-aligned bounding box, denoted as image:

[0091] (1) Denote the voxel size of this image as a (a voxel is a small cube with side length a), where a is determined in advance by the user.

[0092] (2) Calculate the dimensions (number of voxels) of the image in the three coordinate axes:

[0093] Dimension in the x-axis: ceil[(x_max – x_min) / a]

[0094] Dimension in the y-axis: ceil[(y_max – y_min) / a]

[0095] Dimension in the z-axis: ceil[(z_max – z_min) / a]

[0096] ceil means rounding up.

[0097] (3) Calculate the origin coordinates of the image:

[0098] Coordinate in the x-axis: x_min + a / 2

[0099] Coordinate in the y-axis: y_min + a / 2

[0100] Coordinate in the z-axis: z_min + a / 2

[0101] (4) Initialize the image with the above information and set the value of each voxel point in the image to K.

[0102] For each voxel point in the image, if the coordinates of the voxel point fall outside the bone, set the voxel value to N (N < K), otherwise keep its value as K:

[0103] (1) Initialize a VTK template tool vtkPolyDataToImageStencil using the bone, named boneStencil.

[0104] (2) Use the vtkImageStencil filter, take the image as the input of the filter, boneStencil as the template tool used by the filter, set the filter mode to forward template extraction using the ReverseStencilOff() method, and set the background voxel value to N (N < K) using the SetBackgroundValue() method.

[0105] (3) Assign the output of the filter to the image. A certain cross-section of the image is as follows (e.g., Figure 3 where N is 0 and K is 2000).

[0106] 2. Generate (label) the image of the green part of the acetabulum

[0107] For each voxel of the image, if its value is K and it falls within implant_bound, set its value to P (N < P < K), otherwise keep its original value unchanged:

[0108] (1). Initialize a VTK template tool vtkPolyDataToImageStencil with implant_bound and name it implantStencil.

[0109] (2). Use the vtkImageStencil filter, take image as the input of the filter, implantStencil as the template tool used by the filter, set the filter mode to reverse stencil extraction with the ReverseStencilOff() method, and set the background voxel value to P (N < P < K) with the SetBackgroundValue() method.

[0110] (3). Denote the output of the filter as implantImage. implantImage has the same voxel distribution as image, but different voxel values. The image itself will not be changed by the filter.

[0111] (4). Traverse the corresponding voxels (voxels at the same position) of image and implantImage. If the voxel value of image at a certain position is K and the voxel value of implantImage at the same position is P, set the voxel value of image at this position to P. After the traversal, a certain cross-section of image is as follows (e.g., Figure 4 where P is 1000, N is 0, and K is 2000).

[0112] The specific steps for smoothing the acetabulum volume rendering data in step S3 are as follows:

[0113] 1. Image channel splitting

[0114] To facilitate subsequent separate processing of each color channel, split the image marked with green and red information into three images, image_w, image_r, image_g, corresponding to white, red, and green respectively:

[0115] (1). Copy an image and name it image_w. Traverse each voxel of image_w. If the value of the voxel is equal to K, set its value to A. If the value of the voxel is not equal to K, set its value to B;

[0116] (2) Make a copy of the image and name it image_r. Iterate through each voxel in image_r. If the value of the voxel is equal to K, set its value to C. If the value of the voxel is not equal to K, set its value to D.

[0117] (3) Copy an image and name it image_g. Iterate through each voxel in image_g. If the value of the voxel is equal to P, set its value to E. If the value of the voxel is not equal to P, set its value to F.

[0118] (4) The above voxel values ​​need to satisfy: A>B>C>F>E, and C≠D.

[0119] The cross-sectional images of image_w, image_r, and image_g are as follows: Figure 5 As shown ( Figure 5 (The values ​​of A, B, C, D, E, and F are 3000, 2600, 2000, 0, 1000, and 1700 respectively.)

[0120] 2. Single-channel image Gaussian filtering

[0121] Using the vtkImageGaussianSmooth filter, and selecting an appropriate Gaussian kernel standard deviation σ, convolution filtering is performed on image_w and image_g.

[0122] The filtered cross-sections of image_w and image_g are as follows Figure 6 As shown, compared to before filtering, the edge portions of both were smoothed. Figure 6 The standard deviation σ of the Gaussian convolution kernel used in the study is 0.1.

[0123] 3. Selective merging of single-channel images

[0124] Based on image, image_w, image_r, and image_g are recombined into a new 3D image image_new, so that image_new contains smoothed voxel information, and then the contents of image_new are copied to image:

[0125] (1) Copy the image and name it image_new;

[0126] (2) Simultaneously traverse the voxels of image, image_new, image_w, image_r, and image_g. Let the voxel value of image be n, and the voxel values ​​of image_new, image_w, image_r, and image_g at the corresponding positions be m, w, r, and g, respectively:

[0127] If g < F and n ≤ P, assign the value of g to m;

[0128] If w > B and n ≠ P, assign the value of w to m;

[0129] If m = N and r = D at this time, set m to Q = (F + B) / 2;

[0130] If m ≥ [B + (A - B) / 100] and r = C at this time, set m to R = (Q + F) / 2.

[0131] (3) After the traversal is completed, copy the content of image_new to image, and the cross-section of image is as Figure 7 shown.

[0132] In step S4, the specific steps for coloring the acetabular body rendering data are as follows:

[0133] 1. Set the color transfer function (colortransferfunction)

[0134] Set the color transfer function. Set the part of the voxel value in image less than (R + F) / 2 to green, the part greater than (R + F) / 2 and less than Q to red, and the part greater than Q to white. The relationship between voxel values and colors is as Figure 7 shown. (In the figure, green is replaced by light gray and red is replaced by dark gray).

[0135] Initialize a vtkColorTransferFunction named colorFunction;

[0136] At the voxel value E, set the color to green: colorFunction->AddRGBPoint(E, 0, 1, 0);

[0137] At the voxel value (R + F) / 2, set the color to green: colorFunction->AddRGBPoint((R + F) / 2, 0, 1, 0);

[0138] At the voxel value (R + F) / 2 + 1, set the color to red: colorFunction->AddRGBPoint((R + F) / 2 + 1, 1, 0, 0);

[0139] At the voxel value Q, set the color to red: colorFunction->AddRGBPoint(Q, 1, 0, 0);

[0140] At voxel value Q+1, set the color to white: colorFunction->AddRGBPoint(Q+1,1,1,1);

[0141] Set the color to white at voxel value A: colorFunction->AddRGBPoint(A,1,1,1);

[0142] Use the color transfer function colorFunction to render the image.

[0143] 2. Set the opacity transfer function.

[0144] A transparency transfer function is defined such that the opacity of the green area decreases as the voxel value increases, the red area has an opacity of 0.5 only at a voxel value of R, and the opacity of the white area initially increases with increasing voxel value, then decreases with further increases. The opacity of the remaining areas is 0. The relationship between voxel value and opacity is as follows: Figure 8 As shown (green is replaced with light gray and red with dark gray in the image):

[0145] Initialize a vtkPiecewiseFunction named opacityFunction;

[0146] At voxel value E, set the opacity to 1: opacityFunction->AddPoint(E,1);

[0147] At the voxel value F, set the opacity to 0: opacityFunction->AddPoint(F,0);

[0148] At voxel value R-1, set the opacity to 0: opacityFunction->AddPoint(R-1,0);

[0149] At the voxel value R, set the opacity to 0.5: opacityFunction->AddPoint(R,0.5);

[0150] At voxel value R+1, set the opacity to 0.5: opacityFunction->AddPoint(R+1,0);

[0151] At voxel value B, set the opacity to 0: opacityFunction->AddPoint(B,0);

[0152] At the voxel value (A+B) / 2, set the opacity to 1: opacityFunction->AddPoint((A+B) / 2,1);

[0153] At voxel value A, set the opacity to 0: opacityFunction->AddPoint(A,0);

[0154] Use the opacityFunction to render the image.

[0155] It is important to note that the thickness of the white area in the rendered image is related to the specific values ​​of the image's voxel size 'a', voxel values ​​A, B, C, D, E, and F, as well as the standard deviation σ of the Gaussian convolution kernel. Different white area thicknesses can be achieved by fine-tuning these values. For example, when 'a' is 0.4, 'A' is 3000, 'B' is 2600, 'C' is 2000, 'D' is 0, 'E' is 1000, 'F' is 1700, and 'σ' is 0.1, the thickness of the white area is 1 mm.

[0156] The specific steps of the visualization calculation for acetabular grinding in step S5 are as follows:

[0157] Let the surface model of the grinding head be denoted as reamer. The reamer is a pre-prepared hemispherical shell surface with the same size as the actual grinding head. During guided grinding, the image remains stationary in the image, while the reamer moves in the image as the real-world grinding head moves. The relative positional relationship between the reamer and the image corresponds to the relative positional relationship between the real-world grinding head and the patient's acetabulum.

[0158] Whenever the position of the reamer changes, update the image as follows, so that the voxel values ​​within the reamer in the image are set to Q:

[0159] (1) Initialize a VTK template tool vtkPolyDataToImageStencil using reamer, and name it reamerStencil.

[0160] (2) Use the vtkImageStencil filter, take the image as the input of the filter, use the reamerStencil as the template tool used by the filter, use the ReverseStencilOn() method to set the filter mode to reverse template extraction, and use the SetBackgroundValue() method to set the background voxel value to Q.

[0161] (3) Assign the output of the filter to the image.

[0162] Because the voxel with a grayscale value of Q is completely transparent (opacity is 0), the effect is that the overlapping part of the image and the reamer is no longer displayed, and as the grinding proceeds, the white, green and red parts of the image are exposed layer by layer, thus simulating the grinding process.

[0163] In this invention, by separating voxels of different colors, applying Gaussian filtering to different color channels individually, and then selectively combining them, the abnormal color distribution that occurs in traditional Gaussian filtering due to continuous numerical transitions between different color regions is avoided. This achieves smoother rendering of the acetabular image while maintaining fast grinding calculation speed, thus optimizing the user experience. The smoothed model diagram is shown below. Figure 10 As shown, Figure 11 Results are shown for grinding the unsmoothed acetabulum.

[0164] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or modifications made by those skilled in the art within the scope of the technology disclosed in the present invention, based on the technical solution and inventive concept of the present invention, should be covered within the scope of protection of the present invention.

Claims

1. A smooth display method for navigable acetabular grinding, characterized in that: It includes the following steps: S1. Move the acetabular cup model to a predetermined position of the acetabular model; S2. Plan the area to be grinded on the acetabular model according to the overlapping area between the acetabular cup model and the acetabular model, plan the over-grinding area on the acetabular model according to the non-overlapping area, and generate the volume rendering data of the acetabular model based on the planned area to be grinded and the over-grinding area; S3. Smooth the volume rendering data of the acetabulum. Split the volume rendering data of the acetabulum into three images through image channels. Use a filter to perform convolution filtering on each color channel image separately, selectively merge the single-channel images, recombine the processed three images into a new three-dimensional image, and copy it to the volume rendering data of the acetabulum; S4. Color the acetabular model according to the smoothed volume rendering data; S5. During the navigation grinding process, as the grinding instrument moves, the corresponding part on the acetabular model is removed, and the exposed grinding area on the surface of the acetabular model shows the corresponding color and is presented to the operator; In step S1, the specific process is as follows: Import the acetabular cup model in the image coordinate system, and generate a hemispherical shell model on the side where the acetabular cup model contacts the acetabular model; Move the acetabular cup model to the predetermined position of the acetabular model by means of translation and rotation, and obtain the rigid body transformation matrix that the acetabular cup model experiences from the initial position to the predetermined position in the image coordinate system; Apply the rigid body transformation matrix to the hemispherical shell model to move it to the predetermined position of the acetabular cup model; In step S2, the specific process is as follows: Denote the acetabular reconstruction surface model as bone, generate the axis-aligned bounding box of bone, and generate a blank three-dimensional image using the axis-aligned bounding box, denoted as image; For each voxel point of image, if the coordinate of the voxel point falls outside bone, set the voxel value to N, where N < K, otherwise keep its value as K, and obtain the partial image of the acetabular over-grinding area; For each voxel point of image, if its value is K and it falls inside the hemispherical shell model, set its value to P, where N < P < K, otherwise keep its original value unchanged, and obtain the partial image of the acetabular area to be grinded; The image channel splitting in step S3 refers to splitting the volume rendering data image of the acetabulum into three images, image_w, image_r, image_g, corresponding to the third color, the second color, and the first color respectively, specifically as follows: Copy an image and name it image_w. Traverse each voxel of image_w. If the value of the voxel is equal to K, set its value to A. If the value of the voxel is not equal to K, set its value to B; Copy an image and name it image_r. Traverse each voxel of image_r. If the value of the voxel is equal to K, set its value to C. If the value of the voxel is not equal to K, set its value to D; Copy an image and name it image_g. Traverse each voxel of image_g. If the value of the voxel is equal to P, set its value to E. If the value of the voxel is not equal to P, set its value to F; The above voxel values need to satisfy: A > B > C > F > E, and C ≠ D; In the single-channel image selective merging in step S3, based on image, image_w, image_r, and image_g are recombined into a new three-dimensional image image_new, such that image_new contains the smoothed voxel information, and then the content of image_new is copied to image, specifically as follows: Copy image and name it image_new; Traverse the voxels of image, image_new, image_w, image_r, and image_g simultaneously. Denote the voxel value of image as n, and the voxel values at the corresponding positions of image_new, image_w, image_r, and image_g as m, w, r, and g respectively: If g < F and n ≤ P, assign the value of g to m; If w > B and n ≠ P, assign the value of w to m; If m = N and r = D at this time, set m to Q = (F + B) / 2; If m ≥ [B + (A - B) / 100] and r = C at this time, set m to R = (Q + F) / 2; After the traversal is completed, copy the content of image_new to image.

2. The smooth display method for navigable acetabular grinding according to claim 1, characterized in that: In step S3, a filter is used, and the standard deviation σ of the Gaussian convolution kernel is set to perform convolution filtering on image_w and image_g.

3. The smooth display method for navigable acetabular grinding according to claim 1, characterized in that: During the coloring process of the acetabular volume rendering data in step S4, first set the color transfer function. Set the part of the voxel values in the volume rendering data image that is less than (R + F) / 2 to the first color, that is, the area to be grinded. Set the part of the voxel values that is greater than (R + F) / 2 and less than Q to the second color, that is, the over-grinding area. Set the part of the voxel values that is greater than Q to the third color, that is, the buffer area.

4. The smooth display method for navigable acetabular grinding according to claim 3, characterized in that: In step S4, it is also necessary to set the transparency transfer function, such that the opacity of the first color part decreases as the voxel value increases. The opacity of the second color part is only 0.5 at the voxel value of R. The opacity of the third color part first increases as the voxel value increases and then decreases as the voxel value increases. The opacity of the remaining parts is 0.

5. The smooth display method for navigable acetabular grinding according to claim 1, characterized in that: The method for constructing the axis-aligned bounding box of the acetabular model is as follows: Traverse the coordinate values of each vertex on the surface of the acetabular model, and record the maximum and minimum coordinate values in the x-axis, y-axis, and z-axis directions of these coordinate values as: x_max, x_min, y_max, y_min, z_max, z_min; The spatial closed figure formed by the eight vertices (x_max,y_max,z_max), (x_min,y_max,z_max), (x_max,y_min,z_max), (x_max,y_max,z_min), (x_min,y_min,z_max), (x_min,y_max,z_min), (x_max,y_min,z_min), (x_min,y_min,z_min) is the axis-aligned bounding box of the acetabular model.

6. The smooth display method for navigable acetabular grinding according to claim 1, characterized in that: In step S5, the surface model of the grinding head is denoted as reamer. The reamer is a pre-prepared hemispherical shell surface with the same size as the real grinding head. During the navigation grinding process, the volumetric data image remains stationary in the image, while the reamer moves in the image as the real-world grinding head moves. The relative positional relationship between the reamer and the image conforms to the relative positional relationship between the real-world grinding head and the patient's acetabulum. Whenever the position of the reamer changes, update the image as follows, so that the voxel values ​​within the reamer in the image are set to Q: Use reamer to initialize a VTK template tool vtkPolyDataToImageStencil, and name it eamerStencil; Use the vtkImageStencil filter, take the image as the input of the filter, use reamerStencil as the template tool used by the filter, use the ReverseStencilOn() method to set the filter mode to reverse template extraction, and use the SetBackgroundValue() method to set the background voxel value to Q; Assign the filter output to image; Because voxels with a grayscale value of Q are completely transparent and have an opacity of 0, the effect is that the overlapping parts of the image and the reamer are no longer displayed. As grinding progresses, the third color of the image representing the buffer area, the first color representing the area to be ground, and the second color representing the over-grinding area are gradually exposed to simulate the grinding process.