Correcting topological defects on surface grid representing organ

By distributing the vertices in the surface mesh to spherical point clouds and meshing them, combining the methods of inverse transformation and outward vertex processing, the problem of inefficiency in the existing technology is solved, and efficient correction of the topological defects of the organ surface mesh is achieved.

CN119600228APending Publication Date: 2025-03-11DASSAULT SYSTEMES SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411248734.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-08
Filing Date
2024-09-06
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

The prior art is inefficient in correcting topological defects on the mesh surface representing an isomorphic to the sphere and may result in uneven grid resolution and inefficient memory.

Method used

The vertex positions in the surface mesh are distributed into the spherical point cloud by applying a transformation, and the vertex neighborhood is maintained in the distribution, and the points in the spherical point cloud are meshed according to the triangular surface mesh, and finally the divided mesh is mapped back to the vertices of the surface mesh by inverse transformation, identifying and processing outlier vertices to correct topological defects.

Benefits of technology

Improved correction of topological defects on the mesh on the surface of the organ that represents isomorphism with the sphere, improves efficiency, avoids the problems of uneven grid resolution and inefficient memory, and can obtain results in a short time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119600228A_ABST
    Figure CN119600228A_ABST
Patent Text Reader

Abstract

The present disclosure particularly relates to a computer-implemented method for correcting a topological defect on a surface grid obtained from a medical image representing an organ isomorphic to a sphere. The method includes applying a transformation to a surface mesh, distributing locations of vertices in the surface mesh into a spherical point cloud and maintaining vertex neighborhoods. The method further includes meshing points in the spherical point cloud according to a triangular surface grid, the triangular surface grid presenting that a union set of triangles in the triangular surface grid forms a convex hull of the points in the spherical point cloud, and the intersection of any first triangle in the triangular surface grid and any second triangle intersecting with the first triangle in the triangular surface grid is the vertex of the first triangle or the edge of the first triangle. The method further comprises the step of mapping the grid obtained through grid division back to the top points of the surface grid through inverse transformation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer programs and systems, and more particularly to methods, systems and programs for correcting topological defects on a surface mesh representing an organ that is isomorphic to a sphere. Background Art

[0002] There are many systems and programs for performing 3D reconstruction of organs with a predetermined topology (e.g. isomorphic to a sphere). This is the case, for example, with the brain, the eye. 3D reconstruction, e.g. surface reconstruction of the cortex in the case where the organ is the brain, allows the morphology of the organ to be analyzed and can be used for diagnosis and pathology monitoring when 3D reconstructions are performed on patients.

[0003] Some known methods for 3D reconstruction of organs isomorphic to a sphere can be described as following a top-down approach. The method starts with an initial surface of a chosen topology (e.g., a sphere) and deforms the initial surface to match the surface of the cortex. The deformation can be performed directly, for example using intensity information from the input image (e.g., using active contours); or the deformation can be performed on an already reconstructed surface whose topology may be incorrect, for example if there is noise in the input image.

[0004] Following a top-down approach can be slow to provide acceptable results due to the long time required to optimize the objective function. For example, in surface reconstruction of the cortex, since the surface of the cortex is warped, the regularity imposed on the surface updates during the construction process tends to filter out the high frequencies of the mesh and lead to inaccurate representations of deep brain structures.

[0005] Furthermore, the sphere deformations caused by these methods may include heterogeneous vertex sampling, which results in non-uniform mesh resolution across the entire surface reconstruction, which may be memory inefficient.

[0006] Furthermore, automatic segmentation methods applied to medical images may introduce artifacts in the form of bridges and gaps on the images, which can introduce topological defects when reconstructing organs that are isomorphic to a sphere based on the segmentation.

[0007] Other methods can correct the topology of the generated surface using a bottom-up approach. For example, known methods can perform a topology correction algorithm based on a re-subdivision method optimized by genetic exploration. However, this requires looping through topological defects, which can be inefficient when the number of defects is large.

[0008] In this context, there remains a need for an improved method to correct topological defects on surface meshes representing organs that are isomorphic to a sphere. Summary of the invention

[0009] Therefore, a computer-implemented method for correcting topological defects on a surface mesh representing an organ is provided. The organ is isomorphic to a sphere. The surface mesh is obtained from a medical image.

[0010] The method includes applying a transformation to a surface mesh that distributes locations of vertices in the surface mesh into a spherical point cloud and preserves vertex neighborhoods of the surface mesh in the distribution.

[0011] The method further includes meshing the points in the spherical point cloud according to a triangular surface mesh, the triangular surface mesh exhibiting the following properties:

[0012] - the union of the triangles of the triangular surface mesh forms a convex hull of the points in the spherical point cloud; and

[0013] - The intersection of any first triangle in the triangular surface mesh and any second triangle in the triangular surface mesh that intersects the first triangle is a vertex of the first triangle or an edge of the first triangle.

[0014] The method further comprises: mapping the mesh obtained by mesh division back to the vertices of the surface mesh by inverse transformation.

[0015] The method may include one or more of the following:

[0016] -The method further comprises: identifying outlier vertices resulting from the inverse transformation;

[0017] - identifying outlier vertices comprises detecting points of these vertices which are close on a grid obtained by meshing the points in the spherical point cloud with respect to the Euclidean distance on the sphere; and which are far away on said grid with respect to said Euclidean distance in a grid obtained by inverse transformation;

[0018] - The method further comprises: calculating a ratio between the length of an edge connecting vertices on a mesh obtained by meshing the points in the spherical point cloud and the length of an edge connecting vertices on an inverse transformation, the detection comprising determining whether the ratio is above a predetermined threshold;

[0019] - the method further comprises: processing the identified outlier vertices, the processing comprising reducing the distance between the identified outlier vertices relative to the remaining vertices of the inverse transformation;

[0020] - the processing includes: one or more of smoothing the identified outlier vertices or clipping the identified outlier vertices;

