Correction of Segmentation Curves in Anatomical Models

The system iteratively refits B-spline curves using geodesic paths and normal vectors to address topological holes, ensuring accurate segmentation of anatomical parts in complex anatomical models.

JP2025522673APending Publication Date: 2025-07-17BIOSENSE WEBSTER (ISRAEL) LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024565967
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-07-14
Filing Date
2023-07-12
Publication Date
2025-07-17

AI Technical Summary

Technical Problem

Existing anatomical modeling systems face challenges in accurately segmenting complex anatomical structures, particularly when topological holes are present, leading to incomplete or incorrect boundary delineation between anatomical parts.

Method used

A processor-driven system that iteratively refits B-spline curves based on user input points, adjusting points on the mesh to form a closed curve by adding interpolated points and recalculating the curve until it accurately segments anatomical parts, using geodesic paths and normal vectors to navigate topological holes.

Benefits of technology

Effectively segments anatomical parts by ensuring the closed curve correctly divides the mesh into separate regions, even in the presence of topological holes, providing precise anatomical boundary delineation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025522673000001_ABST
    Figure 2025522673000001_ABST
Patent Text Reader

Abstract

The system includes a display and a processor. The processor obtains a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part. The processor receives an input from the user indicating a boundary between the first anatomical part and the second anatomical part, and based on the input, fits a closed curve to a plurality of points on the mesh and, in response to the curve not segmenting the mesh into two separate parts, executes an iterative process until the curve segments the mesh into two separate parts. Each iteration includes moving each of the points to another location on the mesh and, after moving each point, refitting the curve to the points. The processor is further configured to display the mesh on the display so as to distinguish the first anatomical part from the second anatomical part based on the curve.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] (Cross - Reference to Related Applications) This application claims the benefit of U.S. Provisional Patent Application No. 63 / 389,217, filed Jul. 14, 2022, which is incorporated herein by reference.

[0002] (Field of the Invention) The present disclosure generally relates to the field of anatomical modeling and, more particularly, to the segmentation of models.

Background Art

[0003] Images of anatomical organs can be generated from meshes of the organs. In the images, it is useful to outline sections of the image by segmentation, i.e., by marking boundaries on the image that separate sections.

Brief Description of the Drawings

[0004] A more complete understanding of the present disclosure will be obtained by reading the following detailed description of the embodiments of the present disclosure in conjunction with the drawings.

Figure 1

Figure 2A

Figure 2B

Figure 3

Figure 4

Figure 5

Modes for Carrying Out the Invention

[0005] Summary In an electrophysiological mapping procedure, a digital map of a region of the heart can be obtained as a mesh of points on the surface of one or more chambers of the heart. For any given chamber, once the mesh is obtained, a physician can segment the mesh to indicate elements of the chamber and / or elements attached to the chamber. Segmentation includes drawing lines at the boundaries of different elements. For example, in the case of the left atrium (LA), a physician may wish to indicate on the LA the boundaries of the left atrial appendage (LAA) and the four pulmonary veins (PV). It will be understood that each boundary is a closed segmentation curve that separates the elements on both sides of the boundary.

[0006] Examples of the present disclosure assist a physician in performing segmentation of a mesh by providing the physician with a tool that enables the physician to mark a few points on the mesh at positions that are assumed to correspond to points on a desired boundary. Next, a processor calculates curves, such as B-spline curves, that connect each pair of adjacent marked points. Each section of a curve that connects adjacent marked points is referred to herein as a link of the curve.

[0007] The processor evaluates each link of the curve by projecting sample points from the link to the closest positions on the mesh and measuring the distances between adjacent projected points. For a given link, if the measured distances are close enough to each other, i.e., within a pre-set threshold distance, the processor assumes that the calculated link is valid and thus it is usable. If it is found that all links of the curve are valid, the curve forms a closed segmentation curve, and this closed curve is assumed to be the desired boundary.

[0008] However, if one of the links of the curve is invalid and thus unusable, the remaining links of the curve do not form a closed curve but an open curve, and this open curve cannot operate as a boundary.

[0009] The open curve terminates at two marked cut points, and the processor can use the following algorithm to close the open curve.

[0010] The processor calculates the shortest geodesic path on the mesh between the projections of the two cut points and adds an additional point at the center of the path. The processor then calculates a new curve using the additional point and the marked points and evaluates the new curve. The processor iteratively executes this process until convergence, i.e., until a closed curve is formed.

[0011] Even when a closed curve is formed, the closed curve may not be the boundary between elements. Such cases occur when the mesh contains topological holes and the closed curve passes through those holes. After generating the closed curve, the processor can identify this type of problem by selecting elements of the mesh. For example, in this specification, it is assumed that the triangle is within the triangular mesh on one side of the closed curve. The processor then registers the adjacent triangles of the mesh that contact the selected triangle and continues the registration iteration until all possible adjacent triangles are registered.

[0012] If the registered triangles are only a subset of the triangles of the entire mesh, the closed curve is the boundary between the separated elements of the mesh.

