xfem framework for cutting soft tissue...

9
XFEM FRAMEWORK FOR CUTTING SOFT TISSUE Including Topological Changes in a Surgery Simulation Luis F. Guti´ errez, F´ elix Ramos Department of Computer Science, CINVESTAV-Guadalajara, Av. Cient´ ıfica 1145, Zapopan, Jalisco, 45015, M´ exico [email protected], [email protected] Keywords: XFEM, cutting soft tissue, surgery simulation Abstract: Currently, there are many approaches in computer graphics (CG) that deal with topological changes; some of these are non-interactive animations, unstable or not precise enough to medical applications. It has been found that the Extended Finite Element Method (XFEM) is stable, accurate, with excellent performance and suitable for virtual surgery in real time; nevertheless, to maintain the provided advantages, the selection and creation of a set of CG methods is required that fulfill the requirements of the XFEM. We propose an embedded mapping method that enables the relation of the XFEM elements, with the visual and collision meshes, making the user interaction more dynamic. Furthermore, based on this new mapping method an interactive cutting algorithm is suggested considering a geometric analysis. The XFEM, as a core of our framework, efficiently simulates the topological changes consequently, making the interaction in real time possible, which will allow the creation of more complex simulations of higher impact in the medical area. 1 INTRODUCTION From the perspective of computer graphics in medicine, the computer can allow surgeons or med- ical students to analyze patients before performing the surgery by simulating the physical behavior of the body, giving the possibility to train the procedures, avoiding the risks caused to patients by the lack of experience. In order to simulate the incisions in a realistic manner, the physical based methods are re- quired, these give the adequate accuracy; Neverthe- less, an interactive and real time simulation is desir- able; therefore, it is necessary to look for efficiency in the methods and the stability in the simulation. De- spite many approaches deal with topological changes, these do not fulfill the necessary characteristics previ- ously described. We identify the XFEM as a method that ensures a robust simulation; however, there is no framework to exploit its benefits to make it applicable to complex simulations as surgery simulation. Hence, it is neces- sary to design a framework completely focused on the XFEM in order to obtain efficient responses. This paper explains how to introduce the XFEM in a surgery simulation including a geometric analysis of our cutting method considering how this affects the collision algorithm, mapping method and the remesh- ing process. Moreover, many other aspects have been considered in order to achieve a real time simulation such as haptic interaction, handling multiple topolo- gies, etc. There are many researches that work with soft tis- sue deformation without changing the topology, how- ever, the majority of surgery procedures require inci- sions and dissections; thus, this paper aims to provide a framework that is easy to implement and suitable for an interactive virtual surgery simulation including topological changes. This paper is organized as follows: a review of the related work is analyzed in Section 2. After, in Sec- tion 3 the design of our framework is explained based on the XFEM and the embedded mapping method that works as mediator between the physical origi- nal mesh and the other meshes (visual and collision), also the creation of a specific cutting algorithm that quickly updates the associations of the meshes. Fur- thermore, the implementation and testing employing SOFA framework in 2D and 3D is showed in Section

Upload: ngodiep

Post on 24-Apr-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

XFEM FRAMEWORK FOR CUTTING SOFT TISSUEIncluding Topological Changes in a Surgery Simulation

Luis F. Gutierrez, Felix RamosDepartment of Computer Science, CINVESTAV-Guadalajara, Av. Cientıfica 1145, Zapopan, Jalisco, 45015, Mexico

[email protected], [email protected]

Keywords: XFEM, cutting soft tissue, surgery simulation

Abstract: Currently, there are many approaches in computer graphics (CG) that deal with topological changes; some ofthese are non-interactive animations, unstable or not precise enough to medical applications. It has been foundthat the Extended Finite Element Method (XFEM) is stable, accurate, with excellent performance and suitablefor virtual surgery in real time; nevertheless, to maintain the provided advantages, the selection and creation ofa set of CG methods is required that fulfill the requirements of the XFEM. We propose an embedded mappingmethod that enables the relation of the XFEM elements, with the visual and collision meshes, making the userinteraction more dynamic. Furthermore, based on this new mapping method an interactive cutting algorithm issuggested considering a geometric analysis. The XFEM, as a core of our framework, efficiently simulates thetopological changes consequently, making the interaction in real time possible, which will allow the creationof more complex simulations of higher impact in the medical area.

