Spine three-dimensional lateral lobe determination method and device, electronic equipment and storage medium
By acquiring and processing the three-dimensional data of the spine, and automatically calculating the normal vector and the three-dimensional lateral lobe angle, the measurement inaccuracy caused by user manual marking is solved, achieving higher measurement accuracy and intuitiveness.
Patent Information
- Application Number
- CN202510094798.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-21
- Publication Date
- 2025-05-30
AI Technical Summary
The prior art relies on user manual marking when measuring scoliosis angles, resulting in data differences and inaccurate measurements.
By obtaining the three-dimensional data of the spine, the target points set of the end vertebra is automatically determined, the normal vector is calculated, and the three-dimensional lateral lobe angle is determined using the projection matrix.
It achieves a more accurate three-dimensional side lobe angle without manual marking of the user, which is more intuitive and accurate than two-dimensional side lobe angles.
Smart Images

Figure CN120070342A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of medical detection, and particularly relates to a method, device, electronic device, and storage medium for determining the three-dimensional scoliosis angle of the spine. Background Art
[0002] Scoliosis refers to the lateral curvature of one or more vertebral segments of the spine in the coronal plane, deviating from the midline of the body to the side, often accompanied by vertebral rotation and lordosis or kyphosis in the sagittal plane, presenting deformities in the three planes of the coronal, sagittal, and axial axes.
[0003] Generally, scoliosis is evaluated by measuring the two-dimensional scoliosis angle. The user marks a straight line on the upper endplate of the upper end vertebra and the lower endplate of the lower end vertebra of the spine respectively. The angle formed by these two lines or the two-dimensional scoliosis angle formed by the intersection of their respective perpendicular lines is the Cobb angle, and then a protractor is used to measure the angle. Alternatively, software is used to calculate the two-dimensional scoliosis angle, which requires the user to manually mark the spine data, and the software calculates the two-dimensional scoliosis angle based on the marked spine data.
[0004] The above methods all require user marking. Due to different techniques of different users, there may be differences between the marked data, resulting in inconsistent calculated scoliosis angles, which affects the accuracy of the scoliosis angle. Summary of the Invention
[0005] Embodiments of this application provide a method, device, electronic device, and storage medium for determining the three-dimensional scoliosis angle of the spine, which can obtain a relatively accurate three-dimensional scoliosis angle.
[0006] In a first aspect, embodiments of this application provide a method for determining the three-dimensional scoliosis angle of the spine, the method including:
[0007] Obtain three-dimensional data of the spine;
[0008] According to the three-dimensional data of the spine, determine a set of target points corresponding to the end vertebrae of the spine, the set of target points including a plurality of first target points corresponding to the upper end vertebra and a plurality of second target points corresponding to the lower end vertebra;
[0009] According to the plurality of first target points, determine a first normal vector corresponding to the upper end vertebra, and according to the plurality of second target points, determine a second normal vector corresponding to the lower end vertebra;
[0010] According to the first normal vector and the second normal vector, determine the three-dimensional scoliosis angle of the spine. In an embodiment of this application, the determining a set of target points corresponding to the end vertebrae of the spine according to the three-dimensional data of the spine includes:
[0011] Identify the three-dimensional data of the spine to obtain the upper end vertebra and the lower end vertebra of the spine;
[0012] Screen multiple first points corresponding to the upper end vertebra to obtain multiple first target points corresponding to the upper end vertebra;
[0013] Screen multiple second points corresponding to the lower end vertebra to obtain multiple second target points corresponding to the lower end vertebra.
[0014] In an embodiment of the present application, the screening of multiple first points corresponding to the upper end vertebra to obtain multiple first target points corresponding to the upper end vertebra includes:
[0015] Calculate the Gaussian curvature and mean curvature of each of the multiple first points corresponding to the upper end vertebra respectively;
[0016] For each of the first points, calculate the mixed curvature of the first point according to the Gaussian curvature and mean curvature of the first point;
[0017] Determine the first point with a mixed curvature equal to the preset curvature among the multiple first points as the first target point corresponding to the upper end vertebra;
[0018] And / or,
[0019] The screening of multiple second points corresponding to the lower end vertebra to obtain multiple second target points corresponding to the lower end vertebra includes:
[0020] Calculate the Gaussian curvature and mean curvature of each of the multiple second points corresponding to the lower end vertebra respectively;
[0021] For each of the second points, calculate the mixed curvature of the second point according to the Gaussian curvature and mean curvature of the second point;
[0022] Determine the second point with a mixed curvature equal to the preset curvature among the multiple first points as the second target point corresponding to the lower end vertebra.
[0023] In an embodiment of the present application, the determining of the first normal vector corresponding to the upper end vertebra according to multiple first target points includes:
[0024] Determine a first center point from multiple first target points;
[0025] Perform centering processing on each of the first target points based on the first center point to obtain each processed first target point;
[0026] Obtain a first covariance matrix according to multiple processed first target points;
[0027] Solve the first covariance matrix to obtain multiple eigenvalues;
[0028] Determine the eigenvector corresponding to the eigenvalue with the smallest value among the multiple eigenvalues as the first normal vector corresponding to the upper end vertebra;
[0029] and / or
[0030] The determining the second normal vector corresponding to the lower end vertebra according to the multiple second target points includes:
[0031] Determine a second center point from the multiple second target points;
[0032] Perform centering processing on each second target point based on the second center point to obtain each processed second target point;
[0033] Obtain a second covariance matrix according to the multiple processed second target points;
[0034] Solve the second covariance matrix to obtain the corresponding second eigenvalue;
[0035] Determine the eigenvector corresponding to the smallest eigenvalue among the second eigenvalues as the second normal vector corresponding to the upper end vertebra.
[0036] In an embodiment of the present application, the determining the three-dimensional scoliosis angle of the spine according to the first normal vector and the second normal vector includes:
[0037] Use a projection matrix to project the first normal vector and the second normal vector onto the coronal plane respectively to obtain a first projection vector of the first normal vector on the coronal plane and a second projection vector of the second normal vector on the coronal plane;
[0038] Determine the three-dimensional scoliosis angle of the spine according to the first projection vector and the second projection vector.
[0039] In an embodiment of the present application, the determining the three-dimensional scoliosis angle of the spine according to the first projection vector and the second projection vector includes:
[0040] Calculate the inner product of the first projection vector and the second projection vector to obtain a first value;
[0041] Calculate the product of the length of the first projection vector and the length of the second projection vector to obtain a second value;
[0042] Calculate the included angle between the first projection vector and the second projection vector according to the first value and the second value, and the included angle is the three-dimensional scoliosis angle of the spine.
[0043] In an embodiment of the present application, before obtaining the three-dimensional data of the spine, the method further includes:
[0044] In response to a three-dimensional scoliosis angle calculation request, obtain two-dimensional data of the spine;
[0045] Perform three-dimensional reconstruction on the two-dimensional data of the spine using a preset reconstruction algorithm to obtain three-dimensional data of the spine.
[0046] In a second aspect, an embodiment of the present application provides a device for determining a three-dimensional scoliosis angle of the spine, and the device includes:
[0047] An acquisition module, configured to acquire three-dimensional data of the spine;
[0048] A first determination module, configured to determine a set of target points corresponding to the end vertebrae of the spine according to the three-dimensional data of the spine, where the set of target points includes a plurality of first target points corresponding to the upper end vertebra and a plurality of second target points corresponding to the lower end vertebra;
[0049] A second determination module, configured to determine a first normal vector corresponding to the upper end vertebra according to the plurality of first target points, and determine a second normal vector corresponding to the lower end vertebra according to the plurality of second target points;
[0050] A third determination module, configured to determine the three-dimensional scoliosis angle of the spine according to the first normal vector and the second normal vector.
[0051] In an embodiment of the present application, in an embodiment of the present application, the first determination module includes an identification sub-module and a determination sub-module;
[0052] The identification sub-module is configured to identify the three-dimensional data of the spine to obtain the upper end vertebra and the lower end vertebra of the spine;
[0053] The determination sub-module is configured to screen a plurality of first points corresponding to the upper end vertebra to obtain the plurality of first target points corresponding to the upper end vertebra; screen a plurality of second points corresponding to the lower end vertebra to obtain the plurality of second target points corresponding to the lower end vertebra.
[0054] In an embodiment of the present application, the determination sub-module includes a first determination sub-unit and a second determination sub-unit;
[0055] The first determination sub-unit is configured to calculate the Gaussian curvature and the mean curvature of each of the plurality of first points corresponding to the upper end vertebra respectively; for each of the first points, calculate the mixed curvature of the first point according to the Gaussian curvature and the mean curvature of the first point; determine the first point with the mixed curvature being a preset curvature among the plurality of first points as the first target point corresponding to the upper end vertebra;
[0056] And / or,
[0057] A second determination subunit, configured to calculate the Gaussian curvature and the mean curvature of each of the multiple second points corresponding to the lower vertebra respectively; for each of the second points, calculate the mixed curvature of the second point according to the Gaussian curvature and the mean curvature of the second point; determine, as the second target point corresponding to the lower vertebra, the second point among the multiple first points whose mixed curvature is a preset curvature.
[0058] In an embodiment of the present application, the second determination module includes a third determination sub-module and a fourth determination sub-module;
[0059] The third determination sub-module is configured to determine a first center point from the multiple first target points; perform a centering process on each of the first target points based on the first center point to obtain each processed first target point; obtain a first covariance matrix according to the multiple processed first target points; solve the first covariance matrix to obtain multiple eigenvalues; determine, as the first normal vector corresponding to the upper vertebra, the eigenvector corresponding to the eigenvalue with the smallest value among the multiple eigenvalues;
[0060] and / or,
[0061] The fourth determination sub-module is configured to determine a second center point from the multiple second target points; perform a centering process on each of the second target points based on the second center point to obtain each processed second target point; obtain a second covariance matrix according to the multiple processed second target points; solve the second covariance matrix to obtain corresponding second eigenvalues; determine, as the second normal vector corresponding to the upper vertebra, the eigenvector corresponding to the smallest eigenvalue among the second eigenvalues.
[0062] In an embodiment of the present application, the third determination module includes a first acquisition sub-module and a fifth determination sub-module;
[0063] The first acquisition sub-module is configured to project the first normal vector and the second normal vector onto the coronal plane respectively by using a projection matrix to obtain a first projection vector of the first normal vector on the coronal plane and a second projection vector of the second normal vector on the coronal plane;
[0064] The fifth determination sub-module is configured to determine the three-dimensional scoliosis angle of the spine according to the first projection vector and the second projection vector.
[0065] In an embodiment of the present application, the fifth determination sub-module is specifically configured to calculate the inner product of the first projection vector and the second projection vector to obtain a first value; calculate the product of the length of the first projection vector and the length of the second projection vector to obtain a second value; calculate, according to the first value and the second value, the included angle between the first projection vector and the second projection vector, and the included angle is the three-dimensional scoliosis angle of the spine.
[0066] In one embodiment of the present application, the acquisition module includes a second acquisition sub-module and a reconstruction sub-module;
[0067] The second acquisition sub-module is configured to acquire two-dimensional data of the spine in response to a three-dimensional scoliosis angle calculation request;
[0068] The reconstruction sub-module is configured to perform three-dimensional reconstruction on the two-dimensional data of the spine by using a preset reconstruction algorithm to obtain three-dimensional data of the spine.
[0069] In a third aspect, an embodiment of the present application provides an electronic device, including: a processor and a memory storing computer program instructions;
[0070] When the processor executes the computer program instructions, the method for determining the three-dimensional scoliosis angle of the spine as described in the first aspect is implemented.
[0071] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the method for determining the three-dimensional scoliosis angle of the spine as described in the first aspect is implemented.
[0072] In a fifth aspect, an embodiment of the present application provides a computer program product, and when the instructions in the computer program product are executed by a processor of an electronic device, the electronic device is caused to execute the method for determining the three-dimensional scoliosis angle of the spine as described in the first aspect.
[0073] The method, device, electronic device, and storage medium for determining the three-dimensional scoliosis angle in the embodiments of the present application obtain three-dimensional data of the spine, determine a plurality of first target points corresponding to the upper end vertebra of the spine and a plurality of second target points corresponding to the lower end vertebra on the basis of the three-dimensional data, determine a first normal vector corresponding to the upper end vertebra according to the plurality of first target points, determine a second normal vector corresponding to the lower end vertebra according to the plurality of second target points, and calculate the three-dimensional scoliosis angle according to the first normal vector and the second normal vector. Without manual marking by the user, a relatively accurate three-dimensional scoliosis angle can be obtained, and compared with the two-dimensional scoliosis angle, the three-dimensional scoliosis angle is more intuitive. BRIEF DESCRIPTION OF THE DRAWINGS
[0074] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required to be used in the embodiments of the present application. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings without creative efforts.
[0075] Figure 1 is a flowchart of the method for determining the three-dimensional scoliosis angle of the spine provided by the embodiment of the present application;
[0076] Figure 2aIt is a schematic diagram provided by an embodiment of the present application with a Gaussian curvature less than 0;
[0077] Figure 2b It is a schematic diagram provided by an embodiment of the present application with a Gaussian curvature greater than 0;
[0078] Figure 2c It is a schematic diagram provided by an embodiment of the present application with a Gaussian curvature equal to 0;
[0079] Figure 2d It is another schematic diagram provided by an embodiment of the present application with a Gaussian curvature equal to 0;
[0080] Figure 3 It is a schematic diagram of a three-dimensional model of the spine provided by an embodiment of the present application;
[0081] Figure 4 It is another schematic diagram of a three-dimensional model of the spine provided by an embodiment of the present application;
[0082] Figure 5 It is a schematic diagram of the first normal vector and the second normal vector provided by an embodiment of the present application;
[0083] Figure 6 It is another flow schematic diagram of the method for determining the three-dimensional scoliosis angle of the spine provided by an embodiment of the present application;
[0084] Figure 7 It is a schematic diagram of a three-dimensional scoliosis angle obtained by the method for determining the three-dimensional scoliosis angle of the spine provided by an embodiment of the present application;
[0085] Figure 8 It is a schematic diagram of a scoliosis angle obtained by using Surgimap software;
[0086] Figure 9 It is another schematic diagram of a three-dimensional scoliosis angle obtained by the method for determining the three-dimensional scoliosis angle of the spine provided by an embodiment of the present application;
[0087] Figure 10 It is another schematic diagram of a scoliosis angle obtained by using Surgimap software;
[0088] Figure 11 It is a structural schematic diagram of the device for determining the three-dimensional scoliosis angle of the spine provided by an embodiment of the present application;
[0089] Figure 12 It is a structural schematic diagram of the electronic device provided by an embodiment of the present application. Detailed implementation manners
[0090] The features and exemplary embodiments of various aspects of the present application will be described in detail below. To make the objectives, technical solutions, and advantages of the present application clearer and more understandable, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than limiting the present application. For those skilled in the art, the present application can be implemented without some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by showing examples of the present application.
[0091] It should be noted that in this document, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.
[0092] In each specific implementation manner of the present application, when it comes to performing relevant processing based on data related to the user's identity or characteristics, such as user information (e.g., CT data), user behavior data, user historical data, and user location information, etc., the user's permission or consent will be obtained first. Moreover, the collection, use, and processing of these data will comply with relevant laws, regulations, and standards. In addition, when the embodiments of the present application need to obtain the user's sensitive personal information, the user's separate permission or separate consent will be obtained through methods such as pop-up windows or jumping to a confirmation page. After clearly obtaining the user's separate permission or separate consent, the necessary user-related data for the normal operation of the embodiments of the present disclosure will be obtained.
[0093] To solve the problems of the prior art, embodiments of the present application provide a method, apparatus, electronic device, and storage medium for determining the three-dimensional scoliosis angle of the spine. First, the method for determining the three-dimensional scoliosis angle provided by the embodiments of the present application will be introduced below.
[0094] Figure 1 The flowchart of the method for determining the three-dimensional scoliosis angle provided by an embodiment of the present application is shown. As Figure 1 shown, the method for determining the three-dimensional scoliosis angle provided by the embodiments of the present application is applied to an electronic device, such as a server, and includes the following steps 101-step 104, where:
[0095] Step 101: Obtain the three-dimensional data of the spine.
[0096] In this embodiment, the three-dimensional data of the spine of the user to be measured is obtained. The three-dimensional data is obtained by reconstructing two-dimensional data, and the two-dimensional data is CT (Computed Tomography) data obtained by computer tomography. The three-dimensional data, i.e., the three-dimensional model, is composed of triangular patches as units. Each triangular patch includes three points and three edges.
[0097] Step 102: According to the three-dimensional data of the spine, determine the set of target points corresponding to the end vertebrae of the spine. The set of target points includes a plurality of first target points corresponding to the upper end vertebra and a plurality of second target points corresponding to the lower end vertebra.
[0098] In this embodiment, the points in the three-dimensional data of the spine are screened to determine the set of target points corresponding to the end vertebrae of the spine. The upper end vertebra of the spine starts from the apical vertebra upward and finds the vertebra with the largest inclination, which is the upper end vertebra. The lower end vertebra of the spine starts from the apical vertebra downward and finds the vertebra with the largest inclination, which is the lower end vertebra. The set of target points includes a plurality of first target points corresponding to the upper end vertebra and a plurality of second target points corresponding to the lower end vertebra.
[0099] Step 103: According to the plurality of first target points, determine the first normal vector corresponding to the upper end vertebra, and according to the plurality of second target points, determine the second normal vector corresponding to the lower end vertebra.
[0100] In this embodiment, the endplate plane corresponding to the end vertebra is fitted according to the obtained set of target points. Specifically, the first endplate plane corresponding to the upper end vertebra is fitted according to the plurality of first target points, and the second endplate plane corresponding to the lower end vertebra is fitted according to the plurality of second target points. The core of the fitting is to find a normal vector such that the variance of the projection of the first target points onto the first endplate plane is the smallest, and find another normal vector such that the variance of the projection of the second target points onto the second endplate plane is the smallest. The plurality of first target points and the plurality of second target points are respectively fitted to obtain the first normal vector corresponding to the upper end vertebra and the second normal vector corresponding to the lower end vertebra.
[0101] Step 104: According to the first normal vector and the second normal vector, determine the three-dimensional scoliosis angle of the spine.
[0102] In this embodiment, the three-dimensional scoliosis angle of the spine is obtained by calculating the included angle between the first normal vector and the second normal vector, that is, the three-dimensional scoliosis angle between the first endplate plane of the upper end vertebra and the second endplate plane of the lower end vertebra.
[0103] In this embodiment, three-dimensional data of the spine is obtained. Based on the three-dimensional data, a plurality of first target points corresponding to the upper end vertebra of the spine and a plurality of second target points corresponding to the lower end vertebra are determined. A first normal vector corresponding to the upper end vertebra is determined according to the plurality of first target points, a second normal vector corresponding to the lower end vertebra is determined according to the plurality of second target points, and a three-dimensional scoliosis angle is calculated based on the first normal vector and the second normal vector. Without manual marking by the user, a relatively accurate three-dimensional scoliosis angle can be obtained. Compared with the two-dimensional scoliosis angle, the three-dimensional scoliosis angle is more intuitive, so that the user can analyze the spine data more clearly.
[0104] In an embodiment of the present application, specifically, in step 102, according to the three-dimensional data of the spine, determining a set of target points corresponding to the end vertebra of the spine includes:
[0105] Identifying the three-dimensional data of the spine to obtain the upper end vertebra and the lower end vertebra of the spine;
[0106] Screening a plurality of first points corresponding to the upper end vertebra to obtain the plurality of first target points corresponding to the upper end vertebra;
[0107] Screening a plurality of second points corresponding to the lower end vertebra to obtain the plurality of second target points corresponding to the lower end vertebra.
[0108] In this embodiment, the three-dimensional data of the spine is identified to obtain the upper end vertebra and the lower end vertebra of the spine. The three-dimensional data is composed of triangular patches and contains a plurality of triangles. Each triangle includes three points and three edges. The upper end vertebra corresponds to a plurality of first points. By screening the plurality of first points corresponding to the upper end vertebra, the plurality of first target points corresponding to the upper end vertebra are obtained; for the plurality of second target points corresponding to the lower end vertebra, the plurality of second points corresponding to the lower end vertebra are screened to obtain the plurality of second target points corresponding to the lower end vertebra. By fitting the screened target points, a first normal vector and a second normal vector are obtained.
[0109] By automatically identifying the spine, the upper end vertebra and the lower end vertebra are identified, and then the target points of the upper and lower end vertebrae are accurately determined for subsequent fitting.
[0110] In an embodiment of the present application, the screening of the plurality of first points corresponding to the upper end vertebra to obtain the plurality of first target points corresponding to the upper end vertebra includes:
[0111] Calculating the Gaussian curvature and the mean curvature of each of the plurality of first points corresponding to the upper end vertebra respectively;
[0112] For each of the first points, calculating a mixed curvature of the first point according to the Gaussian curvature and the mean curvature of the first point;
[0113] Determine the first target points corresponding to the upper end vertebra by identifying the first points with a mixed curvature equal to the preset curvature among the multiple first points;
[0114] and / or,
[0115] Screen the multiple second points corresponding to the lower end vertebra to obtain the multiple second target points corresponding to the lower end vertebra, including:
[0116] Calculate the Gaussian curvature and mean curvature of each of the multiple second points corresponding to the lower end vertebra respectively;
[0117] For each of the second points, calculate the mixed curvature of the second point according to the Gaussian curvature and mean curvature of the second point;
[0118] Determine the second points with a mixed curvature equal to the preset curvature among the multiple first points as the second target points corresponding to the lower end vertebra.
[0119] Since the surface of the vertebral body is not flat, it is difficult to fit a representative vertebral plane by statistical normal vector features. Therefore, the grid plane vertices of the model are classified by the curvature of the vertebral body surface and geometric constraints are imposed to select the effective points, i.e., the target points, to fit a representative plane.
[0120] By calculating the mixed curvature of each point on the surface corresponding to the end vertebra (i.e., each point among the multiple first points corresponding to the upper end vertebra and each point among the multiple second points corresponding to the lower end vertebra above), the mixed curvature is determined by the Gaussian curvature and mean curvature. According to different curvatures, different types are corresponding. For example, as shown in Figure 2-a, the Gaussian curvature G is less than 0, and the surface shape is similar to a saddle surface; as shown in Figure 2-b, the Gaussian curvature is greater than 0, and the surface shape is similar to a parabola; as shown in Figure 2-c, the Gaussian curvature is equal to 0 and the mean curvature is not equal to 0, and the surface type is a ridge or valley; as shown in Figure 2-d, the Gaussian curvature is equal to 0 and the mean curvature is equal to 0, and the surface type is a plane. On the plane, the curvature is zero in all directions.
[0121] In this embodiment, the curvature is discretized, and the Gaussian curvature and mean curvature of each of the multiple first points corresponding to the upper end vertebra are calculated respectively. Among them, the Gaussian curvature is calculated using Equation (1) as follows:
[0122]
[0123] where G vi is the Gaussian curvature of the first point vi, N 1 is the number of adjacent triangles corresponding to the first point, A 1 is the sum of the areas of the triangles where the first point is located, θ i is related to the first point v iAngles of adjacent triangles.
[0124] See Figure 3 As shown, taking one of the first points \(v_i\) as an example, to find the Gaussian curvature of the first point \(v_i\), the number \(N\) of adjacent triangles corresponding to the first point \(v_i\) is 6, and the first point \(v_i\) belongs to these 6 triangles. Calculate the sum \(A\) of the areas of the 6 triangles where the first point \(v\) i is located. 1 , calculate \(\theta\) i as the angle of the triangle adjacent to the first point \(v\) i , that is, calculate \(\theta\) 1 +\(\theta\) 2 +\(\theta\) 3 +\(\theta\) 4 +\(\theta\) 5 +\(\theta\) 6 and substitute it into Equation (1) to calculate the Gaussian curvature.
[0125] Use Equation (2) to calculate the mean curvature as follows:
[0126]
[0127] where \(H\) vi is the mean curvature of the first point \(v\) i , \(N(i)\) represents the set of adjacent triangles of the first point \(v\) i . \(\alpha\) j is the angle opposite to the first triangle of the first point \(v\) i , \(\beta\) j is the angle opposite to the second triangle of the first point \(v\) i , and \(A\) 1 is the sum of the areas of the triangles where the first point \(v\) i is located.
[0128] See Figure 4 As shown, taking one of the first points \(v_i\) as an example, to find the mean curvature of the first point \(v_i\), \(\alpha\) j is the angle opposite to the first triangle of the first point \(v\) i , \(\beta\) j is the angle opposite to the second triangle of the first point \(v\) i , and \(A\) 1 is the sum of the areas of the triangles where the first point \(v\) i is located. Substitute it into Equation (2) to calculate the mean curvature.
[0129] For each first point, calculate the mixed curvature based on the Gaussian curvature and mean curvature of the first point. Use Equation (3) to calculate the mixed curvature as follows:
[0130] T vi = 2 + 2|sgn(H vi , \(\varepsilon\))|·(1 - |sgn(G vi, ε)|) + sgn(G vi , ε) (3)
[0131] Among them, T vi is the mixed curvature, and the sign function sgn balances the contribution of the mixed curvature. The sign function is defined as:
[0132]
[0133] If the mixed curvature T of the first point vi = 2, then the first point is the target point. Specifically, if both the calculated Gaussian curvature and the mean curvature are 0, substituting the Gaussian curvature as x into Equation (4), then the threshold ε is 0; substituting the mean curvature of 0 as x into Equation (4), then the threshold ε is 0. The threshold ε controls the final surface type, then T vi = 2.
[0134] Among them, the preset curvature can be set to 2. In the case of T vi = 2, the corresponding first point is the first target point corresponding to the upper end vertebra.
[0135] And / or, calculate the Gaussian curvature and the mean curvature of each of the multiple second points corresponding to the lower end vertebra. Among them, the Gaussian curvature is calculated using Equation (5), as follows:
[0136]
[0137] Among them, G wi is the Gaussian curvature of the second point w i , N 2 is the number of adjacent triangles corresponding to the second point, A 2 is the sum of the areas of the triangles where the second point is located, and θ i is the angle of the triangle adjacent to the second point w i .
[0138] The mean curvature is calculated using Equation (6), as follows:
[0139]
[0140] Among them, H wi is the mean curvature of the second point w i , N(i) represents the set of adjacent triangles of the second point w i . α j is the angle opposite to the first triangle of the second point w i , β j is the angle opposite to the second triangle of the second point w i , and A 2 is the sum of the areas of the triangles where the second point is located.
[0141] For each second point, calculate the mixed curvature according to the Gaussian curvature and the mean curvature of the second point. The mixed curvature is calculated using Equation (7) as follows:
[0142] T wi = 2 + 2|sgn(H wi , ε)|·(1 - |sgn(G wi , ε)|) + sgn(G wi , ε) (7)
[0143] If the mixed curvature T wi = 2 for the second point, then the second point is the target point. Specifically, if both the calculated Gaussian curvature and mean curvature are 0, substituting the Gaussian curvature as x into Equation (4), then the threshold ε is 0; substituting the mean curvature of 0 as x into Equation (4), then the threshold ε is 0. The threshold ε controls the final surface type, so T wi = 2.
[0144] Wherein, the preset curvature can be set to 2. In the case of T wi = 2, the corresponding second point is the second target point corresponding to the lower end vertebra.
[0145] Obtain the mixed curvature based on the Gaussian curvature and the mean curvature, and screen the mixed curvature through preset screening conditions to accurately find the required target points. In the case where the Gaussian curvature and the mean curvature are equal to zero, the upper and lower end vertebra flat parts, i.e., the plane parts, can be determined through the target points, so as to fit the end plate plane of the end vertebra subsequently.
[0146] In an embodiment of the present application, the determining the first normal vector corresponding to the upper end vertebra according to the multiple first target points includes:
[0147] Determine a first center point from the multiple first target points;
[0148] Perform centering processing on each first target point based on the first center point to obtain each processed first target point;
[0149] Obtain a first covariance matrix according to the multiple processed first target points;
[0150] Solve the first covariance matrix to obtain multiple eigenvalues;
[0151] Determine the eigenvector corresponding to the eigenvalue with the smallest value among the multiple eigenvalues as the first normal vector corresponding to the upper end vertebra;
[0152] And / or
[0153] The determining the second normal vector corresponding to the lower end vertebra according to the multiple second target points includes:
[0154] Determine a second center point from the multiple second target points;
[0155] Perform centering processing on each of the second target points based on the second center point to obtain each processed second target point;
[0156] Obtain a second covariance matrix according to the multiple processed second target points;
[0157] Solve the second covariance matrix to obtain the corresponding second eigenvalue;
[0158] Determine the eigenvector corresponding to the smallest eigenvalue among the second eigenvalues as the second normal vector corresponding to the upper end vertebra.
[0159] For multiple first target points corresponding to the upper end vertebra, fit the required first endplate plane corresponding to the upper end vertebra from these discrete multiple first target points. Based on the principal component analysis method (PCA), perform plane fitting. The core of the plane fitting is to find a normal vector such that the variance of all points projected onto this direction is the smallest, that is, take the eigenvector corresponding to the smallest eigenvalue obtained by solving the PCA algorithm.
[0160] First, determine a first center point from the multiple first target points. Specifically, calculate the coordinates of the center point according to the coordinate points of the multiple first target points, and use Equation (8) to calculate the coordinates of the center point:
[0161]
[0162] where is the coordinate of the center point on the x-axis, is the coordinate of the center point on the y-axis, is the coordinate of the center point on the z-axis, N is the total number of first target points, or N is the total number of second target points.
[0163] The coordinates of the center point are represented by Equation (9), specifically as follows:
[0164]
[0165] where μ is the center point, N is the total number of first target points, or N is the total number of first target points.
[0166] The core of the above plane fitting is to find a normal vector n u such that the variance of all points projected onto this direction is the smallest, expressed as:
[0167]
[0168] where N is the total number of first target points, nu is the first normal vector of the first endplate plane, and P i ∈V val , where P i =(X i , Y i , Z i ), and V val is a set composed of multiple first target points.
[0169] Coordinate centralization is achieved by subtracting the mean from the data, making the average value of the data zero, thereby translating the center of the data to the origin of the coordinate axes. Based on the first center point, centralization processing is performed on each of the first target points, that is, the coordinates of each first target point are also subtracted by the coordinates of the first center. Centralization processing is performed on each first target point to obtain each processed first target point, which is represented by Equation (11) and is specifically as follows:
[0170] P i_center = P i - μ (11)
[0171] Furthermore, Equation (10) is transformed using Equation (11) to obtain Equation (12), which is specifically as follows:
[0172]
[0173] where N is the total number of first target points, and n u is the first normal vector of the first endplate plane.
[0174] After centralization, the mean value of each axis of the point set is 0, and the covariance matrix S = P i_center P i_center T is calculated, that is, the first covariance matrix or the second covariance matrix, where the variance is expressed as:
[0175]
[0176] where N is the total number of first target points, x i is the coordinate of the first target point on the x-axis, y i is the coordinate of the first target point on the y-axis, z i is the coordinate of the first target point on the z-axis, or, x i is the coordinate of the second target point on the x-axis, y i is the coordinate of the first target point on the y-axis, z i is the coordinate of the second target point on the z-axis.
[0177] The covariance is expressed as:
[0178]
[0179] Among them, N is the total number of the first target points, x i is the coordinate of the first target point on the x-axis, y i is the coordinate on the y-axis, z i is the coordinate of the first target point on the z-axis, or, x i is the coordinate of the second target point on the x-axis, y i is the coordinate of the first target point on the y-axis, z i is the coordinate of the second target point on the z-axis.
[0180] The covariance matrix S = P i_center P i_center T is expressed as:
[0181]
[0182] For the covariance matrix S, find the eigenvalues of the covariance matrix and the corresponding eigenvectors, find the eigenvector corresponding to the minimum eigenvalue, and this eigenvector is the required normal vector, that is, the first normal vector of the first endplate plane.
[0183] And / or, for multiple second target points corresponding to the lower vertebra, fit the required second endplate plane corresponding to the lower vertebra from these discrete multiple second target points. Based on the principal component analysis method (PCA), perform plane fitting. The core of plane fitting is to find a normal vector such that the variance of all points projected onto this direction is the smallest, that is, just take the eigenvector corresponding to the minimum eigenvalue obtained by solving the PCA algorithm.
[0184] Preferably, determine the second center point from multiple second target points. Specifically, calculate the coordinates of the center point according to the coordinate points of multiple second target points, calculate the coordinates of the center point using Equation (8), and represent the coordinates of the center point using Equation (9).
[0185] The core of the above plane fitting is to find a normal vector n d such that the variance of all points projected onto this direction is the smallest, which is expressed as:
[0186]
[0187] Among them, N is the total number of second target points, n d is the second normal vector of the second endplate plane, P i ∈V val , P i =(x i , y i , z i ), V val is the set composed of multiple second target points.
[0188] Coordinate centralization is achieved by subtracting the mean from the data, making the average value of the data zero, thus translating the center of the data to the origin of the coordinate axes. Based on the second center point, centralization processing is performed on each of the second target points, that is, the coordinates of each second target point are also subtracted by the coordinates of the second center. Centralization processing is performed on each second target point to obtain each processed second target point, which is represented by Equation (8).
[0189] Further, Equation (16) is transformed using Equation (11) to obtain Equation (17), specifically as follows:
[0190]
[0191] After centralization, the mean value of each axis of the point set is 0, and the covariance matrix S = P i_center P i_center T , referring to Equation (13), Equation (14), and Equation (15), the eigenvalues and corresponding eigenvectors of the covariance matrix S are obtained, and the eigenvector corresponding to the minimum eigenvalue is obtained. This eigenvector is the required normal vector, that is, the second normal vector of the second endplate plane.
[0192] The three-dimensional scoliosis angle can be accurately calculated through the first normal vector and the second normal vector, which is convenient for users to perform intuitive analysis on the spine.
[0193] In an embodiment of the present application, determining the three-dimensional scoliosis angle of the spine according to the first normal vector and the second normal vector includes:
[0194] Using the projection matrix to project the first normal vector and the second normal vector onto the coronal plane respectively, obtaining the first projection vector of the first normal vector on the coronal plane and the second projection vector of the second normal vector on the coronal plane;
[0195] Determining the three-dimensional scoliosis angle of the spine according to the first projection vector and the second projection vector.
[0196] Referring to Figure 5 , the X plane is the corresponding coronal plane, the Y plane is the corresponding sagittal plane, and the Z plane is the corresponding axial plane. The projection matrix is used to project the normal vector onto different planes. Specifically, the projection matrix in the X direction is [1.0, 1], the projection matrix in the Y direction is [0, 1, 1], and the projection matrix in the Z direction is [1, 1, 0].
[0197] Using the projection matrix, the first normal vector is projected onto the coronal plane, that is, projected onto the X plane, to obtain the first projection vector of the first normal vector on the coronal plane. The first projection vector is calculated using Equation (18), specifically as follows:
[0198]
[0199] Among them, is the first projection vector, n u is the first normal vector, M PT is the projection matrix in the X direction.
[0200] Using the projection matrix, project the second normal vector n d onto the coronal plane, that is, project onto the X plane, and obtain the second projection vector of the second normal vector on the coronal plane. Calculate the first projection vector using Equation (19), specifically as follows:
[0201]
[0202] Among them, is the second projection vector, n d is the second normal vector, M PT is the projection matrix in the X direction.
[0203] Furthermore, calculate the included angle between the first projection vector and the second projection vector to obtain the three-dimensional scoliosis angle of the spine.
[0204] In an embodiment of the present application, determining the three-dimensional scoliosis angle of the spine according to the first projection vector and the second projection vector includes:
[0205] Calculate the inner product of the first projection vector and the second projection vector to obtain a first value;
[0206] Calculate the product of the length of the first projection vector and the length of the second projection vector to obtain a second value;
[0207] According to the first value and the second value, calculate the included angle between the first projection vector and the second projection vector, and the included angle is the three-dimensional scoliosis angle of the spine.
[0208] In this embodiment, calculate the inner product of the first projection vector and the second projection vector to obtain a first value, calculate the product of the length of the first projection vector and the length of the second projection vector to obtain a second value, calculate the included angle between the first projection vector and the second projection vector according to the first value and the second value to obtain the three-dimensional scoliosis angle of the spine, and calculate the three-dimensional scoliosis angle of the spine using Equation (20), specifically as follows:
[0209]
[0210] Among them, θ T is the three-dimensional scoliosis angle of the spine, is the first projection vector, is the second projection vector, is the length of the first projection vector, is the length of the second projection vector.
[0211] By means of the included angle of vectors, the three-dimensional scoliosis angle of the spine can be obtained, and a relatively accurate three-dimensional scoliosis angle can be obtained. Compared with the method of manual marking, it is more accurate and time-saving.
[0212] In an embodiment of the present application, before obtaining the three-dimensional data of the spine, the method further includes:
[0213] In response to a three-dimensional scoliosis angle calculation request, obtain the two-dimensional data of the spine;
[0214] Perform three-dimensional reconstruction on the two-dimensional data of the spine by using a preset reconstruction algorithm to obtain the three-dimensional data of the spine.
[0215] In this embodiment, the user uploads the two-dimensional data of the spine through a terminal or an application to trigger a three-dimensional scoliosis angle calculation request. In response to the three-dimensional scoliosis angle calculation request, the two-dimensional data of the spine is obtained. In a two-dimensional scenario, due to the limitation of the viewing angle, there are certain limitations for the user to observe the deformity of the human spine. Therefore, it is necessary to perform spine analysis in a three-dimensional scenario. The two-dimensional data is CT data, and the preset reconstruction algorithm can be the Marching Cubes algorithm. The Marching Cubes algorithm can take both details and calculation speed into account. Not limited to the Marching Cubes algorithm, it can also be other reconstruction algorithms such as Dual Contouring, Surface Nets, and Voxel Coloring. Perform three-dimensional reconstruction on the two-dimensional data of the spine by using the Marching Cubes algorithm to obtain the three-dimensional data of the spine.
[0216] Analyzing the scoliosis angle in a three-dimensional situation can more clearly view the deformity of the spine and facilitate an intuitive and quantitative evaluation of the structure of the vertebral body.
[0217] The following is an example of the method for determining the three-dimensional scoliosis angle of the spine provided by the embodiments of the present application.
[0218] Step 1: Reconstruct the vertebral body by using the Marching cubes algorithm.
[0219] In this embodiment, the Marching cubes algorithm is used to reconstruct the vertebral body. This algorithm represents the CT data as a voxel grid, where each voxel contains a numerical value representing the property at that position. In this embodiment, the property is the gray value. Then, the voxel grid is divided into small cubes, and each small cube consists of 8 vertices. For each small cube, according to the property values of each vertex therein and a predefined threshold, the state (internal or external) of the vertex is determined, interpolation is performed on it to obtain the vertex coordinates after interpolation, and triangular patches are generated according to the situation of the cube boundary. These triangular patches need to be merged according to their adjacent relationships to eliminate duplicate patches and create a complete triangular patch grid. Before reconstruction, the CT was segmented, and the adaptive threshold segmentation method was used to separate the accessory bone tissue and soft tissue parts of the vertebral body. See Figure 6 for the 3D reconstruction in it, and the CT slices are used to show the effect of the 3D reconstruction of the spine, and the 3D data of the spine are obtained through reconstruction.
[0220] Step 2: Select effective points on the end vertebrae based on the mixed curvature to obtain a set of effective points.
[0221] In this embodiment, the end vertebrae include the upper end vertebra and the lower end vertebra. Continue to refer to Figure 6 the selection of the upper and lower end vertebrae in it, identify the 3D data of the spine, and obtain the upper end vertebra and the lower end vertebra of the spine.
[0222] Since the surface of the vertebral body is not flat, it is difficult to fit a representative vertebral plane by statistical normal vector features. Therefore, the grid plane vertices of the model are classified by the curvature of the vertebral body surface and geometric constraints to select effective points to fit a representative plane.
[0223] By calculating the mixed curvature of each point on the surface, the surface can be classified and characterized. This curvature information is very useful for the geometric shape analysis and feature extraction of the surface and can be used to identify different types of surfaces.
[0224] The 3D model generated by Marching cubes reconstruction is composed of triangular patches as units, and each triangular patch consists of points and edges, that is, the whole model is composed of vertices and edges. The surface is divided into four types, and the four types are shown in Figure 2-a, Figure 2-b, Figure 2-c, and Figure 2-d. The curvature is discretized, and the Gaussian curvature and mean curvature of each vertex (i.e., the multiple first points corresponding to the upper end vertebra in the above text, and the multiple second points corresponding to the lower end vertebra) are calculated. The calculation of the Gaussian curvature is shown in Equation (1), and the calculation of the mean curvature is shown in Equation (2).
[0225] Calculate the mixed curvature based on the Gaussian curvature and the mean curvature (i.e., for each of the first points, calculate the mixed curvature of the first point according to the Gaussian curvature and the mean curvature of the first point; for each of the second points, calculate the mixed curvature of the second point according to the Gaussian curvature and the mean curvature of the second point). See Equation (3) for the mixed curvature formula.
[0226] See Figure 6 , after calculating the mixed curvature, screen the multiple points corresponding to the upper end vertebra and the multiple points corresponding to the lower end vertebra respectively to obtain multiple first effective points corresponding to the upper end vertebra and multiple second effective points corresponding to the lower end vertebra. The effective points are also called candidate vertices. Specifically, preset the parameter T as the screening condition. Let the selection condition of the point vi be Tvi. When Tvi = 2, determine the point vi as an effective point (i.e., in the above text, determine the first point with the mixed curvature being the preset curvature among the multiple first points as the first target point corresponding to the upper end vertebra; determine the second point with the mixed curvature being the preset curvature among the multiple first points as the second target point corresponding to the lower end vertebra).
[0227] Through screening, the multiple effective points corresponding to the upper end vertebra form an effective point set corresponding to the upper end vertebra, and the multiple effective points corresponding to the lower end vertebra form an effective point set corresponding to the lower end vertebra.
[0228] Step 3: Perform plane fitting based on the effective point set to obtain the normal vector.
[0229] In this embodiment, for the effective point set corresponding to the upper end vertebra and the effective point set corresponding to the lower end vertebra, fit the required end vertebra endplate plane from these discrete point sets. Based on the principal component analysis method (PCA), perform plane fitting. The core of plane fitting is to find a normal vector such that the variance of the projection of all points in this direction is the smallest, that is, just take the eigenvector corresponding to the smallest eigenvalue obtained by solving the PCA algorithm.
[0230] Calculate the center of the effective point set corresponding to the upper end vertebra to obtain the center point corresponding to the upper end vertebra (i.e., determine the first center point from the multiple first target points in the above text), and calculate the center of the effective point set corresponding to the lower end vertebra to obtain the center point corresponding to the lower end vertebra (i.e., determine the second center point from the multiple second target points in the above text).
[0231] Centering each first valid point based on the center point corresponding to the upper end vertebra to obtain each processed first valid point (i.e., centering each of the first target points based on the first center point as described above to obtain each processed first target point); obtaining a first covariance matrix based on the multiple processed first valid points, solving the first covariance matrix to obtain multiple eigenvalues, and determining the eigenvector corresponding to the eigenvalue with the smallest value among the multiple eigenvalues as the first normal vector corresponding to the upper end vertebra (i.e., obtaining a first covariance matrix based on the multiple processed first target points as described above; solving the first covariance matrix to obtain multiple eigenvalues; and determining the eigenvector corresponding to the eigenvalue with the smallest value among the multiple eigenvalues as the first normal vector corresponding to the upper end vertebra).
[0232] And / or, centering each second valid point based on the center point corresponding to the lower end vertebra to obtain each processed second valid point (i.e., centering each of the second target points based on the second center point as described above to obtain each processed second target point); obtaining a second covariance matrix based on the multiple processed second valid points, solving the second covariance matrix to obtain multiple eigenvalues, and determining the eigenvector corresponding to the eigenvalue with the smallest value among the multiple eigenvalues as the second normal vector corresponding to the lower end vertebra (i.e., obtaining a second covariance matrix based on the multiple processed second target points as described above; solving the second covariance matrix to obtain multiple eigenvalues; and determining the eigenvector corresponding to the eigenvalue with the smallest value among the multiple eigenvalues as the second normal vector corresponding to the lower end vertebra).
[0233] Step 4: Calculate the three-dimensional scoliosis angle based on the normal vectors.
[0234] In this embodiment, a projection matrix is used to project the first normal vector and the second normal vector onto the coronal plane respectively, to obtain a first projection vector of the first normal vector on the coronal plane and a second projection vector of the second normal vector on the coronal plane.
[0235] Calculate the inner product of the first projection vector and the second projection vector to obtain a first value, calculate the product of the lengths of the first projection vector and the second projection vector to obtain a second value, and calculate the angle between the first projection vector and the second projection vector based on the first value and the second value. The angle is the three-dimensional scoliosis angle of the spine. Specifically, determine the three-dimensional scoliosis angle of the spine based on the first projection vector and the second projection vector. For the calculation formula of the three-dimensional scoliosis angle of the spine, see Equation (20), see Figure 6 For the parameter measurement part, the three-dimensional scoliosis angle is as Figure 6 shown.
[0236] Step 5: Comparison between the three-dimensional scoliosis angle and the two-dimensional scoliosis angle.
[0237] Using the Surgimap software, multiple groups of CT data are imported. Cobb measurement is selected in the software, and the measurers respectively mark the upper end vertebra and the lower end vertebra in the above CT data.
[0238] Using the method of this embodiment, data identical to the above multiple groups of CT data is imported, and the three-dimensional scoliosis angle of the spine is calculated.
[0239] For a group of identical CT data, refer to Figure 7 , using the method for determining the three-dimensional scoliosis angle of the spine, the obtained three-dimensional scoliosis angle is 68°, refer to Figure 8 , and the Cobb angle obtained using the Surgimap software is 64.7°.
[0240] For another group of identical CT data, refer to Figure 9 , using the method for determining the three-dimensional scoliosis angle of the spine, the obtained three-dimensional scoliosis angle is 54°, refer to Figure 10 , and the Cobb angle obtained using the Surgimap software is 52.6°.
[0241] Accurately evaluating the scoliosis angle of the spine is crucial for the treatment of spinal deformities. When measuring the Cobb angle of congenital scoliosis on X-ray films, there are large errors between the measurements of different observers. The observers point out that using the Cobb method to measure the scoliosis angle is not accurate, and the scoliosis angle obtained using the embodiment of this application is relatively accurate.
[0242] Figure 11 The structural diagram of the device for determining the three-dimensional scoliosis angle of the spine provided by the embodiment of this application is shown. As Figure 11 shown, the device 1100 for determining the three-dimensional scoliosis angle of the spine includes:
[0243] An acquisition module 1101, configured to acquire three-dimensional data of the spine;
[0244] A first determination module 1102, configured to determine a set of target points corresponding to the end vertebrae of the spine according to the three-dimensional data of the spine, where the set of target points includes multiple first target points corresponding to the upper end vertebra and multiple second target points corresponding to the lower end vertebra;
[0245] A second determination module 1103, configured to determine a first normal vector corresponding to the upper end vertebra according to the multiple first target points, and determine a second normal vector corresponding to the lower end vertebra according to the multiple second target points;
[0246] A third determination module 1104, configured to determine the three-dimensional scoliosis angle of the spine according to the first normal vector and the second normal vector.
[0247] In an embodiment of the present application, the first determination module 1102 includes an identification sub-module and a determination sub-module;
[0248] The identification sub-module is configured to identify the three-dimensional data of the spine to obtain the upper end vertebra and the lower end vertebra of the spine;
[0249] The determination sub-module is configured to screen a plurality of first points corresponding to the upper end vertebra to obtain a plurality of first target points corresponding to the upper end vertebra; screen a plurality of second points corresponding to the lower end vertebra to obtain a plurality of second target points corresponding to the lower end vertebra.
[0250] In an embodiment of the present application, the determination sub-module includes a first determination sub-unit and a second determination sub-unit;
[0251] The first determination sub-unit is configured to calculate the Gaussian curvature and the mean curvature of each of the plurality of first points corresponding to the upper end vertebra respectively; for each of the first points, calculate the mixed curvature of the first point according to the Gaussian curvature and the mean curvature of the first point; determine the first point with the mixed curvature being a preset curvature among the plurality of first points as the first target point corresponding to the upper end vertebra;
[0252] and / or,
[0253] The second determination sub-unit is configured to calculate the Gaussian curvature and the mean curvature of each of the plurality of second points corresponding to the lower end vertebra respectively; for each of the second points, calculate the mixed curvature of the second point according to the Gaussian curvature and the mean curvature of the second point; determine the second point with the mixed curvature being a preset curvature among the plurality of first points as the second target point corresponding to the lower end vertebra.
[0254] In an embodiment of the present application, the second determination module 1103 includes a third determination sub-module and a fourth determination sub-module;
[0255] The third determination sub-module is configured to determine a first center point from the plurality of first target points; perform centering processing on each of the first target points based on the first center point to obtain each processed first target point; obtain a first covariance matrix according to the plurality of processed first target points; solve the first covariance matrix to obtain a plurality of eigenvalues; determine the eigenvector corresponding to the eigenvalue with the smallest value among the plurality of eigenvalues as the first normal vector corresponding to the upper end vertebra;
[0256] and / or,
[0257] The fourth determination sub-module is configured to determine a second center point from multiple second target points; perform centering processing on each second target point based on the second center point to obtain each processed second target point; obtain a second covariance matrix according to multiple processed second target points; solve the second covariance matrix to obtain corresponding second eigenvalues; and determine the eigenvector corresponding to the smallest eigenvalue among the second eigenvalues as the second normal vector corresponding to the upper vertebra.
[0258] In an embodiment of the present application, the third determination module 1104 includes a first acquisition sub-module and a fifth determination sub-module;
[0259] The first acquisition sub-module is configured to project the first normal vector and the second normal vector onto the coronal plane respectively by using a projection matrix to obtain a first projection vector of the first normal vector on the coronal plane and a second projection vector of the second normal vector on the coronal plane;
[0260] The fifth determination sub-module is configured to determine the three-dimensional scoliosis angle of the spine according to the first projection vector and the second projection vector.
[0261] In an embodiment of the present application, the fifth determination sub-module is specifically configured to calculate the inner product of the first projection vector and the second projection vector to obtain a first value; calculate the product of the lengths of the first projection vector and the second projection vector to obtain a second value; and calculate the included angle between the first projection vector and the second projection vector according to the first value and the second value, and the included angle is the three-dimensional scoliosis angle of the spine.
[0262] In an embodiment of the present application, the acquisition module 1101 includes a second acquisition sub-module and a reconstruction sub-module;
[0263] The second acquisition sub-module is configured to acquire two-dimensional data of the spine in response to a three-dimensional scoliosis angle calculation request;
[0264] The reconstruction sub-module is configured to perform three-dimensional reconstruction on the two-dimensional data of the spine by using a preset reconstruction algorithm to obtain three-dimensional data of the spine.
[0265] The device for determining the three-dimensional scoliosis angle of the spine provided by the embodiment of the present application can implement each process implemented by the foregoing method embodiment for determining the three-dimensional scoliosis angle of the spine and achieve the same technical effect. To avoid repetition, it will not be elaborated here.
[0266] Figure 12 The hardware structure diagram of the electronic device provided by the embodiment of the present application is shown.
[0267] The electronic device may include a processor 1201 and a memory 1202 storing computer program instructions.
[0268] Specifically, the above-mentioned processor 1201 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured as one or more integrated circuits for implementing the embodiments of the present application.
[0269] The memory 1202 may include a mass storage for data or instructions. By way of example and not limitation, the memory 1202 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive, or a combination of two or more of these. In a suitable case, the memory 1202 may include a removable or non-removable (or fixed) medium. In a suitable case, the memory 1202 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 1202 is a non-volatile solid-state memory.
[0270] The memory may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical, or other physical / tangible memory storage device. Thus, generally, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to the first or second aspect of the present disclosure.
[0271] The processor 1201 reads and executes the computer program instructions stored in the memory 1202 to implement any one of the information auditing methods in the above embodiments.
[0272] In one example, the electronic device may further include a communication interface 1203 and a bus 1210. Among them, as Figure 12 shown, the processor 1201, the memory 1202, and the communication interface 1203 are connected through the bus 1210 and complete communication with each other.
[0273] The communication interface 1203 is mainly used to implement communication between the various modules, devices, units, and / or devices in the embodiments of the present application.
[0274] The bus 1210 includes hardware, software, or both, and couples components of the information auditing method or the verification device to each other. By way of example and not limitation, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand interconnect, a Low Pin Count (LPC) bus, a memory bus, a MicroChannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or a combination of two or more of these. Where appropriate, the bus 1210 may include one or more buses. Although the embodiments of the present application describe and illustrate specific buses, the present application contemplates any suitable bus or interconnect.
[0275] In addition, in combination with the method for determining the three-dimensional scoliosis angle in the above embodiments, an embodiment of the present application can provide a computer storage medium to implement. Computer program instructions are stored on the computer storage medium; when the computer program instructions are executed by a processor, any one of the methods for determining the three-dimensional scoliosis angle in the above embodiments is implemented.
[0276] In addition, an embodiment of the present application can provide a computer program product to implement. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device implements any one of the methods for determining the three-dimensional scoliosis angle in the above embodiments.
[0277] It should be clear that the present application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described as examples. However, the method process of the present application is not limited to the described specific steps, and those skilled in the art can make various changes, modifications, and additions, or change the order between steps after understanding the spirit of the present application.
[0278] The functional blocks shown in the above-described structural block diagrams can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a functional card, and so on. When implemented in software, the elements of the present application are programs or code segments for performing the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted via a data signal carried in a carrier wave over a transmission medium or a communication link. A "machine-readable medium" can include any medium that can store or transmit information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, and so on. The code segment can be downloaded via a computer network such as the Internet, an intranet, and so on.
[0279] It should also be noted that the exemplary embodiments mentioned in the present application describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the above steps, that is, the steps can be executed in the order mentioned in the embodiments, or different from the order in the embodiments, or several steps can be executed simultaneously.
[0280] Aspects of the present disclosure have been described above with reference to the flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block in the flowcharts and / or block diagrams, and the combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing device to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the functions / actions specified in one or more blocks of the flowcharts and / or block diagrams. Such a processor can be, but is not limited to, a general purpose processor, a special purpose processor, a special application processor, or a field programmable logic circuit. It should also be understood that each block in the block diagrams and / or flowcharts, and the combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by dedicated hardware that performs the specified functions or actions, or by a combination of dedicated hardware and computer instructions.
[0281] As described above, this is only the specific implementation manner of the present application. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein. It should be understood that the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of various equivalent modifications or substitutions, and these modifications or substitutions should all be covered within the protection scope of the present application.
Claims
1. A method for determining a three-dimensional scoliosis angle of the spine, characterized in that: The method comprises: Acquire three-dimensional data of the spine; Determine a target point set corresponding to the end vertebra of the spine according to the three-dimensional data of the spine, wherein the target point set includes a plurality of first target points corresponding to the upper end vertebra and a plurality of second target points corresponding to the lower end vertebra; Determine a first normal vector corresponding to the upper vertebra according to the plurality of first target points, and determine a second normal vector corresponding to the lower vertebra according to the plurality of second target points; A three-dimensional scoliosis angle of the spine is determined according to the first normal vector and the second normal vector.
2. The method for determining the three-dimensional scoliosis angle of the spine according to claim 1, characterized in that: Determining a target point set corresponding to an end vertebra of the spine according to the three-dimensional data of the spine includes: Identifying the three-dimensional data of the spine to obtain the upper vertebra and the lower vertebra of the spine; Screening a plurality of first points corresponding to the upper vertebra to obtain a plurality of first target points corresponding to the upper vertebra; The plurality of second points corresponding to the lower vertebra are screened to obtain the plurality of second target points corresponding to the lower vertebra.
3. The method for determining the three-dimensional scoliosis angle of the spine according to claim 2, characterized in that: The step of screening the plurality of first points corresponding to the upper vertebra to obtain the plurality of first target points corresponding to the upper vertebra comprises: respectively calculating the Gaussian curvature and the average curvature of each of the plurality of the first points corresponding to the upper vertebra; For each of the first points, a mixed curvature of the first point is calculated according to the Gaussian curvature and the mean curvature of the first point; Determine a first point whose mixed curvature is a preset curvature among the plurality of first points as the first target point corresponding to the upper vertebra; and / or, Screening a plurality of second points corresponding to the lower vertebra to obtain a plurality of second target points corresponding to the lower vertebra includes: respectively calculating the Gaussian curvature and the average curvature of each of the plurality of second points corresponding to the lower vertebra; For each of the second points, a mixed curvature of the second point is calculated according to the Gaussian curvature and the mean curvature of the second point; A second point whose mixed curvature is a preset curvature among the plurality of first points is determined as the second target point corresponding to the lower vertebra.
4. The method for determining the three-dimensional scoliosis angle of the spine according to claim 1, characterized in that: The step of determining a first normal vector corresponding to the upper vertebra according to the plurality of the first target points comprises: Determine a first center point from the plurality of first target points; Performing centralization processing on each of the first target points based on the first center point to obtain each processed first target point; Obtaining a first covariance matrix according to the plurality of processed first target points; Solving the first covariance matrix to obtain multiple eigenvalues; Determine the eigenvector corresponding to the smallest eigenvalue among the multiple eigenvalues as the first normal vector corresponding to the upper vertebra; and / or, The step of determining the second normal vector corresponding to the lower vertebra according to the plurality of the second target points comprises: determining a second center point from the plurality of said second target points; Performing centralization processing on each of the second target points based on the second center point to obtain each processed second target point; Obtaining a second covariance matrix according to the plurality of processed second target points; Solving the second covariance matrix to obtain a corresponding second eigenvalue; The eigenvector corresponding to the smallest eigenvalue among the second eigenvalues is determined as the second normal vector corresponding to the upper vertebra.
5. The method for determining the three-dimensional scoliosis angle of the spine according to any one of claims 1 to 4, characterized in that: Determining the three-dimensional scoliosis angle of the spine according to the first normal vector and the second normal vector includes: Projecting the first normal vector and the second normal vector onto the coronal plane respectively using a projection matrix to obtain a first projection vector of the first normal vector on the coronal plane and a second projection vector of the second normal vector on the coronal plane; The three-dimensional scoliosis angle of the spine is determined according to the first projection vector and the second projection vector.
6. The method for determining the three-dimensional scoliosis angle of the spine according to claim 5, characterized in that: Determining the three-dimensional scoliosis angle of the spine according to the first projection vector and the second projection vector includes: Calculate the inner product of the first projection vector and the second projection vector to obtain a first value; Calculate the product of the length of the first projection vector and the length of the second projection vector to obtain a second value; The angle between the first projection vector and the second projection vector is calculated according to the first value and the second value, and the angle is the three-dimensional scoliosis angle of the spine.
7. The method for determining the three-dimensional scoliosis angle of the spine according to claim 1, characterized in that: Before acquiring the three-dimensional data of the spine, the method further includes: In response to a request for calculating a three-dimensional scoliosis angle, acquiring two-dimensional data of the spine; The two-dimensional data of the spine is three-dimensionally reconstructed using a preset reconstruction algorithm to obtain the three-dimensional data of the spine.
8. A device for determining a three-dimensional scoliosis angle of the spine, characterized in that: The device comprises: An acquisition module, used for acquiring three-dimensional data of the spine; A first determination module is used to determine a target point set corresponding to the end vertebra of the spine according to the three-dimensional data of the spine, wherein the target point set includes a plurality of first target points corresponding to the upper end vertebra and a plurality of second target points corresponding to the lower end vertebra; A second determination module, configured to determine a first normal vector corresponding to the upper vertebra according to a plurality of the first target points, and to determine a second normal vector corresponding to the lower vertebra according to a plurality of the second target points; The third determination module is used to determine the three-dimensional scoliosis angle of the spine according to the first normal vector and the second normal vector.
9. An electronic device, characterized in that: include: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the method for determining the three-dimensional scoliosis angle of the spine as described in any one of claims 1-7 is implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the method for determining the three-dimensional scoliosis angle of the spine as described in any one of claims 1-7 is implemented.
Citation Information
Cited By
Image processing method and device, storage medium and electronic equipment
CN121414662A