[0013] However, if the registered triangles consist of all the triangles of the mesh, the closed curve is not the boundary between separated elements. In this case, the processor repeatedly moves the points used to generate the closed curve perpendicularly to the curve by a predetermined distance and checks whether the closed curve is a boundary. The iterative point movement may initially be distal, away from the center of the mesh. After a preset number of distal iterations, if the closed curve is not a boundary, the iteration of the points may be proximal, towards the center of the mesh.

[0014] Detailed Description In the following description, like elements are identified by the same numerals and, where necessary, distinguished by appending a letter to the numeral.

[0015] Referring now to FIG. 1, which shows a catheter-based electrophysiology mapping and ablation system 10 according to an example of the present disclosure. System 10 includes a plurality of catheters that are percutaneously inserted by a physician 24 through a patient's vasculature into a chamber or vascular structure of the heart 12. Typically, a delivery sheath catheter is inserted into the left atrium or right atrium near a desired location of the heart 12. Thereafter, a plurality of catheters can be inserted into the delivery sheath catheter to reach the desired location. The plurality of catheters can include catheters dedicated to sensing intracardiac electrogram (IEGM) signals and / or mapping the heart 12, catheters dedicated to ablation, and / or catheters dedicated to both sensing and / or mapping and ablation. An exemplary catheter 14 configured for sensing and mapping is illustrated herein. The physician 24 contacts the distal tip 28 of the catheter 14 with the heart wall to sense an electropotential (EP) at a target site of the heart 12 and map one or more chambers of the heart.

[0016] Catheter 14 is an exemplary multi-spine catheter that includes a plurality of electrodes 26 dispersed along the spine of the catheter. Catheter 14 can additionally include a position sensor 29 embedded within or near the distal tip 28 to track the position and orientation of the distal tip 28. Optionally and preferably, the position sensor 29 is a magnetic-based position sensor that includes three magnetic coils for sensing three-dimensional (3D) position and orientation.

[0017] The magnetic - based position sensor 29 can operate with a position pad 25 that includes a plurality of magnetic coils 32 configured to generate a magnetic field within a predetermined working volume. The real - time position of the distal tip 28 of the catheter 14 can be tracked based on the magnetic field generated by the position pad 25 and sensed by the magnetic - based position sensor 29. Details of magnetic - based position sensing techniques are described in U.S. Patent Nos. 5,539,199; 5,443,489; 5,558,091; 6,172,499; 6,239,724; 6,332,089; 6,484,118; 6,618,612; 6,690,963; 6,788,967; 6,892,091.

[0018] The system 10 includes one or more electrode patches 38 positioned for skin contact on the patient 23 to establish a position reference for the position pad 25 and impedance - based tracking of at least some of the electrodes 26. For impedance - based tracking, a current is directed to the electrodes 26 and sensed at the electrode - skin patches 38, whereby the position of each electrode can be triangulated via the electrode patches 38. Details of impedance - based position tracking techniques are described in U.S. Patent Nos. 7,536,218; 7,756,576; 7,848,787; 7,869,865; and 8,456,182.

[0019] The recorder 11 displays an electrogram 21 captured by the body - surface ECG electrodes 18 and an intracardiac electrogram (IEGM) that can be captured by the electrodes 26 of the catheter 14. The recorder 11 may include pacing capabilities for pacing the heart rhythm and / or may be electrically connected to an independent pacer.

[0020] System 10 may include an ablation energy generator 50 adapted to deliver ablation energy to one or more of the electrodes 26. The energy generated by the ablation energy generator 50 may include high-frequency (RF) energy or pulsed field ablation (PFA) energy, such as unipolar or bipolar high voltage DC pulses that can be used to effect irreversible electroporation (IRE), or combinations thereof, but is not limited thereto.

[0021] The patient interface unit (PIU) 30 is an interface configured to establish electrical communication between a catheter, an electrophysiology device, a power source, and a workstation 55 for controlling the operation of the system 10. The electrophysiology device of the system 10 may include, for example, a plurality of catheters, position pads 25, body surface ECG electrodes 18, electrode patches 38, an ablation energy generator 50, and a recorder 11. Optionally and preferably, the PIU 30 additionally includes processing capabilities for implementing real-time calculations of catheter position and performing ECG calculations.

[0022] The workstation 55 includes a memory, a processor 22 having a memory or storage device in which appropriate operating software is stored, and a user interface function. The workstation 55 optionally: (1) models the endocardial anatomical structure in three dimensions (3D) and renders a model or anatomical map 20 of all or a portion of the heart 12 for display on a display device 27, typically by first mapping points of a selected portion of the heart, forming a mesh of the points, and then covering the mesh with a surface; (2) displays on the display device 27 a representative visual display or image of an activation sequence (or other data) compiled from the recorded electrogram 21 superimposed on the rendered anatomical map 20; (3) displays the real-time position and orientation of the distal tip 28 within the heart chamber; and (4) displays on the display device 27 a site of interest, such as a location where ablation energy has been applied. One commercially available product embodying the elements of the system 10 is available as the CARTO (trademark) 3 system, obtainable from Biosense Webster, Inc., 31A Technology Drive, Irvine, CA 92618.