[0021] - The method further comprises: selecting vertices from the remaining inverse transformations of the identified outlier vertices, and re-meshing the selected vertices according to the topology of the surface mesh;

[0022] -applying a transformation comprising: iteratively dilating the surface mesh into a spherical point cloud using a dilation transformation subject to a vertex neighborhood preservation constraint;

[0023] -For each current vertex v, the dilation transformation type is:

[0024]

[0025] in

[0026]

[0027] r v =C t (v)-o t+1 ,

[0028] Where A represents the surface mesh, v represents the current vertex, represents the vertex neighborhood of the current vertex v in the surface mesh A, and v′ represents the set The adjacent vertices in Representing a collection The number of vertices in C t (v) and C t (v′) represents the position of vertices v and v′ on the spherical point cloud S, C t+1 (v) represents the updated position of vertex v, represents the average position of the vertices on the spherical point cloud S, n S (v) represents the external normal of the current vertex v, <d v |n C (v)> indicates d v and n C (v) The inner product between r and r0 are predetermined parameters; and

[0029] - The types of vertex neighborhood preservation constraints are:

[0030]

[0031] Among them, A represents the surface mesh, v represents the current vertex, Represents the vertex neighborhood of the current vertex v in the surface mesh A, v1 and v2 represent the vertex neighborhood belonging to the current vertex v

[0032] The vertex v′ does not belong to the vertex neighborhood and are the vertices of the intersection of , and d(·,·) is the distance function.

[0033] A method for obtaining a surface model representing an organ that is isomorphic to a sphere is also provided. The method includes obtaining a medical image of the organ. The method also includes obtaining a surface mesh from the medical image. The method also includes correcting topological defects on the surface mesh according to the method.

[0034] Obtaining the surface mesh may include obtaining a tissue mask from the medical image and applying a mesh reconstruction method to the tissue mask.

[0035] A computer program is also provided, comprising instructions for performing the method and / or obtaining the method.

[0036] A computer-readable storage medium is also provided, on which the computer program is recorded.

[0037] A computer system is also provided, comprising a processor coupled to a memory having the computer program recorded thereon. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Non-limiting examples will now be described with reference to the accompanying drawings, in which:

[0039] Figure 1 A flowchart illustrating an example of a method;

[0040] Figure 2 An example of a system is shown; and

[0041] Figures 3 to 16 The method is shown. DETAILED DESCRIPTION

[0042] refer to Figure 1 A flowchart is provided, which proposes a computer-implemented method for correcting topological defects on a surface mesh. The surface mesh represents an organ. The organ is isomorphic to a sphere. The surface mesh is obtained from a medical image. The method (also referred to as a "correction method") includes: S10, applying a transformation to the surface mesh. The transformation distributes the positions of vertices in the surface mesh to a spherical point cloud, and maintains the vertex neighborhood of the surface mesh in the distribution. The correction method also includes: S20, meshing the points in the spherical point cloud according to the triangular surface mesh. The triangular surface mesh has the following characteristics: the union of multiple triangles in the triangular surface mesh forms a convex hull of points in the spherical point cloud; and the intersection of any first triangle in the triangular surface mesh and any second triangle in the triangular surface mesh that intersects with the first triangle is a vertex of the first triangle or an edge of the first triangle. The correction method also includes: S30, mapping the mesh obtained by the meshing back to the vertices of the surface mesh by an inverse transformation.

[0043] Such correction methods improve the correction of topological defects on surface meshes representing organs that are isomorphic to a sphere.

[0044] In fact, the surface mesh represents an organ (e.g., the brain) that is virtually isomorphic to a sphere. However, the surface mesh itself may not be completely isomorphic to the sphere; for example, the surface mesh may have topological defects (e.g., bridges) and / or geometric artifacts (e.g., spikes). This may be due to errors in the medical imaging technique used to acquire the mesh, such as numerical artifacts and / or noisy acquisition of the image. Applying the S10 transformation to the surface mesh allows the preservation of vertex information (in the form of points) while not transforming the edges connecting each vertex and maintaining spatial consistency between neighboring points. Since the transformation preserves the vertex neighborhood of the surface mesh in the distribution, the spherical point cloud is not any random projection of the vertices on the spherical point cloud, but rather preserves the mutual relationships of neighboring vertices. Furthermore, when the vertices in the surface mesh are indexed, the method preserves this index information along the position distribution, making it possible to map the points in the spherical point cloud back to the original geometry. Furthermore, S10 applies a transformation to the surface mesh, and S20 meshes the points in the spherical point cloud according to the triangular surface mesh having the above-mentioned properties, mapping the vertices of the surface mesh to an object having a spherical topology (i.e., triangular surface meshing of the points in the spherical point cloud). Therefore, the mesh obtained by meshing at S20 is a closed shape isomorphic to the sphere (and therefore has no topological defects). Furthermore, mapping the mesh obtained by meshing (obtained at S20) back to the vertices of the surface mesh at S30 generates an output mesh having the geometric distribution of the surface mesh, and the output mesh is also isomorphic to the sphere. Therefore, the mapping of the mesh obtained by meshing back to step S30 returns the expected geometry of the organ, and some correction of geometric artifacts may be achieved, which can be corrected by processing the corresponding vertices of the geometric artifacts (e.g., outlier vertices).

[0045] A method for acquiring a surface model representing an organ that is isomorphic to a sphere (also referred to as an "acquisition method") is also proposed. The acquisition method includes acquiring a medical image of the organ. The acquisition method also includes acquiring a surface mesh from the medical image. The acquisition method also includes correcting topological defects on the surface mesh according to a correction method. The acquisition method can acquire the medical image through a medical imaging process. For example, the medical image can be an MRI image acquired through a magnetic resonance imaging process. The method can include performing the magnetic resonance imaging process as a preprocessing, in which case the method can perform the process. For example, the method can send instructions to another computer system for performing magnetic resonance imaging acquisition and acquiring the MRI image.