1 INTRODUCTION

From the perspective of computer graphics inmedicine, the computer can allow surgeons or med-ical students to analyze patients before performingthe surgery by simulating the physical behavior of thebody, giving the possibility to train the procedures,avoiding the risks caused to patients by the lack ofexperience. In order to simulate the incisions in arealistic manner, the physical based methods are re-quired, these give the adequate accuracy; Neverthe-less, an interactive and real time simulation is desir-able; therefore, it is necessary to look for efficiency inthe methods and the stability in the simulation. De-spite many approaches deal with topological changes,these do not fulfill the necessary characteristics previ-ously described.

We identify the XFEM as a method that ensures arobust simulation; however, there is no framework toexploit its benefits to make it applicable to complexsimulations as surgery simulation. Hence, it is neces-sary to design a framework completely focused on theXFEM in order to obtain efficient responses.

This paper explains how to introduce the XFEM

in a surgery simulation including a geometric analysisof our cutting method considering how this affects thecollision algorithm, mapping method and the remesh-ing process. Moreover, many other aspects have beenconsidered in order to achieve a real time simulationsuch as haptic interaction, handling multiple topolo-gies, etc.

There are many researches that work with soft tis-sue deformation without changing the topology, how-ever, the majority of surgery procedures require inci-sions and dissections; thus, this paper aims to providea framework that is easy to implement and suitablefor an interactive virtual surgery simulation includingtopological changes.

This paper is organized as follows: a review of therelated work is analyzed in Section 2. After, in Sec-tion 3 the design of our framework is explained basedon the XFEM and the embedded mapping methodthat works as mediator between the physical origi-nal mesh and the other meshes (visual and collision),also the creation of a specific cutting algorithm thatquickly updates the associations of the meshes. Fur-thermore, the implementation and testing employingSOFA framework in 2D and 3D is showed in Section

4. Finally, in Section 5 the main contributions of ourframework are emphasized; moreover, the limitationsand the future work are also mentioned.

2 CUTTING APPROACHES

The majority of the applications oriented to medicine,model the tissue using physically-based methods (Vi-dal et al., 2006); the most popular is the FEM becauseof its accuracy on the results. An overview of phys-ically based models and applications can be found in(Nealen et al., 2005).

Complex medical simulations require topologicalchanges; but, this is a challenging work to simulate inreal time with enough accuracy.

A surgery simulation must show the split of theelements according to the cutting trajectory. A simplemanner to cut a tetrahedron is subdividing it into moresmall sub-tetrahedrons (Bielser et al., 2003). Nev-ertheless, subdividing can cause simulation instabil-ity because it generates ill-conditioned elements (sliv-ers); moreover, the subdivision increments the de-grees of freedom (DOFs) impacting directly on thesimulation performance. Another alternative con-sists of removing the elements in contact with theblade (Forest et al., 2005); despite this method hasthe advantage that it does not affect the simulationstability, it is physically inaccurate and visually un-even; another option, to avoid the previous meth-ods, is a successive snapping of nodes to the cut-ting trajectory (Serby et al., 2001); unfortunately,this kind of method leads to degenerated elements.Other approaches merge methods like snapping andsubdivision (Steinemann et al., 2006), but only non-progressive cutting is enabled.

For fractures simulation, the virtual node algo-rithm is proposed (Molino et al., 2004); it consistsof replicating cut elements assigning a portion of ma-terial to each copy, it maintains the initial FEM meshconditioning, creating a minimal number of elements;however, the slivers are not completely avoided; thelimitations of the virtual node algorithm were re-solved by (Sifakis et al., 2007), avoiding slivers andallowing arbitrary cutting of tetrahedrons in any num-ber of sub-elements; nonetheless, both previous ap-proaches have been tested in an offline simulationwhich is undesirable for a surgery simulation.

