SLIDE 1
Haptics for Surgical Simulation
CPSC 599.86 / 601.86 Sonny Chan University of Calgary
SLIDE 2 Motivation
- I taught you all this great,
futuristic stuff this semester…
- but where would I ever use it?
- Few applications can support
the high cost of haptic devices
- Luckily for us (me), the medical
community is well funded
- surgery is a high-risk endeavour with
very, very costly mistakes!
SLIDE 3
A C C E P T E D
NeuroTouch (NRC Canada) and LAP Mentor (Simbionix)
SLIDE 4
SLIDE 5
neuroArm project, University of Calgary
SLIDE 6
Opportunities for Surgical Simulation
What one is the simulator?
SLIDE 7
My Research Mission
Virtual Surgical Environment Operating Room
SLIDE 8
Volumetric Isosurfaces
SLIDE 9 Volume Rendering
- Implicit representations are now
uncommon, but...
- 3D medical imaging (CT, MRI,
etc.) has resulted in an abundance of volume data
- Can be rendered with (almost)
the same algorithm for implicit surfaces!
SLIDE 10 Sampled Volume Data
- Image values sampled on rectilinear grid
- CT scans measure radiodensity in Hounsfield Units
SLIDE 11
Interpolation
What is the value here?
(0,0) (1,1) 0.3 0.6 0.7 0.9 F(x, y) = (1 x + bxc)(1 y + byc) I(bxc, byc) + (x bxc)(1 y + byc) I(dxe, byc) + (1 x + bxc)(y byc) I(bxc, dye) + (x bxc)(y byc) I(dxe, dye) for x, y, z 2 R
SLIDE 12
Isocontours & Isosurfaces
Choose a threshold value, T, to determine the surface function
S(x, y, z) = T − F(x, y, z)
T = -600 HU T = 300 HU
SLIDE 13
Isosurfaces in 3D
SLIDE 14 Rendering Algorithm
- Our implicit surface rendering
algorithm has two specific requirements:
- Inside-outside function for S(p)
- The gradient of S(p)
S(x, y, z) = T − F(x, y, z) rS(x, y, z) = ???
SLIDE 15 Gradient Estimation
- Estimate gradient using central
difference:
- What’s the best choice for the δ
value?
rS(x, y) = ∂S
∂x ∂S ∂y
! ⇡ @
S(x+δ,y)−S(x−δ,y) 2δ S(x,y+δ)−S(x,y−δ) 2δ
1 A
∂S/∂x ∂S/∂y
SLIDE 16 Isosurface Rendering
- The full rendering algorithm:
- Detect initial contact when S(p) < 0
- Find surface point with initial seed
- Update surface point as the device
moves by using tangent plane
- Contact breaks when device is
moved outside the constraint plane
- Repeat from start…
- Any issues?
SLIDE 17
Demo?
SLIDE 18
Deformable Tissue Simulation
SLIDE 19 Continuum Mechanics
- Governs the stress/strain
behaviour of materials
(elasticity) and Poisson ratio (incompressibility)
- Think of it as an “advanced”
version of mass-spring systems
[from continuummechanics.org]
SLIDE 20 Finite Element Simulation
- Partitions an object into small, discrete elements
- Computes continuum mechanics on solid element mesh
x x ) ( x x − ) (
1
x x R −
− e
x R
1 − e e
R ) (
1
x x R K R −
− e e e
) (
1
x x R K −
− e e
plastic
f
total
f
elastic
f
plastic
plastic rest state deformed state
[from M. Müller & M. Gross, Proc. Graphics Interface, 2004]
SLIDE 21
Data Representation
isosurface CT tetrahedral mesh
SLIDE 22
Data Processing
SLIDE 23 Deformation Simulation
- Co-rotational linear elastic FEM
- Computes nodal displacements
from external forces
- Implementation from VEGA FEM
library (Jernej Barbič, USC)
SLIDE 24 Haptic Rendering
- Extension of original isosurface
rendering algorithm:
- sampling deformed volume
- force transfer
- moving the proxy
SLIDE 25 Sampling the Deformed Volume
- How do we find the image intensity value
at a given location in deformed space, x?
p0
deformed tetrahedron
rest vertices barycentric coordinates xm 1
r0 r1 r2 r3 1 1 1 1 p0 p1 p2 p3 1 1 1 1 −1 x 1
r1 r0 xm
x
p1 p2
SLIDE 26 Force Transfer
- Virtual coupling force is applied to mesh nodes with barycentric weighting
xp x
Fc F1 F2 F0
SLIDE 27 Moving the Proxy
- To avoid interpenetration, we must keep the proxy outside the isosurface, even
when the deformable mesh elements themselves move!
- If a tetrahedron’s vertices move,
- we displace the proxy’s with the tetrahedron:
x0
p
1
q0 q1 q2 q3 1 1 1 1 p0 p1 p2 p3 1 1 1 1 1 xp 1
SLIDE 28
Architecture
Haptic Rendering Deformation Simulation Visual Rendering
forces displacements displacements
1000 Hz ~10-100 Hz 60 Hz
SLIDE 29
Results
SLIDE 30
Results
SLIDE 31 Summary
- Surgical simulation is a popular
and promising application of high-fidelity computer haptics
- can tolerate cost of hardware
- Sampled volumetric images
(medical image data) can be described as implicit surfaces
- adapt the implicit surface rendering
algorithm to compute forces