An Architecture for Real-Time Vertebrae Drilling Simulation

Preview:

Citation preview

An Architecture for Real-Time Vertebrae Drilling SimulationAn Architecture for Real-Time Vertebrae Drilling Simulation

Virtual WHAT?

• When a patient ruptures a disc, it has to be removed and the surrounding vertebrae are fused together using a piece of bone

• Pedicle screws are inserted into the vertebrae to stabilize it during fusion

Pictures from www.spine-health.com

Why simulate this?

• Pedicle screw insertion is inherently dangerous, so it’s difficult to get experience

• Training options are poor

• Simulation is cheap*!

* Haptic drill may in fact not be cheap…

How to simulate Spinal Drilling:

1) Make a Virtual Vertebrae

2) Make a Virtual Drill

3) Virtually Drill the Virtual Drill into the Virtual Vertebrae

– (It’s virtually that simple)

Step 2: A Virtual Drill

• Only the drill bit actually ‘drills’

• The drill bit is a cylinder with a conical end cap– we ignore the threads on the drill bit

Step 3: Virtual Drilling

• General problem: We have a volume we want to decimate with our Virtual Drill Bit

• General Solution: Fill the volume with volume elements and throw them away when they intersect with the Virtual Drill Bit

A note about speed

• We are using haptic feedback devices– Need high feedback rates (300Hz-10000Hz)

• This implies the intersection test has to be very fast

• Volume element with the fastest intersection test: Points!– Fast geometric test w/cylinder and cone– Small memory footprint

Just how many points?

• That depends on the haptic drill– Our guess (so far): 0.1mm between points

• Vertebrae volume is ~100,000mm3

– we can’t fill the whole thing

• We can cheat because surgeons are meticulous– They plan surgeries before-hand– We know where the drill is going!

Where do we put the points?

• Bad Idea: voxels

• Good Idea: cylindrical point volume– Drill bit is a cylinder, so fill a bigger cylinder

with points, and align it with the planned path

• Where in the cylinder?– Structure can speed up collision algorithm

The Cylinder/Disc/Ring Paradigm

Off-Path Drilling

• Simple algorithm rewards on-path drilling

• Can avoid this by traversing ring in both directions

Testing the System

• No haptic drill!

• Try to simulate haptic drill input– Drill input should be asynchronous– Very difficult, Linux is not an RTOS

• Fallback method:– Move drill, test for collisions, move drill, test

for collisions, etc …

Simulation Results

Step 1: A Virtual Vertebrae

• Point inside/outside test– Implicit surfaces are good for this

• Smooth, accurate polygonized surface– Implicits work well here, too

• Reconstruction from CT slices– People have been using Radial Basis Functions

with good results

Computed Tomography

• AKA CT or CAT Scanning

• Greyscale slices of biological volume

• Isolating surface contours

• Segmenting is done by hand

Ugly Contours

Radial Basis Functions

• Radial Basis Function a continuous function that interpolates through an (almost) arbitrary set of data points

• The RBFs we are interested in are classified as the ‘smoothest interpolants’ – they minimize surface curvature:

• In pictures….

222222 2223

yzxzxyzzyyxx ssssss

An RBF takes these points:

And gives you this surface:

Definition of an RBF

)( :Biharmonic

on depends and polynomial degree low a is

)( :3D

)ln()( :2D

:Biharmonic theuse we,function' basic' theis

)()()( :Form General

2

1

dzcybxaxP

P

dd

ddd

xxcxPxsn

iii

Finding the coefficients

• We specify a set of N point/value pairs (xi,fi)– s(xi) = fi (these are called ‘centers of the RBF’)

• By plugging the xi’s back into the general form, we get a linear system of equations in N variables– The coefficients of P go in there too, so actually N+4

• Solving this system is O(N3) w/ O(N2) memory, and evaluation is O(N)– That’s too slow to be practical, but Fast Multipole

Methods reduce evaluation to O(1), with an O(NlogN) setup time, so iterative solving is O(NlogN)

Hole Filling Property

• The biharmonic has non-compact support, it can be used for mesh repair or to fill holes

• Vertebrae point set has two large holes:

Off Surface Points

• For 3D biharmonic RBFs, specify a set of surface points with value f = 0

• Also need inside and outside points with positive and negative values– Trivial solution s = 0 if we only specify surface points

• The distance between surface and off-surface points has a large effect on smoothness of the final surface

Why does OSP distance matter?

• When the distance is small, thesurface is restricted:

• As the distance increases, there is more freedom:

• This is why the pixel-basedfitting method failed

Center Reduction

• RBF center reduction throws away redundant centers that the RBF willinterpolate anyway:

• Reduces N, which makesevaluation faster

RBF Smoothing

• Introduce smoothing factor into RBF

• Reduces solution accuracy at the expense of increased smoothness

• Can set smoothness foreach center individually

Dangers of RBF Smoothing

• A High smoothing factor can cause serious volume change:

FastRBF

• FastRBF from FarFieldTechnology– FMM, reduction, smoothing, automatic normal

generation, optimized triangle polygonizer

• www.fastrbf.com

Vertebrae Model Results

Rendering the Point Volume

Questions?

Recommended