http://www.media.queensu.cahttp://www.media.queensu.ca 11
An Open-Source Solution for An Open-Source Solution for Interactive Acquisition, Processing Interactive Acquisition, Processing
and Transfer of Interventional and Transfer of Interventional Ultrasound ImagesUltrasound Images
Jonathan BoisvertJonathan Boisvert, David Gobbi, Siddharth Vikal, , David Gobbi, Siddharth Vikal, Robert Rohling, Gabor Fichtinger and Purang Robert Rohling, Gabor Fichtinger and Purang
AbolmaesumiAbolmaesumi
Medical Image Analysis (MedIA) LaboratoryMedical Image Analysis (MedIA) Laboratoryhttp://www.media.queensu.cahttp://www.media.queensu.ca
Queen’s UniversityQueen’s UniversityKingston, Ontario, CanadaKingston, Ontario, Canada
http://www.media.queensu.cahttp://www.media.queensu.ca 22
IntroductionIntroduction Ultrasound is a very common Ultrasound is a very common
interventional image modalityinterventional image modality Open-interface machines makes it Open-interface machines makes it
even more attractive to IGT even more attractive to IGT developers developers
Often used with motion tracking Often used with motion tracking devices. devices.
Problem:Problem: Acquisition, synchronization and Acquisition, synchronization and
transfer to existing IGT systems is transfer to existing IGT systems is more difficult than it should be.more difficult than it should be.
http://www.media.queensu.cahttp://www.media.queensu.ca 33
Integrated navigation software such Integrated navigation software such as:as: CustusXCustusX11, IGSonic, IGSonic22, SonoNav, SonoNav33 or Stradx or Stradx44..
Software frameworks such as: Software frameworks such as: IGSTKIGSTK55
Slicer specific software development Slicer specific software development A module for Slicer 2 initially A module for Slicer 2 initially
developed by Boctor et al.developed by Boctor et al.66
Prior work
http://www.media.queensu.cahttp://www.media.queensu.ca 44
Sophisticated Sophisticated registration, data-registration, data-fusion and fusion and visualization visualization capabilitiescapabilities
Modular architectureModular architecture Multi-platform Multi-platform Support for the new Support for the new
OpenIGTLink protocolOpenIGTLink protocol
Open-source software Open-source software platform: Slicerplatform: Slicer
http://www.media.queensu.cahttp://www.media.queensu.ca 66
Architecture : SynchroGrabArchitecture : SynchroGrab
Provide real-time ultrasound processing Provide real-time ultrasound processing capabilities.capabilities.
Delegate visualization, registration and Delegate visualization, registration and navigation to an OpenIGTLink compatible navigation to an OpenIGTLink compatible software (Slicer).software (Slicer).
http://www.media.queensu.cahttp://www.media.queensu.ca 77
Architecture : SynchroGrabArchitecture : SynchroGrab
Provide real-time ultrasound processing Provide real-time ultrasound processing capabilities.capabilities.
Delegate visualization, registration and Delegate visualization, registration and navigation to an OpenIGTLink compatible navigation to an OpenIGTLink compatible software (Slicer).software (Slicer).
http://www.media.queensu.cahttp://www.media.queensu.ca 88
Architecture : SynchroGrabArchitecture : SynchroGrab
Provide real-time ultrasound processing Provide real-time ultrasound processing capabilities.capabilities.
Delegate visualization, registration and Delegate visualization, registration and navigation to an OpenIGTLink compatible navigation to an OpenIGTLink compatible software (Slicer).software (Slicer).
http://www.media.queensu.cahttp://www.media.queensu.ca 99
Architecture : SynchroGrabArchitecture : SynchroGrab
Provide real-time ultrasound processing Provide real-time ultrasound processing capabilities.capabilities.
Delegate visualization, registration and Delegate visualization, registration and navigation to an OpenIGTLink compatible navigation to an OpenIGTLink compatible software (Slicer).software (Slicer).
http://www.media.queensu.cahttp://www.media.queensu.ca 1010
Architecture : SynchroGrabArchitecture : SynchroGrab
Provide real-time ultrasound processing Provide real-time ultrasound processing capabilities.capabilities.
Delegate visualization, registration and Delegate visualization, registration and navigation to an OpenIGTLink compatible navigation to an OpenIGTLink compatible software (Slicer).software (Slicer).
http://www.media.queensu.cahttp://www.media.queensu.ca 1111
SonixRPSonixRP Open interface Open interface
Access to pre-scan converted images, Access to pre-scan converted images, post-scan converted images, imaging post-scan converted images, imaging parameters, RF raw-data, etc.parameters, RF raw-data, etc.
New vtk class New vtk class “vtkSonixVideoSource” “vtkSonixVideoSource” Easy integrationEasy integration
Highly reusableHighly reusable
Ultrasound image Ultrasound image acquisitionacquisition
http://www.media.queensu.cahttp://www.media.queensu.ca 1212
Inherit from Inherit from vtkVideoSourvtkVideoSourcece
Support many Support many data types:data types: BPreScan, BPost 8 BPreScan, BPost 8
bit, BPost 32 bit, bit, BPost 32 bit, RF 16 bit, MPost 8 RF 16 bit, MPost 8 bit, Color+ B 32 bit, Color+ B 32 bitsbits
vtkSonixVideoSource *sonixGrabber = vtkSonixVideoSource::New();sonixGrabber->SetSonixIP("127.0.0.1");sonixGrabber->SetImagingMode(BMode);sonixGrabber-> SetAcquisitionDataType(udtBPost);sonixGrabber->Record();sonixGrabber->Stop();sonixGrabber->Rewind();
// Process the first image here
sonixGrabber->Seek(1)
// Process the second image here
sonixGrabber->Delete();
vtkSonixVideoSource *sonixGrabber = vtkSonixVideoSource::New();sonixGrabber->SetSonixIP("127.0.0.1");sonixGrabber->SetImagingMode(BMode);sonixGrabber-> SetAcquisitionDataType(udtBPost);sonixGrabber->Record();sonixGrabber->Stop();sonixGrabber->Rewind();
// Process the first image here
sonixGrabber->Seek(1)
// Process the second image here
sonixGrabber->Delete();
Using vtkSonixVideoSourceUsing vtkSonixVideoSource
http://www.media.queensu.cahttp://www.media.queensu.ca 1313
Object orientedObject oriented ExtensibleExtensible Multi-threadedMulti-threaded Circular buffers Circular buffers
for for transformations transformations synchronizationsynchronization
3D Tracking3D Tracking
http://www.media.queensu.cahttp://www.media.queensu.ca 1414
Tracking and ultrasound Tracking and ultrasound imaging imaging
not performed at the not performed at the same frequency.same frequency.
Need to interpolate the Need to interpolate the poses (using spherical poses (using spherical linear interpolation)linear interpolation)
SynchronizationSynchronization
http://www.media.queensu.cahttp://www.media.queensu.ca 1515
Data preprocessing Data preprocessing
Hardware latency, pose Hardware latency, pose computation, ultrasound computation, ultrasound image processing, and image processing, and copy to user-space copy to user-space memory.memory.
OS relatedOS related
Context switching, Context switching, memory swapping, etc.memory swapping, etc.
Compensate for the Compensate for the mean lagmean lag
SynchronizationSynchronization
http://www.media.queensu.cahttp://www.media.queensu.ca 1616
vtkTaggedImageFiltervtkTaggedImageFilter Compute the transformation associated with an image.Compute the transformation associated with an image.
Two inputs: a vtkTrackerTool and a vtkImageAlgorithm Two inputs: a vtkTrackerTool and a vtkImageAlgorithm objectobject
vtkTaggedImageFilter *tagger = vtkTaggedImageFilter::New();
tagger->SetInput(sonixGrabber->GetOutput());tagger->SetTrackerTool(trackerTool);tagger->SetTemporalLag(xxx);
tagger->Update();
currentTransforms = tagger->GetTransform();currentImage = tagger->GetOutput();
vtkTaggedImageFilter *tagger = vtkTaggedImageFilter::New();
tagger->SetInput(sonixGrabber->GetOutput());tagger->SetTrackerTool(trackerTool);tagger->SetTemporalLag(xxx);
tagger->Update();
currentTransforms = tagger->GetTransform();currentImage = tagger->GetOutput();
SynchronizationSynchronization
http://www.media.queensu.cahttp://www.media.queensu.ca 1717
Synchronized images and transformationSynchronized images and transformation Combined to produce 3D volumesCombined to produce 3D volumes Pixel-based reconstruction Pixel-based reconstruction
Pixel nearest neighbors (PNN) Pixel nearest neighbors (PNN) Pixel trilinear interpolation (PTL)Pixel trilinear interpolation (PTL)
3D Reconstruction3D Reconstruction
http://www.media.queensu.cahttp://www.media.queensu.ca 1919
SynchroGrab --calibration-file 071508_162653.Calibration.results --reconstruct-volume --nb-frames 150 --fps 5 --use-tracker-transformsSynchroGrab --calibration-file 071508_162653.Calibration.results --reconstruct-volume --nb-frames 150 --fps 5 --use-tracker-transforms
Reconstructing volumesReconstructing volumes
Just start the application using the command line
http://www.media.queensu.cahttp://www.media.queensu.ca 2020
SynchroGrab --calibration-file 071508_162653.Calibration.results
--oigtl-transfert-images --nb-frames 150 --fps 5
SynchroGrab --calibration-file 071508_162653.Calibration.results
--oigtl-transfert-images --nb-frames 150 --fps 5
Communication with SlicerCommunication with Slicer
Real-time acquisition using SynchroGrab. Visualization with Slicer 3.
http://www.media.queensu.cahttp://www.media.queensu.ca 2121
Communication with SlicerCommunication with Slicer
http://www.media.queensu.cahttp://www.media.queensu.ca 2222
SynchroGrabSynchroGrab Acquisition and synchronization of tracking and Acquisition and synchronization of tracking and
ultrasound dataultrasound data
Can be used as a stand-alone command-line application.Can be used as a stand-alone command-line application.
Can be used in conjunction to an OpenIGTLink compliant Can be used in conjunction to an OpenIGTLink compliant software.software.
Development of temporal calibration Development of temporal calibration protocolsprotocols
Future support for 3D probesFuture support for 3D probes
Conclusion & Future workConclusion & Future work
http://www.media.queensu.cahttp://www.media.queensu.ca 2323
1.1. T. Lango, G. A. Tangen, R. Marvik, B. Ystgaard, Y. Yavuz, J. H. T. Lango, G. A. Tangen, R. Marvik, B. Ystgaard, Y. Yavuz, J. H. Kaspersen, O. V. Solberg, and T. A. N. Hernes. Kaspersen, O. V. Solberg, and T. A. N. Hernes. Navigation in Navigation in laparoscopy–prototype research platform for improved image-guided laparoscopy–prototype research platform for improved image-guided surgerysurgery. Minim Invasive Ther Allied Technol, 17(1):17–33, 2008.. Minim Invasive Ther Allied Technol, 17(1):17–33, 2008.
2.2. BrainLAB (AG, Heimstetten, Germany). IGSonic. BrainLAB (AG, Heimstetten, Germany). IGSonic. http://www.brainlab.comhttp://www.brainlab.com
3.3. Medtronic(Louisville, CO, U.S.). SonoNav. Medtronic(Louisville, CO, U.S.). SonoNav. http://www.medtronicnavigation.comhttp://www.medtronicnavigation.com
4.4. Graham Treece, Richard Prager and Andrew Gee. Graham Treece, Richard Prager and Andrew Gee. Stradx/Stradwin. Stradx/Stradwin. http://mi.eng.cam.ac.uk/~rwp/stradwin/ http://mi.eng.cam.ac.uk/~rwp/stradwin/
5.5. Andinet Enquobahrie, Patrick Cheng, Kevin Gary, Luis Ibanez, David Andinet Enquobahrie, Patrick Cheng, Kevin Gary, Luis Ibanez, David Gobbi, Frank Lindseth, Ziv Yaniv, Stephen Aylward, Julien Jomier, Gobbi, Frank Lindseth, Ziv Yaniv, Stephen Aylward, Julien Jomier, and Kevin Cleary. and Kevin Cleary. The image-guided surgery toolkit IGSTK: an open The image-guided surgery toolkit IGSTK: an open source C++ software toolkitsource C++ software toolkit. J Digit Imaging, 20 Suppl 1:21–33, . J Digit Imaging, 20 Suppl 1:21–33, 2007.2007.
6.6. E. M. Boctor, A. Viswanathan, S. Pieper, M. A. Choti, R. H. Taylor, R. E. M. Boctor, A. Viswanathan, S. Pieper, M. A. Choti, R. H. Taylor, R. Kikinis, and G. Fichtinger.Kikinis, and G. Fichtinger. CISUS: an integrated 3D ultrasound CISUS: an integrated 3D ultrasound system for IGT using a modular tracking APIsystem for IGT using a modular tracking API. Proceedings of the . Proceedings of the SPIE, volume 5367, pages 247–256, May 2004 SPIE, volume 5367, pages 247–256, May 2004
ReferencesReferences
http://www.media.queensu.cahttp://www.media.queensu.ca 2424
Natural Sciences and Engineering Natural Sciences and Engineering Research Council (NSERC), Research Council (NSERC),
Canadian Institutes of Health Research Canadian Institutes of Health Research (CIHR),(CIHR),
National Alliance in Medical Image National Alliance in Medical Image Computing (NIH5U54EB005149-03),Computing (NIH5U54EB005149-03),
Fonds québécois de recherche sur la Fonds québécois de recherche sur la nature et les technologies. nature et les technologies.
AcknowledgmentsAcknowledgments
http://www.media.queensu.cahttp://www.media.queensu.ca 2525
QuestionsQuestions
Top Related