[0023] Generally, processor 22 may be embodied as a single processor or as a set of processors networked or clustered cooperatively. The functionality of the processor may be implemented only in hardware, for example, using one or more fixed function integrated circuits or general purpose integrated circuits, application-specific integrated circuits (ASICs), and / or field-programmable gate arrays (FPGAs). Alternatively, this functionality may be implemented at least in part in software. For example, the processor may be embodied as a programmed processor that includes, for example, a central processing unit (CPU) and / or a graphics processing unit (GPU). Program code and / or data including a software program may be loaded for execution and processing by the CPU and / or GPU. The program code and / or data may be downloaded to the processor in electronic form, for example, over a network. Alternatively or additionally, the program code and / or data may be provided to and / or stored on a non-transitory tangible medium such as a magnetic memory, an optical memory, or an electronic memory. Such program code and / or data, when provided to the processor, creates a machine or a dedicated computer configured to perform the tasks described herein.

[0024] In an example of the present disclosure, a physician desires to segment a mapped portion of a chamber of the heart 12 using a mesh of the chamber. In the following description, as an example, it is assumed that the chamber to be segmented is the left atrium (LA) of the heart 12, but those skilled in the art can adapt the description with necessary changes for other chambers or parts of the heart, as well as other organs or parts of organs of the patient 23, and all such adaptations are assumed to be within the scope of the present disclosure.

[0025] Figures 2A and 2B are schematic views of a section of the surface 100 of the LA of the heart 12 as may be presented to a physician 24 on a device 27, and FIG. 3 is a flowchart 150 of steps implemented to segment the LA according to an example of the present disclosure. The surface 100 is generated from a triangular mesh 104 underlying the LA as shown in the figure callout. The figure is of a first anatomical portion 108 assumed to include a portion of the pulmonary veins, which is connected to a second anatomical portion 112 assumed to include the left atrium itself.

[0026] In a first step 154 of the flowchart, the processor 22 presents an image of the surface 100 to the physician 24 on the display device 27. As described above, the processor generates the surface 100 from an underlying three-dimensional (3D) triangular mesh 104, and the mesh itself may be obtained by the processor calculating mapping measurements made by the physician 24 on the left atrium as described above, or by any other convenient method.

[0027] In a user input step 158, the physician 24 marks a plurality of points on the surface 100 assumed to be on a boundary dividing the anatomical portion 112 from the anatomical portion 108. The marking may be performed, for example, by the physician using a pointing device or, if possible, by touching the screen of the device 27. As an example, assume that six points are marked. The processor 22 registers the positions of the marked points and uses the registered positions to identify corresponding points 116A, 116B,... 116E, 116F on the mesh 104.

[0028] In a curve fitting step 162, the processor fits a curve, such as a B-spline curve, connecting the mesh points identified in step 158. The processor then samples points on the curve and projects the sampled points to the closest positions on the mesh 104.

[0029] The processor measures the distance between adjacent projected points and checks if the distance is less than a predetermined threshold distance. In one example, the predetermined threshold distance is five times the average length of the sides of the triangles of the mesh 104, but in other examples, the predetermined threshold distance is greater than or less than five times the average length.

[0030] If all distances are less than the predetermined threshold distance, the curve generated in step 162 is assumed to be a valid closed curve that includes a connection, also referred to herein as a link, between the points identified in step 158. Such a closed curve can be used as a boundary curve to segment the anatomical part 112 from the anatomical part 108.

[0031] Typically, when the geometry of the mesh 104 is complex, the measured distances may exceed the predetermined threshold distance. In such a case, the processor identifies the link between the corresponding points identified in step 158 and assumes that this link invalidates the closure of the projected curve, resulting in the corresponding identified points being disconnected, leaving an open curve. Such an open curve cannot be used as a segmentation curve.

[0032] FIG. 2A shows an open curve 132, and the processor calculates that the section of the curve between the cut points 116A and 116F, calculated in step 162, is invalid.

[0033] In decision step 164, the processor checks if step 162 resulted in a closed curve. If the decision is affirmative, in presentation step 168, the closed curve is incorporated into the surface 100 and displayed on the device 27, and the flowchart ends.

[0034] If the decision in step 164 is negative, in recalculation step 172, the processor calculates the shortest geodesic path on the mesh 104 between the cut points identified in step 162 and adds an additional point at the center of the path. The processor calculates a re - fitted curve using the additional points and the initial points identified in input step 158.

[0035] FIG. 2B shows an additional point 136 added by the processor at the midpoint of the geodesic path between cut points 116A and 116F.

[0036] The processor samples points on the re - fitted curve, projects the points onto the mesh, and measures the distance between adjacent projected points. The processor uses the measured distances to evaluate the re - fitted curve as described above for step 162 to determine whether the re - fitted curve is open or closed.

[0037] Next, the flowchart returns to decision step 162 as indicated by arrow 176.

[0038] It will be understood that decision step 164, recalculation step 172, and arrow 176 represent an iterative process performed by the processor 22 to achieve convergence, i.e., to generate a closed curve that can be used to segment anatomical parts 108 and 112.

[0039] FIG. 2B also shows a re - fitted curve 140 that the processor has evaluated as a closed curve, and the processor can use curve 140 as a closed segmentation curve to separate parts 108 and 112.

