Integration of stereo video into Slicer3

From NAMIC Wiki
Jump to: navigation, search
Home < Integration of stereo video into Slicer3

Key Investigators

  • Robarts Research Institute / University of Western Ontario: Mehdi Esteghamatian


Objective

The objective of this study is to grab and visualize video images in Slicer3 as soon as they are acquired. The source of the video can be laparoscope or ultrasound for my project. However, generally the video source can be any modality capable of streaming out the video. Actually, I plan to integrate laparascope images and intra-operative ultrasound with pre-operative MR image. Moreover, in order to present the video in right position with respective to pre-operative MR, we need to track the laparoscope camera and/or ultrasound transducer. Therefore, camera calibration and ultrasound calibration should be added to the slicer in the long run.


Approach, Plan

Real-time video grabbing and visualization have been implemented previously for the ultrasound in AtamiViewr by My colleague Danielle Pace. However, this time I am trying to do that in Slicer3. Up to now, I studied two possible alternatives so as to tackle video grabbing in Slicer3. The first possible approach was using a IGSTK library containing a VideoImager. Actually, since the code is recently developed and is currently under review by Andinet Enquobahrie. He believes that the code is not developed enough so that it can be used for Slicer3.

The second alternative is to use vtkVideoSource and to extend it according to the targeted modality. For instance, vtkMILVideoSource provides an interface to Matrox Meteor, MeteorII and Corona video digitizers through the Matrox Imaging Library interface. As an another example vtkWin32VideoSource grabs frames or streaming video from a Video for Windows compatible device on the Win32 platform.

I plan to start with a simple GUI capable of showing a video stream in a plane in the 3D view of the slicer. However, the video grabbing process should perform on separate thread so that it would not stop the Slicer3.


Progress

I have studied everything but implemented nothing. :-(