Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of...

23
http:// http:// www.media.queensu.ca www.media.queensu.ca 1 An Open-Source Solution for An Open-Source Solution for Interactive Acquisition, Interactive Acquisition, Processing and Transfer of Processing and Transfer of Interventional Ultrasound Interventional Ultrasound Images Images Jonathan Boisvert Jonathan Boisvert , David Gobbi, Siddharth , David Gobbi, Siddharth Vikal, Vikal, Robert Rohling, Gabor Fichtinger and Purang Robert Rohling, Gabor Fichtinger and Purang Abolmaesumi Abolmaesumi Medical Image Analysis (MedIA) Laboratory Medical Image Analysis (MedIA) Laboratory http://www.media.queensu.ca http://www.media.queensu.ca Queen’s University Queen’s University Kingston, Ontario, Canada Kingston, Ontario, Canada

Transcript of Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of...

Page 1: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 2: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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.

Page 3: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 4: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 5: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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).

Page 6: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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).

Page 7: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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).

Page 8: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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).

Page 9: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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).

Page 10: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 11: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 12: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 13: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 14: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 15: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 16: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 17: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 18: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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.

Page 19: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

http://www.media.queensu.cahttp://www.media.queensu.ca 2121

Communication with SlicerCommunication with Slicer

Page 20: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 21: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 22: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

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

Page 23: Http:// An Open-Source Solution for Interactive Acquisition, Processing and Transfer of Interventional Ultrasound Images Jonathan.

http://www.media.queensu.cahttp://www.media.queensu.ca 2525

QuestionsQuestions