[0040] In some cases, even though a closed curve may be generated for a 3D mesh, the closed curve does not divide the mesh into two separate regions. An example of a 3D mesh for which this is true is when the mesh contains a topological hole, i.e., has a genus of one or more and the curve passes through the topological hole. Examples of the present disclosure address this problem as described with reference to FIGS. 4 and 5 below.

[0041] FIG. 4 is a schematic diagram of a 3D mesh 300 of a section of the heart 12 that can be presented to a physician 24 on a device 27, and FIG. 5 is a flowchart 400 of steps implemented to segment the mesh according to an example of the present disclosure. The mesh 300 has a topological hole 304 within the mesh and is assumed to be of the distal anatomical portion 308 and proximal anatomical portion 312 of the heart 12.

[0042] The first step 404 of the flowchart is generally similar to the first step 154 of flowchart 150, and an image of the section of the heart to be segmented is presented to the physician 24 on the display device 27. FIG. 4 shows the mesh 300 which is the underlying mesh, and as in the case of step 154, the mesh itself can be obtained by the processor calculating the mapping measurements made by the physician 24 on the corresponding section of the heart, as described above, or by any other convenient method.

[0043] In the user input step 408, the physician 24 marks points on the image of the section presented on the device 27 that are assumed to be on the boundary dividing the portion 312 from the portion 308. The processor assumes herein that the points include points 316A, 316B, 316C, and 316D, identifies the corresponding points generically referred to herein as points 316, and calculates a closed curve 332 connecting the points. In one example, the processor can calculate the closed curve using the algorithm represented by flowchart 150, but in other examples, any other convenient method can be used to determine the closed curve.

[0044] In the characterizing step 412, the processor characterizes the curve 332 by selecting a seed element of the mesh, where the seed element is assumed herein to be the triangle 338 on one side of the curve 332 and which can contact the curve. The processor then registers the triangles of the mesh that contact the seed triangle and do not intersect the curve 332, repeating the registration of the contacting triangles until all possible contacting triangles are registered. The processor records the number of registered triangles and proceeds to the decision step 416.

[0045] The decision step 416 determines whether the closed curve 332 corresponds to the boundary curve that segments the portions 308 and 312. If the number of triangles recorded in step 412 is a subset, i.e., less than the total number of triangles of the mesh 300, the subset of triangles occupies one of the portions 308 or 312. As a result, the closed curve 332 is assumed to be the boundary curve that segments the mesh and segments the portions 308 and 312. In this case, the return of the decision step is affirmative.

[0046] However, if the number of triangles recorded in step 412 is equal to the total number of triangles of the mesh 300, the triangles recorded in step 412 occupy the entire mesh, as would be the case if the closed curve 332 passes through the topological hole 304. In this case, the closed curve does not segment the mesh and the return of the decision step 416 is negative.

[0047] If the decision step 416 returns an affirmative, in the presenting step 420, the closed curve 332 is presented to the physician on the device 27 as the segmentation curve of the portions 308 and 312, and the flowchart ends.

[0048] If the decision step 416 returns a negative, the control transfers to the modified curve step 424, where a closed curve 336 different from the curve 332 is generated.

[0049] In step 424, each identified point 316, also referred to as point P in the callout of FIG. 4, is moved by a predetermined distance as described below, and a closed curve 336 is generated from the new points, substantially as described for input step 408.

[0050] Movement of Point P As shown in the callout of FIG. 4, the processor 22 constructs a tangent vector T to the curve 332 at point P and a vector N perpendicular to the mesh at point P. In the callout, the normal vector N is shown as a vector into the page.

[0051] The processor 22 calculates the cross product of T and N to obtain a unit direction vector D, as shown in Equation 1: D = k1(T × N) (1) Here, k1 is a constant that converts the cross product into a unit vector pointing in the distal direction.

[0052] Point P is moved by the vector S, defined according to Equation (2): S = k2D (2) Here, k2 is a preset constant. In one example, k2 is selected such that the magnitude of the movement of P, i.e., the step |S|, is half of the longest side of the triangles of the mesh in the vicinity of P.

[0053] In one example of the present disclosure, P may be moved distally or proximally by that step.

[0054] To determine whether the movement of P is distal or proximal, a vector V from P to the center point C of the mesh 300, also referred to herein as point 340, is calculated. The processor 22 calculates the dot product V·D and uses the dot product to set the movement of P as shown by condition (3): If V·D < 0, P is moved in the direction given by D, i.e., distally.

[0055] (3) When V·D > 0, P moves in the direction given by -D, i.e., proximally.

[0056] In any given iteration, it will be understood that all points 316 move distally or proximally in one direction by a given step so that the curve 332 also moves distally or proximally, as indicated by the arrows superimposed on the mesh 300.

[0057] Once all points 316 have been moved, a closed curve is calculated for the moved points and the curve is characterized, substantially as described above with respect to steps 408 and 412.

[0058] Control from the modified curve step 424 iteratively returns to the decision step 416 via the iteration count determination step 428.