[0046] Acquiring a surface mesh may include acquiring a tissue mask from a medical image. The tissue mask may include a 3D grid having voxels of the same size as the medical image. Each voxel of the tissue mask may be associated with a label of a tissue connected to an organ. Acquiring a surface mesh may then include applying a mesh reconstruction method to the tissue mask. The mesh reconstruction method may be any method for generating a surface mesh (e.g., a triangular surface mesh) from a tissue mask. The mesh reconstruction method may take a tissue mask as input and return a (e.g., triangular) mesh representing the contours of the mask (e.g., the boundaries between gray matter voxels and white matter voxels when the medical image corresponds to an MRI of the brain). In an example, the acquisition method may acquire a medical image through a medical imaging process and acquire a tissue mask from the medical image.

[0047] The correction method and / or acquisition method are computer-implemented. This means that the steps of the method (or substantially all steps) are performed by at least one computer or any similar system. Therefore, the steps of the above method may be fully automatically performed or semi-automatically performed by a computer. In some examples, the triggering of at least some of the steps of the method can be performed by user-computer interaction. The required user-computer interaction degree can depend on the foreseen degree of automaticity and is balanced with the need to realize the user's wishes. In some examples, the degree can be user-defined and / or pre-defined.

[0048] A typical example of a computer implementation of the method is to perform the method using a system suitable for the purpose. The system may include a processor coupled to a memory and a graphical user interface (GUI), the memory having a computer program recorded thereon, the computer program including instructions for performing the correction method and / or the acquisition method. The memory may also store a database. The memory is any hardware suitable for such storage, which may include several physically different parts (e.g., one for the program and one for the database).

[0049] Figure 2 An example of a system is shown, where the system is a client computer system, such as a user's workstation.

[0050] The client computer of this example includes a central processing unit (CPU) 2010 connected to an internal communication bus 2000, a random access memory (RAM) 1070 also connected to the bus. The client computer is also provided with a graphics processing unit (GPU) 2110, which is associated with a video random access memory 2100 connected to the bus. The video RAM 2100 is also known in the art as a frame buffer. The mass storage device controller 2020 manages access to a mass storage device (e.g., a hard disk drive 2030). Mass storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, and by way of example, mass storage devices include: semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks. Any of the foregoing may be supplemented by or incorporated into a specially designed ASIC (application specific integrated circuit). The network adapter 2050 is responsible for managing access to the network 2060. The client computer may also include a tactile device 2090, such as a cursor control device, a keyboard, etc. The cursor control device is used in the client computer to allow the user to selectively position the cursor at any desired location on the display 2080. Additionally, the cursor control device allows the user to select various commands and input control signals. The cursor control device includes a plurality of signal generating devices for inputting control signals to the system. Typically, the cursor control device may be a mouse, the buttons of which are used to generate signals. Alternatively or additionally, the client computer system may include a sensor pad and / or a sensor screen.

[0051] The computer program may include instructions executable by a computer, including tools for causing the above system to perform the correction method and / or the acquisition method. The program may be recordable on any data storage medium (including the memory of the system). The program may be implemented, for example, in a digital electronic circuit device or computer hardware, firmware, software, or a combination thereof. The program may be implemented as a device, for example, a product tangibly embodied in a machine-readable storage device to be executed by a programmable processor. The method steps may be performed by executing the instruction program by a programmable processor to perform the function of the method by operating on input data and generating output. Therefore, the processor may be programmable and coupled to receive data and instructions from a data storage system, at least one input device, and at least one output device, and to send data and instructions to the data storage system, at least one input device, and at least one output device. If desired, the application program may be implemented in a high-level procedural language or an object-oriented programming language or in an assembly or machine language. In any case, the language may be a compiled language or an interpreted language. The program may be a complete installer or an updater. In any case, the application of the program on the system results in instructions for executing the method. The computer program may also be stored and executed on a server in a cloud computing environment, which communicates with one or more clients via a network. In this case, the processing unit executes the instructions contained in the program, so that the method is performed in a cloud computing environment.

[0052] The method is used to correct topological defects on a surface mesh representing an organ that is isomorphic to a sphere. This means that the method takes as input a surface mesh that may include at least one topological defect. A topological defect on a surface mesh is any part of the surface mesh that modifies the topology of the organ that is supposed to be represented, i.e. any topological feature that makes the surface mesh different from being isomorphic to a sphere. The method outputs a mesh that is isomorphic to a sphere, also called a 0surface.

[0053] A surface mesh specifies any three-dimensional graphical structure in which vertices (3D positions) and edges (e.g., line segments) connect vertices in pairs and form so-called mesh faces (i.e., a face is the smallest cycle of a mesh). These faces can be formed by at least three vertices (e.g., three vertices or more than three vertices, such as four vertices). The surface mesh may include a triangular surface mesh (e.g., composed of a triangular surface mesh). That is, the face of the triangular surface mesh may be formed by three vertices, thereby forming a triangular face. At least a portion of the triangular surface mesh may be generated by triangulating a portion of a non-triangular mesh, the non-triangular mesh comprising, for example, a face formed by four or more vertices (e.g., a polygonal face). This portion of the triangular mesh may be obtained from any known triangulation method, such as a Delaunay triangulation. The surface mesh may be a Delaunay surface mesh. The vertices may be indexed. The method may obtain index information for each vertex.

[0054] The surface mesh can have geometric and topological features that represent the organ. A geometric feature refers to any part of the surface mesh (e.g., a face of the surface mesh) that represents the geometry of the outer boundary of the organ (e.g., a spatial distribution, such as a convex or non-convex spatial distribution). A topological feature refers to any part of the surface mesh that represents a topological invariant, such as represented by a hole or gap in the geometric space. The topological invariant can be determined based on the Euler characteristics of the surface mesh. For example, V represents the number of vertices of the surface mesh, F is the number of faces of the surface mesh, and E is the number of edges of the surface mesh. The Euler characteristics of the surface mesh can be determined based on the formula V–E+F.

