Scale-adaptive surface modeling of vascular structures
- Jianhuang Wu^{1, 2}Email author,
- Mingqiang Wei^{1},
- Yonghong Li^{1},
- Xin Ma^{1, 2},
- Fucang Jia^{1, 2} and
- Qingmao Hu^{1, 2}
https://doi.org/10.1186/1475-925X-9-75
© Wu et al; licensee BioMed Central Ltd. 2010
Received: 8 August 2010
Accepted: 19 November 2010
Published: 19 November 2010
Abstract
Background
The effective geometric modeling of vascular structures is crucial for diagnosis, therapy planning and medical education. These applications require good balance with respect to surface smoothness, surface accuracy, triangle quality and surface size.
Methods
Our method first extracts the vascular boundary voxels from the segmentation result, and utilizes these voxels to build a three-dimensional (3D) point cloud whose normal vectors are estimated via covariance analysis. Then a 3D implicit indicator function is computed from the oriented 3D point cloud by solving a Poisson equation. Finally the vessel surface is generated by a proposed adaptive polygonization algorithm for explicit 3D visualization.
Results
Experiments carried out on several typical vascular structures demonstrate that the presented method yields both a smooth morphologically correct and a topologically preserved two-manifold surface, which is scale-adaptive to the local curvature of the surface. Furthermore, the presented method produces fewer and better-shaped triangles with satisfactory surface quality and accuracy.
Conclusions
Compared to other state-of-the-art approaches, our method reaches good balance in terms of smoothness, accuracy, triangle quality and surface size. The vessel surfaces produced by our method are suitable for applications such as computational fluid dynamics simulations and real-time virtual interventional surgery.
Keywords
Background
In surgical planning, treatment evaluation, and medical education, the geometric modeling of vascular structures is of vital importance. Three-dimensional (3D) models can help surgeons better understand the branching patterns and complex topology of vascular structures in a short time for better and quick decision making during surgery by providing straightforward information on the morphology of the vessels, the spatial relationships among these vessels and other relevant anatomic structures, and an intuitive depiction of curvature and depth relations [1–4].
The surface modeling techniques of vascular tree structures can be broadly classified as either model-based or model-free techniques [1]. Generally, the former methods require vessel centerline extraction and vessel diameter determination from segmented vessels [5]. Based on the centerline model (defined by the centerline and radius), geometric primitives such as cylinders [6] and truncated cones [7] are employed to fit the vessel surface for visualization. Unfortunately, the smoothness of the surface produced by these methods is poor, especially where the vessel branches. At these points, transition is unavoidably discontinuous and therefore has significant artifacts, resulting in very low visual quality. To achieve high-quality surface, other advanced surface representations have been investigated, such as, B-spline surfaces [8], simplex meshes [9], convolution surfaces [10], and subdivision surfaces [11, 12]. Most of these methods yield desirable smooth surfaces; however, they suffer from low accuracy, badly shaped triangles or a large number of polygons.
The most common model-free technique of surface reconstruction in medical visualization is Marching Cubes (MC) [13]. Although effective in capturing overall shape, this technique has two major limitations. One limitation is that the generated surface heavily relies on the chosen isovalue and a slight change in value may result in great change in both the topological and geometrical features of the generated surface. The other limitation is that the visual quality is very low because the generated surface contains strong aliasing artifacts. Furthermore, these artifacts may lead to unstable numerical problems when the generated surface is applied for computational fluid dynamics (CFD) simulations. Recently, Schumann et al. [14, 15] presented a model-free technique that could produce smooth surface from vessel segmentation. The technique is based on multi-level partition unity (MPU) implicits [16] originally dedicated to reconstruct the surface from 3D point clouds.
However, the main drawback of model-based methods is that their assumed models are unable to represent the underlying image data, and are therefore inappropriate for vessel diagnosis where high accuracy of surface representation is required. These methods assume that the cross-section of vessels is circular, whereas the pathologic vessels in clinical practice such as aneurysms might generally have a non-circular shape (e.g. ellipse) [2, 5]. In contrast, model-free methods make no model assumptions and represent the underlying data with high fidelity. Therefore the reconstructed surface from model-free methods could be used for vessel diagnosis.
this paper, we present a model-free approach that relies on a prior vessel segmentation result, point extraction, Poisson equations and adaptive polygonization. With the proposed weight function, the triangulation algorithm in the gap-stitching stage can produce a two-manifold triangulation that maximizes the minimal angle of the triangle. Our approach yields a both morphologically correct and topologically preserved two-manifold smooth surface that is scale-adaptive to the local curvature of the surface by increasing/decreasing the size of triangles in regions with low/high curvatures. In addition, our method generates fewer and better-shaped triangles that are suitable for applications such as CFD computations and finite element analysis, and does not require other additional geometry processing techniques to improve triangle quality or to reduce number of triangles.
This paper is organized as follows. Details of our method are described in Sections Method. The results and discussion are presented in Section Results and Discussion. Finally, our conclusions are given in Section Conclusions.
Methods
Overview
Point extraction
Normal vector estimation
where {p _{ i,1}, p _{ i,2},⋯, p _{ i, k }}is the k nearest neighbors of the point P. Since C is symmetric and positive semi-definite, all eigenvalues are real-valued and all eigenvectors form an orthogonal frame. The eigenvector corresponding to the smallest eigenvalue is taken as the normal vector of the point P.
Indicator function
After obtaining the point clouds with oriented normals, many techniques are available to reconstruct them for surface visualization. For a comprehensive introduction to these techniques, please refer to a recent survey [19]. One popular surface reconstruction technique is the implicit function technique. This technique first constructs a 3D function that approximates/interpolates the point samples and then polygonizes the reconstructed surface. The main advantage of this type of technique is that it can reconstruct a watertight surface from different 3D models with any topological complexity. We choose the Poisson surface reconstruction [20] technique to model the vessel surface because, unlike the MPU technique [16], it is robust to recover fine details from noisy data and does not need to resort to heuristic partitioning or blending for surface fitting.
where q is the sample point; c and w are the center and width of the node O, respectively; d is the maximum tree depth; and f is a Gaussian filter with unit variance.
Where S is the input data with a set of samples s ∈ S, each consisting of a point and an inward-facing normal $\overrightarrow{n}$; Ω is the set of eight depth d nodes closest to the sample point; and ϖ is a trilinear interpolation weight. After defining the vector field, the indicator function is obtained by solving the Poisson equation Eq. (2) using a conjugate gradient solver.
Polygonization
To explicitly visualize the implicit surface, we need to triangulate the implicit surfaces from the computed indicator function. Our polygonization algorithm consists of two stages: mesh-expanding and gap-stitching.
Mesh-expanding stage
The newly constructed triangle Δuvp is added to the mesh if it satisfies two conditions. One is that both edge (p, u) and edge (p, v) should make an angle of at least 50 degrees (the maximal angle is 70 degrees) with the edge (u, v) in the old mesh. The other condition is that the triangle Δuvp should not approach existing triangles too closely. These two conditions guarantee that the resulting triangles are close-to-equilateral and the gap generated by this stage is not too narrow to sew in the subsequent gap-stitching stage. If any one of the boundary triangle in the mesh (denoted as T) is closer to triangle Δuvp than one-third of the length of the longest edge in T and triangle Δuvp, then the triangle Δuvp is not added to the mesh. Otherwise, the triangle Δuvp is added to the mesh and the boundary edges (p, u) and (p, v) are placed into the queue. The mesh-expanding terminates when the queue is empty.
Gap-stitching stage
- i.
For i = 0, 1,⋯, n - 2, let w _{ i, i+1}= 0, and for i = 0,1,⋯,n - 3, let w _{ i, i+2}: = Φ(i, i+1, i+2). Set j: = 2.
- ii.
Put j: = j+1. For i = 0,1,⋯,n - j - 1 and k = i + j. Let ${w}_{i,k}:=\underset{i<m<k}{\mathrm{min}}[{w}_{i,m}+{w}_{m,k}+\Phi ({v}_{i},{v}_{m},{v}_{k})]$. Let O _{ i, k }be the index m where the minimum is achieved.
- iii.
If j < n - 1, then return to step 2; otherwise the weight of the minimal triangulation is w _{0,n-1}.
- iv.
Let Θ: = φ and call the recursive function Trace with the parameters (0, n- 1).
Function Trace (i, k):
If (i + 2) = k, then Θ: = Θ∪Δv _{ i } v _{ i+1} v _{ k };
- 1)
Let o: = O _{ i, k };
- 2)
If o ≠ i + 1, then Trace (i, o);
- 3)
Θ: = Θ∪Δv _{ i } v _{ o } v _{ k } ;
- 4)
If o ≠ k - 1, then Trace (o, k)
End else.
where m _{1} = min(β _{1}, β _{2}), and m _{2} = max(β _{1}, β _{2}).
With our weighting function, the triangulation algorithm can produce a two-manifold triangulation that maximizes the minimal angle of triangle T. After triangulation, the patching triangles are subdivided to make their density similar to the density of surrounding mesh [25, 26]. An example of gap stitching is illustrated in Figure 6 (right).
Results and Discussion
Summary of properties of the data sets Sample table title
Dataset | Modality | Resolution | Voxel size |
---|---|---|---|
Liver tree | CT | 512 × 512 × 279 | 0.6563 × 0.6563 × 0.5 |
Cerebral tree | MRA | 512 × 512 × 170 | 0.51 × 0.51 × 0.80 |
Aorta tree | CT | 512 × 512 × 167 | 0.961 × 0.961 × 1.80 |
We evaluated our method in terms of surface smoothness, surface accuracy, triangle quality, surface size and efficiency on the tested dataset. We also compared our approach with the conventional model-free algorithm, i.e. MC algorithm, and state-of-the-art algorithms, i.e. model-free MPU-based algorithms (MPU-based) [14, 15], and model-based subdivision surface algorithm (SS-based) [11, 12]. In our experiments, the implementation of SS-based is slightly different than in [11, 12]. In [11, 12], after obtaining an initial mesh from the centerline model, the Catmull-Clark scheme [27] is applied to generate the vessel surface; thus the surface is a quadrilateral mesh. Since the surfaces produced by MC, MPU-based and our method are all triangular meshes, for the convenience of comparison, we applied the Loop scheme [27] with three iterations to produce vessel surface (for regular meshes, the surfaces yielded by the Loop scheme and Catmull-Clark scheme are both C^{2}-continuity [27]). For the MPU-based algorithm, we attempted to select parameter settings suggested in [14, 15] with the best results. In our approach the user-defined ρ is set to 0.15 in the mesh-expanding stage and the parameters k is set to 10 in the normal vector estimation stage.
Surface smoothness
We compared our approach with MC and MPU-based algorithm when applied to the same segmentation result. As illustrated in Figure 8, the surface produced by the MC (Figure 8a) has a visually low surface quality and contains a great variety of artifacts, which might disturb the visual interpretation of the vessel surface and therefore affect decision making during diagnosis. In contrast, the surfaces generated by both the MPU-based (Figure 8b) and our approach (Figure 8c) are highly smooth.
To validate the smoothness of the surface, we computed the distribution of the curvature value on the surface. The curvature map can directly help us observe the flaws and roughness of the surface that are not easily identified by human eyes. Here, we computed the root mean square (RMS) curvature of both the maximal k _{max} and the minimal k _{min} principal curvatures respectively, and RMS is defined as $\sqrt{({k}^{2}{}_{\mathrm{max}}+{k}^{2}{}_{\mathrm{min}})/2}$. The principal curvatures are computed based on a finite-differences technique [28].
Figure 8d, Figure 8e, and Figure 8f show the curvature distribution of the MC surface, MPU-based surface and the surface generated by our method respectively. It can be seen that due to the substantial staircase artifacts, the curvature distribution of the MC surface is highly inhomogeneous compared to that of both the MPU-based method and our method. For the thin vessel structures, the distributions of other methods are similar to that of the MC surface. The difference of surface smoothness between our approach and MPU-based algorithm is not very apparent. The reason is that these two approaches both utilize an implicit descriptor as the underlying surface representation. Although the smoothness of the MC surface can be improved with additional geometry processing techniques, e.g. smoothing filter, this unfortunately leads to volume shrinkage, collapse of thin vessel structures and unfaithful representation of the underlying data [29].
3.2 Surface accuracy
We analyzed the accuracy of the generated surface on the assumption that the input binary segmentation result of our pipeline had been validated correctly. To provide a quantitative comparison of the surfaces, we measured the distance error between two surfaces using the MESH tool [30]. The tool utilizes Hausdorff distance to calculate the maximum, mean and RMS errors between two specified surfaces. In this experiment, the surface generated by the MC algorithm is taken as reference surface (although it is not the most accurate technique to visualize the segmentation result, it has been the de facto standard in medical surface visualization and has been widely applied in numerous radiological workstations [5, 15]).
Accuracy of MPU-based method, subdivision surface-based method and our method for the tested dataset Mean, max and RMS denote mean distance error, maximum distance error and root mean square distance error.
Dataset | MPU-based | SS-based | Our method | ||||||
---|---|---|---|---|---|---|---|---|---|
mean | max | RMS | mean | max | RMS | mean | max | RMS | |
Liver tree | 0.098 | 0.321 | 0.016 | - | - | - | 0.098 | 0.320 | 0.115 |
Cerebral tree | 0.084 | 0.512 | 0.106 | 0.171 | 1.782 | 0.213 | 0.082 | 0.510 | 0.104 |
Aorta tree | 0.225 | 1.635 | 0.373 | 0.512 | 3.776 | 0.892 | 0.226 | 1.635 | 0.374 |
Triangle quality
Like surface accuracy, triangle quality is an important factor in achieving accurate results in many simulations. CFD simulations require the input surface to be free from block and staircase artifacts; therefore, the triangle meshes should have a good quality with regard to edge ratio [31]. Degenerated triangles such as thin and elongated triangles may lead to numerical unstability in CFD simulation, and may even make the simulation impossible. Smooth transition at the points where the vessel surface branches is also a prerequisite. Furthermore, the triangle size should not change abruptly, and surface regions with high curvature are desirably represented by small triangles.
Figure 9 demonstrates the comparison of triangle quality for the aorta tree. It can be seen once again from the zoomed region that the MC surface contains strong staircase artifacts and badly shaped triangles, and is not naturally smooth at the transition of the branches. The surface generated by the MPU-based method has a smooth transition, but also contains degenerated triangles. Although these triangles can be removed by invoking additional mesh quality improvement techniques [15], special care must be taken to preserve vital surface features during the optimization process. Because of the good underlying property of subdivision surface, the surface produced by the SS-based method is composed of well-shaped triangles, with smooth transition at the branches. However, the surface accuracy of the SS-based method is low (see Section Surface size) and unsuitable for CFD simulations [31]. Similar to the SS-based method, the surface of our method also has a smooth transition without badly shaped triangles. Additionally, the triangle size yielded by our method is adaptively scaled to the local differential geometric surface characteristics. The surface areas with high curvature are represented by smaller triangles, whereas triangles become large in the relative low-curvature region. Meanwhile, the triangle size from small to large is changed gradually.
Surface size
Here surface size refers to the total number of triangles and vertices approximating a surface. Surface size affects surface accuracy, surface rendering speed, and human interactive response. In the MPU-based method, Bloomental's implicit polygonizer [33] is applied to produce a triangular mesh. In the polygonization, if the grid size is set too large, the size of generated triangle is also very large, resulting in a loss of finer details such as thin vessel structures. If the grid size is too small, the polygonization process will be time-consuming; the surface size will be huge and will slow down interactive rendering frame rates. Mesh simplification techniques are therefore usually invoked as a subsequent step to reduce the surface size. However, this step may lead to a loss of both topological and geometrical features, and may even produce degenerated triangles during the simplifying process. In the SS-based method, the smoothness of the surface is increased with the iteration of subdivision; unfortunately, the number of polygons grows exponentially. Each iteration of subdivision yields a three-time increase in polygon due to the underlying topological refinement rules. In our method, the size of triangle can be adapted to the local curvature of the surface. This feature can save many triangles in representations. In actuality, using many small triangles to represent surface regions with low curvature, such as a flat region, does not significantly improve surface smoothness but increases surface size.
Surface sizes for three vessel surfaces generated by the MC, MPU-based method, SS-based method and our method
Dataset | MC | MPU-based | SS-based | Our method | ||||
---|---|---|---|---|---|---|---|---|
vertex | triangle | vertex | triangle | vertex | triangle | vertex | triangle | |
Liver tree | 95920 | 191920 | 84404 | 168888 | - | - | 76728 | 153536 |
Cerebral tree | 33788 | 67685 | 29505 | 59120 | 25567 | 51244 | 23347 | 46706 |
Aorta tree | 48869 | 97520 | 44484 | 88753 | 40452 | 80604 | 34173 | 68163 |
Computational efficiency
Our method utilizes implicit function to describe vascular structures; therefore, it requires an evaluator for the indicator function defined at all extracted points in space. The function is obtained by solving Poisson equations using the efficient linear solvers [34]. The computational cost mainly depends on the complexity and the resolution of input objects. In the mesh-expanding stage, the time is largely spent on calculating curvature radius and movement of points onto surface. However, in the gap-stitching stage, due to the O(n^{3}) performance complexity of the triangulation algorithm, the time for this stage comprises approximately one-fifth of the entire time. However, the proposed approach is much slower when compared to the MC, MPU-based or SS-based method. Taking the cerebral tree, the most complex tested dataset, as an example, the overall time for our method is 127 seconds, whereas the MC only requires 5 seconds. The performances of this data for the MPU-based method and SS-based method are 53 and 66 seconds respectively.
Conclusions
We have presented a model-free method for the geometric modeling of vascular structures. Our method yields both a topologically correct two-manifold and a geometrically smooth vessel surface. An important feature of the presented method is that it produces a surface that is scale-adaptive to the local curvature of the surface. This minimizes the number of triangles in the representation, leading to faster interactive rendering frame rates and saving much computational time in post-processing procedures, such as real-time blood flow simulations and collision detections in virtual interventional surgery.
We validated our method to a variety of vascular structures and compared the results with other state-of-the-art techniques, both model-based techniques and model-free techniques, in terms of surface smoothness, surface accuracy, triangle quality, surface size and efficiency. Compared to the MC and MPU-based methods, the surface generated by our method achieves comparable accuracy; however, it is more suitable for applications that require high-quality triangulations such as CFD computations and finite element analysis, because our method yields smaller surface size, better-shaped triangles and no thin elongated triangles. Therefore, invoking additional geometry processing techniques to improve mesh quality or to reduce surface size is not necessary for the presented method. Mode-based methods, such as the SS-based method, can produce smooth surface and well-shaped triangles. The simple circular model assumption results in a low accuracy that is inappropriate for vessel diagnosis or CFD simulations, but can be used for certain situations where accuracy is not very important, such as in medical educations. Fortunately, very recent work [35] showed that with an elliptical model assumption, the surface accuracy of SS-based method could be improved. The experimental results demonstrate that our method reaches a better balance with regard to surface accuracy, surface smoothness, triangle quality and surface size.
The investigation of computational efficiency has revealed the limitation of our method in its current implementation. Fortunately, implementing the time-consuming steps, such as the triangulation step on CUDA, a parallel computing engine developed by NVIDIA [36], seems to be a promising solution to the limitation and might be part of future work. Although the presented method makes no model assumption and achieves high accuracy, it does not imply that our method can be directly applied to diagnostic tasks, because our pipeline takes the binary segmentation result as input, and supposes that the segmentation is validated correctly. Therefore, combining the validation of input data with the pipeline as a preprocessing step is also planned for future studies.
Declarations
Acknowledgements
This work was supported by National Natural Science Foundation of China (Grants No.60803108, No.30700165) and China Postdoctoral Science Foundation (Grant No. 20100470560).
Authors’ Affiliations
References
- Oeltze SB, Preim B: 3D visualization of vasculature: an overview. Visualization in medicine and life sciences 2007, 19–39.Google Scholar
- Piccinelli M, Veneziani A, Steinman DA, Remuzzi A, Antiga L: A framework for geometric analysis of vascular structures: application to cerebral aneurysms. IEEE Trans Med Imag 2009, 28(8):1141–1155. 10.1109/TMI.2009.2021652View ArticleGoogle Scholar
- Joshi A, Qian X, Dione DP, Bulsara KR, Breuer CK, Sinusas AJ, Papademetris X: Effective visualization of complex vascular structures using a non-parametric vessel detection method. IEEE Trans Visual Comput Graph 2008, 14(6):1603–1610. 10.1109/TVCG.2008.123View ArticleGoogle Scholar
- Ding S, Ye Y, Tu J, Subic A: Region-based geometric modelling of human airways and arterial vessels. Comput Med Imag Graph 2010, 34(2):114–121. 10.1016/j.compmedimag.2009.07.005View ArticleGoogle Scholar
- Volkau I, Ng TT, Marchenko Y, Nowinski WL: On geometric modeling of the human intracranial venous system. IEEE Trans Med Imag 2008, 27(6):745–751. 10.1109/TMI.2007.911004View ArticleGoogle Scholar
- Masutani Y, Masamune K, Dohi T: Region-growing-based feature extraction algorithm for tree-like objects. Proc of visualization in biomedical computing 1996, 161–171.Google Scholar
- Hahn H, Preim B, Selle D, Peitgen H: Visualization and interaction techniques for the exploration of vascular structures. IEEE Visualization 01 2001, 395–402.Google Scholar
- Höhne K, Pflesser B, Pommert A, Riemer M, Schubert R, Schiemann T, Tiede U, Schumacheret U: A realistic model of the inner organs from the visible human data. Proc of the international conference on medical image computing and computer-assisted intervention 2000, 776–785.Google Scholar
- Bornik A, Reitinger B, Beichel R: Reconstruction and representation of tubular structures using simplex meshes. Proc of winter school of computer graphics 2005, 611–65.Google Scholar
- Oeltze S, Preim B: Visualization of vascular structures with convolution surfaces: method, validation and evaluation. IEEE Trans Med Imag 2005, 25(4):540–549. 10.1109/TMI.2004.843196View ArticleGoogle Scholar
- Felkel P, Wegenkittl R, Bühler K: Surface models of tube trees. Proc of the computer graphics international 2004, 70–77. full_textGoogle Scholar
- Luboz V, Wu X, Krissian K, Westin CF, Kikinis R, Cotin S, Dawson S: segmentation and reconstruction technique for 3D vascular structures. Proc of the international conference on medical image computing and computer-assisted intervention 2005, 43–50.Google Scholar
- Lorensen W, Cline H: Marching cubes: a high resolution 3D surface construction algorithm. Proc of ACM SIGGRAPH 1987, 163–169. 10.1145/37402.37422Google Scholar
- Schumann C, Oeltze S, Bade R, Preim B, Peitgen H: Model-free surface visualization of vascular trees. Eurographics/IEEE-VGTC symposium on visualization 2007, 283–290.Google Scholar
- Schumann C, Neugebauer M, Bade R, Preim B, Peitgen H: Implicit vessel surface reconstruction for visualization and simulation. Int J CAS 2008, 2(5):275–286.Google Scholar
- Ohtake Y, Belyaev A, Alexa M, Turk G, Seidel H: Multilevel partition of unity implicits. ACM T Graph 2003, 22: 463–470. 10.1145/882262.882293View ArticleGoogle Scholar
- Braude I, Marker J, Museth K, Nissanov J, Breen D: Contour-base surface reconstruction using MPU implicit models. Graph Models 2007, 69: 139–157. 10.1016/j.gmod.2006.09.007View ArticleGoogle Scholar
- Pauly M, Gross M, Kobbelt L: Efficient simplification of point-sampled geometry. IEEE Visualization 02 2002, 163–170. full_textGoogle Scholar
- Schall O, Samozino M: Surface from scattered points: a brief survey of recent developments. 1st International workshop on semantic virtural environments 2005, 138–147.Google Scholar
- Kazhdan M, Bolitho M, Hoppe H: Poisson surface reconstruction. Proc of the fourth Eurographics symposium on geometry processing 2006, 61–70.Google Scholar
- Hartmann E: A marching method for the triangulation of surfaces. The Visual Comput 1998, 14(3):95–108. 10.1007/s003710050126View ArticleGoogle Scholar
- Araujo B, Jorge J: Curvature dependent polygonization of implicit surfaces. Proc of 17th Brazilian symposium on computer graphics and image processing 2004, 266–273. full_textView ArticleGoogle Scholar
- Karkanis T, Stewart AJ: Curvature-dependent triangulation of implicit surfaces. IEEE Comput Graph 2001, 22(2):60–69. 10.1109/38.909016View ArticleGoogle Scholar
- Barequet G, Sharir M: Filling gaps in the boundary of a polyhedron. Comput Aided Geom Des 1995, 12(2):207–229. 10.1016/0167-8396(94)00011-GMathSciNetView ArticleGoogle Scholar
- Liepa P: Filling holes in meshes. Eurographics symposium on gemetry processing 2003, 200–205.Google Scholar
- Shewchuk JR: Triangle: engineering a 2 d quality mesh generator and delaunay triangulor. Proc of the 1st workshop on applied computational geometry 1996, 123–133.Google Scholar
- Zorin D, Schroder P: Subdivision for modeling and animation, SIGGRAPH 2000 course notes. 2000, 69–77.Google Scholar
- Rusinkiewicz S: Estimating curvatures and their derivatives on triangle meshes. Symposium on 3D data processing, visualization, and transmission 2004, 486–493. full_textGoogle Scholar
- Bade R, Haase J, Preim B: Comparison of fundamental mesh smoothing algorithms for medical surface models. Simulation and visualization 2006 2006, 289–304.Google Scholar
- Cignoni P, Rocchini C, Scopigno R: Metro: measuring error on simplified surfaces. Comput Graph Forum 1998, 17(2):167–174. 10.1111/1467-8659.00236View ArticleGoogle Scholar
- Cebral JR, Castro MA, Appanaboyina S, Putman CM, Millan D, Frangi AF: Efficient pipeline for image-based patient-specific analysis of cerebral aneurysm hemodynamics: technique and sensitivity. IEEE Trans Med Imag 2005, 24(4):457–467. 10.1109/TMI.2005.844159View ArticleGoogle Scholar
- Pébay PP, Baker TJ: Analysis of triangle quality measures. Math Comp 2003, 72(244):1817–1839. 10.1090/S0025-5718-03-01485-6MathSciNetView ArticleGoogle Scholar
- Bloomental J: An implicit surface polygonizer. Graphic gemsIV 2004, 324–349.Google Scholar
- Toledo S, Chen D, Rotkin V: TAUCS: a library of sparse linearsolvers. 2010. [http://www.tau.ac.il/~stoledo/taucs/]Google Scholar
- Wu X, Luboz V, Krissian K, Cotin S, Dawson S: Segmentation and reconstruction of vascular structures for 3D real-time simulation. Med Image Anal, in press.Google Scholar
- CUDA zone 2010. [http://www.nvidia.com/object/cuda_home_new.html]
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (<url>http://creativecommons.org/licenses/by/2.0</url>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.