Correction of topological defect on surface mesh representing organ
The method addresses inefficiencies in 3D reconstruction of organs in phase with spheres by transforming surface meshes into spherical point clouds, meshing, and remapping, resulting in accurate and efficient correction of topological defects and improved mesh resolution.
Patent Information
- Application Number
- JP2024154704
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-08
- Filing Date
- 2024-09-09
- Publication Date
- 2025-03-21
AI Technical Summary
Existing methods for 3D reconstruction of organs in phase with spheres are inefficient due to slow optimization, inaccurate representation of deep structures, non-uniform mesh resolution, and the presence of topological defects such as bridges and gaps in medical images.
A computer-implemented method that applies a transformation to distribute the vertices of a surface mesh into a spherical point cloud while maintaining adjacent vertices, followed by meshing the points into a triangular surface mesh with specific properties, and finally remapping the mesh to correct topological defects.
The method effectively corrects topological defects and improves the accuracy and efficiency of surface mesh reconstruction, ensuring a uniform mesh resolution and anatomically correct geometric shapes, thereby enhancing diagnostic and pathological monitoring.
Smart Images

Figure 2025039561000001_ABST
Abstract
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 homeotropic to a sphere. [Background technology]
[0002] There are several systems and programs for performing 3D reconstructions of organs with a given topology, such as being homeomorphic to a sphere. This is the case, for example, of the brain, the eye. The 3D reconstruction, for example the cortical surface reconstruction in the case of the brain, allows the analysis of the morphology of the organ, which can be used for diagnosis and pathology monitoring when the 3D reconstruction is performed on a patient.
[0003] Some known methods for 3D reconstruction of organs in phase with a sphere can be described as following a top-down approach. The method starts with an initial surface with a selected topology (e.g., a sphere) and deforms the initial surface so that it matches the cortical surface. The deformation can be performed, for example, using intensity information from the input image, directly, for example, using active contours, or on an already reconstructed surface that may be topologically inaccurate, for example, if noise is present in the input image.
[0004] Top-down methods can be slow to provide acceptable results because they take a long time to optimize the objective function. For example, in cortical surface reconstruction, since the cortical surface is convolved, the regularities imposed on the surface update during the construction process tend to filter out high-frequency components of the mesh, leading to an inaccurate representation of the deep brain structures.
[0005] In addition, the deformation of the sphere performed by those methods may involve heterogeneous vertex sampling, which results in non-uniform mesh resolution across the surface reconstruction, which may be memory inefficient.
[0006] Furthermore, automatic segmentation methods applied to medical images can introduce artifacts on the images in the form of bridges and gaps, which result in topological defects when reconstructing organs in phase with spheres from the segmentation.
[0007] Other methods may use a bottom-up approach and correct the topology of an already generated surface. For example, a known method may implement a topology correction algorithm based on a re-tessellation approach optimized by genetic search. However, this requires looping through the topological defects, which may be inefficient when the number of defects is large.
[0008] In this context, there remains a need for improved methods for correcting topological defects on surface meshes representing organs that are homeomorphic to spheres. Summary of the Invention
[0009] Accordingly, there is provided a computer-implemented method for correcting topological defects on a surface mesh representing an organ, the surface mesh being homeotropic to a sphere, the surface mesh being obtained from a medical image.
[0010] The method includes applying a transformation to a surface mesh, the transformation distributing locations of vertices of the surface mesh onto a spherical point cloud and preserving adjacent vertices of the surface mesh in the distribution.
[0011] The method also includes meshing the points of the spherical point cloud according to a triangular surface mesh, the triangular surface mesh having the following properties: - the union of the triangles of the triangular surface mesh forms a convex hull of the points of the spherical point cloud; - an intersection between any first triangle of the triangular surface mesh and any second triangle of the triangular surface mesh that intersects with the first triangle is a vertex of the first triangle or an edge of the first triangle; Shows.
[0012] The method also includes mapping the meshing back onto the vertices of the surface mesh by inverting the transformation.
[0013] The method may include one or more of the following. - the method further includes identifying outlying vertices resulting from the inverse transformation; - identifying outlying vertices includes detecting vertices that are close on a mesh of points of the spherical point cloud in terms of Euclidean distance on the sphere and that are far apart in a mesh resulting from the inverse transformation in terms of Euclidean distance on the mesh, - the method further comprises calculating a ratio between lengths of edges connecting vertices on a meshing of points of the spherical point cloud and lengths of edges connecting vertices on the inverse transformation, and the detecting comprises determining whether the ratio exceeds a predetermined threshold; The method further includes processing the identified outlying vertices, the processing reducing a distance between the identified outlying vertices with respect to the remaining vertices of the inverse transform; the processing includes one or more of smoothing the identified outlying vertices or cropping the identified outlying vertices; The method further includes selecting vertices from the inverse transformation that remain from the identified outlying vertices, and remeshing the selected vertices according to a topology of the surface mesh; applying the transformation includes iteratively dilating the mesh to a spherical point cloud using a dilation transformation constrained by an adjacent vertex preserving constraint; - The dilation transformation is, for each current vertex v,
[0014]
number
[0015] is a type of Where:
[0016]
number
[0017] , r v =C t (v)-o t+1 where A denotes the surface mesh, v denotes the current vertex, and N A (v) denotes the neighbors of the current vertex v in the surface mesh A, and v' denotes the set N A Denote the adjacent vertices of (v), and #N A (v) is set N A (v) indicates the number of vertices in C t (v) and C t (v') denotes the positions of vertices v and v' on the spherical point group S, and C t+1 (v) denotes the updated position of vertex v,
[0018]
number
[0019] denotes the average position of the vertices on the spherical point group S, and n S (v) denotes the outward normal of the current vertex v, <d v │n C (v)> is d v and n C (v) and λ r and r0 is a predetermined parameter. - The adjacent vertex preserving constraint is
[0020]
number
[0021] where A denotes the surface mesh, v denotes the current vertex, and N A (v) represents the adjacent vertices of the current vertex v in the surface mesh A, and v1 and v2 are the adjacent vertices N of the current vertex v. A (v) denotes a vertex belonging to v, and v' denotes an adjacent vertex N A (v1) and NA denotes the vertices that do not belong to the intersection of (v2), and d(·,·) is the distance function.
[0022] There is further provided an acquisition method for acquiring a surface model representing an organ in phase with a sphere, the acquisition method comprising acquiring a medical image of the organ, the acquisition method also comprising acquiring a surface mesh from the medical image, the acquisition method also comprising correcting topological defects on the surface mesh according to the method.
[0023] Obtaining the surface mesh may include obtaining a tissue mask from the medical image and applying a mesh reconstruction method to the tissue mask.
[0024] Further provided is a computer program comprising instructions for carrying out the method and / or the obtaining method.
[0025] There is further provided a computer readable storage medium having a computer program recorded thereon.
[0026] Further provided is a system that includes a processor coupled to a memory, the memory having a computer program stored thereon. [Brief description of the drawings]
[0027] Non-limiting examples will now be described with reference to the accompanying drawings. [Figure 1] FIG. 1 shows a flowchart of an example method. [Diagram 2] FIG. 1 illustrates an example of a system. [Diagram 3] FIG. [Figure 4] FIG. [Diagram 5] FIG. [Figure 6] FIG. [Figure 7] FIG. [Figure 8] FIG. [Figure 9] FIG. [Figure 10] FIG. [Figure 11] FIG. [Figure 12] FIG. [Figure 13] FIG. [Figure 14] FIG. [Figure 15] FIG. [Figure 16] FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0028] With reference to the flow chart of FIG. 1, a computer-implemented method for correcting topological defects on a surface mesh is proposed. The surface mesh represents an organ. The organ is homeomorphic to a sphere. The surface mesh is obtained from a medical image. The method (also called the "correction method") includes applying a transformation to the surface mesh (S10). The transformation distributes the positions of the vertices of the surface mesh into a spherical point cloud, preserving in the distribution the adjacent vertices of the surface mesh. The correction method also includes meshing the points of the spherical point cloud according to a triangular surface mesh (S20). The triangular surface mesh exhibits the following properties: the union of triangles of the triangular surface mesh forms a convex hull of the points of the spherical point cloud, and the intersection between any first triangle of the triangular surface mesh and any second triangle of 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 mapping the mesh back onto the vertices of the surface mesh by inverting the transformation (S30).
[0029] Such a correction method improves the correction of topological defects on surface meshes representing organs that are in phase with a sphere.
[0030] In fact, the surface mesh represents an organ (e.g., a brain) that is in phase with a sphere. However, the surface mesh itself may not be perfectly in phase with a sphere, e.g., the surface mesh may exhibit topological defects such as bridges and / or geometric artifacts such as spikes. This may be due to errors in the medical imaging technique used to acquire the mesh, e.g., numerical artifacts and / or noisy acquisition of the images. Applying a transformation to the surface mesh (S10) allows the vertex information (in the form of points) to be preserved while not transforming the edges connecting each vertex, further preserving spatial consistency between adjacent points. Since the transformation preserves the adjacent vertices of the surface mesh in the distribution, the spherical point cloud preserves the interrelationships of adjacent vertices rather than an arbitrary random projection of the vertices onto the spherical point cloud. Furthermore, when the vertices in the surface mesh are indexed, the method preserves such index information along the distribution of positions, thereby allowing the points of the spherical point cloud to be mapped back to the original geometric shape. Furthermore, applying a transformation to the surface mesh (S10) and meshing the points of the spherical point cloud according to a triangular surface mesh having the above-mentioned properties (S20), the vertices of the surface mesh are mapped to an object with a spherical topology (i.e., a triangular surface meshing of the points of the spherical point cloud). The meshing (S20) is therefore a closed shape that is homeomorphic to a sphere (and therefore free of topological defects). Furthermore, remapping (S30) of the meshing (i.e., the meshing obtained in S20) onto the vertices of the surface mesh produces an output mesh that has the geometric distribution of the surface mesh, while also being homeomorphic to a sphere. Remapping (S30) of the meshing therefore returns to the intended geometric shape of the organ, possibly up to some correction of the geometric artifacts, which can be corrected with the processing of the corresponding vertices (such as outlying vertices) of the geometric artifacts.
[0031] Also proposed is a method (also called "acquisition method") for acquiring a surface model representing an organ in phase with a sphere. 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 the correction method. The acquisition method may acquire the medical image by medical image processing. For example, the medical image may be an MRI image acquired by magnetic resonance imaging processing. The method may include performing this magnetic resonance imaging processing as a pre-processing, in which case the method may perform this processing. For example, the method may perform a magnetic resonance imaging acquisition and transmit instructions to another computer system to acquire the MRI image.
[0032] Obtaining the surface mesh may include obtaining a tissue mask from the medical image. The tissue mask may include a 3D grid of voxels having the same size as the medical image. Each voxel of the tissue mask may be associated with a label linked to a tissue of the organ. Obtaining the 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 the tissue mask. The mesh reconstruction method may take the tissue mask as input and return a (e.g., triangular) mesh representing the contour of the mask (e.g., the boundary 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 obtain a medical image by medical image processing and obtain a tissue mask from the medical image.
[0033] The correction method and / or the 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. Thus, the steps of the above-mentioned method are performed by a computer, possibly fully automatically or semi-automatically. In an example, the triggering of at least some of the steps of the method may be performed through user-computer interaction. The level of user-computer interaction required depends on the level of automation foreseen and may be balanced against the need to implement the user's wishes. In an example, this level may be user-defined and / or predefined.
[0034] A typical example of a computer implementation of the method is to execute the method using a system adapted for this purpose. The system may include a processor coupled to a memory and a graphical user interface (GUI), the memory having recorded thereon a computer program including instructions for executing the correction method and / or the acquisition method. The memory may store a database. The memory is any hardware adapted for such storage, and may optionally include several physically distinct parts (e.g., one for the program and possibly one for the database).
[0035] FIG. 2 shows an example of a system, where the system is a client computer system, for example a user's workstation.
[0036] The example client computer includes a central processing unit (CPU) 2010 connected to an internal communication BUS 2000, and a random access memory (RAM) 1070 also connected to the BUS. The client computer is further provided with a graphical processing unit (GPU) 2110 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. A mass storage device controller 2020 manages access to mass storage devices such as a hard drive 2030. Mass memory devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory including, by way of example, 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 above may be supplemented by or incorporated in specially designed ASICs (application specific integrated circuits). A network adapter 2050 manages access to a network 2060. The client computer may also include a haptic device 2090 such as a cursor control device, a keyboard, etc. A cursor control device is used in the client computer to allow a user to selectively place a cursor at any desired location on the display 2080. In addition, the cursor control device allows a user to select various commands and input control signals. The cursor control device includes some signal generating devices for inputting control signals into the system. Typically, the cursor control device may be a mouse, and the buttons of the mouse are used to generate the signals. Alternatively or additionally, the client computer system may include a sensitive pad and / or a sensitive screen.
[0037] The computer program may include instructions executable by a computer, the instructions including means 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 digital electronic circuitry, or in computer hardware, firmware, software, or a combination thereof. The program may be implemented as an apparatus, for example an article tangibly embodied in a machine-readable storage device for execution by a programmable processor. The method steps may be executed by a programmable processor executing a program of instructions for performing the functions of the method by operating on input data and generating output. The processor is thus programmable and may be coupled to receive data and instructions from and transmit data and instructions to a data storage system, at least one input device, and at least one output device. The application program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language as appropriate. In either case, the language may be a compiled or interpreted language. The program may be a complete installation program or an update program. The application of the program to the system results in either case in instructions for performing the method. The computer program may alternatively be stored and executed on a server in a cloud computing environment, the server communicating with one or more clients via a network, in which case the processing unit executes instructions contained in the program, thereby causing the method to be performed on the cloud computing environment.
[0038] The method is for correcting topological defects on a surface mesh representing an organ homeomorphic to a sphere. This means that the method takes as input a surface mesh that may contain at least one topological defect. A topological defect on a surface mesh means any part of the surface mesh that modifies the topology of the organ it is supposed to represent, i.e. any topological feature that makes the surface mesh different from being homeomorphic to a sphere. The method outputs a mesh homeomorphic to a sphere, also called a genus 0 surface.
[0039] A surface mesh specifies any three-dimensional graph structure having vertices (3D positions) and edges (e.g., segments) that connect the vertices two by two and form so-called faces (i.e., a face is a minimal cycle of edges) of the mesh. A face may be formed from at least three vertices (e.g., three vertices, or more than two vertices, such as four vertices). The surface mesh may include (e.g., consist of) a triangular surface mesh. That is, a face of a triangular surface mesh may be formed from three vertices and thus a triangular face. At least a part of the triangular surface mesh may result from triangulating a part of a non-triangular mesh, including, for example, a face (such as a polygonal face) formed from four or more vertices. The part of the triangular mesh may be obtained from any known triangulation method, such as Delaunay triangulation. The surface mesh may be a Delaunay surface mesh. The vertices may be indexed. The method may obtain information about the index of each vertex.
[0040] The surface mesh may have geometric and topological features that represent the organ. Geometric features refer to any portion of the surface mesh (e.g., faces 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). Topological features refer to any portion of the surface mesh that represents a topological invariant, e.g., represented by holes or gaps in the geometric space. The topological invariant may be determined from the Euler characteristic of the surface mesh. For example, denoting the number of vertices of the surface mesh as V, the number of faces of the surface mesh as F, and the number of edges of the surface mesh as E, the Euler characteristic of the surface mesh may be determined according to the formula V-E+F.
[0041] The surface mesh represents an organ that is homeomorphic to a sphere, i.e., the organ has an Euler characteristic equal to 2. The surface mesh therefore has topological and geometric features that represent the morphological properties of the organ. By "organ" is meant an entire organ, or in the examples, a part of an organ, which part is homeomorphic to a sphere. An example of an organ that is homeomorphic to a sphere is the brain, which includes, for example, the forebrain, midbrain, hindbrain, and intraventricular cerebrospinal fluid bounded by the medulla. An example of a part of an organ may be the right hemisphere of the brain. Other examples of organs that are homeomorphic to a sphere may include, for example, the eye or the liver.
[0042] Thus, the topological defect may be any part on the surface mesh that makes the Euler characteristic of the surface mesh different from 2. Thus, the method corrects the topological defect by applying any operation to the surface mesh such that the surface mesh has the same Euler characteristic as a sphere, in other words, it is homeomorphic to a sphere. The surface mesh may include geometric artifacts. The geometric artifacts may be any geometric feature that may include vertices that are irregular (e.g., with respect to their 3D position) with respect to other vertices of the surface mesh, such as outlying vertices. Because the vertices of the geometric artifacts are irregular, they do not affect the topology of the mesh, but these vertices are anatomically incorrect. The surface mesh is obtained from a medical image. By "obtaining" it is meant that the mesh may result from a medical image according to any suitable process that results in a surface mesh of an organ based on a medical image of such organ. For example, this process may include obtaining images from an MRI image process. This process may also include obtaining a tissue mask on the medical image and performing a 3D reconstruction on the tissue mask. The method may include pre-processing of the medical image, such as any type of data acquisition that allows the correction method to extract or obtain a surface mesh. The correction method may obtain the surface mesh from an image acquisition process by a user (such as a physician). The medical image may be an MRI image. The MRI image may include a 3D grid of voxels. Each voxel may be associated with a gray level that reflects tissue properties of an organ.
[0043] In an example, topological defects present on a surface mesh may result from noise artifacts during the acquisition of medical images: for example, the topological defects may consist of bridges or gaps that do not represent organs in phase with a sphere, as is the case for the brain.
[0044] Alternatively and / or additionally, obtaining the surface mesh may include, for example, downloading / retrieving the surface mesh (e.g., over a network) from a (e.g., remote) memory or server or any non-volatile storage in which such data is stored.
[0045] The transformation (S10) applied to the surface mesh may result in a bijective mapping of the vertices of the surface mesh to respective positions of the spherical point cloud. In other words, each (3D) position of the spherical point cloud corresponds to a respective vertex of the surface mesh. The transformation preserves adjacent vertices of the surface mesh in the distribution. Adjacent vertices means a set of vertices of the surface mesh that are connected by at least one edge. Two vertices are said to be adjacent if they are connected with an edge. "Preserve adjacent vertices" means that, as a result of the transformation, adjacent points on the spherical point cloud are preserved as adjacent points, e.g., a vertex of a topological defect in a mesh may be adjacent to other vertices that are not part of the topological defect. In other words, for a given vertex, the transformation maps at least one of its adjacent points to a corresponding position on the spherical point cloud that is closer than any other non-adjacent vertex on the surface mesh. As detailed below, the transformation may be constrained by an adjacent vertex preservation constraint.
[0046] The spherical point cloud resulting from the transformation applied in S10 may be a set of points in 3D space with a spherical distribution. In other words, the points of the spherical point cloud each have a position that belongs to a spherical shape, for example, an oval shape or a perfect spherical shape. The transformation (S10) may place the points on the boundary of the spherical shape modulo some numerical tolerance.
[0047] The correction method meshes the points of the spherical point cloud (S20). In other words, meshing (S20) takes the points of the spherical point cloud and outputs a mesh whose vertices correspond to the points of the spherical point cloud (obtained from transformation (S10)).
[0048] The meshing (S20) may be according to a triangular surface mesh. The triangular surface mesh exhibits the following property: the union of the triangles of the triangular surface mesh forms a convex hull of the points of the spherical point cloud. The convex hull is the smallest convex polyhedron (bounded polytope) that contains all the vertices of the spherical point cloud. In addition, the intersection between any first triangle of the triangular surface mesh and any second triangle of the triangular surface mesh that intersects with the first triangle is a vertex of the first triangle or an edge of the first triangle. By construction, the meshing (S20) is homeomorphic to a sphere. In an example, the correction method may perform the meshing (S20) by using a Delaunay triangulation method. Thereby, the triangular surface mesh may be a Delaunay triangular surface mesh.
[0049] Meshing the point cloud (S20) may be performed according to any method, for example any convex hull meshing method, as known in the art.
[0050] The correction method maps (S30) the meshing (i.e. the resulting mesh obtained from the meshing (S20)) back onto the vertices of the surface mesh by inverting the transformation. In other words, the correction method maps the positions of the vertices of the meshing (S20) (the vertices of the resulting mesh that correspond to the points of the spherical point cloud) onto the positions of the vertices of the surface mesh (in 3D space) and obtains a new mesh resulting from the inverse transformation. By construction, i.e. by applying the transformation (S10), the vertices of the meshing (S20) have a one-to-one correspondence with the vertices of the surface mesh. The vertices resulting from the inverse transformation (S30) thus form a mesh whose edges connecting the vertices correspond to the edges connecting the vertices in the determined meshing (S20), but which is deformed to fit the spatial distribution set by the vertices of the surface mesh. In other words, the meshing (resulting from the inverse transformation) has the geometric characteristics of the obtained surface mesh. However, since the vertices resulting from the inverse transformation are all connected due to the inheritance of a triangular surface mesh, it is by construction homeomorphic to a sphere.
[0051] This results in the correction method improving the correction of topological defects on surface meshes representing organs in phase with a sphere.
[0052] Indeed, by applying a transformation to the surface mesh and meshing the points of the spherical point cloud, the vertices of the surface mesh that may not be homeomorphic to a sphere (e.g., when topological defects are present, e.g., in the case of holes or arcs or bridges) are mapped to the spherical point cloud topology. The correction method then creates a new mesh of the points of the spherical point cloud, which is a new mesh that is homeomorphic to a sphere by construction. Since the meshing is created according to the triangular surface mesh, the meshing is a closed object by construction. For example, if the surface mesh contains a body (representing an organ) and an arc (representing a topological defect), after the meshing, the vertices of the arc are the connected vertices of the body. Thus, the meshing (S20) gives the correct topology. The mapping of the meshing back to the vertices of the surface mesh gives the meshing S20 (with the corrected topology) the geometric distribution of the (original) surface mesh. In other words, the mesh resulting from the inverse transformation corrects topological defects while returning to the intended geometric shape, e.g., in some cases, up to some remaining geometric artifacts that do not require further modification of the topology of the meshing.
[0053] In addition, since the meshing resulting from the inverse transformation is meshed according to a triangular surface mesh, the meshing is relatively uniform, so that it avoids consuming a large memory. Furthermore, the efficiency is improved since the complexity of the algorithm does not depend on the number of topological defects such as bridges or gaps (i.e., one run of the algorithm corrects the topological defects in one shot). Since the method does not depend on the number of topological defects, no further optimization needs to be performed. In fact, the method may obtain results in a relatively short time, for example 2 minutes.
[0054] The correction method may further include identifying outlying vertices resulting from the inverse transformation. An "outlying vertex" means any vertex from the meshing resulting from the inverse transformation that is distant from other vertices resulting from the inverse transformation. "Distant" means that its distance to other vertices of the mesh resulting from the inverse transformation is greater than the relative distance between other vertices of the mesh. Thus, an outlying vertex is part of a geometric artifact that is not an accurate anatomical representation of the organ.
[0055] Thus, the correction method does not affect the topology of the mesh, but detects geometric artifacts such as peaks in the mesh resulting from the transformation, which have geometric shapes that are not anatomically correct.
[0056] Identifying outlying vertices may include finding vertices that are close on a meshing of the points of the spherical point cloud in terms of Euclidean distance, which is used when a sphere can be locally related to a plane.
[0057] In addition, the detected outlying vertices are separated in the mesh resulting from the inverse transformation in terms of Euclidean distance on the mesh.
[0058] This further improves the determination of outlying vertices. In fact, outlying vertices are included in geometric artifacts that are not smooth and therefore not an anatomically correct representation of organs in phase with a sphere. It is realized by the inventors that vertices that are close on the meshing of the points of the spherical point cloud will also be close in the mesh resulting from the inverse transformation in terms of Euclidean distance, since this results in the meshing being sufficiently smooth.
[0059] The correction method may further include calculating a ratio between the length of an edge connecting vertices on a meshing of the points of the spherical point cloud and the length of an edge connecting vertices on the inverse transform. The length of an edge connecting vertices on the meshing of the points of the spherical point cloud is measured using Euclidean distance on the sphere. The length of an edge connecting vertices on the inverse transform 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 the meshing of the points of the spherical point cloud and the length of an edge connecting, for example, two vertices on the inverse transform.
[0060] Detecting vertices (corresponding to outlying vertices) that are close on the meshing of the points of the spherical point cloud in terms of Euclidean distance on the sphere and far apart in the mesh resulting from the inverse transformation in terms of Euclidean distance may include determining whether the ratio exceeds 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 the inverse transformation and as a denominator the length of an edge connecting a vertex corresponding to the first vertex and the second vertex on the meshing of the points of the spherical point cloud (i.e. before reversing the transformation). The predetermined threshold may be selected in any manner, for example in a non-negative number such as 3 or 5 or more.
[0061] This provides an efficient way of detecting outlying vertices since detection occurs according to the magnitude of the ratio, i.e., if the ratio is above a predefined threshold.
[0062] The correction method may further include processing the identified outlying vertices. Processing refers to a set of operations that may be applied by the correction method to the outlying vertex values resulting from the inverse transformation. The set of operations may include, for example, displacing the vertices, filtering, smoothing, remeshing, chamfering, cropping, and / or applying Boolean operations to the outlying vertices. Processing may reduce the distance between the identified outlying vertices with respect to the remaining vertices of the inverse transformation. In other words, the correction method may process the identified outlying vertices so that they are stuck in the mesh resulting from the inverse transformation. For example, reducing the distance may include processing the outlying vertices such that the ratio between the length of the edge connecting the outlying vertices on the meshing of the points of the spherical point cloud and the length of the edge connecting the outlying vertices on the inverse transformation is lower than a predetermined threshold.
[0063] This improves the accuracy of the meshing resulting from the inverse transformation. In fact, the mesh resulting from this process corrects the geometric aberrations induced by the anatomically inaccurate outlying vertices. This allows for the continuous adaptation of the artifacts to the rest of the mesh.
[0064] This processing may include smoothing of the identified outlying vertices. For example, the correction method may set each outlying vertex to the weighted average position of its neighbors. Alternatively or additionally, the correction method may also include cropping of the identified outlying vertices.
[0065] This process may apply vertex smoothing. The method includes:
[0066]
number
[0067] It can be collected as.
[0068] The method is set
[0069]
number
[0070] At the top of
[0071]
number
[0072] Add all p-adjacent vertices of . The new set of vertices to be modified is
[0073]
number
[0074] It can be called.
[0075] The method is:
[0076]
number
[0077] , to update their positions on the surface. This iteration may apply an update force, which may be derived from an analogy to a spring with infinite stiffness.
[0078]
number
[0079] For v, the method may update the position of v using:
[0080]
number
[0081] This further improves the accuracy of the meshing: in effect, the outlying vertices are adjusted to be contiguous with respect to the remaining vertices, thereby improving the anatomical accuracy.
[0082] The method may further include selecting vertices from the inverse transform that remain from the identified outlying vertices. In other words, the method selects vertices that are not part of the identified outlying vertices. The method may remesh the selected vertices after the mapping (S30) according to the topology of the surface mesh. This means that the selected vertices are remeshed to define a topology on the inverse transform that corresponds to the topology of the surface mesh.
[0083] In the example, the method sets
[0084]
number
[0085] and set
[0086]
number
[0087] In addition, since remeshing may result in non-triangular vertices due to the fusion of two different meshes, after performing the remeshing, the method may further include remeshing the remaining part of the mesh that is not a triangle, e.g., by dividing the remaining part of the mesh into a set
[0088]
number
[0089] , the triangulation can be performed on the boundary of the vertices contained in
[0090] This ensures that the output of the method respects the original mesh topology on parts that do not contain topological defects, thereby avoiding the method creating surface meshes with different topologies, in other words different connections between vertices, also known as edge flipping.
[0091] Applying the transformation (S10) may include iteratively expanding the surface mesh into the spherical point cloud. Iteratively expanding the mesh may include adjusting the initial point cloud C based on the surface mesh. t For example, the correction method may start by setting t=0. t The initial point cloud may be constructed by applying a transformation onto the surface mesh for each of (v). The correction method then applies a transformation to C such that the points are distributed along a spherical shape. t (v) may proceed to iteratively update the position of (v). For example, the correction method may iteratively update the position C t Updated position C to correct t+1 The iterative dilation may use a dilation transformation constrained by an adjacent vertex preservation constraint. Adjacent vertices may be a set of vertices of the surface mesh, where each vertex of the set shares at least one edge with another edge of the surface mesh (called an adjacent point).
[0092] The adjacent vertex preserving constraint may be any constraint that preserves adjacent vertices when applying the transformation (S10). Thus, the constraint maps, for a corresponding vertex, at least one (e.g., all) of its neighbors to a corresponding location on the spherical point cloud that is closer than any other non-adjacent vertex on the surface mesh. For example, given a vertex v and a vertex v′ that is not among the neighbors of the surface mesh that contains vertex v, the ... t (v') is the position C for each vertex included in the neighborhood including vertex v on the spherical point group. t (v) is a distance greater than the distance between vertex v and Ct We can constrain the application of the transformation to vertex v' so that it is separated from (v).
[0093] The correction method therefore ensures that the transformation does not randomly project points onto the sphere.
[0094] The adjacent vertex preservation constraint may be of the following type:
[0095]
number
[0096] A denotes the surface mesh. v denotes the current vertex. N A (v) represents the neighboring vertices of the current vertex v in the surface mesh A. In other words, N A (v) includes the current vertex v and the vertices that share at least one edge with it. v1 and v2 are the adjacent vertices N A (v) denotes a vertex that belongs to v. v' denotes an adjacent vertex N A (v1) and N A (v2) and N A denotes the vertices that do not belong to (v). C(v), C(v'), C(v1), and C(v2) denote the locations of vertices v, v', v1, and v2 on the spherical point cloud (resulting from applying a transformation to the vertices). d(·,·) is the distance function (on the spherical point cloud). The symbol ⇒ denotes the logical operator "implies that".
[0097] Therefore, this constraint states that the distance d(C(v),C(v')) (on the spherical point group) to the current vertex v is A (v) is a set of adjacent vertices N such that the distance d(C(v),C(v1)),d(C(v),C(v2)) between any two vertices v1 and v2 belonging to (v) is greater than or equal to the minimum of the distances. A Constrain the position C(v') of any vertex v' that does not belong to (v). This constraint does not take into account vertices that are part of a topological defect.
[0098] The dilation transformation may be of the type:
[0099]
number
[0100] Where:
[0101]
number
[0102] , r v =C t (v)-o t+1 C t (v) and C t (v') denotes the positions of vertices v and v' on the spherical point group S, and C t+1 (v) denotes the updated position of vertex v.
[0103]
number
[0104] is C t+1 (v) is position C t The iterative rule for updating (v) is shown below.
[0105] A denotes the surface mesh, v denotes the current vertex, and N A (v) represents the neighbors of the current vertex v in the surface mesh A. v' represents the neighbors of the current vertex v in the set N A Represents the adjacent vertex of (v). #N A (v) is the set N A Indicates the number of vertices in (v).
[0106]
number
[0107] denotes the average location of the vertices (eg, the center of gravity) on the spherical point cloud S.
[0108] n s (v) denotes the outward normal of the current vertex v. <d v │n C (v)> is d v and c (v) and λ r and r0 is a predetermined parameter. r may have a value between 0.1 and 1, e.g., 0.25 or 0.9. r0 may have a value between 80 and 130, e.g., 100.
[0109] Therefore, the dilation transformation is to change the average position o so that its 3D positions approach a spherical distribution. t+1 The correction method may set any number of iterations t, for example t may be 10, 100, or even 1000 or more. By construction, the method always terminates.
[0110] The correction method may first set a number t and apply samples of the vertices of the surface mesh to the initial point cloud. t may correspond to the positions of the vertices of the surface mesh. In other words, at t = 0, the position C t corresponds to the positions of the vertices of the surface mesh. The correction method then
[0111]
number
[0112] , C t Then, for each v∈A, the method -d v and r v Calculate - C t+1 (v) is updated; The iterations may be stopped when a number of iterations, t, is reached.
[0113] An example method will now be described with reference to Figures 3 to 10.
[0114] 3 shows a surface mesh 300 representing an organ, namely a human brain hemisphere, in phase with a sphere. The surface mesh 300 shows bridges 310, which are geometric artifacts that modify the topology of the brain tissue representation 320, which should be in phase with a sphere. Other anatomical artifacts may also be present, which represent parts of the surface (not shown) that are too steep to be anatomically correct, even if they are not topological defects.
[0115] FIG. 4 shows an overview 400 of the correction method.
[0116] The method applies a transformation to the surface mesh 410 to obtain a spherical point cloud 420 that contains the same number of points as the number of vertices of the surface mesh 410. Each vertex of the original surface is in a bijection of the points of the spherical point cloud. Non-artifact points respect the adjacent vertex preservation constraint, which is detailed below.
[0117] The method meshes the spherical point cloud 420 according to a convex hull representation of the spherical point set, thereby obtaining a mesh 430 that is homeomorphic to a sphere.
[0118] Finally, the method obtains a new meshing 440 from the meshing obtained in 430 by applying an inverse bijection to the vertices of meshing 430. The method identifies vertices on meshing 440 that have an average edge length several times longer than that of the original mesh 410. This set of vertices is corrected to avoid distortions using a smoothing pass.
[0119] Next, the application of the transformation will be described.
[0120] Let A(v) be the spatial location of a vertex v in a surface mesh (A), and let c(v) be the application of a transformation to the vertex as its location in a set of spheres (S). Furthermore, N A Let (v) denote the set of neighbors of v in mesh A (i.e., the vertices connected to v by edges).
[0121] The method sets each vertex of the original surface A to be bijective in the spherical point set S. This is done so that regions that do not require topology correction respect adjacent vertex preservation constraints.
[0122] 5 illustrates the adjacent vertex preservation constraint. As shown in 510, let v be a vertex of an input surface mesh A, and let v1, v2 be the adjacent vertices of v (i.e., the set N A (v) is a member of v'. v' is not a neighbor of v because it does not share an edge directly with v. Vertices v and v' respect the adjacent vertex preserving constraint if and only if:
[0123] For all v1, v2 ∈ N A For (v), (so that (v,v1) and (v,v2) are edges of the surface mesh), and for all v'∈N A (v1)∩N A Regarding (v2),
[0124]
number
[0125] where d is the distance between the two points. 520 illustrates a correct application of the adjacent vertex preserving constraint, while 530 shows an incorrect application of the adjacent vertex preserving constraint. As shown in 520, if a vertex v' is not a neighbor of vertex v on the mesh, the method does not set its corresponding position closer than the position of at least one of v's neighbors. Thus, the method avoids a situation as shown in 530, which shows that vertex v' is mapped to a position on the spherical point cloud closer to the mapped position of v than its neighbors.
[0126] Next, the expansion transformation will be described.
[0127] The position C of the vertex on the spherical point group is calculated by gradually expanding the surface A.t represents the expansion of A at step t. The following formula
[0128]
number
[0129] is C t This shows the average position of the vertices in
[0130] For each ∈A, the method is Calculate the following formula:
[0131]
number
[0132] r v =C t (v)-o t+1 Update the position of v in C as follows:
[0133]
number
[0134] where n s (v) is the outward normal of vertex v (i.e., the average of the normals of the triangles it belongs to). r and r0 is the value λ r = 0.25, r0 = 100. The method iterates 1000 times and then applies a spherical projection by calculating for every v: r v =C 1000 (v)-o 1000
[0135]
number
[0136] With the constraints, the method defines a set of vertices of the surface mesh as a set of vertices at center o 1000 The vectors are distributed on a sphere having a radius of 0.05.
[0137] 6 illustrates a dilation transformation 600. The dilation transformation may start with an initial surface including bridge 610 that is corrected with respect to the remainder of body 610. The method may calculate the positions of the vertices on the spherical point cloud by dilating surface A (shown as solid surface 620). The method may continue updating the positions in the spherical point cloud until body 630 is superimposed with bridge 631 (shown as dashed circle).
[0138] 7 illustrates the spherical point cloud obtained by the correction method applied to the surface mesh 300 (shown in FIG. 3). The 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 an adjacent vertex preservation constraint.
[0139] Thus, the method maps a mesh that contains a topology that is non-homeomorphic to the sphere onto a spherical point cloud.
[0140] For illustration, refer to Figures 8 and 9, which show how a surface mesh is deformed into a spherical mesh 800. The points 710 of the spherical point cloud correspond to the vertices of the spherical mesh. In particular, it can be seen that the bridges 310 are stretched onto the sphere as tunnels 810. Figure 9 shows a zoomed-in view 900 including the tunnels 810. The figures are shown for illustration purposes and are not further used by the method.
[0141] Rather, the method creates a new meshing from the spherical point cloud. That is, the method then B to obtain a topologically perfect spherical mesh with the same vertex density as the density of points contained in the spherical point cloud C.
[0142] The method uses a convex hull method, such as Delaunay triangulation, to generate a convex hull surface of the point cloud C.
[0143] The convex hull method is to find C, which is the convex hull of C. B which is, by construction, homeomorphic to a sphere.
[0144] 10 shows an example of a convex hull meshing 1000. The correction method stitches the points that map the bridge 310 onto the spherical point cloud with other points of the spherical point cloud, as shown by the dark triangle 1010. Since the triangle 1010 has been remeshed according to a convex hull, by construction, corresponding vertices do not respect adjacent vertex constraints.
[0145] The final step focuses on reconstructing the original surface A by removing topological defects and smoothing their vertices according to their "correct" vertex positions.
[0146] By applying the inverse of the bijection calculated in part A from A to C, the method B Remesh the vertices of A according to the meshing of A and the convex hull meshing of C. This produces a surface B that is similar to A.
[0147] 11 shows an enlarged version of the meshing 1100 obtained by applying the inverse bijection. The edges obtained from the convex hull meshing 1010 are placed to connect the vertices where the bridges 310 are found on the surface mesh. Here, the meshing 1100 is homeomorphic to a sphere that contains the artifact that is the edge 1010.
[0148] The method can automatically identify those artifact edges 910. See FIG. 12, which shows a process 1200 for correcting those artifact edges. The artifact edges are located on the spherical points C in terms of Euclidean distance on the mesh. B These appear as vertices that are close on the inverse transform and far apart on the inverse transform. The method may smooth the distorted surfaces by reducing the edge lengths to obtain an output 1210 with anatomically correct geometry.
[0149] This "abnormal length" property can be used to detect those edges by looking at the following ratios at an arbitrary threshold of 5:
[0150] 13 shows the result of smoothing 1300. The length of edge 1010 is reduced so that it has a similar length to the adjacent edge 1020.
[0151] Figures 14 and 15 show the full 3D view of the same edge: Figure 14 shows the mesh before smoothing, and Figure 15 shows the edge after smoothing.
[0152] 16 shows a histogram 1600 of the ratio between the length of edges connecting vertices on a meshing of points of a spherical point cloud and the length of edges connecting vertices on the inverse transform. In this example, the method may determine an appropriate ratio value to be 5 based on the histogram to smooth edges above that value. The number of edges connecting vertices on a meshing of points of a spherical point cloud and the length of edges connecting vertices on the inverse transform decrease rapidly as the value 1610 increases by 5.
[0153] The set of vertices of B (identified by their order in the mesh) that are identified as inaccurate and whose positions need to be corrected for anatomical accuracy.
[0154]
number
[0155] Shown as:
[0156] For better smoothing, the method is
[0157]
number
[0158] To,
[0159]
number
[0160] Add all p-adjacent vertices of . The new set of vertices to be modified is
[0161]
number
[0162] It can be called.
[0163] The method then comprises:
[0164]
number
[0165] We iterate over the vertices in and update their position towards the surface. The update force is derived from an analogy to a spring with infinite stiffness.
[0166] each
[0167]
number
[0168] For v, the method updates the position of v using
[0169]
number
Claims
1. 1. A computer-implemented method for correcting topological defects on a surface mesh representing an organ in phase with a sphere, the surface mesh being obtained from a medical image, the method comprising: applying (S10) a transformation to the surface mesh, the transformation distributing positions of vertices of the surface mesh onto a spherical point cloud and preserving adjacent vertices of the surface mesh in the distribution; Meshing (S20) the points of the spherical point cloud according to a triangular surface mesh, the triangular surface mesh having the following properties: a union of triangles of the triangular surface mesh forms a convex hull of the points of the spherical point cloud; an intersection between any first triangle of the triangular surface mesh and any second triangle of the triangular surface mesh that intersects with the first triangle is a vertex of the first triangle or an edge of the first triangle; and Mapping (S30) the meshing back onto the vertices of the surface mesh by inverting the transformation; The method includes:
2. identifying outlying vertices resulting from the inverse transformation; The method of claim 1 further comprising:
3. identifying the outlying vertices includes detecting vertices that are close on the meshing of the points of the spherical point cloud in terms of Euclidean distance on a sphere and that are far apart in the mesh resulting from the inverse transformation in terms of the Euclidean distance on the mesh; The method of claim 2 , comprising:
4. calculating a ratio between lengths of edges connecting vertices on the meshing of the points of the spherical point cloud and lengths of edges connecting vertices on the inverse transformation, and said detecting includes determining whether said ratio exceeds a predetermined threshold. The method according to claim 3.
5. 5. The method of claim 2, further comprising processing the identified outlying vertices, said processing reducing a distance between the identified outlying vertices with respect to remaining vertices of the inverse transform.
6. The method of claim 5 , wherein the processing comprises one or more of smoothing the identified outlying vertices or cropping the identified outlying vertices.
7. selecting vertices from the inverse transformation that remain from the identified outlying vertices, and remeshing the selected vertices according to a topology of the surface mesh; The method of any one of claims 2 to 6, further comprising:
8. Applying the transformation (S10) includes iteratively dilating the mesh to a spherical point cloud using a dilation transformation constrained by an adjacent vertex preserving constraint; The method of any one of claims 1 to 7, comprising:
9. The dilation transformation is, for each current vertex v, [0010] is a type of Where: [0025] r v =C t (v)-o t+1 where A denotes the surface mesh, v denotes the current vertex, and N A (v) denotes the neighboring vertices of the current vertex v in the surface mesh A, and v′ denotes the neighboring vertices of the set N A (v)'s adjacent vertex, #N A (v) is the set N A (v) denotes the number of vertices in C t (v) and C t (v') indicates the positions of vertices v and v' located on the spherical point group S, and C t+1 (v) denotes the updated position of the vertex v, [0030] indicates the average position of the vertices on the spherical point group S, and n S (v) denotes the outward normal of the current vertex v, and <d v │n C (v)> is d v and n C (v), and λ r and r 0 is a predetermined parameter, The method according to claim 8.
10. The adjacent vertex preserving constraint is: [0045] where A denotes the surface mesh, v denotes the current vertex, and N A (v) represents the neighboring vertices of the current vertex v in the surface mesh A, and v 1 and v 2 is the adjacent vertex N of the current vertex v A (v) and v' is the adjacent vertex N A (v 1 ) and N A (v 2 ), and d(·,·) is a distance function.
10. The method according to claim 8 or 9.
11. 1. A method for obtaining a surface mesh representing an organ in phase with a sphere, said method comprising the steps of: obtaining a medical image of said organ; Obtaining a surface mesh from the medical image; Correcting topological defects on a surface mesh according to a method according to any one of claims 1 to 10; A method comprising:
12. Obtaining the surface mesh comprises: Obtaining a tissue mask from the medical image and applying a mesh reconstruction method to the tissue mask; The method of claim 11 , comprising:
13. A computer program comprising instructions for carrying out 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 of claim 13.
15. 14. A system including a processor coupled to a memory, the memory having the computer program of claim 13 recorded thereon.