[0055] The surface mesh represents an organ that is isomorphic to a sphere, i.e., the Euler characteristic of the organ is equal to two. Thus, the surface mesh has topological and geometric features that represent the morphological properties of the organ. An "organ" refers to a complete organ, or in an example, a portion of an organ, which portion is isomorphic to a sphere. An example of an organ that is isomorphic to a sphere is the brain, which includes, for example, the forebrain, midbrain, hindbrain, and cerebrospinal fluid within the ventricles defined by the medulla. An example of a portion of the organ may be the right hemisphere of the brain. Other examples of organs that are isomorphic to a sphere may include, for example, the eye or the liver.

[0056] Thus, a topological defect may be any part on the surface mesh that makes the Euler characteristic of the surface mesh not equal to two. Thus, the method corrects the topological defect by applying an arbitrary operation to the surface mesh so that the surface mesh has the same Euler characteristic as a sphere, in other words, makes it isomorphic to the sphere. The surface mesh may also include geometric artifacts. A geometric artifact may be any geometric feature that may include vertices (e.g., outlier vertices) that are irregular relative to other vertices of the surface mesh (e.g., relative to their 3D positions). Since the vertices of the geometric artifacts are irregular, they do not affect the topology of the mesh, although these vertices are anatomically incorrect. The surface mesh is acquired from a medical image. "Acquired" means that the mesh may be derived from a medical image according to any suitable process that generates a surface mesh of the organ based on a medical image of such an organ. For example, the process may include acquiring an image from an MRI imaging process. The process may also include acquiring a tissue mask on the medical image and performing a 3D reconstruction on the tissue mask. The method may include processes such as pre-processing of the medical image, such as any type of data acquisition that allows the surface mesh to be retrieved or acquired by the correction method. The modification method may, for example, be obtained by a user (e.g., a medical practitioner) from an image acquisition process using a surface mesh. The medical image may be an MRI image. The MRI image may include a 3D mesh of voxels. Each voxel may be associated with a grayscale level reflecting the tissue characteristics of the organ.

[0057] In the example, topological defects present on the surface mesh may be artifacts caused by noise during medical image acquisition. For example, the topological defects may consist of bridges or gaps that cannot represent an organ that is isomorphic to a sphere, such as in the case where the organ is a brain.

[0058] Alternatively and / or additionally, obtaining the surface mesh may, for example, include downloading / retrieving (eg, over a network) the surface mesh from a (eg, remote) memory or server or any non-volatile memory having stored such data.

[0059] Applying the transformation of S10 to the surface mesh can result in bijective mapping of the vertices of the surface mesh to the corresponding positions of the spherical point cloud. In other words, the corresponding (3D) positions of the spherical point cloud correspond to the corresponding vertices of the surface mesh. The transformation maintains the vertex neighborhood of the surface mesh in the distribution. The vertex neighborhood refers to a set of vertices of the surface mesh connected by at least one edge. If two vertices are connected by an edge, the two vertices are called adjacent points. "Maintaining vertex neighborhood" means that after the transformation, adjacent points on the spherical point cloud remain as adjacent points, for example, the vertices of the topological defects in the mesh may become adjacent points of other vertices that are not part of the topological defects. In other words, for a given vertex, the transformation maps at least one adjacent point of the given vertex to the corresponding position of the spherical point cloud, which is closer than any other non-adjacent vertex on the surface mesh. As will be described in detail below, the transformation can be subject to the constraints of vertex neighborhood preservation.

[0060] The spherical point cloud generated by the transformation applied on S10 can be a collection of points with a spherical distribution in 3D space. In other words, the points in the spherical point cloud each have a position that belongs to a spherical shape, such as an oval shape or a perfect sphere shape. The transformation S10 can position the points on the boundary of the sphere, modulo a certain numerical tolerance.

[0061] The modified method meshes the points in the spherical point cloud S20. In other words, the meshing step S20 obtains the points in the spherical point cloud and outputs a mesh, each vertex in the output mesh corresponds to a point in the spherical point cloud (which is obtained from the transformation S10).

[0062] The meshing step S20 can be based on a triangular surface mesh. The triangular surface mesh has the following characteristics: the union of triangles in the triangular surface mesh forms a convex hull of points in the spherical point cloud. The convex hull is the smallest convex polyhedron (bounded polyhedron) that contains all vertices of the spherical point cloud. In addition, the intersection between any first triangle in the triangular surface mesh and any second triangle in the triangular surface mesh that intersects with the first triangle is the vertex of the first triangle or the edge of the first triangle. By construction, the mesh obtained by meshing step S20 is isomorphic to the sphere. In the example, the correction method can perform meshing S20 by using a Delaunay triangulation method. Thus, the triangular surface mesh can be a Delaunay triangular surface mesh.

[0063] The meshing S20 of the point cloud may be performed according to any method, such as any convex hull meshing method known in the art.

[0064] The correction method maps the mesh obtained by meshing (i.e., the resulting mesh obtained from meshing S20) back (S30) onto the vertices of the surface mesh by inversely performing the transformation. In other words, the correction method maps the positions of the vertices in the mesh obtained by meshing S20 (the vertices in the resulting mesh corresponding to the points in the spherical point cloud) to the positions of the vertices in the surface mesh (in 3D space) and obtains a new mesh after the inverse transformation. By construction, i.e., due to the application of the transformation S10, the vertices in the mesh obtained by meshing S20 have a one-to-one correspondence with the vertices of the surface mesh. Therefore, the vertices generated by the inverse transformation S30 form a mesh in which the edges connecting the vertices correspond to the edges connecting the vertices on the mesh determined by meshing S20, although deformed to fit the spatial distribution set by the vertices of the surface mesh. In other words, the mesh (generated by the inverse transformation) has the geometric features of the obtained surface mesh. However, due to the inheritance of the triangular surface mesh, the vertices of the mesh generated by the inverse transformation are all connected together, so it is isomorphic to the sphere in construction.