[0059] In an example of the present disclosure, the processor 22 is configured to count the number of iterations performed by step 424. In one example, a threshold of 3 distal iterations and 3 proximal iterations is set for the movement of points 316. In the disclosed example, distal iterations are performed first, and if these do not return an affirmative from the decision step 416, proximal iterations are performed.

[0060] The decision step 428 checks whether the iteration threshold has been exceeded, which may be the case, for example, when the mesh geometry is complex. In this case, the decision step 428 returns an affirmative and in the reporting step 432, the physician 24 may be notified that the automatic segmentation of parts 308 and 312 has not been achieved and the flowchart ends.

[0061] If the threshold has not been exceeded, the decision step 428 returns a negative and the flowchart returns to the decision step 416 and the iteration continues.

[0062] In an example of the present disclosure, the algorithms shown by flowcharts 150 and 400, and the accompanying descriptions thereof, can be executed sequentially. Alternatively, each of the algorithms may be executed separately independently of other algorithms.

Example

[0063] The following examples relate to various non-exhaustive ways in which the teachings of this specification can be combined or applied. It should be understood that the following examples are not intended to limit any claims that may be presented at any time in this application or a subsequent application of this application. No waiver of any rights is intended. The following examples are provided for illustrative purposes only. It is contemplated that the various teachings of this specification can be configured and applied in many other ways. Also, in some variations, it is also contemplated that certain features mentioned in the following examples may be omitted. Accordingly, none of the aspects or features mentioned below should be considered important unless explicitly so indicated later by the inventors or their successors in title. If the claims presented in this application or a subsequent application related to this application include additional features other than those mentioned below, those additional features should not be considered to have been added for any reason related to patentability.

[0064] (Example 1) The system includes a display and a processor. The processor is configured to obtain a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part, receive an input from a user indicating a plurality of points corresponding to a boundary between the first anatomical part and the second anatomical part, fit a curve to the points, project the curve onto the mesh, and, following the projection of the curve onto the mesh, execute an iterative process until the curve is closed in response to the curve not being closed. Each iteration of the process includes adding to the points another point on the mesh between the endpoints of the curve and, after adding the other point, refitting the curve to the points. The processor is further configured to display the mesh on the display to distinguish the first anatomical part from the second anatomical part based on the curve.

[0065] (Example 2) The system according to Example 1, wherein the processor is configured to project the curve onto the mesh by adding to the points a plurality of interpolated points on the curve and, following the addition of the interpolated points, projecting each of the points onto the mesh.

[0066] (Example 3) The system according to Example 1 or 2, wherein the processor is configured to obtain the mesh by calculating the mesh.

[0067] (Example 4) The system according to any one of Examples 1 to 3, wherein the processor is configured to fit the curve using a B-spline.

[0068] (Example 5) The system according to any one of Examples 1 to 4, wherein adding another point includes calculating a path of a minimum geodesic distance passing between the endpoints on the mesh and adding another point at a midpoint of the path.

[0069] (Example 6) The system according to any one of Examples 1 to 5, wherein the first anatomical part includes the left atrial body of the heart and the second anatomical part includes the pulmonary vein.

[0070] (Example 7) The method includes obtaining a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part. The method further includes receiving from a user an input indicating a plurality of points corresponding to the boundary between the first anatomical part and the second anatomical part. The method further includes fitting a curve to the points and projecting the curve onto the mesh. The method further includes, subsequent to projecting the curve onto the mesh, in response to the curve not being closed, performing an iterative process until the curve is closed. Each iteration of the process includes adding to the points another point on the mesh between the endpoints of the curve and, after adding the other point, refitting the curve to the points.

[0071] (Example 8) Projecting the curve onto the mesh includes adding to the points a plurality of interpolated points on the curve and, subsequent to adding the interpolated points, projecting each of the points onto the mesh, the method according to Example 7.

[0072] (Example 9) Obtaining the mesh includes obtaining the mesh by computing the mesh, the method according to Example 7 or 8.

[0073] (Example 10) Fitting the curve includes fitting the curve using a B-spline, the method according to any one of Examples 7 to 9.

[0074] (Example 11) Adding another point includes computing a path of the minimum geodesic distance passing between the endpoints on the mesh and adding another point at the midpoint of the path, the method according to any one of Examples 7 to 10.

[0075] (Example 12) The method according to any one of Examples 7 to 11, wherein the first anatomical part includes the left atrial body of the heart and the second anatomical part includes the pulmonary vein.

[0076] (Example 13) The system includes a display and a processor. The processor is configured to obtain a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part, receive an input from a user indicating a boundary between the first anatomical part and the second anatomical part, based on the input, fit a closed curve to a plurality of points on the mesh, and execute an iterative process until the curve segments the mesh into two separate parts in response to the curve not segmenting the mesh into two separate parts. Each iteration of the process includes moving each of the points to another position on the mesh and, after moving each point, refitting the curve to the points. The processor is further configured to display the mesh on the display so as to distinguish the first anatomical part from the second anatomical part based on the curve.

[0077] (Example 14) The system according to Example 13, wherein moving each point includes calculating a tangent vector to the curve and a normal vector to the mesh at the point, calculating a direction vector from the cross product of the tangent vector and the normal vector, and moving the point in the direction of the direction vector.