(Jerabkova and Kuhlen, 2009) employ the XFEMto physically control the mesh when a cut appears,while the user is cutting no new elements are cre-ated (in the original mesh); thus the simulation perfor-mance is not greatly impacted moreover, the XFEMavoids ill-conditioned elements. Fig. 2 shows how

Figure 1: The alternative mesh helps to map the visual el-ements with its corresponding physical elements, this meshis displayed on the right side.

the XFEM allows the simulation of the discontinuitiesmaintaining the original mesh.

The XFEM adds local enrichment functions insub-regions with discontinuities; this method, pro-posed in 1999 by (Belytschko and Black, 1999), ex-ploits the partition of unity property of finite elements(Babuska and Melenk, 1997). The XFEM was ini-tially utilized for fracture mechanics to simulate thecrack growth with stiff materials, this method hasbeen improved and can be applied to different do-mains such as material interfaces, 3D elasto-plasticdeformations, fluid mechanics, material-nonmaterialinterfaces and topology optimization considering voidspaces (Nesme et al., 2009). We explain the basics ofthe XFEM in the appendix.

The XFEM was introduced to simulation of sur-gical cuts by (Vigneron et al., 2004), implementinga simulation of 2D MRI image with small defor-mations. (Linblad and Turkiyyah, 2007) propose aframework based on the FEM considering predefinedboundaries for cutting and suturing; to cut arbitrarysurfaces they employ the XFEM; this approach alsoallows small deformation as a linear discontinuousFEM was used. Later, (Turkiyyah et al., 2009) de-scribe an algorithm for cutting using discontinuousFEM considering large deformations; nevertheless,this approach is described considering only the sur-face triangular mesh.

3 XFEM FRAMEWORK

The fundamentals of the XFEM are described by(Jerabkova and Kuhlen, 2009), they use the XFEMleading into a stable and accurate simulation. Never-theless, their approach is very general, omitting howthe XFEM must interact with other methods of CGwithout losing its advantages. Thus, our objective isto create a specific framework that exploits the ad-vantages of the XFEM and, by setting the XFEM as acore of the simulation, create more complex surgerysimulations which we know will be stable, accurate

Figure 2: The XFEM adds new DOFs allowing to simulatediscontinuities on the elements. This figure shows the orig-inal physical mesh composed by tetrahedral elements, thismesh continues even after the elements are split, those orig-inal elements must be hidden, showing only the cut of themodel

and interactive in real-time.

3.1 Corotational XFEM

The co-rotational FEM has been used for some ap-proaches such as (Muller and Gross, 2004), show-ing that it is physically accurate and suitable for real-time applications. This formulation allows us to in-clude large deformations using a Cauchy’s strain ten-sor. We employ the the co-rotational XFEM formula-tion given by (Jerabkova and Kuhlen, 2009).

The forces in the co-rotational XFEM, must con-sider that the rotation of a discontinuous element willhave different behavior in each part of the cuttingplane (above and below). The rotation for the partabove of the cut plane is denoted as Ra and the ro-tation below as Rb; the equations of the deformationforces of the co-rotational XFEM are defined as

fXi =

n

∑j=1

Ra

∫Va

BXTi cBX

j dV (RTa pX

j −pX0 j) } Above

+n

∑j=1

Rb

∫Vb

BXTi cBX

j dV (RTb pX

j −pX0 j) } Below

(1)

where BXi is the strain matrix defined as BX =

[B1 · · · Bn ψ1B1 · · ·ψnBn] where n is the number ofelement nodes; c is a matrix of material properties.From the above equation, the equations of the defor-mation forces of the standard DOFs and the addedDOFs can be computed separately as follows

Figure 3: When an element is divided, the alternative meshis generated with the new virtual elements formed by theadded DOFs, this mesh allows to create a visual mapping toshow the corresponding volume. Note that in the alternativemesh the virtual elements can overlap, however, this meshis only required to make the association of topologies easier.

fi =Va

VRa

n

∑j=1

Ki j(RTa pa j−p0 j)

+Vb

VRb

n

∑j=1

Ki j(RTb pb j−p0 j)

(2)

fai =

Va

VRaΨai

n

∑j=1