[0065] This results in an improved correction method for topological defects on surface meshes representing organs that are isomorphic to a sphere.

[0066] In fact, due to the application of the transformation to the surface mesh and the meshing of the points in the spherical point cloud, the vertices in the surface mesh that may be isomorphic to the sphere (for example, when there are topological defects, such as holes or arcs or bridges) are mapped to the spherical point cloud topology. Next, the correction method creates a new mesh for the points in the spherical point cloud, which, by construction, is a new mesh isomorphic to the sphere. Since the mesh obtained by meshing is created based on the triangular surface mesh, the mesh obtained by meshing is a closed object in construction. For example, if the surface mesh includes a body (representing an organ) and an arc (representing a topological defect), after meshing, the vertices of the arc are now connected to the vertices of the body. Therefore, the meshing step S20 gives the correct topology. The mesh obtained by meshing is mapped back to the vertices of the surface mesh so that the mesh obtained by meshing S20 (with the corrected topology) has the geometric distribution of the (original) surface mesh. In other words, the mesh generated by the inverse transformation corrects topological defects while also returning to the expected geometry, e.g., only some geometric artifacts may remain, and these remaining geometric artifacts do not require further modification of the topology of the mesh obtained by the meshing step.

[0067] In addition, since the mesh obtained by the inverse transformation is divided according to the triangular surface mesh, the obtained mesh is relatively uniform, thereby avoiding the consumption of a large amount of memory. In addition, since the complexity of the algorithm does not depend on the number of topological defects such as bridges or gaps (that is, the topological defects can be corrected at one time by running the algorithm once), the efficiency is improved. Since the method is independent of the number of topological defects, no further optimization is required. In fact, the method can obtain results in a relatively short number of minutes (for example, two minutes).

[0068] The correction method may also include identifying outlier vertices generated by the inverse transformation. "Outlier vertices" refer to any vertices from the mesh obtained by the inverse transformation that are far away from other vertices of the mesh obtained by the inverse transformation. "Far away" means that the distance relative to other vertices of the mesh obtained by the inverse transformation is greater than the relative distance between other vertices of the mesh. Therefore, outlier vertices are part of the geometric artifact and are not an accurate representation of the organ's anatomy.

[0069] Therefore, the correction method detects geometric artifacts, such as peaks in the mesh resulting from the transformation, which do not affect the topology of the mesh, but whose geometry is anatomically incorrect.

[0070] Identifying outlier vertices may include detecting vertices that are close on a mesh obtained by meshing the points in the spherical point cloud relative to Euclidean distance. Euclidean distance is used because a spherical surface can be locally associated with a plane.

[0071] Furthermore, the detected outlier vertices are in the grid obtained by the inverse transformation, on which they are far away with respect to the Euclidean distance.

[0072] This further improves the determination of outlier vertices. In fact, outlier vertices are contained in geometric artifacts that are not smooth and therefore not an anatomically correct representation of an organ isomorphic to a sphere. The inventors have realized that vertices that are close on the mesh obtained by meshing of points in the spherical point cloud should also be close in the mesh obtained by the inverse transformation, with respect to the Euclidean distance, since this results in a mesh obtained by meshing that is sufficiently smooth.

[0073] The correction method may also include calculating a ratio between the length of an edge connecting vertices on a mesh obtained by meshing the points in the spherical point cloud and the length of an edge connecting vertices on the inverse transformation. The length of an edge connecting vertices on a mesh obtained by meshing the points in the spherical point cloud is measured using Euclidean distance on a sphere. The length of an edge connecting vertices on the inverse transformation is measured using Euclidean distance on the mesh. The ratio may be a quotient between the length of an edge connecting, for example, two vertices on a mesh obtained by meshing the points in the spherical point cloud and the length of an edge connecting, for example, two vertices on the inverse transformation.

[0074] Detecting vertices that are close on the sphere with respect to Euclidean distance on a mesh obtained by meshing of points in the spherical point cloud and are far away with respect to Euclidean distance in an inversely transformed mesh (corresponding to outlier vertices) may include determining whether a ratio is above a predetermined threshold. For example, the quotient may be a fraction having as a numerator the length of an edge connecting a first vertex and a second vertex on an inversely transformed mesh and having as a denominator the length of an edge corresponding to the first vertex and the second vertex on a mesh obtained by meshing of points in the spherical point cloud (i.e., before the inversely transformed mesh). The predetermined threshold may be selected in any arbitrary manner, such as a non-negative number, such as 3 or 5 or more.

[0075] This provides an efficient way of detecting outlier vertices, since the detection is based on the magnitude of the ratio (ie, if the ratio is above a predetermined threshold).

[0076] The correction method may also include processing the identified outlier vertices. Processing means a series of operations that can be applied to the outlier vertices generated by the inverse transformation by the correction method. The series of operations may include, for example, replacing vertices, filtering, smoothing, re-meshing, beveling, cropping and / or applying Boolean operations to the outlier vertices. The processing can reduce the distance between the identified outlier vertices relative to the remaining vertices of the inverse transformation. In other words, the correction method can process the identified outlier vertices so that these outlier vertices are no longer far away in the mesh obtained by the inverse transformation. For example, reducing the distance may include processing the outlier vertices so that the ratio between the length of the edge of the outlier vertices on the mesh obtained by meshing the points in the spherical point cloud and the length of the edge of the outlier vertices connected on the inverse transformation is lower than a predetermined threshold.

[0077] This improves the accuracy of the mesh obtained by the inverse transformation. In fact, the processed mesh corrects the geometric aberrations caused by outlier vertices that are not anatomically correct. This allows the artifacts to be continuously adapted to the rest of the mesh.

[0078] The processing may include smoothing the identified outlier vertices. For example, the correction method may set each outlier vertex to the weighted average position of its neighboring points. Alternatively or additionally, the correction method may also include clipping the identified outlier vertices.

[0079] This process can apply smoothing to the vertices. This method can collect the outlier vertices on the grid obtained by meshing the points in the spherical point cloud into a set