[0078] (Example 15) The system according to Example 14, wherein calculating the direction vector includes calculating a pointing vector pointing from the center of the mesh to the point, calculating the components of the direction vector as the components of the cross product, and calculating the sign of the direction vector such that the dot product of the pointing vector and the direction vector has a predetermined sign.

[0079] (Example 16) The system of Example 14 or 15, wherein moving a point comprises moving the point by a direction vector scaled by a predetermined step size.

[0080] (Example 17) The system of Example 16, wherein the mesh is a triangular mesh including a plurality of sides, and the predetermined step size is half of the longest side among the sides within the vicinity of the curve.

[0081] (Example 18) The system of Example 16 or 17, wherein the direction vector is a unit vector.

[0082] (Example 19) The system of any one of Examples 13 to 18, wherein the first anatomical part includes the left atrial body of the heart and the second anatomical part includes the pulmonary vein.

[0083] (Example 20) The system of Example 13, comprising characterizing a curve by selecting seed elements of a mesh in response to fitting a closed curve, and iteratively registering and enumerating further elements of the mesh that contact the seed elements.

[0084] (Example 21) The method includes obtaining a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part. The method further includes receiving, from a user, an input indicating a boundary between the first anatomical part and the second anatomical part. The method further includes fitting a closed curve to a plurality of points on the mesh based on the input. The method further includes performing an iterative process until the curve segments the mesh into two separate parts in response to the curve not segmenting the mesh into two separate parts. Each iteration of the process includes moving each of the points to another position on the mesh and, after moving each point, refitting the curve to the points.

[0085] (Example 22) Moving each point includes calculating, at the point, a tangent vector to the curve and a normal vector to the mesh, calculating a direction vector from the cross product of the tangent vector and the normal vector, and moving the point in the direction of the direction vector, the method described in Example 21.

[0086] (Example 23) Calculating the direction vector includes calculating a pointing vector from the center of the mesh to the point, calculating the components of the direction vector as the components of the cross product, and calculating the sign of the direction vector such that the dot product of the pointing vector and the direction vector has a predetermined sign, the method described in Example 22.

[0087] (Example 24) Moving the point includes moving the point only by the direction vector scaled by a predetermined step size, the method described in Example 22 or 23.

[0088] (Example 25) The mesh is a triangular mesh including a plurality of sides, and the predetermined step size is half of the longest side among the sides within the vicinity of the curve, the method described in Example 24.

[0089] (Example 26) The direction vector is a unit vector, the method described in Example 24 or 25.

[0090] (Example 27) The first anatomical part includes the left atrial body of the heart, and the second anatomical part includes the pulmonary vein, the method described in any of Examples 21 to 26.

[0091] (Example 28) Characterizing the curve by selecting seed elements of the mesh in response to the fitting of the closed curve, and iteratively registering and listing further elements of the mesh that contact the seed elements, the method described in Example 21.

[0092] It will be understood by those skilled in the art that the disclosure is not limited to what is specifically shown and described herein. Rather, the scope of the disclosure includes combinations and sub - combinations of the various features described herein, as well as variations and modifications of features not found in the prior art that would occur to those skilled in the art upon reading the foregoing description. Documents incorporated by reference into this patent application should be considered an integral part of this application, provided, however, that only the definitions in this specification should be considered if any term in these incorporated documents is defined in a manner inconsistent with the definitions expressly or implicitly made in this specification.

[0093] 〔Embodiment〕 (1) A system, comprising: a display; a processor configured to: acquire a three - dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part; receive an input from a user indicating a plurality of points corresponding to a boundary between the first anatomical part and the second anatomical part; fit a curve to the points and project the curve onto the mesh; subsequent to projecting the curve onto the mesh, in response to the curve not being closed, execute an iterative process until the curve is closed, each iteration of the process comprising: adding to the points another point on the mesh between the endpoints of the curve; after adding the other point, refitting the curve to the points and displaying the mesh on the display to distinguish the first anatomical part from the second anatomical part based on the curve; A system comprising the above. (2) The processor is further configured to: add a plurality of interpolated points on the curve to the points; The system according to Embodiment 1, configured to project the curve onto the mesh by, following the addition of the interpolated points, projecting each of the points onto the mesh. (3) The system according to Embodiment 1 or 2, wherein the processor is configured to obtain the mesh by calculating the mesh. (4) The system according to any one of Embodiments 1 to 3, wherein the processor is configured to fit the curve using a B-spline. (5) The adding of the another point includes calculating a path of a minimum geodesic distance passing between the end points on the mesh, and adding the another point at a midpoint of the path, and the system according to any one of Embodiments 1 to 4.

[0094] (6) The system according to any one of Embodiments 1 to 5, wherein the first anatomical part includes a left atrial body of the heart and the second anatomical part includes a pulmonary vein. (7) A method comprising: obtaining a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part; receiving, from a user, an input indicating a plurality of points corresponding to a boundary between the first anatomical part and the second anatomical part; fitting a curve to the points and projecting the curve onto the mesh; after projecting the curve onto the mesh, in response to the curve not being closed, performing an iterative process until the curve is closed, and each iteration of the process includes adding, to the points, another point on the mesh between end points of the curve; and after adding the another point, refitting the curve to the points. (8) The projecting of the curve onto the mesh includes adding, to the points, a plurality of interpolated points on the curve. The method according to embodiment 7, further comprising, subsequent to adding the interpolated points, projecting each of the points onto the mesh. (9) The method according to embodiment 7 or 8, wherein obtaining the mesh includes obtaining the mesh by calculating the mesh. (10) The method according to any one of embodiments 7 to 9, wherein fitting the curve includes fitting the curve using a B-spline.