Ki j(RTa pa j−p0 j)

+Vb

VRbΨbi

n

∑j=1

Ki j(RTb pb j−p0 j)

(3)

where the positions of the element nodes are calcu-lated

ps j = p0 j +u j +Ψs ja j where s = a or s = b (4)where the subscript s indicates that it can be applica-ble for the parts above and below the cut plane.

In order to directly obtain the physical position ofthe DOFs we use the shifted enrichment function (seeeq. 9); as a result the deformation forces of the addedDOFs yield

fai =

∑nj=1−

VbV RbKi j(RT

b pb j−p0 j) if Hi = +1

∑nj=1

VaV RaKi j(RT

a pa j−p0 j) if Hi =−1(5)

and the positions of the element nodes

pa j ={

p0 j +u j if H j = +1p0 j +u j +a j if H j =−1

pb j ={

p0 j +u j−a j if H j = +1p0 j +u j if H j =−1

(6)

Figure 4: Added DOFs. The original nodal displacements(on the left) of a tetrahedron are four, when the tetrahedronis split new DOFs are added (list on the middle); in order touse the less memory, the alternative mesh stores in the placeof the added DOFs the real position of the vertexes of thevirtual tetrahedron(on the right).

Employing the framework of the co-rotationalFEM proposed by (Nesme et al., 2005), thus we neverstore the whole stiffness matrix, instead, we generatethe displacements by computing the dynamic equa-tion of the FEM updating the strain matrix and com-puting directly the forces as is shown in eq. 1. Toobtain the rotation values we use polar decompositionas is explained by (Muller and Gross, 2004).

3.2 Mapping Method

Considering topological changes, the XFEM addsDOFs each time a discontinuity appears remaining thenumber of elements of the original mesh; thus, an el-ement is divided using the values of the added DOFs.Then, how should the triangular mesh be associatedto the tetrahedrons that do not explicitly exist? If theassociation of visual points with the physical points(mapping) is done directly to the original mesh (initialFEM mesh), the result will not be correct, because thediscontinuous elements do not show the same physi-cal meaning of the original.

We propose a FEM-XFEM mapping that allows usto easily control the discontinuous elements; it con-sists in creating an alternative tetrahedral mesh thatinserts elements each time the element is subdividedas shown in Fig. 1 and Fig. 3. The alternative meshwill always have the same number of DOFs as theoriginal mesh, storing only the real values of the ver-texes of the new tetrahedrons (i.e. virtual elements) asis shown in Fig. 4, which are classified according tothe side of the cut plane (i.e. above or below). Notethat if an element is split, the mapping method cre-ates two new virtual elements in the same place, forthat reason, it is necesary to identify them in order toavoid mapping errors.

Another important advantage of the alternative

Figure 5: Initially the association of points is direct, and isupdated when an element is cut. For instance the elements 3and 4 are cut, then, two new virtual tetrahedrons are createdfor each element (4 in total); after, the visual points (onlythose connected with the discontinuous elements) must bere-associated to its tetrahedrons considering the cut plane(above + or below −).

topology is its speed that takes to reassign the visualor collision mesh nodes to their corresponding phys-ical tetrahedron when a cut occurs by recording thepoints associated to the tetrahedron of the alternativemesh as is shown in Fig. 5. The alternative meshis controlled directly from the physical topology; inthis manner, all the changes in the alternative meshare quickly performed and also the search of associ-ated elements is fairly straightforward. The verticesof the alternative topology are not DOFs; thereby, thealternative mesh does not harm the performance of thesimulation.

3.3 Cutting algorithm

A progressive cut generates many unnecessary facesof very small sizes, instead we split the tetrahedronuntil the tool crosses the whole element obtaining asemi-progressive cut because there is a delay beforeshowing the incision. For a well refined mesh the de-lay in the semi progressive cut can be considered suit-able in surgical simulations as is shown in Sec.4.3.When the interactive tool touches a tetrahedron (indi-cated by the collision detection algorithm), the nearesttetrahedron to the collision point is sought, right af-ter, all the neighbors of the tetrahedron are stored in alist which is used to find the next tetrahedron touchedby the cutting tool. Employing the collision detectionand the assignation of points, it is possible to quicklyextract the list of neighbors for the collided region.

If an element has three crossed edges, it can becut; however, it is needed to ensure that the three in-tersections must be in different edges, the error mayhappen if the tool trembles while cutting.

L1,L2,L3 //elements with 1,2,3 intersections

Figure 6: The collision quad generated by the cutting toolcrosses multiple tetrahedrons in one time, the internal meshis created by connecting intersected points on the elementedges.

collisionEvent (collisionPoint){if the cut startsFirstPoint = collisionPointT=nearest(Mesh, FirstPoint)//nearest tetra

else //while cuttinglistNT = neighbors(T); //neighbors of TTc = nearest (listNT, fistPoint)SecondPoint = CollisionPointsemiProgressiveCut(Tc)

}

semiProgressiveCut(T0){cq=generateQuad(Tool)//collision quadlT = neighbors(T0)for each T in lTfor each edgeT in edges(T)if Intersects(edgeT, cq,intersectionPoint)if exists T in list L2

L3.add(L2.p1,L2.p2,intersectionPoint)L2.delete(T)

elseif = exists T in list L1

L2.add(L1.p,intersectionPoint)L1.delete(T)

elseL1.add(T,intersectionPoint)L1.add(T,intersectionPoint)

for = each tetra j in L3createXFEM(j)

L3.clearFirstPoint = SecondPoint

}

The cut is achieved by the intersection of a colli-sion quad that specifies the trajectory and deepness ofthe tool; this quad is updated if the size is higher of avalue specified by a constant, this size helps to avoidto re-compute the execution of the algorithm if thetool continues on the same point. We obtain better re-sponses if the size of this quad is approximated to theaverage sizes of the elements. The cutting algorithm

Figure 7: The collision model is mapped to the alternativemesh, not necessarily on the surface of the elements; it canbe in the corresponding part of volume. The external objectcan overlap the elements, colliding in the collision triangle.

is presented in Fig. 14.When an element is divided into two new virtual

elements, the visual and collision mapping methodsare called to be updated. Therefore, the visual andcollision meshes must also divide its element accord-ing to the cut plane and be assigned to its correspond-ing virtual element.

Note that if the quad of collision is long, in a wellrefined mesh the number of tetrahedrons to split ishigher and there is possibly at least one that is nota neighbor to the reference tetrahedron; consequently,we can search in a neighborhood on more levels inorder to obtain the higher list of tetrahedron to com-pare, this level must be specified depending on themaximum size of the collision quad (defined by thetool blade). The precision of the trajectory of the toolblade will be better as a smaller quad of collision ischosen.

The physical, visual and collision topologies aredifferent from each other, commonly the visual meshis more refined to obtain a better look of the model,however, it is very possible that the triangular edges(visual topology) do not coincide with the edges ofthe tetrahedral elements at the time of cutting; giventhese facts, we execute the algorithm for the physicaland visual topologies in an independent manner.

3.4 Visual mapping

The barycentric mapping is used to connect the alter-native mapping and the visual mesh; this mapping isonly applied to show the portions of material associ-ated to the virtual elements. In order to show how theobject is opening while cutting, we use subdivision,despite its creation of points in each cut; these pointsdo not strongly impact the simulation performance.

In 3D environments the deepness must be consid-ered, therefore, when a cut happens an internal meshmust also be created and mapped. To this end, the new

Figure 8: Cutting the skin in a triangular mesh (2D)

mesh is easily created by connecting the intersectionpoints of the edges of the virtual tetrahedron as showsthe Fig. 6. Note that if the material is very thin, it ispossible that the tool crosses both sides of the body,requiring the subdivision and the remapping of bothsides.

The connection of visual points give place to twodifferent possibilities, searching if a point with thesame value and in the same side of the cut plane al-ready exists, if this point is found it is used to gener-ate the new triangular faces; if no point is found thenit is required to search in the list of future points tobe created, avoiding the generation of two points inthe same edge and place. The list of future points isgenerated if the collision quad cuts more than one ele-ment at the same time (considering also the deepness).

Tetrahedra can be split in different manners as isshown by (Steinemann et al., 2006), in the case theelement is split with a face of four points, then twonew triangles must be generated using the Delaunaytriangulation.

3.5 Collision Detection

The collision detection algorithm must be mapped tothe alternative mesh; then, if a collision appears, thevalues of the forces can be sent directly to the corre-sponding virtual tetrahedrons and the alternative meshwill propagate the forces to the original elements, fol-lowing with the XFEM equations.

The added DOFs of a discontinuous element thatshares an edge of non-discontinuous element, is setto zero, fixing the point on the corresponding edge,this means, that the added DOF works only when theneighbors (of edge) is also discontinuous.

A virtual element is able to collide only on the cor-responding part of volume, this means that the col-lision method only manages the forces of that spe-cific part and the virtual element helps to obtain thebarycentric coordinates associated to collision ele-ments in order to be deformed correctly (see Fig. 7).

Figure 9: Generation of DOFs (2D): comparing XFEM andSnapping and Subdivision. While the second one impactsthe performance, the XFEM simulates an approximated ac-curacy improving the performance of the simulation.

4 IMPLEMENTATION

In order to evaluate the approach in a medical con-text, the responses of the approach is tested in an opensurgery. The approach can be analyzed specificallyby simulating the cut of the skin; thus, it is possible toobserve the responses of the XFEM exposed to manyelements that are small and thin (i.e. low volume),and thereby, the robustness of the approach can beconfirmed by the avoidance of sliver. The materialparameters of the skin used to test the approach con-siders a Young’s modulus as 1×104Pa, Poisson ratioof 0.3 and the density of 1000kg/m3.

SOFA framework is used to implement the ap-proach (Allard et al., 2007). In SOFA, a single objectcan be represented by multiple geometrical modelsthat are connected through mappings (e.g. barycen-tric mapping).

4.1 2D: Human Face skin

A human face model, represented with triangular ele-ments, is compared with a method already included inSOFA (i.e. the snapping and subdivision). The Fig. 9shows that the XFEM generates less DOFs than snap-ping and subdivision; this difference increases as thenumber of cuts increase. Therefore, the XFEM al-lows to simulate physically the discontinuities with-out harming the performance and the simulation sta-bility; some images of the simulation are shown inFig. 8

4.2 3D: Hand Skin

The test consists of cutting the skin of the dorsal partof hand; this procedure can be applicable in differ-ent surgeries (e.g. lipoma removal). The thickness ofthe skin of the hand is from 0.5 mm to 2 mm in soft

Figure 10: Generation of DOFs(3D): comparing XFEM andSnapping and Subdivision. This figure shows the increaseof DOFs when the blade cuts tetrahedral elements. The testhas been performed using continuous cuts.

regions (Schmidt, 2003), we choose to use 2 mm asthickness of the skin to observe the deepness of theobject.

In 3D, the physical topology is represented by atetrahedral mesh; the visual and collision topologiesare represented by a triangular surface mesh. Thehand model is tetrahedralized employing the meshgenerator called tetgen; the force feedback is obtainedusing the phantom omni. The comparative with snap-ping and subdivision is presented in Fig. 10.

4.3 Other remarks

In order to generate a real time simulation the timestep will be dynamically adapted according to the pro-cessing charge. Using an implicit method ensures thestability for all the supported simulation time steps.The resultant images of the simulation of the skin de-formed and dissected are shown in Fig. 11 and Fig.13. Moreover, the skin can be used together withother models to simulate an open surgery as is ex-pressed in Fig. 15.

As we are using a semi-progressive cutting we an-

Figure 11: The tetrahedral model of the hand can be cutinteractively.

Figure 12: The delay of crossing an element consideringdifferent speeds and meshes.If the number of cuts incre-ments the processing time also increases, impacting the per-formance of the simulation.

alyze the Framework in a very conventional PC witha processor Intel Core 2Duo 2GHz, RAM memory of2G, the delay depends basically on the refinement ofthe physical mesh, the speed of the user while cutsand the speed of the execution of the algorithms, as isshown in Fig. 12.

5 CONCLUSIONS

In this paper, a framework focused on the efficient ap-plication of the XFEM has been designed; this frame-work includes the embedded design of an alternativemapping method, that allows associating, in an easyand direct manner, the diverse topologies when thecut of an element appears. The mapping also storesthe association of point-tetra, which makes the updateof the assignation of visual or collision points faster(i.e. vertices), with its corresponding virtual elementwhile the user is cutting; all these, considering theside of the cut plane. Also, a semi progressive cuttingalgorithm has been created. Additionally, a varietyof meshes in 2D and 3D were tested obtaining con-siderable differences in the creation of nodal DOFs,in consequence, it is proved that the XFEM does notstrongly impact the simulation performance, allowingreal-time simulations.

However, there are many important aspects to dealwith that have not been considered such as: self-collisions of discontinuous elements, multi-resolutiontechniques, textures in the internal mesh, creation of afully-progressive cutting algorithm and parallelism ofthe methods. All these aspects are left as future work.

This work was completely focused on the XFEM,obtaining a simulation that fulfill with stability, accu-

Figure 13: Interactive surgery simulation considering topo-logical changes in real time

racy, interactivity and real time; which are the proper-ties required for a virtual surgery simulation.

The inclusion of this framework will make thegeneration of more complex simulations possible, inwhich the interaction of diverse models (organs) thatact together can be possible and, in this manner, de-sign simulations with major impact in the medicalarea, such as the extraction of a tumor or the fullyphysical modeling of one part of the body.

ACKNOWLEDGEMENTS

We would like to thank SOFA Team for the helpthey bring. This project was supported by CONACYTand COETCYTJAL.

REFERENCES

Allard, J., Cotin, S., Faure, F., Bensoussan, P.-J., Poyer,F., Duriez, C., Delingette, H., and Grisoni, L. (2007).Sofa - an open source framework for medical simula-tion. In Medicine Meets Virtual Reality (MMVR).

Babuska, I. and Melenk, J. M. (1997). The partition of unitymethod. International Journal of Numerical Methodsin Engineering, 40:727–758.

Belytschko, T. and Black, T. (1999). Elastic crack growthin finite elements with minimal remeshing. Interna-tional Journal of Numerical Methods in Engineering,45(5):601–620.

Bielser, D., Glardon, P., Teschner, M., and Gross, M.(2003). A state machine for real-time cutting of tetra-hedral meshes. In Pacific Graph., pages 377–386.

Forest, C., Delingette, H., and Ayache, N. (2005). Remov-ing tetrahedra from manifold tetrahedralisation : ap-plication to real-time surgical simulation. Medical Im-age Analysis, 9(2):113–122.

Jerabkova, L. and Kuhlen, T. (2009). Stable cutting of de-formable objects in virtual environments using xfem.IEEE Comput. Graph. Appl., 29(2):61–71.

Linblad, A. and Turkiyyah, G. (2007). A physically-basedframework for real-time haptic cutting and interactionwith 3d continuum models. SPM.

Molino, N., Bao, Z., and Fedkiw, R. (2004). A virtual nodealgorithm for changing mesh topology during simula-tion. ACM Trans. Graph. (SIGGRAPH Proc, 23:385–392.

Muller, M. and Gross, M. (2004). Interactive virtual materi-als. In Proceedings of the 2004 conference on Graph-ics interface, pages 239–246.

Nealen, A., Muller, M., Keiser, R., Boxerman, E., and Carl-son, M. (2005). Physically based deformable modelsin computer graphics. Eurographics 2005 State of theArt Report.

Nesme, M., Kry, P. G., Jerabkova, L., and Faure, F. (2009).Preserving topology and elasticity for embedded de-formable models. In ACM Transactions on Graphics(Proc. of SIGGRAPH). ACM. to appear.

Nesme, M., Payan, Y., and Faure, F. (2005). Efficient, phys-ically plausible finite elements. In Dingliana, J. andGanovelli, F., editors, Eurographics (short papers).

Schmidt, H.-M. (2003). Surgical anatomy of the hand.Thieme.

Serby, D., Harders, M., and Szkely, G. (2001). A new ap-proach to cutting into finite element models. In Med-ical Image Computing and Computer Assisted Inter-vention (MICCAI), number 2208 in LNCS, pages 425–433. Springer-Verlag.

Sifakis, E., Der, K. G., and Fedkiw, R. (2007). Arbi-trary cutting of deformable tetrahedralized objects. In2007 ACM SIGGRAPH / Eurographics Symposium onComputer Animation, pages 73–80.

Steinemann, D., Harders, M., Gross, M., and Szekely, G.(2006). Hybrid cutting of deformable solids. InProceedings of the IEEE Virtual Reality Conference,pages 425–433.

Turkiyyah, G., Karam, W. B., Ajami, Z., and Nasri, A. H.(2009). Mesh cutting during real-time physical simu-lation. In Symposium on Solid and Physical Modeling,pages 159–168.

Vidal, F., Bello, F., Brodlie, K., John, N., D.Gould, Philips,R., and Avis, N. (2006). Principles and aplications ofcomputer graphics in medicine. Computer Graphics,pages 113–137.

Vigneron, L. M., Verly, J. G., and Warfield, S. K. (2004).Modelling surgical cuts, retractions, and resectionsvia extended finite element method. In Proceed-ings of Medical Image Computing & Computer As-sisted Intervention, volume 7 of LNCS, pages 311–318. Springer Verlag.

APPENDIX A. EXTENDED FINITEELEMENT METHOD (XFEM)

The main idea of exploiting the partition of unityproperty is to construct basis functions through prod-ucts of classical shape functions and a local enriched

basis; allowing to generate discontinuous elements.Hence, the equation of the displacements can be cal-culated as

u(x) =n

∑i=1

Φi(x)ui︸ ︷︷ ︸classical

+n

∑j=1

Φ j(x)ψ j(x)a j︸ ︷︷ ︸enrichment

(7)

where Φi(x) are the clasical shape functions; thediscontinuous enrichment functions are denoted byψ j(x), and the new nodal DOFs as a j. The enrich-ment function ψ(x) can be any discontinuous func-tion; commonly, it is the Heaviside function (Eq. 8),another option is the shifted function defined in Eq. 9.

Ψ(x) = H(x) ={

+1 above the crack−1 below the crack (8)

ψi(x) =12(H(x)−Hi) (9)

where Hi is the value of Heaviside function at the i-th node. The shifted function consists in using theenrichment contribution only inside of the discontin-uous element and ignores the contribution on the bor-ders and outside of the element.

To keep the delta property, the displacements ofthe enriched nodes has to be computed as the sumof the components ui + Ψiai. The shifted function incontrast with the Heaviside, directly stores the valuesof the displacement in ui and the added DOFs ai areonly required to establish the displacements of an en-riched element.

APPENDIX B. CO-ROTATIONALFEM

The corotational method is based on the linearFEM using Cauchy’s strain tensor; this method storesa reference state of the elements. To compute the de-formation forces, these have to be translated to thereference state and rotated back to the current state.Therefore, the deformation forces are expressed asfollows

fi = Rn

∑j=1

Ki j(RT p j−p0 j) (10)

where R is the rotation matrix is required to translatefrom the current to initial state, p are the positions ofthe element nodes in the current deformed state de-fined as p = p0 + u, in which p0 indicates the initialpositions of the element nodes.

Figure 14: Cutting algorithm: elements 1-5 are frontal el-ements and 6-9 internal elements. When the cut starts, thefirst element found is tetrahedron 1, its neighbors are ob-tained and stored in list lT (list of tetrahedrons), the neigh-bors are obtained considering all tetrahedrons that share atleast one vertex. For all neighbors, we search those whosecollide with the collision quad. If an element has one, twoor three edges intersecting are stored respectively in listsL1,L2,L3. After crossing an element, a new internal meshis created considering the intersection points. If an elementis recorded in list L2 or L3 must be deleted from the previ-ous list. In order to ensure that the element is fully crossed,the crossed edges of the element must be different from theothers stored in list.

Figure 15: The skin of the hand can be used to simulate anopen surgery.