[0080] This method will Add the p-adjacent points of all vertices to the set The set of new vertices after modification can be called

[0081] This method can be iterated to update their positions on the surface. The iterations can apply update forces. The update forces can be derived from the simulation of a spring with infinite stiffness. The method can update its position using the following formula:

[0082]

[0083] This further improves the accuracy of the meshing. In fact, outlier vertices are adjusted to be continuous with respect to the remaining vertices, thus improving the accuracy of the anatomy.

[0084] The method may further comprise selecting vertices from the remaining inverse transformation of the identified outlier vertices. In other words, the method selects vertices that do not belong to the identified outlier vertices. The method may re-mesh the selected vertices according to the topology of the surface mesh after the mapping step S30. This means that the selected vertices will be re-meshed so that they define a topology corresponding to the topology of the surface mesh on the inverse transformation.

[0085] In the example, this method can be included in the collection and in the collection In addition, because the fusion of two different meshes may introduce non-triangles into the remeshing process, the method can triangulate the remaining parts of the mesh that are not triangles after remeshing, such as in the set At the boundary of the vertices included in .

[0086] This ensures that the output of the method follows the original mesh topology on the part without containing topological defects. Thus, the method avoids creating surface meshes with different topology, in other words, different connections between vertices, also known as edge flipping.

[0087] S10 applying the transformation may include iteratively expanding the surface mesh into a spherical point cloud. By iteratively expanding the mesh, it means that the correction method can be performed by setting an initial point cloud C based on the surface mesh. t (t=0). For example, the modified method can sample the vertices v (e.g., all vertices) of the surface mesh to obtain a value for the sampled vertex C. t (v) Apply the transformation to the surface mesh to construct the initial point cloud. The correction method can then continue to iteratively update C t (v) such that these points are distributed along a sphere. For example, the correction method can define the updated position C t+1 , which modifies the position C according to the iteration rule t The iterative dilation may use a dilation transformation subject to a vertex neighborhood preservation constraint. A vertex neighborhood may be a set of vertices of the surface mesh where each vertex of the set shares at least one edge (called a neighbor) with another edge of the surface mesh.

[0088] A vertex neighborhood preserving constraint may be any constraint that preserves the neighborhood of a vertex when applying the transformation S10. Thus, for a corresponding vertex, the constraint maps at least one (e.g., all) of its neighboring points to a corresponding position on the spherical point cloud that is closer than any other non-neighboring vertex on the surface mesh. For example, given a vertex v and a vertex v′ that does not belong to the vertex neighborhood of the surface mesh that includes vertex v, the vertex neighborhood preserving constraint may constrain the application of the transformation to vertex v′ so that its position C on the spherical point cloud is closer to the corresponding position. t (v′) and the position C of vertex v t (v) The distance between them is greater than position C t (v) The distance between the positions of each vertex in the neighborhood of vertex v on the spherical point cloud.

[0089] Therefore, the correction method ensures that the transformation does not randomly project points onto the sphere.

[0090] Vertex neighborhood preserving constraints can be of the following types:

[0091]

[0092] A represents the surface mesh. v represents the current vertex. represents the vertex neighborhood of the current vertex v in the surface mesh A. In other words, Includes the current vertex v and the vertices that share at least one edge with the current vertex v. v1 and v2 represent the vertex neighborhood of the current vertex v. v′ indicates a vertex that does not belong to the vertex neighborhood. and Intersection and Not Belonging C(v), C(v′), C(v1), and C(v2) denote the positions of vertices v, v′, v1, and v2 on the spherical point cloud (generated by applying transformations on the vertices). d(·,·) is the distance function (on the spherical point cloud). Notation Indicates the logical operator "implies".

[0093] Therefore, this constraint constrains the vertex that does not belong to the neighborhood The position C(v′) of any vertex v′ makes the distance d(C(v),C(v′)) relative to the current vertex v (on the spherical point cloud) greater than or equal to the minimum value of the distance d(C(v),C(v1)),d(C(v),C(v2)), for the neighborhood Vertices that are part of a topological defect do not obey this constraint.

[0094] For each current vertex v, the dilation transformation can be of the following types:

[0095]

[0096] in

[0097]

[0098] r v =C t (v)-o t+1 ,

[0099] C t (v) and C t (v′) represents the position of vertices v and v′ on the spherical point cloud S, C t+1 (v) represents the updated position of vertex v. Indicates that in C t+1 (v) Update position C t (v) Iteration rules.

[0100] A represents the surface mesh, v represents the current vertex, Represents the vertex neighborhood of the current vertex v in the surface mesh A. v′ represents the set The adjacent vertices in . Representing a collection The number of vertices in . represents the average position (e.g., center of mass) of the vertices on the spherical point cloud S.

[0101] n S (v) represents the external normal of the current vertex v. <d v |n C (v)> indicates d v and n C(v) The inner product between r and r0 are predetermined parameters. r r0 may have a value between 0.1 and 1, such as 0.25 or 0.9. r0 may have a value between 80 and 130, such as 100.

[0102] Therefore, the dilation transformation is relative to the mean position o t+1 "Push out" the positions of the surface mesh vertices so that their 3D positions approximate the distribution of the sphere. The correction method can be set to any number of iterations t, for example t can be greater than 10, 100, or even greater than 1000 or more. By construction, this method will always terminate.

[0103] The correct method can first set the number t and apply the vertex sampling of the surface mesh to the initial point cloud. t The position of can correspond to the position of the vertex in the surface mesh. In other words, at t = 0, point C on the point cloud t The positions of correspond to the positions of the vertices in the surface mesh. The correction method can then calculate As C t Then, for each v∈A, the method can:

[0104] - Calculate d v and r v ;

[0105] - Update C t+1 (v); and

[0106] -Stop iterating when the number of iterations t is reached.

[0107] Reference now Figures 3 to 10 Discuss examples of this approach.

[0108] Figure 3 A surface mesh 300 representing an organ that is isomorphic to a sphere, i.e., a human brain hemisphere, is shown. The surface mesh 300 exhibits bridges 310, which are geometric artifacts that modify the topology of the brain tissue representation 320, which should be isomorphic to a sphere. Other anatomical artifacts may also be present, meaning that portions of the surface are too steep to be anatomically correct (not shown), even if these are not topological defects.

[0109] Figure 4 An overview 400 of the correction method is shown.

[0110] The method applies a transformation to the surface mesh 410 to obtain a spherical point cloud 420 containing the same number of points as the number of vertices of the surface mesh 410. Each vertex of the original surface is bijective with a point in the spherical point cloud. The non-artifact points obey the vertex neighborhood preservation constraints, which will be described in detail below.

[0111] The method meshes the spherical point cloud 420 according to the convex hull representation of the spherical point set, thereby obtaining a mesh 430 isomorphic to the sphere.

[0112] Finally, the method obtains a new partitioned mesh 440 from the partitioned mesh obtained at 430 by applying inverse bijection to the vertices of the mesh 430. The method, on the partitioned mesh 440, identifies vertices whose average edge length is several times longer than the length of the original mesh 410. This set of vertices is corrected by smoothing to avoid distortion.

[0113] We now discuss the application of the transformation.

[0114] A(v) represents the spatial position of vertex v in the surface mesh (A), and C(v) represents the transformation applied to the vertex as its position in the spherical set (S). Furthermore, represents the set of neighbors of v in mesh A (i.e., vertices connected to v by edges).

[0115] The method sets each vertex of the original surface A to be bijected with the spherical point cloud S. This process is done so that the regions that do not require topology correction obey the vertex neighborhood preservation constraints.

[0116] Figure 5 As shown in 510, let v be a vertex of the input surface mesh A, v1, v2 be the neighboring points of v (i.e., the set of points that share an edge with v). ). v′ is not a neighbor of v because it does not directly share an edge with v. Vertices v and v′ obey the vertex neighborhood preserving constraint if and only if:

[0117] For all (so (v,v1) and (v,v2) are edges of the surface mesh), and for all

[0118]

[0119] Where d is the distance between the two points. 520 illustrates a correct application of a vertex neighbor preserving constraint, while 530 illustrates an incorrect application of a vertex neighbor preserving constraint. As shown in 520, if vertex v' is not a neighbor of vertex v on the mesh, the method does not set its corresponding position to be closer than the position of at least one of v's neighbors. Thus, the method avoids situations such as shown in 530, which shows that vertex v' is mapped to a position on the spherical point cloud that is closer to v's mapped position than its neighbors.

[0120] Now let's discuss the dilation transformation.

[0121] The calculation of the position of the vertex C on the spherical point cloud is done by dilating the surface A step by step. t represents the expansion of A at step t.

[0122] set up Represents C t The average position of the vertices in the.

[0123] For each ∈A, the method:

[0124] calculate:

[0125]

[0126] r v =C t (v)-o t+1

[0127] Update the position of v in C as follows:

[0128]

[0129] where n S (v) is the external normal of vertex v (i.e., the average of the normals of the triangle to which it belongs). r and r0 is a parameter with value, λ r = 0.25, r0 = 100. The method is iterated 1000 times, and then the spherical projection is applied by calculating, for all v:

[0130] r v =C 1000 (v)-o 1000 ,

[0131]

[0132] According to the constraints, this method distributes the vertex set of the surface mesh into o 1000 Sphere with the center as the center.

[0133] Figure 6 A dilation transformation 600 is shown. The dilation transformation may start with an initial surface, including a bridge 611 to be corrected relative to the rest of the body 610. The method may calculate the positions of the vertices on the spherical point cloud by dilating the surface A (as shown by the solid surface 620). The method may continue to update the positions in the spherical point cloud until the body 630 overlaps the bridge 631 (as shown by the dashed circle).

[0134] Figure 7 The modified method is used to obtain the surface mesh 300 (eg Figure 3The method maps the vertices of the bridge 310 to points 710 on the spherical point cloud as a result of applying a dilation transformation constrained by a vertex neighborhood preservation constraint.

[0135] Therefore, this method maps a mesh including a topology that is not isomorphic to a sphere into a spherical point cloud.

[0136] refer to Figure 8 and Fig. 9 , for illustration purposes, shows how a surface mesh is deformed into a spherical mesh 800. Points 710 in the spherical point cloud correspond to vertices of the spherical mesh. It is worth noting that it can be understood that the bridge 310 extends onto the sphere as a tunnel 810. Fig. 9 An enlarged view 900 is shown including the tunnel 810. These figures are shown for illustrative purposes and are not further used by the method.

[0137] Instead, the method creates a new mesh from the spherical point cloud. B The mesh is obtained by dividing the sphere into two parts to obtain a topologically perfect sphere mesh whose vertex density is the same as the density of the points contained in the spherical point cloud C.

[0138] The method uses a convex hull method, such as Delaunay triangulation, to generate a convex hull surface of the point cloud C.

[0139] Convex hull method generates C B , the convex hull of C, which is constructed by constructing an isomorphism of the sphere.

[0140] Fig.10 An example of a convex hull mesh 1000 is shown. The modified method stitches the points that the bridge 310 is mapped onto the spherical point cloud with other points of the spherical point cloud, as shown by the dark triangles 1010. Because the triangles 1010 have been re-meshed according to the convex hull, by construction, the corresponding vertices do not obey the vertex neighborhood constraints.

[0141] So the last step will focus on reconstructing the original surface A by removing topological defects and smoothing these vertices according to the "correct" positions.

[0142] By applying the inverse of the bijection computed from A to C in part A), this method, according to C B Mesh the convex hull of C and re-mesh the vertices of A. This will generate a surface B similar to A.

