CN112465902A - Method and device for determining position of optical tracking marker ball for orthopedic surgery - Google Patents
Method and device for determining position of optical tracking marker ball for orthopedic surgery Download PDFInfo
- Publication number
- CN112465902A CN112465902A CN202011472103.XA CN202011472103A CN112465902A CN 112465902 A CN112465902 A CN 112465902A CN 202011472103 A CN202011472103 A CN 202011472103A CN 112465902 A CN112465902 A CN 112465902A
- Authority
- CN
- China
- Prior art keywords
- vertex
- coordinate
- sphere center
- sphere
- coordinates
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10072—Tomographic images
- G06T2207/10081—Computed x-ray tomography [CT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30004—Biomedical image processing
- G06T2207/30008—Bone
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
The application relates to a method and a device for determining the position of an optical tracking marking ball for orthopedic surgery, wherein the method comprises the following steps: acquiring 3D model data output after CT scanning; judging whether the mth vertex and the corresponding adjacent vertex of the ith ring have a common sphere center or not; if yes, adding the coordinate array from the first sphere center coordinate to the mth vertex, enabling i to be i +1, and if i is less than N, resetting the judging step; if not, deleting the coordinate array of the mth vertex; solving a second sphere center coordinate corresponding to each undeleted coordinate array; the second sphere center coordinate is the average value of the first sphere center coordinate in the undeleted coordinate array; and calculating the average value of the second sphere center coordinates as the sphere center coordinates of the marker sphere. In practical application, the coordinate arrays corresponding to some vertexes at the joint of the marker ball and the bearing object can be deleted by adopting the method, so that the influence of the coordinate arrays on the calculation of the sphere center coordinate is eliminated, and the influence of the vertexes on the non-marker ball surface on the calculated position of the marker ball center is also eliminated.
Description
Technical Field
The application relates to the technical field of medical imaging, in particular to a method and a device for determining the position of an optical tracking marking ball for orthopedic surgery.
Background
In order to reduce the CT fluoroscopy time in the orthopedic surgery process and then reduce the injury of CT fluoroscopy to patients and clinical medical care personnel, orthopedic surgery technology based on optical tracking positioning and virtual reality technology is mature day by day and enters clinical practice.
The preparation process of the orthopedic correction operation implementation process based on the optical tracking positioning and virtual reality technology comprises the following steps: firstly, rigidly connecting a positioning device provided with at least three optical marker balls with a fracture bone block; then carrying out tomography scanning by adopting a CT (computed tomography) machine and forming three-dimensional medical image data; and then, carrying out mathematical processing on the three-dimensional medical image, identifying the optical marker ball, determining the position of the optical marker ball, and establishing the position relation between the position of the optical marker ball and the fracture bone block. During formal correction surgery, the position of the adjacent fractured bone block to be healed is determined in the three-dimensional image data based on the position relation between the optical marker ball and the fractured bone block and the actually acquired optical marker ball optical tracking data, and then the real-time position change of the fractured bone block caused by the surgery action can be determined in real time until the surgery is completed.
In the orthopedic correction operation, the optical reflection ball in the three-dimensional medical image data can be correctly identified, and the establishment of the position relationship between the optical reflection ball and the fractured bone is one of the keys for ensuring the healing accuracy of the hand. Chinese patent application CN109009376A discloses that three-dimensional medical image data is used as three-dimensional point cloud data, and the position of each optical marker ball is determined by least square fitting; this method of determining the center of the marker has a drawback in terms of processing accuracy and the like.
Disclosure of Invention
To solve the above technical problem or at least partially solve the above technical problem, the present application provides a method and apparatus for determining the position of an optical tracking marker ball for orthopedic surgery. .
In one aspect, the present application provides a method for determining the position of an optical tracking marker ball for orthopedic surgery, including:
s101: acquiring 3D model data output after CT scanning; the 3D model data includes vertex coordinates and adjacency relationships between vertices;
for each vertex, steps S102-S104 are performed:
s102: judging whether the mth vertex and the corresponding adjacent vertex of the ith ring have a common sphere center or not; if yes, go to step S103; if not, executing step S104;
s103: adding the first sphere center coordinate to the coordinate array of the mth vertex so that i is i +1, and re-executing step S102 if i < N; the first sphere center coordinate is a sphere center coordinate determined by the mth vertex and the ith ring adjacent vertex;
s104: deleting the coordinate array of the mth vertex;
s105: solving a second sphere center coordinate corresponding to each undeleted coordinate array; the second sphere center coordinate is the average value of the first sphere center coordinate in the undeleted coordinate array;
s106: and calculating the average value of the second sphere center coordinates to be used as the sphere center coordinates of the marker sphere.
Optionally, the determining whether the mth vertex and the corresponding ith ring neighboring vertex have a common sphere center includes:
grouping the i-th ring adjacent vertices; each grouping comprising contiguous vertices in three ith rings;
calculating a corresponding third sphere center coordinate according to the coordinate of the adjacent vertex in each group and the coordinate of the mth vertex;
calculating the average value of all the third sphere center coordinates corresponding to the mth vertex to be used as a fourth sphere center coordinate;
judging whether the distances between the fourth spherical center coordinate and each third spherical center coordinate are smaller than a first threshold value;
if yes, determining that the mth vertex and the corresponding adjacent vertex of the ith ring have a common sphere center; if not, the m-th vertex and the corresponding i-th ring adjacent vertex do not have a common sphere center.
Optionally, the first spherical center coordinate is the fourth spherical center coordinate.
Optionally, the first spherical center coordinate is the third spherical center coordinate;
obtaining the second sphere center coordinate corresponding to each undeleted coordinate array, including:
judging whether the number of the first sphere center coordinates in the undeleted coordinate array is greater than a preset number or not;
if so, the second sphere center coordinate corresponding to the coordinate array is obtained.
Optionally, step S102 further includes:
judging whether the distance between the fourth spherical center coordinate corresponding to the adjacent vertex of the ith ring and the fourth spherical center coordinate corresponding to the adjacent vertex of the jth ring is smaller than a second threshold value or not; wherein j is i-1;
if yes, go to step S103; if not, go to step S104.
Optionally, the method further comprises:
determining the average side length according to the vertex coordinates and the adjacency relation between the vertexes;
the first threshold is determined according to the average side length.
Optionally, the 3D model data includes vertex data representing o marker balls, o ≧ 2;
calculating an average value of the second center coordinates as the center coordinates of the marker ball, including:
clustering the second sphere center coordinates to determine a cluster group;
and calculating the average value of the second sphere center coordinates in each cluster group to serve as the sphere center coordinates of the marker sphere corresponding to the cluster group.
Optionally, the averaging the second sphere center coordinates in the cluster group to serve as the sphere center coordinates of each marker sphere includes:
judging that the number of the clustering groups is more than o;
if so, acquiring the cluster group with the most second sphere center coordinates in the previous o as a selected cluster group;
and calculating the average value of the second sphere center coordinates in each selected cluster group to serve as the sphere center coordinates of the corresponding marker sphere.
Optionally, before executing step S102, the method further includes:
s201: judging whether the p-th vertex and the corresponding k-th ring adjacent vertex have a common sphere center; if yes, go to S202; if not, executing S203;
s202: let k be k +1 and, in the case where k < q, re-execute step S201; wherein q < n;
if not, deleting the p-th vertex.
In another aspect, the present application provides an optical tracking marker ball position determination apparatus for orthopedic surgery, including:
the data acquisition unit is used for acquiring 3D model data output after CT scanning; the 3D model data includes vertex coordinates and adjacency relationships between the vertices;
an array construction unit configured to add a coordinate array of first sphere center coordinates to an mth vertex so that i becomes i +1, when i < n and when it is determined that the mth vertex and a corresponding ith ring adjacent vertex have a common sphere center; and deleting the coordinate array of the mth vertex under the condition that the mth vertex and the corresponding adjacent vertex of the ith ring do not have a common sphere center;
the second sphere center coordinate calculation unit is used for solving second sphere center coordinates corresponding to the undeleted coordinate arrays; the second sphere center coordinate is the average value of the first sphere center coordinate in the undeleted coordinate array;
and the marking sphere center calculating unit is used for calculating the average value of the second sphere center coordinates as the sphere center coordinates of the marking sphere.
Optionally, the array building unit includes:
a grouping subunit, configured to group the i-th ring adjacent vertex; each group comprising three contiguous vertices in the ith ring;
a third sphere center coordinate calculation subunit, configured to calculate a corresponding third sphere center coordinate according to the coordinate of the adjacent vertex in each group and the coordinate of the mth vertex, respectively;
the fourth sphere center coordinate calculating subunit is used for solving an average value of all the third sphere center coordinates corresponding to the mth vertex as a fourth sphere center coordinate;
the first judging subunit is configured to judge that the mth vertex and the corresponding ith ring adjacent vertex have a common sphere center when judging that the distances between the fourth sphere center coordinate and each of the third sphere center coordinates are smaller than a first threshold; and when the distance between at least one third spherical center coordinate and the fourth spherical center coordinate is judged to be larger than a first threshold value, judging that the m-th vertex and the corresponding i-th ring adjacent vertex do not have a common spherical center.
Optionally, the first spherical center coordinate is the third spherical center coordinate;
and the second sphere center coordinate calculating unit is used for solving the second sphere center coordinate corresponding to the coordinate array under the condition that the number of the first sphere center coordinates in the coordinate array is greater than the preset number.
Optionally, when determining that the distance between the fourth sphere center coordinate corresponding to the ith ring adjacent vertex and the fourth sphere center coordinate corresponding to the jth ring adjacent vertex is smaller than a second threshold, the array construction unit adds the coordinate array of the first sphere center coordinate to the mth vertex, and makes i equal to i + 1; wherein j is i-1.
Optionally, the 3D model data includes vertex data representing o marker balls, o ≧ 2; the marked sphere center calculating unit includes:
a clustering subunit, configured to perform clustering processing on the second centroid coordinates to determine a clustering group;
and the marking ball center calculating subunit is used for calculating the average value of the second ball center coordinates in each clustering group as the ball center coordinates of each marking ball.
Optionally, the method further comprises: a vertex screening unit for making k equal to k +1 when k < q and the p-th vertex and the corresponding k-th ring adjacent vertex have a common sphere center; wherein q < n; and deleting the p-th vertex when the p-th vertex and the corresponding k-th ring adjacent vertex do not have the common sphere center.
When the coordinate array of the mth vertex is calculated, the coordinate array of the mth vertex is reserved only on the premise that the mth point and the n-ring adjacent vertex adjacent to the mth point have a common sphere center, and the method and the device are used for calculating the sphere center coordinate of the marker sphere subsequently. In practical application, the coordinate arrays corresponding to some vertexes at the joint of the marker ball and the bearing object can be deleted by adopting the method, so that the influence of the coordinate arrays on the calculation of the sphere center coordinate is eliminated, and the influence of the vertexes on the non-marker ball surface on the calculated position of the marker ball center is also eliminated.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application.
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious for those skilled in the art to obtain other drawings without inventive exercise.
FIG. 1 is a flowchart of a method for determining the position of an optical tracking marker ball for orthopedic surgery according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a portion of a vertex attachment structure provided in one embodiment;
FIG. 3 is a flowchart of the steps provided by an embodiment of the present application to delete a vertex;
FIG. 4 is a schematic structural diagram of an optical tracking marker ball position determination device for orthopedic surgery according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of an electronic device provided in an embodiment of the present application;
wherein: 11-a data acquisition unit, 12-an array construction unit, 13-a second sphere center coordinate calculation unit and 14-a marker sphere center calculation unit; 21-processor, 22-memory, 23-communication interface, 24-bus system.
Detailed Description
In order that the above-mentioned objects, features and advantages of the present application may be more clearly understood, the solution of the present application will be further described below. It should be noted that the embodiments and features of the embodiments of the present application may be combined with each other without conflict.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application, but the present application may be practiced in other ways than those described herein; it is to be understood that the embodiments described in this specification are only some embodiments of the present application and not all embodiments.
Before describing the method for determining the position of the optical tracking marker ball for orthopedic surgery provided in the embodiment of the present application, the problem of the method for obtaining the center of the marker ball described in the patent document (CN109009376A) mentioned in the background art is first analyzed.
Patent document CN109009376A mentions "fitting the sphere of each marker sphere point cloud preferably using the least squares method; establishing a point cloud reference coordinate system O-xyz with the same three-dimensional point cloud, and setting the coordinate of a spherical center obtained by fitting any marked sphere point cloud under the point cloud reference coordinate system O-xyz as (x)mk,ymk,zmk) "wherein, mk represents any k-th marked sphere, and the distance between any ith point of any marked sphere point cloud and the sphere center of the fitting sphere is: di(xmk,ymk,zmk)=(xi-xmk)2+(yi-ymk)2+(zi-zmk)2(ii) a In the formula xi,yiAnd ziAnd the coordinates of the ith point of the arbitrary marked sphere point cloud under the point cloud reference coordinate system O-xyz are represented. The above distance DiThe sum of squares of the residuals from the true spherical radius is: s (x)mk,ymk,zmk)=∑(Di 2-dmk 2)2”。
As can be seen from an analysis of the foregoing method, the foregoing method can be implemented on the premise that point cloud data characterizing a marker sphere has been determined and point cloud data not characterizing a marker sphere is excluded; however, because the marking sphere needs to be fixedly connected with the bearing, it is difficult to determine whether some points at the joint of the marking sphere and the bearing are points on the spherical surface of the marking sphere; in practical applications, it is almost impossible to determine whether point cloud data is a point on the spherical surface of the marker sphere alone (therefore, the number of point cloud data is extremely large, and the distance between point cloud data is in the um level).
In addition, because of various error problems of scanning ray intensity, material types of the marker spheres and post data processing in CT tomography, certain point cloud data have large position deviation, and errors are introduced when the sphere center of the marker sphere is calculated.
The embodiment of the application provides a method for determining the position of an optical tracking marker ball for orthopedic surgery, so that the center of the marker ball can be determined only according to data after CT scanning.
Fig. 1 is a flowchart of a method for determining a position of an optical tracking marker ball for orthopedic surgery according to an embodiment of the present application. As shown in fig. 1, the method provided by the embodiment of the present application includes steps S101-S107.
S101: and acquiring 3D model data output after CT scanning.
In the embodiment of the present application, the 3D model data is model data including vertex coordinates of respective vertices and adjacency relationships between the vertices.
In practical application, after the CT scan obtains the original data, modeling may be performed based on the original data to obtain 3D model data. In one specific application, the 3D model data may be data constructed using a connected graph data structure, which stores coordinate data of each vertex, and also stores adjacent vertex information of each vertex, and determines an adjacent relationship between the vertices using the adjacent vertex information.
In the specific application of the embodiment of the application, after CT scan data is obtained, original data obtained by CT scan can be processed by using Mimics-like medical image software to obtain a 3D model file including a vertex and each edge connecting the vertex; preprocessing the 3D model file to merge repeated vertexes and vertexes with too close distances, and reconstructing a triangle edge by using the new vertexes; subsequently, the edges of the triangle are traversed again to construct a connected graph data structure of vertices, and the adjacent vertex information of each vertex is acquired, so as to obtain 3D model data for executing step S101.
After the foregoing processing, each vertex may be numbered for subsequent operations on each vertex. Assuming that the number of vertices in the 3D model data is 100000, the number of the following vertices is 1, 2, 3 … …, 100000, and the number of the vertex in the specific application is denoted by m.
Steps S102-S105 are performed for each vertex in the 3D model data.
S102: judging whether the mth vertex and the corresponding adjacent vertex of the ith ring have a common sphere center or not; if yes, go to step S103; if not, go to step S105.
In step S102, the ith ring adjacent vertex is a vertex in the ith circumscribed ring centered on the mth vertex determined by the first-order traversal method.
FIG. 2 is a schematic diagram of a portion of a vertex attachment structure provided in one embodiment. As shown in fig. 2, where point a is the mth vertex, four points directly connected to the edge of point a constitute the 1 st ring adjacent vertex, and the 9 more peripheral points directly connected to the aforementioned four points are the 2 nd ring adjacent vertices of point a.
In step S102 of this embodiment, it is determined whether the m-th vertex and the corresponding i-th ring neighboring vertex have a common sphere center, and it is determined whether each of the m-th point and the i-th ring neighboring vertex may be on the same sphere.
In the embodiment of the present application, in order to ensure the accuracy of the data and avoid the large disturbance caused by using the too-close vertex, step S102 may be performed from the 2 nd ring adjacent vertex, and step S102 is not performed for the 1 st ring adjacent vertex. Of course, in other embodiments, if the model data is determined to be accurate through previous verification, the foregoing steps may be performed starting from the 1 st ring adjacent vertex.
S103: and adding the coordinate array of the first sphere center coordinate to the mth vertex, so that i is equal to i + 1.
In the embodiment of the present application, the first spherical center coordinate is a spherical center coordinate determined from the m-th vertex and the i-th ring adjacent vertex when it is determined that the m-th vertex and the corresponding i-th ring adjacent vertex have a common spherical center. For specific applications, the possible data of the first spherical center coordinate will be described in detail later.
In the embodiment of the application, a coordinate array is established for each vertex, and the coordinate array is used for storing the calculated first sphere center coordinate data related to the vertex.
S104: judging whether i is smaller than n; if yes, re-executing step S102; if not, go to step S106.
In the embodiment of the present application, assuming that the mth vertex is a point on the spherical surface, it can be generally determined that all the points around the mth vertex are points on the spherical surface, that is, the mth vertex and the adjacent vertices within n circles around the mth vertex are on one spherical surface.
According to the foregoing concept, in the embodiment of the present application, starting from the adjacent vertex of the m-th vertex, the circle of adjacent vertices is determined whether the circle of adjacent vertices is on the same sphere as the m-th vertex, and then the circle of adjacent vertices is determined.
If the mth vertex and the ith vertex adjacent to the ith ring are not on the unified sphere, the mth vertex may be a vertex close to the carrier region or may be a vertex with a large error in data, and step S105 is directly performed to delete the mth vertex.
In practical applications, for 3D model data of a certain accuracy, the loop n may be set to 10 in case i starts from the 2 nd turn. If, after the execution of step S103 is completed, i is still less than 10, then steps S102 and S103 are continued to be executed (of course, step S105 may be skipped because the result of the determination in step S102 is no) until i reaches 10. If i is already equal to 10, it is determined that the loop condition of the aforementioned loop step is no longer satisfied, and thus the loop S106 is skipped.
S105: and deleting the coordinate array of the mth vertex.
S106: and solving a second sphere center coordinate corresponding to each undeleted coordinate array.
In step S106, the second sphere center coordinate is an average value of the first sphere center coordinates in the undeleted coordinate array. Assuming that only 5000 vertex coordinate arrays of 10000 vertices remain after steps S102-S105, step S106 is to obtain an average value of the first sphere center coordinates in the 5000 coordinate arrays to obtain 5000 second sphere center coordinates.
S107: and calculating the average value of the second sphere center coordinates as the sphere center coordinates of the marker sphere.
In practical applications, the average value of the second center coordinates obtained in step S107 is different from case to case, and the specific method for marking the center coordinates of the ball is different.
In the first case: if the 3D model data obtained in step S101 includes vertex data representing only one marker ball, it may be determined that each still-retained coordinate array is a coordinate array corresponding to a vertex of the same marker ball surface, and each second center coordinate is a center coordinate corresponding to a vertex of the same marker ball surface, so that an average value of the second center coordinates may be directly obtained as the center coordinate of the marker ball.
In the second case: if the 3D model data obtained in step S101 includes vertex data representing two or more marker balls, determining that each still-retained coordinate array is a coordinate array corresponding to a vertex of a surface of a different marker ball, and each second sphere center coordinate is a sphere center coordinate corresponding to a vertex of a surface of a different marker ball, in order to distinguish each marker ball and separately obtain a sphere center coordinate of each marker ball, step S107 includes S1071-S1072; at this time, it is assumed that the number of marker balls is N, and N is greater than or equal to 2.
S1071: and performing clustering processing on the second sphere center coordinates to determine a clustering group.
In step S1071, the process of determining the clustering group by clustering the second centroid coordinates is a process of classifying the second centroid coordinates whose data is closer to each other into one class according to a specific clustering method, and using the data group classified into one class as a clustering group. In practical application, the clustering methods that can be adopted in step S1071 include K-means, K-center, and the like.
S1072: and calculating the average value of the second sphere center coordinates in each cluster group as the sphere center coordinates of each marker sphere.
In the embodiment of the present application, there is a certain interval between the positions of the marker balls, and after the clustering group is determined by performing clustering processing in step S1071, o clustering groups can be determined at a high probability, so that the center coordinates of the corresponding marker ball can be obtained by averaging the second center coordinates in the o clustering groups.
In practice, because of data errors, it is also possible to obtain the result that the number of cluster groups is greater than the number of marker balls, i.e., the number of cluster groups is greater than o, and then step S1072 can be subdivided into steps S1072A-S1072C as follows.
S1072A: judging whether the number of the cluster groups is greater than o; if yes, go to S1072B.
S1072B: and acquiring the cluster group with the highest o second sphere center coordinates as the selected cluster group.
S1073: and calculating the average value of the second sphere center coordinates in each selected cluster group to serve as the sphere center coordinates of each marker sphere.
As can be seen from the foregoing analysis in steps S101 to S107, in the embodiment of the present application, when the coordinate array of the mth vertex is calculated, only on the premise that the mth point and the n-ring adjacent vertices adjacent to the mth point have a common sphere center, the mth coordinate array is retained for subsequent calculation of the sphere center coordinates of the marker sphere. In practical application, the coordinate arrays corresponding to some vertexes at the joint of the marker ball and the bearing object can be deleted by adopting the method, and the influence of the coordinate arrays on the calculation of the center coordinates of the ball is eliminated. The sphere center coordinates of the marker sphere determined by the method are applied to the virtual simulation model, so that the position relation of the optical writing marker sphere, the fracture and other injured areas in the established virtual simulation model in the follow-up process is more consistent with the actual situation.
In a specific application of the embodiment of the present application, the step S102 of determining whether the m-th vertex and the corresponding i-th ring neighboring vertex have a common sphere center may include steps S1021 to S1023.
S1021: the ith ring adjoining vertices are grouped such that each group includes three adjoining vertices of the ith ring.
Taking the 2 nd ring adjacent vertex shown in fig. 2 as an example, in practical application, when grouping the ith ring adjacent vertex, it should be ensured that the adjacent vertices grouped in each group are uniformly distributed as much as possible, so as to enable more representative determination whether the ith ring adjacent vertex and the mth vertex share a common sphere center.
S1022: and calculating corresponding third sphere center coordinates according to the adjacent vertex coordinates in each group and the m-th vertex coordinates.
A sphere and, in turn, a third centroid coordinate are uniquely identified based on the vertices of the tetrahedron. In this embodiment, the corresponding third centroid coordinate may be calculated by using the adjacent vertex coordinate and the m-th vertex coordinate in one group according to the kroll formula.
Different third centroid coordinates may also be obtained for different groupings. For example, as shown in fig. 2, the 2 nd ring neighboring vertex has 9 neighboring vertices, the 9 neighboring vertices are divided into 3 groups, and the 3 groups of neighboring point points and the m-th vertex cooperate to obtain 3 third sphere center coordinates.
S1023: and calculating the average value of all third sphere center coordinates corresponding to the mth vertex to be used as the fourth sphere center coordinate.
Still, the average value of all the third center coordinates is obtained using the adjacent vertex of the 2 nd ring as a class, and the average value of the three center coordinates is calculated as the fourth center coordinate using the obtained 3 third center coordinates as input.
S1024: and judging whether the distances between the fourth sphere center coordinate and each third sphere center coordinate are smaller than a first threshold value. If yes, go to step S1025; if not, go to S1026.
S1025: and judging that the mth vertex and the corresponding ith ring adjacent vertex have a common sphere center.
S1026: and judging that the mth vertex and the corresponding ith ring adjacent vertex do not have a common sphere center.
In practical application, if the distance between the fourth spherical center coordinate and each third spherical center coordinate is judged to be smaller than the first threshold, it indicates that each third spherical center coordinate is close to the fourth spherical center coordinate, and thus indicates that the vertexes corresponding to the several spherical center coordinates are substantially on one spherical surface.
In an application of the embodiment of the present application, the foregoing first threshold may be determined according to an average side length in the 3D model data.
The average side length is a side length determined from the coordinates of all the vertices and the adjacency of the vertices. Assuming that in the case where the 3D model data includes 10000 vertices and 50000 adjacency relations between the 10000 vertices, it is possible to find the distance of 50000 adjacent vertices in the adjacency relations and find the average value of 50000 distances as the average side length.
The first threshold is determined according to the average side length in the 3D model data, and may be obtained by multiplying a weight coefficient by the average side length. In a specific application of the embodiment of the present application, the weight coefficient is preferably set to a value smaller than 0.5, so as to ensure that the first threshold can relatively conform to a practical determination of whether the mth vertex and the corresponding ith ring neighboring vertex have a common sphere center.
Of course, in a specific application of the embodiment of the present application, the first threshold may also be a fixed value set in advance, for example, a fixed value determined according to the CT scanning accuracy and the 3D model modeling accuracy.
In addition, in other applications of the embodiment of the present application, other mathematical processing methods may be used to determine whether the mth vertex and the ith vertex adjacent to the mth ring have a common center of sphere.
In the step S103, a coordinate array for adding the first sphere center coordinate to the mth vertex is mentioned; in this embodiment, the coordinate arrays from the first spherical center coordinate to the mth vertex are added in step S103, and there may be the following cases.
The first case is: taking the fourth sphere center coordinate as the first sphere center coordinate, and adding the fourth sphere center coordinate to the coordinate array; in this case, in the coordinate array remaining after the steps S102-S104, there are n-1 coordinate data at most (in this case, the step S102 is performed starting from the 1 st ring adjacent vertex of the m-th vertex).
The second case is: the first sphere center coordinate is a third sphere center coordinate; that is, all the third spherical center coordinates corresponding to the mth vertex calculated in step S1022 are stored in the coordinate array as the first spherical center coordinates. In this case, the approximate probability in the undeleted coordinate array may include much more than n pieces of coordinate data.
In this embodiment of the application, when the third spherical center coordinate is added to the coordinate array as the first spherical center coordinate, the step S106 of obtaining the second spherical center coordinate corresponding to each undeleted coordinate array may include steps S1061-S1062.
S1061: judging whether the number of the first sphere center coordinates in the coordinate array is larger than a preset number or not; if yes, go to step S1062; if not, go to step S105.
S1062: and solving a second sphere center coordinate corresponding to the coordinate array.
If the number of the first spherical center coordinates in the coordinate array is greater than the preset number, it may be determined that more adjacent nodes are adopted in steps S102-104 to determine whether the mth vertex and the adjacent nodes have a common spherical center, the probability that the first spherical center coordinates in the coordinate array have an odd value is small, and the first spherical center coordinates may be used to calculate the second spherical center coordinates.
And if the number of the first sphere center coordinates in the coordinate array is smaller than the preset number, judging whether the m-th vertex and the adjacent node have a common sphere center by adopting fewer adjacent points in S102-S104, wherein the probability of the first sphere center coordinates in the coordinate array having an odd value is larger, and directly deleting the coordinate array. In a specific application of the embodiment of the present application, in the case where n is 10, the preset number may be set to 25.
In this embodiment of the application, step S102 may further include, in addition to the foregoing determination process of determining whether the m-th vertex and the corresponding i-th ring neighboring vertex have a common sphere center: judging whether the distance between a fourth sphere center coordinate corresponding to the adjacent vertex of the ith ring and the fourth sphere center coordinate corresponding to the adjacent vertex of the jth ring is smaller than a second threshold value, wherein j is i-1; if yes, go to step S103; if not, go to step S104.
Wherein, the distance between the fourth spherical center coordinate corresponding to the adjacent vertex of the ith ring and the fourth spherical center coordinate corresponding to the adjacent vertex of the jth ring is smaller than a second threshold value, so that the approximate rates of the adjacent vertex of the ith ring and the adjacent vertex of the jth ring are proved to be in the same spherical surface, and then the coordinate array is continuously kept; and if the value is larger than the second threshold value, the ith ring adjacent vertex and the jth ring adjacent vertex are proved to be not in the same spherical surface with high probability, and corresponding array coordinates are not reserved. In a specific application of the embodiment of the present application, the second threshold is determined according to the average side length and a preset weight
By adopting the method, the possibly problematic coordinate array can be further deleted, so that errors are avoided, and the finally calculated marking sphere center coordinates are more in line with the actual situation.
In practical application of the embodiment of the application, the 3D model data may include a large amount of data representing the load bearing object and the vertex data of the patient bone mass, in addition to the data near the marker ball; and the vertex data of the bearing object and the bone block are not on the spherical surface, when the vertex data comprising the bearing object data and the patient bone block data are processed by directly adopting the steps S101-S107, the data processing amount is too large, so that the processing rate is too low.
In order to reduce the data processing amount and increase the processing speed, the embodiment of the present application may further perform a step of selecting a vertex and deleting the vertex before step S102.
FIG. 3 is a flowchart of the steps provided by an embodiment of the present application to delete a vertex; as shown in fig. 3, the step of deleting vertices includes S201-S203.
S201: judging whether the p-th vertex and the corresponding k-th ring adjacent vertex have a common sphere center; if yes, go to S202; if not, go to S203.
S202: let k be k + 1.
S203: judging whether k is smaller than p; if yes, re-executing step S201; if not, jumping out of the cycle.
S204: the p-th vertex is deleted.
In the previous step, p < n, p in the actual reference is more set to be 2 or 3, that is, the p-th vertex and the corresponding 2 nd ring adjacent vertex or the 3 rd ring adjacent vertex are judged to judge whether a common sphere center exists or not, and whether the p-th vertex is deleted or not is determined; in practical application, considering that the number of 1 st ring adjacent vertexes of the p-th vertex is too small, the disturbance error is large, and the initial value of k is set to 2.
In addition to providing the foregoing method for determining the position of the optical tracking marker ball for orthopedic surgery, the embodiment of the present application also provides an apparatus for determining the position of the optical tracking marker ball for orthopedic surgery.
Fig. 4 is a schematic structural diagram of an optical tracking marker ball position determining apparatus for orthopedic surgery according to an embodiment of the present application, and as shown in fig. 4, the position determining apparatus includes a data obtaining unit 11, an array constructing unit 12, a second sphere center coordinate calculating unit 13, and a marker sphere center calculating unit 14.
The data acquisition unit 11 is used for acquiring 3D model data output after CT scanning; the 3D model data includes vertex coordinates and adjacency relationships between the vertices.
In practical applications, after acquiring raw data from a CT scan, the data acquiring unit 11 may perform modeling based on the raw data to obtain 3D model data. In one specific application, the 3D model data may be data constructed using a connected graph data structure, which stores coordinate data of each vertex, and also stores adjacent vertex information of each vertex, and determines an adjacent relationship between the vertices using the adjacent vertex information.
An array construction unit 12 configured to add a coordinate array of the first sphere center coordinate to the mth vertex so that i becomes i +1, when i < n and when it is determined that the mth vertex and the corresponding ith ring neighboring vertex have a common sphere center; and deleting the coordinate array of the mth vertex under the condition that the mth vertex and the corresponding ith ring adjacent vertex do not have the common sphere center.
The ith ring adjacent vertex is a vertex in the ith circumscribed ring which is determined by adopting the first-wide traversal method and takes the mth vertex as the center. And judging whether the m-th vertex and the corresponding i-th ring adjacent vertex have a common sphere center or not, and determining whether each point in the m-th point and the i-th ring adjacent vertex is possibly on the same sphere.
The second sphere center marking calculation unit is used for solving second sphere center coordinates corresponding to each undeleted coordinate array; the second sphere center coordinate is an average value of the first sphere center coordinate in the undeleted coordinate array. Assuming that the array construction unit 12 only reserves the coordinate arrays of 5000 vertices after processing 1000 vertices, the average value of the first spherical center coordinates in the 5000 coordinate arrays is respectively obtained to obtain 5000 second spherical center coordinates.
The marker ball center calculation unit 14 is configured to calculate an average value of the second center coordinates as the center coordinates of the marker ball.
By adopting the optical tracking marker ball position determination device for orthopedic surgery provided by the embodiment of the application, when the array construction unit 12 calculates the coordinate array of the mth vertex, the coordinate array of the mth vertex is reserved only on the premise that the mth point and the n-ring adjacent vertices adjacent to the mth point have a common sphere center, and the coordinate array is used for subsequently calculating the sphere center coordinate of the marker ball. Therefore, coordinate arrays corresponding to some vertexes at the joint of the marker ball and the bearing object can be deleted, and the influence of the coordinate arrays on the calculation of the sphere center coordinate is eliminated.
In practical applications, the marker sphere center calculating unit 14 has different processing methods according to the situation that the 3D model data includes the number of characterized marker spheres.
If the 3D model data comprises vertex data representing only one marker ball, each still-reserved coordinate array can be determined to be a coordinate array corresponding to the same marker ball surface vertex, and each second sphere center coordinate is a sphere center coordinate corresponding to the same marker ball surface vertex, so that the average value of the second sphere center coordinates can be directly obtained to serve as the sphere center coordinates of the marker ball.
If the 3D model data is a model including vertex data representing two or more marker balls (in this case, the number of marker balls is represented by o), the marker sphere center calculating unit 14 includes a distance sub-unit and the marker sphere center calculating unit 14.
The clustering subunit is configured to perform clustering processing on the second centroid coordinates to determine a clustering group. And the marking ball center calculating subunit is used for solving the average value of the second ball center coordinates in each clustering group as the ball center coordinates of each marking ball.
In the embodiment of the application, a certain interval exists between the positions of the marker balls, after the clustering subunit performs clustering processing on the second center coordinates, o clustering groups can be determined at a high probability, and the center coordinates of the corresponding marker balls can be obtained by calculating the average value of the second center coordinates in the o clustering groups.
In practical application, because of data errors, the number of cluster groups is greater than the number of marker balls, that is, the number of cluster groups is greater than o, and at this time, if the cluster subunit determines that the number of cluster groups is greater than o, the previous o cluster groups with the largest second sphere center coordinates can be obtained as the selected cluster group; and the marking ball center calculating subunit is used for calculating the average value of the second ball center coordinates in each selected clustering group as the ball center coordinates of each marking ball.
In this embodiment, the array building unit 12 may include a grouping subunit, a third spherical center coordinate calculating subunit, a fourth spherical center coordinate calculating subunit, and a first judging subunit.
A grouping subunit, configured to group the i-th ring adjacent vertex; each group comprising three contiguous vertices in the ith ring;
a third sphere center coordinate calculation subunit, configured to calculate a corresponding third sphere center coordinate according to the coordinate of the adjacent vertex in each group and the coordinate of the mth vertex, respectively;
the fourth sphere center coordinate calculating subunit is used for solving an average value of all the third sphere center coordinates corresponding to the mth vertex as a fourth sphere center coordinate;
the first judging subunit is configured to judge that the mth vertex and the corresponding ith ring adjacent vertex have a common sphere center when judging that the distances between the fourth sphere center coordinate and each of the third sphere center coordinates are smaller than a first threshold; and when the distance between at least one third spherical center coordinate and the fourth spherical center coordinate is judged to be larger than a first threshold value, judging that the m-th vertex and the corresponding i-th ring adjacent vertex do not have a common spherical center.
In this embodiment of the application, the first spherical center coordinate may be the third spherical center coordinate or the fourth spherical center coordinate, and when the first spherical center coordinate is the third spherical center coordinate, the second spherical center coordinate calculating unit 13 finds the second spherical center coordinate corresponding to the coordinate array when the number of the first spherical center coordinates in the coordinate array is greater than a preset number.
In the embodiment of the present application, the array construction unit 12, except for adopting the aforementioned judgment condition for judging whether to add the first spherical center coordinate to the coordinate array, further includes: judging whether the distance between the fourth spherical center coordinate corresponding to the adjacent vertex of the ith ring and the fourth spherical center coordinate corresponding to the adjacent vertex of the jth ring is smaller than a second threshold value or not; if yes, adding the coordinate array from the first sphere center coordinate to the mth vertex, and making i equal to i + 1.
In this embodiment, the position determination apparatus may further include a vertex screening unit configured to, when k < q and it is determined that the pth vertex and the corresponding kth ring neighboring vertex have a common sphere center, make k equal to k + 1; wherein q < n; and deleting the p-th vertex when the p-th vertex and the corresponding k-th ring adjacent vertex do not have the common sphere center. By setting the vertex screening unit, the vertices in the 3D coordinate data are screened and the points not labeled with the ball data are removed before the coordinate array is constructed using the array construction unit 12, so that the number of vertices can be reduced, and the subsequent processing steps can be further improved.
The embodiment of the application also provides electronic equipment for realizing the method. Fig. 5 is a schematic structural diagram of an electronic device provided in an embodiment of the present application. As shown in fig. 5, the first server comprises at least one processor 21, at least one memory 22, at least one communication interface 23 and a bus system 24.
The various components in the first server are coupled together by a bus system 24. Understandably, the bus system 24 is used to enable connective communication between these components.
The memory 22 in this embodiment may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. In some embodiments, memory 22 stores an operating system and application programs.
The operating system includes various system programs, such as a framework layer, a core library layer, a driver layer, and the like, for implementing various basic tasks and processing hardware-based tasks. The application programs include various application programs. The method for determining the position of the optical tracking marker ball for the orthopedic surgery provided by the embodiment of the application is included in an application program.
In the embodiment of the present application, the processor 21 is configured to execute the steps of the optical trackball position determining method for orthopedic surgery by calling a program or an instruction stored in the memory 22, which may be specifically a program or an instruction stored in an application program.
The method for determining the position of the optical tracking marker ball for the orthopedic surgery provided by the embodiment of the application can be applied to the processor 21 or implemented by the processor 21. The processor 21 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 21. The Processor 21 may be a general-purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, or a discrete hardware component. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The steps of the method for determining the position of the optical tracking marker ball for orthopedic surgery provided by the embodiment of the application can be directly implemented by a hardware decoding processor, or implemented by combining hardware and software units in the decoding processor. The software elements may be located in ram, flash, rom, prom, or eprom, registers, among other storage media that are well known in the art. The storage medium is located in a memory 22, and the processor 21 reads the information in the memory 22 and performs the steps of the method in combination with its hardware.
The embodiments of the present application further provide a non-transitory computer-readable storage medium, where the non-transitory computer-readable storage medium stores a program or an instruction, where the program or the instruction causes a computer to execute the steps of each embodiment of the optical tracking marker ball position determining method for orthopedic surgery, and in order to avoid repeated description, the steps are not repeated here.
It is noted that, in this document, relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The above description is merely exemplary of the present application and is presented to enable those skilled in the art to understand and practice the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (17)
1. A method for determining the position of an optical tracking marker ball for orthopedic surgery is characterized by comprising the following steps:
s101: acquiring 3D model data output after CT scanning; the 3D model data includes vertices and adjacency relationships between the vertices; for each vertex in the 3D model, performing steps S102-S104:
s102: judging whether the mth vertex and the corresponding adjacent vertex of the ith ring have a common sphere center or not; if yes, go to step S103; if not, executing step S104;
s103: adding the first sphere center coordinate to the coordinate array of the mth vertex so that i is i +1, and re-executing step S102 if i < N; the first sphere center coordinate is a sphere center coordinate determined by the mth vertex and the ith ring adjacent vertex;
s104: deleting the coordinate array of the mth vertex;
s105: solving a second sphere center coordinate corresponding to each undeleted coordinate array; the second sphere center coordinate is the average value of the first sphere center coordinate in the undeleted coordinate array;
s106: and calculating the average value of the second sphere center coordinates to be used as the sphere center coordinates of the marker sphere.
2. The optical tracking marker ball position determining method for orthopedic surgery according to claim 1, wherein determining whether the mth vertex and the corresponding adjacent vertex of the ith ring have a common center of sphere comprises:
grouping the i-th ring adjacent vertices; each grouping comprising contiguous vertices in three ith rings;
calculating a corresponding third sphere center coordinate according to the coordinate of the adjacent vertex in each group and the coordinate of the mth vertex;
calculating the average value of all the third sphere center coordinates corresponding to the mth vertex to be used as a fourth sphere center coordinate;
judging whether the distances between the fourth spherical center coordinate and each third spherical center coordinate are smaller than a first threshold value;
if yes, determining that the mth vertex and the corresponding adjacent vertex of the ith ring have a common sphere center; if not, the m-th vertex and the corresponding i-th ring adjacent vertex do not have a common sphere center.
3. The method for determining the position of an optical tracking marker ball for orthopedic surgery according to claim 2, wherein: the first spherical center coordinate is the fourth spherical center coordinate.
4. The method for determining the position of an optical tracking marker ball for orthopedic surgery according to claim 2, wherein: the first sphere center coordinate is the third sphere center coordinate;
obtaining the second sphere center coordinate corresponding to each undeleted coordinate array, including:
judging whether the number of the first sphere center coordinates in the undeleted coordinate array is greater than a preset number or not;
if so, the second sphere center coordinate corresponding to the coordinate array is obtained.
5. The optical tracking marker ball position determination method for orthopedic surgery according to any one of claims 2-4, wherein step S102 further comprises:
judging whether the distance between the fourth spherical center coordinate corresponding to the adjacent vertex of the ith ring and the fourth spherical center coordinate corresponding to the adjacent vertex of the jth ring is smaller than a second threshold value or not; wherein j is i-1;
if yes, go to step S103; if not, go to step S104.
6. The optical tracking marker ball position determination method for orthopedic surgery according to any one of claims 2-4, characterized by further comprising:
determining the average side length according to the vertex coordinates and the adjacency relation between the vertexes;
the first threshold is determined according to the average side length.
7. The optical tracking marker ball position determination method for orthopedic surgery as claimed in any one of claims 1-4, wherein said 3D model data includes vertex data characterizing o said marker balls, o ≧ 2;
calculating an average value of the second center coordinates as the center coordinates of the marker ball, including:
clustering the second sphere center coordinates to determine a cluster group;
and calculating the average value of the second sphere center coordinates in each cluster group to serve as the sphere center coordinates of the marker sphere corresponding to the cluster group.
8. The method for determining the position of an optical tracking marker ball for orthopedic surgery according to claim 7, wherein: calculating an average value of the second sphere center coordinates in the cluster group as the sphere center coordinates of each marker sphere, including:
judging that the number of the clustering groups is more than o;
if so, acquiring the cluster group with the most second sphere center coordinates in the previous o as a selected cluster group;
and calculating the average value of the second sphere center coordinates in each selected cluster group to serve as the sphere center coordinates of the corresponding marker sphere.
9. The optical tracking marker ball position determination method for orthopedic surgery according to any one of claims 1-4, characterized in that before executing step S102, it further comprises:
s201: judging whether the p-th vertex and the corresponding k-th ring adjacent vertex have a common sphere center; if yes, go to S202; if not, executing S203;
s202: let k be k +1 and, in the case where k < q, re-execute step S201; wherein q < n;
if not, deleting the p-th vertex.
10. An optical tracking marker ball position determining apparatus for orthopedic surgery, comprising:
the data acquisition unit is used for acquiring 3D model data output after CT scanning; the 3D model data includes vertex coordinates and adjacency relationships between the vertices;
an array construction unit configured to add a coordinate array of first sphere center coordinates to an mth vertex so that i becomes i +1, when i < n and when it is determined that the mth vertex and a corresponding ith ring adjacent vertex have a common sphere center; and deleting the coordinate array of the mth vertex under the condition that the mth vertex and the corresponding adjacent vertex of the ith ring do not have a common sphere center;
the second sphere center coordinate calculation unit is used for solving second sphere center coordinates corresponding to the undeleted coordinate arrays; the second sphere center coordinate is the average value of the first sphere center coordinate in the undeleted coordinate array;
and the marking sphere center calculating unit is used for calculating the average value of the second sphere center coordinates as the sphere center coordinates of the marking sphere.
11. The optical tracking marker ball position determining apparatus for bone surgery as set forth in claim 10, wherein the array constructing unit comprises:
a grouping subunit, configured to group the i-th ring adjacent vertex; each group comprising three contiguous vertices in the ith ring;
a third sphere center coordinate calculation subunit, configured to calculate a corresponding third sphere center coordinate according to the coordinate of the adjacent vertex in each group and the coordinate of the mth vertex, respectively;
the fourth sphere center coordinate calculating subunit is used for solving an average value of all the third sphere center coordinates corresponding to the mth vertex as a fourth sphere center coordinate;
the first judging subunit is configured to judge that the mth vertex and the corresponding ith ring adjacent vertex have a common sphere center when judging that the distances between the fourth sphere center coordinate and each of the third sphere center coordinates are smaller than a first threshold; and when the distance between at least one third spherical center coordinate and the fourth spherical center coordinate is judged to be larger than a first threshold value, judging that the m-th vertex and the corresponding i-th ring adjacent vertex do not have a common spherical center.
12. The optical tracking marker ball position determining apparatus for orthopedic surgery according to claim 11, wherein said first spherical center coordinate is said third spherical center coordinate;
and the second sphere center coordinate calculating unit is used for solving the second sphere center coordinate corresponding to the coordinate array under the condition that the number of the first sphere center coordinates in the coordinate array is greater than the preset number.
13. The optical tracking marker ball position determination apparatus for bone surgery according to claim 11 or 12,
the array construction unit adds the coordinate array of the first sphere center coordinate to the mth vertex and makes i equal to i +1 when judging that the distance between the fourth sphere center coordinate corresponding to the ith ring adjacent vertex and the fourth sphere center coordinate corresponding to the jth ring adjacent vertex is smaller than a second threshold; wherein j is i-1.
14. The optical tracking marker ball position determining apparatus for orthopedic surgery according to any one of claims 10-12, wherein: the 3D model data comprises vertex data representing o marker balls, wherein o is more than or equal to 2; the marked sphere center calculating unit includes:
a clustering subunit, configured to perform clustering processing on the second centroid coordinates to determine a clustering group;
and the marking ball center calculating subunit is used for calculating the average value of the second ball center coordinates in each clustering group as the ball center coordinates of each marking ball.
15. The optical tracking marker ball position determining apparatus for bone surgery as set forth in any one of claims 10 to 12, further comprising:
a vertex screening unit for making k equal to k +1 when k < q and the p-th vertex and the corresponding k-th ring adjacent vertex have a common sphere center; wherein q < n; and deleting the p-th vertex when the p-th vertex and the corresponding k-th ring adjacent vertex do not have the common sphere center.
16. An electronic device comprising a processor and a memory;
the processor is adapted to perform the steps of the method of any one of claims 1 to 9 by calling a program or instructions stored in the memory.
17. A computer-readable storage medium, characterized in that it stores a program or instructions for causing a computer to carry out the steps of the method according to any one of claims 1 to 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011472103.XA CN112465902B (en) | 2020-12-14 | 2020-12-14 | Method and device for determining position of optical tracking marker ball for orthopedic surgery |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011472103.XA CN112465902B (en) | 2020-12-14 | 2020-12-14 | Method and device for determining position of optical tracking marker ball for orthopedic surgery |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112465902A true CN112465902A (en) | 2021-03-09 |
CN112465902B CN112465902B (en) | 2021-08-10 |
Family
ID=74804185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011472103.XA Active CN112465902B (en) | 2020-12-14 | 2020-12-14 | Method and device for determining position of optical tracking marker ball for orthopedic surgery |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112465902B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113952032A (en) * | 2021-12-20 | 2022-01-21 | 北京诺亦腾科技有限公司 | Space tracking equipment for orthopedic surgery |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080312663A1 (en) * | 2007-06-15 | 2008-12-18 | Martin Haimerl | Computer-assisted joint analysis using surface projection |
EP2624211A1 (en) * | 2012-02-06 | 2013-08-07 | Samsung Medison Co., Ltd. | Image processing apparatus and method |
CN103258349A (en) * | 2013-05-30 | 2013-08-21 | 西北大学 | Model base for craniofacial reconstruction and craniofacial reconstruction method |
US20140081614A1 (en) * | 2011-04-29 | 2014-03-20 | Guizhi Huang | Geological Exploration Method for Making Plan and Elevation Drawings Directly by Rotational Tin Network and Non-Profiling Method |
CN104157012A (en) * | 2014-08-06 | 2014-11-19 | 杭州新迪数字工程系统有限公司 | Edge-contraction-based mesh parameterization method |
CN104634248A (en) * | 2015-02-04 | 2015-05-20 | 西安理工大学 | Revolving shaft calibration method under binocular vision |
WO2016071227A1 (en) * | 2014-11-03 | 2016-05-12 | Optinav Sp. Z O.O. | Optical tracking method and system based on passive markers |
CN106022228A (en) * | 2016-05-11 | 2016-10-12 | 东南大学 | Three-dimensional face recognition method based on vertical and horizontal local binary pattern on the mesh |
CN108021765A (en) * | 2017-12-18 | 2018-05-11 | 北京卫星环境工程研究所 | Laser ablation drives the computational methods of irregular three-D target mechanical behavior |
CN108171799A (en) * | 2018-01-19 | 2018-06-15 | 北京建筑大学 | A kind of method for reconstructing lamination area triangle gridding |
CN208582497U (en) * | 2017-12-29 | 2019-03-08 | 北京柏惠维康医疗机器人科技有限公司 | Electromagnetism tracking pedestal and electromagnetic tracking system |
US20190243372A1 (en) * | 2017-09-29 | 2019-08-08 | drive.ai Inc. | Method for calculating nominal vehicle paths for lanes within a geographic region |
CN110246179A (en) * | 2018-03-09 | 2019-09-17 | 北京柏惠维康科技有限公司 | A kind of method and device of determining label ball position |
CN110368028A (en) * | 2018-04-13 | 2019-10-25 | 北京柏惠维康医疗机器人科技有限公司 | A kind of Real-time Registration and device of space coordinates |
-
2020
- 2020-12-14 CN CN202011472103.XA patent/CN112465902B/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080312663A1 (en) * | 2007-06-15 | 2008-12-18 | Martin Haimerl | Computer-assisted joint analysis using surface projection |
US20140081614A1 (en) * | 2011-04-29 | 2014-03-20 | Guizhi Huang | Geological Exploration Method for Making Plan and Elevation Drawings Directly by Rotational Tin Network and Non-Profiling Method |
EP2624211A1 (en) * | 2012-02-06 | 2013-08-07 | Samsung Medison Co., Ltd. | Image processing apparatus and method |
CN103258349A (en) * | 2013-05-30 | 2013-08-21 | 西北大学 | Model base for craniofacial reconstruction and craniofacial reconstruction method |
CN104157012A (en) * | 2014-08-06 | 2014-11-19 | 杭州新迪数字工程系统有限公司 | Edge-contraction-based mesh parameterization method |
WO2016071227A1 (en) * | 2014-11-03 | 2016-05-12 | Optinav Sp. Z O.O. | Optical tracking method and system based on passive markers |
CN104634248A (en) * | 2015-02-04 | 2015-05-20 | 西安理工大学 | Revolving shaft calibration method under binocular vision |
CN106022228A (en) * | 2016-05-11 | 2016-10-12 | 东南大学 | Three-dimensional face recognition method based on vertical and horizontal local binary pattern on the mesh |
US20190243372A1 (en) * | 2017-09-29 | 2019-08-08 | drive.ai Inc. | Method for calculating nominal vehicle paths for lanes within a geographic region |
CN108021765A (en) * | 2017-12-18 | 2018-05-11 | 北京卫星环境工程研究所 | Laser ablation drives the computational methods of irregular three-D target mechanical behavior |
CN208582497U (en) * | 2017-12-29 | 2019-03-08 | 北京柏惠维康医疗机器人科技有限公司 | Electromagnetism tracking pedestal and electromagnetic tracking system |
CN108171799A (en) * | 2018-01-19 | 2018-06-15 | 北京建筑大学 | A kind of method for reconstructing lamination area triangle gridding |
CN110246179A (en) * | 2018-03-09 | 2019-09-17 | 北京柏惠维康科技有限公司 | A kind of method and device of determining label ball position |
CN110368028A (en) * | 2018-04-13 | 2019-10-25 | 北京柏惠维康医疗机器人科技有限公司 | A kind of Real-time Registration and device of space coordinates |
Non-Patent Citations (5)
Title |
---|
FRANCESCA PATRUNO等: "Redundant System of Passive Markers for Ultrasound Scanhead Tracking", 《IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING》 * |
YINQIANG ZHENG等: "On Determining the Projected Sphere Center and Its Application in Optical Tracking Systems", 《2018 INTERNATIONAL CONFERENCE ON BIOMEDICAL ENGINEERING AND INFORMATICS》 * |
严寒冰等: "球面坐标下的凸组合球面参数化", 《计算机学报》 * |
吕长荣: "基于CT断层扫描图像的多组织体可视化建模", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
孙晓鹏等: "三维网格的Mean Shift并行分割算法", 《计算机工程与设计》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113952032A (en) * | 2021-12-20 | 2022-01-21 | 北京诺亦腾科技有限公司 | Space tracking equipment for orthopedic surgery |
Also Published As
Publication number | Publication date |
---|---|
CN112465902B (en) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021521993A5 (en) | ||
JP2020503603A5 (en) | ||
US11996198B2 (en) | Determination of a growth rate of an object in 3D data sets using deep learning | |
US9858690B2 (en) | Computed tomography (CT) image reconstruction method | |
US11348216B2 (en) | Technologies for determining the accuracy of three-dimensional models for use in an orthopaedic surgical procedure | |
CN109949280B (en) | Image processing method, image processing apparatus, device storage medium, and growth evaluation system | |
CN111149128B (en) | Method and device for acquiring marking data, training method and device and medical equipment | |
CN111178420B (en) | Coronary artery segment marking method and system on two-dimensional contrast image | |
WO2022206025A1 (en) | Biomechanical modeling method and apparatus, electronic device and storage medium | |
Kwon et al. | Iterative offset-based method for reconstructing a mesh model from the point cloud of a pig | |
CN112465902B (en) | Method and device for determining position of optical tracking marker ball for orthopedic surgery | |
CN115035250A (en) | Modeling graphic data information interaction processing method and system | |
CN112488178B (en) | Network model training method and device, image processing method and device, and equipment | |
EP3828768A1 (en) | Method for modeling a bone | |
CN111388880B (en) | Arc radiotherapy calibration method, device, equipment and storage medium | |
CN107392976A (en) | Data processing method, device and equipment | |
CN114927202B (en) | Lung deformation simulation method and device and server | |
CN114708205B (en) | Method and device for identifying beads on optical positioning device in CBCT (computed tomography) tomogram | |
CN115797416A (en) | Image reconstruction method, device and equipment based on point cloud image and storage medium | |
CN115222599A (en) | PET image reconstruction method, system and storage medium | |
CN112734886A (en) | Biological model die-threading detection method and device, electronic equipment and storage medium | |
CN111784705A (en) | Method, device and equipment for delineating region of interest and storage medium | |
CN112102496B (en) | Cattle physique measurement method, model training method and system | |
US20240366164A1 (en) | Mandibular canal segmentation postprocessing | |
US20240135519A1 (en) | Technologies for determining the accuracy of three-dimensional models for use in an orthopaedic surgical procedure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |