We are developing a Slicer module to simulating registering titanium plate to orbital fracture sites to aid surgical planning and investigating the fitness of different commercial preformed plates across a large sample of patients.
Make a module to allow the plate to properly sits above the bone at the orbital fracture site
See below.
I have complied existing methods in Slicer and VTK into one preliminary module https://github.com/chz31/surgical_plate_registration to do the semi-automatic registration:
2. Use VTKCollisionDetector()
and intersect marker to detect collision and mark the intersection
3. Use Probe Volume with Model
to paint both the orbit and the plate to mark the overlapping areas.
4. Use the new Interaction Transform Handle to manually fine tune the position
7. Update new intersection and overlapping areas until they ar minimized.
Next steps:
Improving the use of the Interaction Transform Handle and intersection marker to more efficiently adjust plate position so that it sits just above the bone. Converting transform matrix into standard descriptor: yaw, roll, and pitch. (from https://doi.org/10.1371/journal.pone.0150162)
Design measurements to quantify plate fitness. Comparing the shape of the plate with the unfractured orbit.
Automated segmentation for segmenting fractured orbit.
Explore methods such as reinforcement learning and SOFA for actual simulating how the plate is placed.
No response
The repo for the current module: surgical_plate_registration Other studies using commercial software iPlan from BrainLab, which should still be based on manual adjustment: Schreur et al. 2017 and Schreur et al. 2021