[0143] Fig.11An enlarged version of the partitioning mesh 1100 obtained by applying the inverse bijection is shown. Edges obtained from the convex hull partitioning mesh 1010 are placed to connect vertices at locations on the surface mesh where bridges 310 are found. The partitioning mesh 1100 is now isomorphic to the sphere, including artifacts as edges 1010.

[0144] This method can automatically identify those artifact edges 910. Fig.12 , which shows a process 1200 for correcting those artifact edges. On the grid, the artifact edges appear as B The method can smooth the distorted faces and obtain an output 1210 with anatomically correct geometry by reducing the length of the edges.

[0145] Using this “abnormal length” property, we can detect these edges by looking at the following ratio (with an arbitrary threshold of 5).

[0146] Fig.13 The result of smoothing 1300 is shown. The length of edge 1010 is now reduced to have a similar length as adjacent edge 1020.

[0147] Fig.14 and 15 A full 3D view of the same edge is shown. Fig.14 The mesh before smoothing is shown. Fig.15 The smoothed edges are shown.

[0148] Fig.16 A histogram 1600 of the ratio between the length of the edge of the vertices on the mesh obtained by meshing connecting the points in the spherical point cloud and the length of the edge connecting the vertices on the inverse transformation is shown. In this example, the method can determine 5 as an appropriate ratio value for smoothing the edges above this value based on the histogram. As the value 1610 of 5 increases, the number of edges of the vertices on the mesh obtained by meshing connecting the points in the spherical point cloud and the length of the edge connecting the vertices on the inverse transformation decrease rapidly.

[0149] Represents the set of vertices of B (identified by their order in the mesh) that are identified as incorrect and whose positions will need to be modified to maintain anatomical accuracy.

[0150] For better smoothing, this method will Add the p-adjacent points of all vertices to to allow continuous adaptation of the artifacts. The new set of vertices to be modified can be called

[0151] The method then iterates to update their positions towards the surface. The update force can be derived from the simulation of a spring with infinite stiffness.

[0152] For each The method updates its position using the following formula:

[0153]

Claims

1. A computer-implemented method for correcting topological defects on a surface mesh representing an organ isomorphic to a sphere, the surface mesh being acquired from a medical image, the method comprising: -(S10) applying a transformation to the surface mesh, the transformation distributing the positions of vertices in the surface mesh into a spherical point cloud and maintaining vertex neighborhoods of the surface mesh in the distribution; -(S20) meshing the points in the spherical point cloud according to a triangular surface mesh, wherein the triangular surface mesh has the following characteristics: --The union of triangles in the triangular surface mesh forms a convex hull of the points in the spherical point cloud; as well as --the intersection of any first triangle in the triangular surface mesh and any second triangle in the triangular surface mesh that intersects with the first triangle is a vertex of the first triangle or an edge of the first triangle; -(S30) Mapping the mesh obtained by the mesh division back to the vertices of the surface mesh by inversely performing the transformation.

2. The method according to claim 1, further comprising: Outlier vertices resulting from the inverse transformation are identified.

3. The method according to claim 2, wherein: Identifying the outlier vertices includes detecting vertices that are close relative to the Euclidean distance on the sphere on a mesh obtained by the meshing of points in the spherical point cloud, and are far away relative to the Euclidean distance on the mesh in the inversely transformed mesh.

4. The method according to claim 3, further comprising: A ratio between the length of an edge connecting vertices on a mesh obtained by the mesh division and the length of an edge connecting vertices on the inverse transformation is calculated, and the detection includes determining whether the ratio is higher than a predetermined threshold.

5. The method according to any one of claims 2 to 4, further comprising: The identified outlier vertices are processed, the processing comprising reducing distances between the identified outlier vertices relative to remaining vertices of the inverse transformation.

6. The method according to claim 5, wherein: The processing includes one or more of the following: smoothing the identified outlier vertices; or The identified outlier vertices are pruned.

7. The method according to any one of claims 2 to 6, further comprising: Vertices are selected from the inverse transformation remaining of the identified outlier vertices, and the selected vertices are re-meshed according to the topology of the surface mesh.

8. The method according to any one of claims 1 to 7, wherein: (S10) applying the transformation comprises: The surface mesh is iteratively inflated into a spherical point cloud using a dilation transformation subject to a vertex neighborhood preservation constraint.

9. The method according to claim 8, wherein: For each current vertex v, the dilation transformation is of the following type: in r v =C t (v)-o t+1 , Wherein, A represents the surface mesh, v represents the current vertex, represents the vertex neighborhood of the current vertex v in the surface mesh A, and v′ represents the set The adjacent vertices in Represents the set The number of vertices in C t (v) and C t (v′) represents the position of vertices v and v′ on the spherical point cloud S, C t+1 (v) represents the updated position of vertex v, represents the average position of the vertices on the spherical point cloud S, n S (v) represents the external normal of the current vertex v, <d v |n C (v)> means d v and n C (v) The inner product between r and r0 are predetermined parameters.

10. The method according to claim 8 or 9, wherein: The vertex neighborhood preserving constraints are of the following type: Wherein, A represents the surface mesh, v represents the current vertex, represents the vertex neighborhood of the current vertex v in the surface mesh A, and v1 and v2 represent the vertex neighborhood belonging to the current vertex v The vertex v′ does not belong to the vertex neighborhood and are the vertices of the intersection of , and d(·,·) is the distance function.

11. A method for obtaining a surface model representing an organ that is isomorphic to a sphere, the method comprising: - acquiring a medical image of the organ; - obtaining a surface mesh from said medical image; as well as - Correcting topological defects on the surface mesh according to the method of any one of claims 1 to 10.

12. The method according to claim 11, wherein: Acquiring the surface mesh includes: A tissue mask is obtained from the medical image and a grid reconstruction method is applied to the tissue mask.

13. A computer program comprising instructions for executing the method according to any one of claims 1 to 10 and / or the acquisition method according to claim 11 or 12.

14. A computer-readable storage medium having recorded thereon the computer program according to claim 13.

15. A system comprising a processor coupled to a memory having recorded thereon the computer program of claim 13.