System and method for context preserving maps of tubular structures
09792729 · 2017-10-17
Assignee
Inventors
- Arie Kaufman (Plainview, NY, US)
- Xianfeng David Gu (Plainview, NY, US)
- Joseph Marino (Port Jefferson Station, NY, US)
- Wei Zeng (Stony Brook, NY, US)
Cpc classification
G06T19/00
PHYSICS
International classification
Abstract
A computer-based method for generating a context preserving mapping of tubular structures represented by a 3D dataset having the steps of projecting a skeleton of a 3D tubular structure on to a 2D plane, and adjusting the projected skeleton to correct projection imbued distortion in skeleton length. The 2D projected skeleton is processed to remove intersections, and a surface boundary around the 2D skeleton is determined for the map. The 3D surface of the skeleton is mapped to match the 3D boundary to create a 3D map of the tubular structure.
Claims
1. A computer-based method for context preserving mapping of tubular structures represented by a three-dimensional (3D) dataset comprising: using a computer processor, processing the 3D dataset to project a skeleton of a 3D tubular structure on to a two-dimensional (2D) plane; using the computer processor, processing the projected skeleton to remove intersections and to untangle the skeleton, wherein the untangling comprises first searching for abutments, then searching for loops, and then searching for crossings; using the computer processor, determining a 3D boundary for a map of the tubular structure about the skeleton; and using the computer processor, mapping a 3D surface of the skeleton to match the 3D boundary to create a 3D map.
2. The method of claim 1, further comprising further processing to modify the skeleton to separate areas lying close to each other.
3. The method of claim 1, further comprising volumetric ray casting through an original CT data from which a mesh is extracted to generate a more detailed 3D map.
4. The method of claim 1, wherein a surface of a 2D structure of a 2D map is mapped to a surface of a 2D rectangle.
5. The method of claim 4, wherein the 2D map is mapped using Ricci flow.
6. The method of claim 1, wherein determining the boundary comprises slicing open the skeleton from end to end and corresponding each boundary vertex with the skeleton.
7. The method of claim 6, further comprising embedding each boundary vertex into 2D at an associated radius orthogonal to the 2D skeleton.
8. The method of claim 1, wherein the projection of the skeleton is based on a discretized skeleton curve.
9. The method of claim 1, further comprising adjusting the projected skeleton to correct projection imbued distortion in skeleton length prior to processing the skeleton.
10. The method of claim 9, wherein the adjusting the skeleton comprises straightening and lengthening the skeleton.
11. The method of claim 10, wherein lengthening of the skeleton comprises bending a straight skeleton with even spacing into a shape of a projected skeleton.
12. The method of claim 1, wherein the projecting of the skeleton comprises projecting points of an orthogonal projection of a 3D skeleton on a 2D plane.
13. The method of claim 1, further comprising viewing the 3D map on a display.
14. The method of claim 1, wherein the tubular structure is internal to a human body.
15. A system for context preserving mapping of tubular structures represented by a three-dimensional (3D) dataset comprising: a computer hardware arrangement configured to: project a skeleton of a 3D tubular structure on to a two-dimensional (2D) plane; process the skeleton to remove intersections and to untangle the skeleton, wherein the untangling comprises first searching for abutments, then searching for loops, and then searching for crossings; determine a 3D boundary for a map; and map a 3D surface of the skeleton to match the 3D boundary to create a 3D map.
16. The system of claim 15, wherein the computer hardware arrangement is further configured to adjust the projected skeleton to correct projection imbued distortion in the skeleton prior to processing the skeleton.
17. A non-transitory computer readable media having instructions encoded thereon readable by a computer processor for performing generating context preserving mapping of tubular structures represented by a three-dimensional (3D) dataset, the instructions comprising: instructions for a computer processor to process the 3D dataset to project a skeleton of a 3D tubular structure on to a two-dimensional (2D) plane; instructions for the computer processor to process the projected skeleton to remove intersections and to untangle the skeleton, wherein the untangling comprises first searching for abutments, then searching for loops, and then searching for crossings; instructions for the computer processor to determine a 3D boundary for a map of the tubular structure about the skeleton; and instructions for the computer processor to map a 3D surface of the skeleton to match the 3D boundary to create a 3D map.
18. A computer-based method for context preserving mapping of tubular structures represented by a three-dimensional (3D) dataset comprising: using a computer processor, processing the 3D dataset to project a skeleton of a 3D tubular structure on to a two-dimensional (2D) plane; using the computer processor, adjusting the projected skeleton to correct projection imbued distortion in skeleton length by straightening and lengthening the skeleton, wherein the lengthening of the skeleton comprises bending a straight skeleton with even spacing into a shape of a projected skeleton; using the computer processor, processing the projected skeleton to remove intersections; using the computer processor, determining a 3D boundary for a map of the tubular structure about the skeleton; and using the computer processor, mapping a 3D surface of the skeleton to match the 3D boundary to create a 3D map.
19. The method of claim 18, further comprising further processing to modify the skeleton to separate areas lying close to each other.
20. The method of claim 18, further comprising volumetric ray casting through an original CT data from which a mesh is extracted to generate a more detailed 3D map.
21. The method of claim 18, wherein a surface of a 2D structure of a 2D map is mapped to a surface of a 2D rectangle.
22. The method of claim 21, wherein the 2D map is mapped using Ricci flow.
23. The method of claim 18, wherein determining the 3D boundary comprises slicing open the skeleton from end to end and corresponding each boundary vertex with the skeleton.
24. The method of claim 23, further comprising embedding each boundary vertex into 2D at an associated radius orthogonal to the 2D skeleton.
25. The method of claim 18, wherein the projection of the skeleton is based on a discretized skeleton curve.
26. The method of claim 18, wherein the projecting of the skeleton comprises projecting points of an orthogonal projection of a 3D skeleton on a 2D plane.
27. The method of claim 18, further comprising viewing the 3D map on a display.
28. The method of claim 18, wherein the tubular structure is internal to a human body.
29. The method of claim 18, wherein the processing comprises untangling the skeleton.
30. The method of claim 29, wherein the untangling of the skeleton comprises searching the skeleton for at least one of abutments, loops or crossings.
31. The method of claim 30, wherein a priority for searching the skeleton comprises first searching for abutments, then searching for loops, and then searching for crossings.
32. A system for context preserving mapping of tubular structures represented by a three-dimensional (3D) dataset comprising: a computer hardware arrangement configured to: project a skeleton of a 3D tubular structure on to a two-dimensional (2D) plane; adjust the projected skeleton to correct projection imbued distortion in skeleton length by straightening and lengthening the skeleton, wherein the lengthening of the skeleton comprises bending a straight skeleton with even spacing into a shape of a projected skeleton; process the skeleton to remove intersections; determine a 3D boundary for a map; and map a 3D surface of the skeleton to match the 3D boundary to create a 3D map.
33. A non-transitory computer readable media having instructions encoded thereon readable by a computer processor for performing generating context preserving mapping of tubular structures represented by a three-dimensional (3D) dataset, the instructions comprising: instructions for a computer processor to process the 3D dataset to project a skeleton of a 3D tubular structure on to a two-dimensional (2D) plane; instructions for the computer processor to adjust the projected skeleton to correct projection imbued distortion in skeleton length by straightening and lengthening the skeleton, wherein the lengthening of the skeleton comprises bending a straight skeleton with even spacing into a shape of a projected skeleton; instructions for the computer processor to process the projected skeleton to remove intersections; instructions for the computer processor to determine a 3D boundary for a map of the tubular structure about the skeleton; and instructions for the computer processor to map a 3D surface of the skeleton to match the 3D boundary to create a 3D map.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Further objects, features and advantages of the present disclosure will become apparent from the following detailed description taken in conjunction with the accompanying Figures showing illustrative embodiments of the present disclosure, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29) Throughout the drawings, the same reference numerals and characters, unless otherwise stated, are used to denote like features, elements, components, or portions of the illustrated embodiments. Moreover, while the present disclosure will now be described in detail with reference to the Figures, it is done so in connection with the illustrative embodiments and is not limited by the particular embodiments illustrated in the Figures.
DETAILED DESCRIPTION OF THE DISCLOSURE
(30) The exemplary embodiments of the present disclosure may be further understood with reference to the following description and the related appended drawings. The exemplary embodiments of the present disclosure relate to an exemplary system, method and computer readable medium for context preserving mapping of tubular structures. Specifically, the exemplary system, method and computer readable medium creates a 2D representation of a 3D tubular structure allowing the viewer to easily determine the particular 3D location being viewed. The exemplary embodiments are described with reference to a colon, although those having ordinary skill in the art will understand that the exemplary embodiments of the present disclosure may be implemented on any generally tubular structure.
(31) The creation of a context preserving map is based upon manipulating the skeleton of the structure, which can be found using any of the standard methods.
(32) The original skeleton of the 3D structure can be first projected to a 2D plane, such that all Z values become zero. Since this projection can be used as the basis for a map, perspective distortion is unnecessary, and even detrimental, and thus an orthogonal projection can be used. The projection can be performed using the standard orthogonal projection matrix, for example:
(33)
where u and v can be the right and up vectors of the projection plane.
(34) The projection plane can be chosen to be an optimal viewing plane for the structure. For most types of objects, especially in medical applications, a canonical view is known in the art to provide a view that is familiar to the user. If such a view is not known a priori, a plane which minimizes structural overlap and skeletal intersections can be used. A 2D projected skeleton of the colon of
(35) When performing the orthogonal projection to project the 3D structure on to a 2D plane, the lengths of certain portions of the skeleton can be substantially diminished if the segment direction is aligned with the view direction of the projection plane. The closer to parallel the segment direction and view direction are, the greater the loss of length. To recover this length in the 2D skeleton, a lengthening procedure can be applied that bends a straight skeleton with even spacing into the shape of the projected skeleton.
(36) For every point along the projected skeleton (except endpoints), its two neighboring skeleton points can be used to create two vectors V.sub.1 and V.sub.2, and the angle between them can be calculated in a standard way based on the law of cosines:
(37)
(38) All of the points in the skeleton can then be set in a straight line, with equal spacing between them equivalent to the original spacing of the 3D discretized skeleton. Starting at the beginning, the corresponding angle θ can be used to rotate points p=(x.y) around the current point p.sub.0=(x.sub.0. y.sub.0) as follows:
(39)
(40) If the original rotation was clockwise instead of counterclockwise in relation to the normal of the projection plane, then the transpose of the matrix can be used accordingly. This can be performed for all points along the skeleton until the end is reached. After this process, the length of the skeleton from its original 3D shape can be substantially preserved, while the geometric structure of the projected 2D skeleton can also be substantially preserved. The lengthened 2D skeleton of a colon is shown in
(41) Given the lengthened 2D projected skeleton, the 2D projected skeleton can be untangled such that no intersections are present. This process can maintain the general shape of the structure (see
(42)
(43) An abutment (see
(44) To remove these intersections, all intersections of the skeleton are first found. Each intersection can be located twice within the list, once for each time it is encountered when tracing the path. The list of intersections can then searched to locate the three different types listed above. Given that an intersection is made of two intersecting line segments in the discrete case, each intersection can be represented by four points, the first two points representing the endpoints of the first line segment and the second two points representing the endpoints of the second line segment along the skeleton. The points themselves are ordered as their order along the skeleton. Each of the three intersections can be identified as described below:
(45) An abutment, as shown in
(46) After searching the list of intersections, the first intersection of the highest priority that is found can be corrected first. The priority of intersections, in order from high priority to low priority can be an abutment, a loop, and then a crossing. Correction of each type of intersection is described below.
(47) An abutment can be removed by simply setting the offending point 315 to the average of its two neighbor points. This is illustrated in the right hand side of
(48) Since performing one correction can cause new intersections to arise, the skeleton can be searched again after every correction procedure to find all remaining intersections (See
(49) After the untangling procedure, several segments of the skeleton can lie very close to each other due to the orientation of the projection plane as shown in regions 600 and 610 of
(50) Given the untangled skeleton path of the 3D structure, the boundary for the flattened surface can be determined and placed in relation to it. In addition to preserving the overall contour of the skeleton of the structure, it is desirable to represent the general size of structure along the skeleton. This can be accomplished calculating the approximate radius along the skeleton and using it to control the layout of the boundary. This can have the effect of condensing the surface perpendicular to the skeleton, but the overall relation of size between regions can still be observed.
(51) In mapping a tubular structure to a plane, it can be beneficial if the structure has a single boundary. The structure can be discretely represented by a closed surface triangular mesh (i.e., without boundaries), which is initially topologically equivalent to the sphere in 1R3 (it has an Euler characteristic number x=2). To make the surface instead topologically equivalent to a plane in L3, it can be sliced open from one end to the other, creating a single boundary. Although this boundary could technically be located anywhere, it is beneficial if it matches the skeleton on the original structure.
(52) To locate the path along which the mesh is to be sliced open, Dijkstra's shortest path algorithm can be used. This algorithm is advantageous for structures with features such as bumps and valleys, through which the cutting line should not pass, as Dijkstra's algorithm naturally tends to avoid these areas and instead locates a path along more uniform regions. In the case of the colon, this means that the slicing path will generally not go through features such as the haustral folds. For Dijkstra's algorithm, the starting point can be taken to be the vertex on the surface mesh nearest to one end of the 3D skeleton. The target point can then be taken as usual as the surface vertex with the greatest distance from the source. Alternatively, the surface vertex located nearest to the other end of the skeleton can be taken as the target.
(53) Given a path 700 along the surface to use for slicing open the tubular structure of
(54) As the boundary vertices are mapped to a surface around the 2D skeleton, each boundary vertex can have a correspondence to a position along the skeleton. Two corresponding boundary vertices (i.e., an original vertex from the unsliced mesh and a newly created vertex from the slicing at the same position) are both associated with the same position along the skeleton. The four end vertices on the boundary that result from punching holes at each end can be treated as corner points and are not associated with the skeleton, as they do not contribute to the mapped shape. For all boundary vertices (other than corresponding pairs as mentioned), it is preferable that no two boundaries are associated with the same location along the skeleton.
(55) Since the twists and turns of a structure can often lead to situations where the closest skeletal point for a boundary vertex is actually in a separate section, the location of correspondences between the skeleton and boundary can be created based on finding the nearest boundary point for each skeleton point, determining boundary to skeleton correspondences from the nearest boundary point, and then interpolating positions for boundary points which were not indicated by a skeleton point. The correspondences can be determined for the set of original surface vertices on the slicing path, and then duplicated to the newly created vertices. The first and last vertices along the slicing path can be mapped to the first and last position along the skeleton. An exemplary algorithm for this procedure can be seen below. It should be noted, that the algorithm below is for exemplary purposes only, and an alternate algorithm may be used.
(56) TABLE-US-00001 for all skeleton points do Find nearest boundary vertex end for for all vertices on slicing path do Find all skeleton points indicated as correspondences Take center of those points as true correspondence end for for all vertices on slicing path without correspondence do Interpolate neighbors end for
(57) The correspondences (excluding the two end points) can then be smoothed through several iterations by setting the current boundary's correspondence position to the average of its two neighbors. The results of this correspondence are shown in
(58) The radius for each point along the skeleton can be determined based on the correspondence with the boundary vertices explained above. An exemplary algorithm for this procedure can be seen below. It should be noted, that the algorithm below is for exemplary purposes only, and an alternate algorithm may be used.
(59) TABLE-US-00002 for all skeleton points s do for all boundary vertices v do if v corresponds to segment containing s then Accumulate weighted distance Accumulate weight end if end for end for for all skeleton points do if weight is not zero then divide distance by weight end if end for for all skeleton points without radius do Interpolate neighbors end for
(60) The radii of the skeleton points can then be iteratively smoothed (again excluding the endpoints) by averaging each skeleton point's radius and its two neighbors.
(61) The position of the boundary can be determined for every boundary vertex. For every vertex on the slice path (original vertices and newly created vertices), the boundary location on the 2D map for a vertex v can be calculated based on the discrete 2D skeleton points preceding and following the vertex's location on the skeleton. The positions of these before and after points can be p1=(p1.sub.x, p1.sub.y,) and p2=(p2.sub.x, p2.sub.y), and the radii for the two points can be r1 and r2, respectively. The normalized distance from p1 can be represented by {acute over (α)}. The new mapped position p for each vertex on the slice path can be calculated using the following exemplary method
(62)
(63) where M.sub.0 can be the original unsliced mesh. The boundary points not on the slice path (from when the holes were punched) can be set to equal intervals between the nearest sliced vertices. A smoothing operation can be applied to remove intersections that might occur, while still preserving the overall general geometric structure. An example of the boundary for the mapping can be seen in
(64) Given the projected and spaced 2D skeleton of the structure and the boundary placement generated as the target domain S.sub.2, the original 3D sliced colon surface S.sub.1 can be mapped to the plane. Such mapping preserves the original projected curved information.
(65) Discrete Ricci flow can be used to map the open surface S.sub.1 to a rectangle D.sub.1 conformally, θ.sub.1: S.sub.1.fwdarw.D.sub.1. Similarly, the target domain S.sub.2 can be mapped to another rectangle D.sub.2 conformally, θ.sub.2: S.sub.2.fwdarw.D.sub.2. Using harmonic mapping, the one-to-one and onto correspondence D.sub.1 and D.sub.2 h: D.sub.1.fwdarw.D.sub.2 can be computed. Finally, the 2D correspondence can be lifted to the 3D surfaces, f: S.sub.1.fwdarw.S.sub.2 and the original 3D surface can be mapped to the designed target domain. The pipeline for the discrete Ricci flow can be represented by the following equation:
(66)
(67) The final result can then be rendered either using mesh rendering with vertex normal information stored from the original structure, or using volume rendering through the original volumetric dataset.
(68) To map the 3D surface to the 2D plane, discrete Ricci flow can be used. Ricci flow is a powerful tool for geometric analysis, and it has been used to successfully prove the Poincaré conjecture. It behaves like heat diffusion, deforming one Riemannian metric to another Riemannian metric conformally, which can be shown in the following equation:
(69)
where g is the Riemannian metric and K is the target curvature.
(70) For the sliced colon surface, the boundary sides between each two corners can be mapped to a straight segment, and the four corners can be mapped to be the right corners of a rectangle. At the same time, the interior surface can be mapped conformally to the plane. Therefore, for discrete Ricci flow, the target curvature of four corners can be set to be
(71)
and the curvatures of other boundary vertices and interior vertices can be set to be zero. Similarly, for the generated target domain, the corresponding corner vertices and boundary sides can be computed, the same target curvature can be set, and its conformal rectangular mapping can be obtained. As a mesh can be used for this, the 2D boundary samples can be used as constraints and can perform a constrained Delaunay triangulation to generate the triangular target domain.
(72) Next the one-to-one and onto correspondence can be computed between two rectangles by minimizing the harmonic energy. The resulting harmonic mapping obtains the smoothest deformation between two rectangles. In general, the original 3D colon surface S.sub.1 and the 2D target domain S.sub.2 arc not conformally equivalent. Their conformal modules (the ratios between height and width for the conformal mappings D.sub.1 and D.sub.2) can be quite different.
(73) From the computation of the target boundary placement, the correspondence of boundary vertices can be known. The positions of the target boundary vertices can then be used as the constrained condition in the harmonic mapping, as shown in the following equations:
(74)
where v.sub.i is the ith vertex and (i,j) is the edge of <v.sub.i, v.sub.j> in the discrete triangular mesh D.sub.2.
(75) The rectangle D.sub.2 of the target curved domain S.sub.2 can be mapped to the rectangle D.sub.1 of the 3D sliced colon surface S.sub.1 to get D′.sub.2. Now D′.sub.2 and D.sub.1 are well aligned. Then, the correspondence h: D.sub.1.fwdarw.D.sub.2 can be obtained. Therefore, the correspondence between 3D surfaces can be recovered by f=θ.sub.2.sup.−1 h o θ.sub.1: S.sub.1.fwdarw.S.sub.2. The 3D colon surface is now mapped to the target boundary domain, as shown in
(76) The flattened map can then be volume rendered (e.g., using original computed tomography) similarly to how other flattened surfaces have been rendered as known in the art. Given the flattened (u, v) coordinates for each vertex, these can be used to place the map in the 2D plane. Each vertex's original (x, y, z) coordinates can then be used to reference the original location within the volume from which the surface was extracted.
(77) For each vertex, a virtual camera position can also be established. This position can be taken to be the nearest skeleton point in relation to the flattened mesh. Since the boundary points are already associated with a skeleton point, the nearest boundary vertex can be found for each inner vertex. The boundary vertex's corresponding skeleton point can then be taken to be the virtual camera position for that vertex. Using this information, volumetric ray casting can be performed to generate the final images (see
(78) The colon data used can generally come from volumes with an approximate size of 512×512×400 voxels. Preprocessing of the volumes can include electronic cleansing, segmentation, triangular mesh extraction, and skeleton extraction, processes which are known in the art. The meshes obtained can be very large (typically over 1.5 million faces) and can be simplified to approximately 5% of their original size. The skeleton can be discretized using various spacing (e.g., a spacing of 1 mm). The exemplary system, method and computer readable medium can be useful in mapping colon surfaces, which are notoriously twisty, to a plane in such a way that preserves the overall context.
(79) In the exemplary method, major bends of the colon can be preserved, and an indication of the colon's radius along the skeleton is also present. In addition to the colon shown in
(80) Compared with straightened mappings, these exemplary context preserving maps allow for a greater understanding of the general geometry of the structure. The colon in
(81) In addition to better preserving the geometric structure, the exemplary maps can also make more intuitive use of a region that is squarer than round. This is readily observable when comparing the context preserving map from
(82) The exemplary method has the advantage in creating flattened maps of 3D tubular structures which preserve the overall geometric context of the object. The exemplary method is based on first projecting the skeleton of the structure to the optimal 2D plane. This 2D skeleton can then be untangled and adjusted to approximate the geometric shape of the object. A boundary can be placed around the adjusted 2D skeleton to define the boundary of the object that is sliced opened to be mapped. Using this boundary, the 3D sliced surface can be mapped using discrete Ricci flow to a rectangle, and this rectangle can then be deformed using harmonic mapping to match the target boundary. The exemplary method performs the flattening operation such that it creates a context preserving map of the structure. The user can then observe their progression along this map as they navigate inside the structure, without worrying about regions being occluded.
(83)
(84) As shown in
(85) Further, the exemplary processing arrangement 1202 can be provided with or include an input/output arrangement 1214, which can include, e.g., a wired network, a wireless network, the internet, an intranet, a data collection probe, a sensor, etc. As shown in
(86) Any and all references specifically identified in the specification of the present application are expressly incorporated herein in their entirety by reference thereto. The term “about,” as used herein, should generally be understood to refer to both the corresponding number and a range of numbers. Moreover, all numerical ranges herein should be understood to include each whole integer within the range.
(87) While illustrative embodiments of the disclosure are disclosed herein, it will be appreciated that numerous modifications and other embodiments may be devised by those skilled in the art. For example, the features for the various embodiments can be used in other embodiments. Therefore, it will be understood that the appended claims are intended to cover all such modifications and embodiments that come within the spirit and scope of the present disclosure.