Table of Contents

Realtime Feedback Tool for Nasal Surgery

Last updated: 2016-5-06 12:30 AM

Summary

Septoplasty is a surgical procedure that aims to correct deviated septum, a condition which may cause breathing difficulty. Septoplasty is one of the first procedures residents learn in their residency but also one of the last procedure they actually master. This long learning curve is caused by low visibility on the surgical target, which makes it hard for residents to see how this procedure can be correctly done. By adding line of cut visualization, we hope to be able to help the resident learn and evaluate their performance.

Background, Specific Aims, and Significance

Septoplasty is a surgery that uses a surgeon’s instinct in estimating the nasal region to cut. Training residents in septoplasty is hard because the residents cannot see the surgery being performed by the fellow because of the small and limited viewing region. There is no existing technology that is being used for visualizing the septum surface and visualizing nasal cutting tool line-of-cut for septoplasty surgery. This tool will aid in training surgeons by providing visualization of the predicted line of cut for the surgeon.

Deliverables

Technical Approach

Scissor Model Training (minimum deliverable)

Since the surgical scissors might have some variation in the blade design, cut trajectory, and EM mounting position, prior scissors trainings are needed for visualizing line of cut. There are 2 main basic scissor model property that need to be resolved for most scissors:

Summary of the Procedure

  1. Put the EM sensor on the Scissor and another EM sensor on the training plane.
  2. Do pivot calibration on EM Pointer to get accurate tip position. The pivot calibration is already provided in Aurora Application module.
  3. Use EM pointer to calculate the scissor cutting plane normal by moving the tip arbitrary oround the scissor blade surface.
  4. Use EM pointer to estimate the training plane normal vector by moving the tip arbitrary around the training plane surface. We will use PCL SACsegmentation algorithm to estimate the plane parameter.
  5. Make a line with the EM pointer on the training plane surface to get the direction of the cut and the starting point for the scissor cut.
  6. Calculate the line position relative to the training plane.
  7. Use Scissor to cut the training plane.
  8. The scissor pinch point position is where the cut starting point is made on the plane. By doing frame transformation on the scissor relative to the septum plane, the scissor pinch point position relative to the scissor EM sensor can be retrieved directly.
  9. The scissor normal cross product with the septum plane is equal to the direction of the cut. Since we have the direction of the cut, the scissor plane, and the septum plane normal, we could estimate the error in scissor normal plane estimation.
  10. To improve the result accuracy, do cut training several time and estimate the best result using linear least square.

Septum Surface data generation (minimum deliverable)

The septum surface is approximated with a 2D convex hull surface in 3D space.

Summary of the Procedure

  1. Put an EM sensor to patient's forehead.
  2. The L-strut region of the nose, which is a very critical structure for septoplasty procedure is tightly tied to the nasal bridge position (see Fig. 1). To establish the estimated position of the L-strut, the nasal bridge (NB) needs to be traced with the EM pointer.
  3. Transform the collected nasal bridge point cloud from EM pointer to patient's forehead coordinate system.
  4. To approximate the shape of the septal nasal cartilage (NS), points in that region are needed. This data can be generated by tracing the septum surface using the EM pointer tool with a zig-zag pattern to generate a point cloud.
  5. Transform the collected septum surface point cloud from EM pointer to patient's forehead coordinate system.
  6. Combine nasal bridge point cloud and septum surface point cloud to generate a convex hull or mesh that will approximate the shape of cartilage.

Line of Cut Prediction (minimum deliverable)

Reconstructed septum surface, scissor model training, and EM sensors data on both patient head and the surgical scissor are the variables we need for predicting the line of cut on septum surface.

Summary of the Procedure

  1. Estimate the septum surface plane parameters;
  2. Load current scissor parameters;
  3. Collect the scissor and septum pose sensor data;
  4. Generate a line from scissor cutting plane and septum plane intersection;
  5. Project the scissor pinch point to the generated line to get the initial cutting point;
  6. Calculate the distance between scissor pinch point and initial cutting point to get the maximum line of cut length.
  7. Calculate the end cutting point from the initial cutting point, maximum line of cut length, and generated line direction.

Server/Client Communication

Our project consists of three main modules, SeptoServer (provided to us by our mentor), which processes sensor pose information from the Aurora sensor, Platform.cpp, which receives the data from SeptoServer, and gives it to the LineOfCutGenerator and SeptumSurfaceGenerator depending on the operating mode, and the Python visualization module that uses vtk to visualize the surgical scissors, line of cut, and the septum plane.

The structure of the data formats of the packets that are sent between applications is in the final report.

Data Visualization

The Data Visualization Module is written in Vtk. At the beginning of operation, the surgeon will trace the septum plane, and Platform.cpp will send the surface model to the visualization module (using the data format described in a document in the previous section). The Visualization Module receives data packets (described in the previous section) that contain the line of cut and the scissor pose.

The Data Visualization Module displays the surgical scissors, and adjusts the pose when it receives a line of cut packet that contains the scissor pose.

When the valid flag is 1, the line of cut will be displayed.

Dependencies

Milestones and Status

  1. Milestone name: Data Pipeline between sensor and PC
    • Planned Date: March 4th
    • Expected Date: March 25th
    • Status: Completed
  2. Milestone name: Developed software for scissor model training
    • Planned Date: March 23rd
    • Expected Date: April 3rd
    • Status: Completed
  3. Milestone name: Developed software for line of cut prediction
    • Planned Date: March 23rd
    • Expected Date: April 3rd
    • Status: Completed
  4. Milestone name: Visualize
    1. Plot Scissors
    2. Plot Line
    3. Plot 3d Mesh (scan Pointer)
    4. Plot scissor edge (track edge)
    5. add pan / zoom function
      • Planned Date: March 30th
      • Expected Date: March 30th
      • Status: Completed.
  5. Milestone name: Developed simple GUI for the software
    • Planned Date: April 3th
    • Expected Date: April 10th
    • Status: Completed
  6. Milestone name: HTTP based communication for sending sensor data across the network Decided to use data piping instead.
    • Planned Date: April 3th
    • Expected Date: April 10th
    • Status: Completed
  7. Milestone name: Performance Test
    • Planned Date: April 6th
    • Expected Date: April 6th
    • Status: Completed
  8. Milestone name: Evaluation for line of cut prediction accuracy
    • Planned Date: April 13th
    • Expected Date: April 20th
    • Status: Completed
  9. Milestone name: Report
    • Planned Date: April 27th
    • Expected Date: April 27th
    • Status: Completed

Reports and presentations

Project Bibliography

Other Resources and Project Files

Here give list of other project files (e.g., source code) associated with the project. If these are online give a link to an appropriate external repository or to uploaded media files under this name space.