[0095] (11) Adding the another point includes: calculating a path of a minimum geodesic distance passing between the end points on the mesh; and adding the another point at a midpoint of the path, the method according to any one of embodiments 7 to 10. (12) The method according to any one of embodiments 7 to 11, wherein the first anatomical part includes a left atrial body of the heart and the second anatomical part includes a pulmonary vein. (13) A system, comprising: a display; a processor, configured to: acquire a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part; receive an input from a user indicating a boundary between the first anatomical part and the second anatomical part; fit a closed curve to a plurality of points on the mesh based on the input; in response to the curve not segmenting the mesh into two separate parts, execute an iterative process until the curve segments the mesh into two separate parts, each iteration of the process including: moving each of the points to another position on the mesh; and after moving each point, refitting the curve to the points. configured to perform: displaying the mesh on the display so as to distinguish the first anatomical part from the second anatomical part based on the curve; a processor; A system comprising. (14) Moving each point includes calculating, at the point, a tangent vector to the curve and a normal vector to the mesh; calculating a direction vector from an outer product of the tangent vector and the normal vector; moving the point in the direction of the direction vector; The system according to embodiment 13, including. (15) Calculating the direction vector includes calculating a pointing vector pointing from the center of the mesh to the point; calculating components of the direction vector as components of the outer product; calculating the sign of the direction vector such that a dot product of the pointing vector and the direction vector has a predetermined sign. The system according to embodiment 14, including.

[0096] (16) Moving the point includes moving the point only by the direction vector scaled by a predetermined step size. The system according to embodiment 14 or 15. (17) The mesh is a triangular mesh including a plurality of sides, and the predetermined step size is half of the maximum side among the sides within the vicinity of the curve. The system according to embodiment 16. (18) The direction vector is a unit vector. The system according to embodiment 16 or 17. (19) The first anatomical part includes the left atrial body of the heart, and the second anatomical part includes the pulmonary vein. The system according to any one of embodiments 13 to 18. (20) The system of embodiment 13, comprising: characterizing the curve by selecting seed elements of the mesh in response to the fitting of the closed curve, and repeatedly registering and enumerating further elements of the mesh that contact the seed elements.

[0097] (21) A method, comprising: obtaining a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part; receiving from a user an input indicating a boundary between the first anatomical part and the second anatomical part; fitting a closed curve to a plurality of points on the mesh based on the input; executing an iterative process until the curve segments the mesh into two separate parts, in response to the curve not segmenting the mesh into two separate parts, each iteration of the process comprising: moving each of the points to another position on the mesh; after moving each point, refitting the curve to the points. (22) Moving each point comprises: calculating a tangent vector to the curve and a normal vector to the mesh at the point; calculating a direction vector from an outer product of the tangent vector and the normal vector; moving the point in the direction of the direction vector. The method of embodiment 21, comprising. (23) Calculating the direction vector comprises: calculating a pointing vector pointing from the center of the mesh to the point; calculating components of the direction vector as components of the outer product; calculating a sign of the direction vector such that a dot product of the pointing vector and the direction vector has a predetermined sign. (24) Moving the point includes moving the point by only the direction vector scaled by a predetermined step size, the method according to embodiment 22 or 23. (25) The mesh is a triangular mesh including a plurality of sides, and the predetermined step size is half of the longest side among the sides within the vicinity of the curve, the method according to embodiment 24.

[0098] (26) The direction vector is a unit vector, the method according to embodiment 24 or 25. (27) The first anatomical part includes the left atrial body of the heart, and the second anatomical part includes the pulmonary vein, the method according to any one of embodiments 21 to 26. (28) Characterizing the curve by selecting seed elements of the mesh in response to fitting of the closed curve, and repeatedly registering and listing further elements of the mesh that contact the seed elements, the method according to embodiment 21.

Claims

1. A system comprising: a display; a processor configured to: obtain a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part; receive from a user an input indicating a plurality of points corresponding to a boundary between the first anatomical part and the second anatomical part; fit a curve to the points and project the curve onto the mesh; subsequent to projecting the curve onto the mesh, in response to the curve not being closed, execute an iterative process until the curve is closed, each iteration of the process comprising: adding to the points another point on the mesh between the endpoints of the curve; after adding the another point, refitting the curve to the points and displaying the mesh on the display to distinguish the first anatomical part from the second anatomical part based on the curve; a processor;

2. The processor is configured to project the curve onto the mesh by: adding to the points a plurality of interpolated points on the curve; and subsequent to adding the interpolated points, projecting each of the points onto the mesh, the system of claim 1.

3. The processor is configured to obtain the mesh by calculating the mesh, the system of claim 1 or 2.

