Last updated: 05/05/2016 at 10:15PM
The goal of this project is to improve the calibration of overlaying Cone Based Computer Tomography (CBCT) and Red-Green-Blue-Depth (RGBD) camera meshes by creating an automated calibration algorithm. This will allow a faster process to generate a real-time 3D mixed-reality visualization and allow surgeons to more easily locate guide wire and screw placement with less time and usage of x-rays (i.e. less radiation exposure).
Orthopedic surgeries often demand correct placement of a medical instrument and/or implant. Therefore, imaging techniques are utilized to confirm that tools are being inserted into correct bodily areas, and also any other necessary implants. Current solutions utilize continuous acquisition of X-ray images which result in high radiation exposure, numerous X-Rays captured, long surgical durations, and significant taskload (Fischer et. al).
This calibration process has 3 main phases. Many of these tedious steps are conducted manually, such as the segmentation (Lee et. al). The first phase is done in ImFusion, using KinFu to generate the point cloud from the Kinect camera and segment the meshes from the CBCT. The second phase is done in MeshLab, extracting the useful point clouds from each data set. The third phase is done in PCL, transforming the point clouds using Fast Point Feature Histograms and ICP.
To validate the solution, comparisons between the resulting registrations of Lee’s manual calibration and the automated calibration will be done at the end of each phase of development. The solution is expected to be significantly faster than manual calibration, and the user only needs to click a single button.
Room:
Hardware and Tools:
Software:
Code Storage:
Besl PJ, McKay ND. A Method for Registration of 3-D Shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence, February 1992.
Fischer M, Fuerst B, Lee SC, Fotouhi J, Habert S, Weidert S, Euler E, Osgood G, Navab N. Pre-Clinical Usability Study of Multiple Augmented Reality Concepts for K-Wire Placement. International Journal of Computer Assisted Radiology and Surgery / International Conference on Information Processing in Computer-Assisted Interventions (IPCAI), Heidelberg, June 2016.
Kojcev R, Fuerst B, Zettining O, Fotouhi J, Lee SC, Taylor R, Sinibaldi E, Navab N. Dual-Robot Ultrasound-Guided Needle Placement: Closing the Planning-Imaging-Action Loop. International Journal of Computer Assisted Radiology and Surgery / International Conference on Information Processing in Computer-Assisted Interventions (IPCAI), Heidelberg, June 2016
Lee SC, Fuerst B, Fotouhi J, Fischer M, Osgood G, Navab N. Calibration of RGBD Camera and Cone-Beam CT for 3D Intra-operative Mixed Reality Visualization. International Journal of Computer Assisted Radiology and Surgery / International Conference on Information Processing in Computer-Assisted Interventions (IPCAI), Heidelberg, June 2016.
Lorensen W, Cline H. Marching Cubes: A High Resolution 3D Surface Construction Algorithm. Computer Graphics 21, pp 63-169 (1987).
Rusu RB, Blodow N, Beetz M. 2009. Fast point feature histograms (FPFH) for 3D registration. In Proceedings of the 2009 IEEE international conference on Robotics and Automation (ICRA'09). IEEE Press, Piscataway, NJ, USA, 1848-1853.
Rusu RB, Cousins S. 3D is here: Point Cloud Library (PCL). IEEE International Conference on Robotics and Automation (ICRA), Shanghai, China, May 2011.
Rusu, RB, Marton ZC, Blodow N, Beetz M. Peristent Point Feature Histograms for 3D Point Clouds. Intelligent Autonomous Systems, Munich, Germany, December 2007.
Schroeder W, Martin KM, Lorensen WE. 1998. The Visualization Toolkit (2nd Ed.): An Object-Oriented Approach to 3D Graphics. Prentice-Hall, Inc., Upper Saddle River, NJ, USA.
Torr, P., Zisserman, A.: Mlesac: A new robust estimator with application to estimating image geometry. Computer Vision and Image Understanding 78(1), 138 – 156 (2000). DOI http://dx.doi.org/10.1006/cviu.1999.0832. URL http://www.sciencedirect.com/ science/article/pii/S1077314299908329
Wahl E, Hillenbrand U, Hirzinger G. Surflet-Pair-Relation Histograms: A Statistical 3D-Shape Representation for Rapid Classification. IEEE 3-D Digital Imaging and Modeling, Banff, Alta, October 2003.
Yoo TS, Ackerman MJ,Lorensen WE, Schroeder W, Chalana V, Aylward S, Metaxas D, Whitaker R. Engineering and Algorithm Design for an Image Processing API: A Technical Report on ITK - The Insight Toolkit. In Proc. of Medicine Meets Virtual Reality, J. Westwood, ed., IOS Press Amsterdam pp 586-592 (2002).
Dan Adler (daadler0309@gmail.com) Tiffany Chung (tiphchung@gmail.com) 600.446 CIS2: CamC Calibration Project
Computer Aided Medical Procedures (CAMP) Lab
Automated Calibratrion of CBCT to RGBD
Created: 4/9/2016 Last Updated: 4/20/2016
DEPENDENCIES
BUILDING
ALGORITHM
CBCT POINT CLOUD PROCESSING:
Uses raw CBCT DICOM data and filters/thresholds the data to then create a 3D point cloud. It outputs this 3D point cloud as a single .obj file, with prefix specified by the user. The recommended LB/UB based upon our work is 3.0/10.0 respectively.
File: CBCT_phase1.cpp Usage: ./phase1.cpp CBCT_Folder Output.obj LB UB
Specific Inputs:
Output(s):
RGBD POINT CLOUD PROCESSING:
Uses raw RGB and depth data (in .png files) to build a 3D point cloud of the RGBD data.
File: main.cpp Usage: ./png2pcd fileNames.txt
Specific Inputs:
Output(s):
CBCT/RGBD INITIAL ALIGNMENT:
Computes a registration of a CBCT point cloud to an RGBD point cloud using a feature alignment algorithm. It then saves a visual alignment of the two clouds in a .pcd file and the registration (rotation and translation) in a .txt file called “TemplateMatchingResult.txt”.
File: template_alignment.cpp Usage: ./PCLTemplateMatching PointCloud1.pcd PointCloud2.pcd Output.pcd
Specific Inputs:
Output(s)
CBCT/RGBD POINT CLOUD MATCHING:
Takes an initial registration of a CBCT to RGBD point cloud, and then computes a more precise alignment of the two clouds. Outputs this registration (rotation and translation) as a timestamped .txt file.
File: phase3_icp.cpp Usage: ./phase3_icp CBCT.pcd RGBD.pcd initial_reg.txt
Specific Inputs:
Output(s):
and rotation).
MAX DELIVERABLE DOCUMENTATION (BUNNY)