# An Architecture for Real-Time Vertebrae Drilling Simulation.

## Presentation on theme: "An Architecture for Real-Time Vertebrae Drilling Simulation."— Presentation transcript:

An 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 its 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 –(Its 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,000 mm 3 –we cant 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

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….

An RBF takes these points:

And gives you this surface:

Definition of an RBF

Finding the coefficients We specify a set of N point/value pairs (x i,f i ) –s(x i ) = f i (these are called centers of the RBF) By plugging the x i 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(N 3 ) w/ O(N 2 ) memory, and evaluation is O(N) –Thats 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, the surface is restricted: As the distance increases, there is more freedom: This is why the pixel-based fitting method failed

Center Reduction RBF center reduction throws away redundant centers that the RBF will interpolate anyway: Reduces N, which makes evaluation faster

RBF Smoothing Introduce smoothing factor into RBF Reduces solution accuracy at the expense of increased smoothness Can set smoothness for each 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?