4. The processor is configured to fit the curve using a B-spline, the system of claim 1.

5. Adding the another point comprises: calculating a path of a minimum geodesic distance passing between the endpoints on the mesh; and adding the another point at a midpoint of the path, the system of claim 1.

6. The first anatomical part includes a left atrial body of the heart and the second anatomical part includes a pulmonary vein, the system of claim 1.

7. A method comprising: obtaining a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part; receiving from a user an input indicating a plurality of points corresponding to a boundary between the first anatomical part and the second anatomical part; fitting a curve to the points and projecting the curve onto the mesh; Following the projection of the curve onto the mesh, in response to the curve not being closed, performing an iterative process until the curve is closed, wherein each iteration of the process comprises: adding to the point another point on the mesh between the endpoints of the curve; subsequent to adding the other point, re-fitting the curve to the point, a method. **Claim 8** Projecting the curve onto the mesh comprises: adding to the point a plurality of interpolated points on the curve; subsequent to adding the interpolated points, projecting each of the points onto the mesh, the method according to claim 7. **Claim 9** Obtaining the mesh comprises obtaining the mesh by calculating the mesh, the method according to claim 7 or 8. **Claim 10** Fitting the curve comprises fitting the curve using a B-spline, the method according to claim 7. **Claim 11** Adding the other point comprises: calculating a path of minimum geodesic distance passing between the endpoints on the mesh; adding the other point at the midpoint of the path, the method according to claim 7. **Claim 12** The first anatomical part comprises the left atrial body of the heart, and the second anatomical part comprises a pulmonary vein, the method according to claim 7. **Claim 13** A system comprising: a display; a processor configured to: obtain a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to the first anatomical part; receive from a user an input indicating a boundary between the first anatomical part and the second anatomical part; fit a closed curve to a plurality of points on the mesh based on the input; in response to the curve not segmenting the mesh into two separate parts, performing an iterative process until the curve segments the mesh into two separate parts, wherein each iteration of the process comprises: moving each of the points to another position on the mesh; subsequent to moving each point, re-fitting the curve to the points; displaying the mesh on the display to distinguish the first anatomical part from the second anatomical part based on the curve. A system comprising

14. Moving each point comprises At said point, calculating a tangent vector to said curve and a normal vector to said mesh; Calculating a direction vector from the cross product of said tangent vector and said normal vector; Moving said point in the direction of said direction vector, The system according to claim 13, comprising

15. Calculating said direction vector comprises Calculating a pointing vector pointing from the center of said mesh to said point; Calculating the components of said direction vector as the components of said cross product; Calculating the sign of said direction vector such that the dot product of said pointing vector and said direction vector has a predetermined sign, the system according to claim 14, comprising

16. Moving said point comprises moving said point only by said direction vector scaled by a predetermined step size, the system according to claim 14 or 15.

17. Said mesh is a triangular mesh comprising a plurality of sides, and said predetermined step size is half of the longest side among said sides within the vicinity of said curve, the system according to claim 16.

18. Said direction vector is a unit vector, the system according to claim 16.

19. Said first anatomical part comprises the left atrial body of the heart, and said second anatomical part comprises a pulmonary vein, the system according to claim 13.

20. Characterizing said curve by selecting seed elements of said mesh in response to the fitting of said closed curve, and iteratively registering and listing further elements of said mesh in contact with said seed elements, the system according to claim 13.

21. A method comprising Obtaining a three-dimensional mesh representing a first anatomical part and a second anatomical part connected to said first anatomical part; Receiving an input from a user indicating a boundary between said first anatomical part and said second anatomical part; Fitting a closed curve to a plurality of points on said mesh based on said input; Executing an iterative process until said curve segments said mesh into two separate parts in response to said curve not segmenting said mesh into two separate parts, each iteration of said process comprising Moving each of the points to a different position on the mesh; After moving each point, re - fitting the curve to the points, a method. **Claim 22** Moving each point comprises: At the point, calculating a tangent vector to the curve and a normal vector to the mesh; Calculating a direction vector from the cross - product of the tangent vector and the normal vector; Moving the point in the direction of the direction vector; The method according to claim 21, comprising the above. **Claim 23** Calculating the direction vector comprises: Calculating a pointing vector pointing from the center of the mesh to the point; Calculating the components of the direction vector as the components of the cross - product; Calculating the sign of the direction vector such that the dot - product of the pointing vector and the direction vector has a predetermined sign, the method according to claim 22, comprising the above. **Claim 24** Moving the point comprises moving the point only by the direction vector scaled by a predetermined step size, the method according to claim 22 or 23. **Claim 25** The mesh is a triangular mesh including a plurality of sides, and the predetermined step size is half of the longest side among the sides within the vicinity of the curve, the method according to claim 24. **Claim 26** The direction vector is a unit vector, the method according to claim 24. **Claim 27** The first anatomical part includes the left atrial body of the heart, and the second anatomical part includes the pulmonary veins, the method according to claim 21. **Claim 28** Characterizing the curve by selecting seed elements of the mesh in response to the fitting of the closed curve, and iteratively registering and enumerating further elements of the mesh in contact with the seed elements, the method according to claim 21.