Difference between revisions of "2007 December Slicer IGT Programming"
(→Goal) |
m (Fix MediaWiki formatting issue discovered while converting to GitHub Flavored Markdown using pandoc (via https://github.com/outofcontrol/mediawiki-to-gfm)) Tag: 2017 source edit |
||
(49 intermediate revisions by 6 users not shown) | |||
Line 2: | Line 2: | ||
=Introduction= | =Introduction= | ||
− | <gallery Caption="Sponsored by | + | <gallery Caption="Sponsored by"> |
image:NAMIC_380x463.jpg|[http://www.na-mic.org NA-MIC] | image:NAMIC_380x463.jpg|[http://www.na-mic.org NA-MIC] | ||
image:NCIGTlogo.gif|[http://www.ncigt.org NCIGT] | image:NCIGTlogo.gif|[http://www.ncigt.org NCIGT] | ||
− | image: | + | image:Logo_CIMIT.png|IGT program of [http://www.cimit.org CIMIT] |
Image:Logo_nac.gif|[http://nac.spl.harvard.edu/ NAC] | Image:Logo_nac.gif|[http://nac.spl.harvard.edu/ NAC] | ||
</gallery> | </gallery> | ||
− | This | + | This was a working meeting for research groups with funding to work on the IGT extensions of the NA-MIC kit. There will be a follow up meeting during the NA-MIC AHM in SLC. |
− | = | + | =Summery= |
Over 20 researchers attended this meeting. | Over 20 researchers attended this meeting. | ||
− | {| | + | {| |
|[[Image:2007_December_Slicer_IGT_Programming_photo.jpg|200px]] | |[[Image:2007_December_Slicer_IGT_Programming_photo.jpg|200px]] | ||
|[[Image:2007_December_Slicer_IGT_Programming_photo01.jpg|200px]] | |[[Image:2007_December_Slicer_IGT_Programming_photo01.jpg|200px]] | ||
Line 44: | Line 44: | ||
*Identify high-priority working items | *Identify high-priority working items | ||
*Identify each team's potential contribution to the high-priority tasks | *Identify each team's potential contribution to the high-priority tasks | ||
+ | |||
+ | =Meeting summery= | ||
+ | Twenty three investigators using Slicer for their IGT research supported by NIH gathered in Brigham and Women's Hospital from December 12 to 14, 2007. | ||
+ | We discussed current status, unmet needs, future direction, and resource sharing in Slicer engineering. Four live demonstrations using real tracking device | ||
+ | and phantoms were performed to facilitate the discussion. In summery, we concluded that the 3D Slicer, which currently centers around medical image | ||
+ | processing and visualization, definitely has proven to be also useful for IGT and has potential to become enabling tool for new domain of research in IGT. | ||
+ | However, we also agreed that Slier still has gap in its in feature list to meet requirements of the investigators goals in their own clinical targets as well as innovative IGT applications. These unmet needs are | ||
+ | *Plug-in mechanism to develop a high-performance software specifically tailored to a target clinical application | ||
+ | *Controlled and fast Data/communication/event management | ||
+ | *Inter-device communication mechanism to/from Slicer | ||
+ | *Fast Volume rendering for 4D IGT | ||
+ | *Flexible GUI design | ||
+ | Objective evidence for existence of these needs derives from our own assessment as well as our extensive discussion during the meeting. Continued existence of these need represents an important problem because, until the needs are met, new and innovative IGT procedures using state-of-art imaging and treatment device may not be available due to lack of guiding and navigation software. | ||
+ | As the next step in IGT research using Slicer, we decided to collaboratively develop the above mentioned mechanism through resource sharing, frequent communication, and if necessary additional funding support. | ||
=Agenda= | =Agenda= | ||
==Wednesday, December 12 == | ==Wednesday, December 12 == | ||
'''Theme: Where are we?''' | '''Theme: Where are we?''' | ||
− | + | ===12noon: Lunch=== | |
− | + | ===12:55pm: Welcome (Ron Kikinis)=== | |
− | + | ===1-2pm:Slicer and IGSTK presentation=== | |
− | + | *Slicer: overview of architecture, current status, and future plans (Pieper, Hata) | |
− | + | **History | |
− | + | **Clinical applications | |
− | + | **transition from 2.6 to 3 | |
− | + | **resource | |
− | + | **[[media:Pieper-IGT-retreat-2007-12-12.ppt | Slicer Core]] + [https://www.slicer.org/wiki/Slicer3:Loadable_Modules Loadable Modules] | |
− | + | *IGSTK | |
− | + | ** [[Media:IGSTK-Architecture-IGT-Meeting-Dec-12-2007.ppt|Architecture Overview]] (Ibanez) | |
− | + | ** Current status, and future plans (Cheng) [http://public.kitware.com/IGSTKWIKI/index.php/Design_Discussion Refactoring Design Discussion] | |
− | + | **IGSTK has time stamping for tracker and event. | |
− | + | **Monitors to ensure the minimal latency between display and data acquisition (possible take away from IGSTK to Slicer). | |
− | ** | + | **GUI tools for sample programs are FLTK and Qt |
+ | ===215-330pm: Presentation by Slicer Developers=== | ||
− | + | *2:30-3:00pm - [[Media:2007_Slicer_programming_meeting-CIMIT.ppt|NCIGT CIGL Stoll]] and Demo | |
− | + | **Issues for Slicer | |
− | |||
− | |||
− | |||
− | |||
#Move toward multi-process model, keep idea of GPU capability in mind for future | #Move toward multi-process model, keep idea of GPU capability in mind for future | ||
#online/unsupervised segmentation, online/fast registration (almost like tracking); can trade some accuracy for speed | #online/unsupervised segmentation, online/fast registration (almost like tracking); can trade some accuracy for speed | ||
#flexibility in registration techniques - data collection is not perfectly constrained (patient positions vary, image quality varies, fiducials sometimes/not) - tools for anatomy-based registration | #flexibility in registration techniques - data collection is not perfectly constrained (patient positions vary, image quality varies, fiducials sometimes/not) - tools for anatomy-based registration | ||
− | + | *3:00-3:15 - NA-MIC Collaborator Georgetown Cleary/Yaniv | |
− | + | *3:15-3:30 - NA-MIC DBP Queens/JHU Gobbi/Csoma/Kazanzides | |
*3:30pm-3:45pm: Review of today's progress | *3:30pm-3:45pm: Review of today's progress | ||
− | |||
− | + | ===400pm: Adjourn=== | |
− | + | ===4-6pm (optional) MRI Demonstration === | |
− | + | *Use of Slicer for control and display with MRI (prostate module) presented by Junichi Tokuda. Location: Advanced MRI center, 221 Longwood, Boston | |
**See [[2007_December_Slicer_IGT_Programming_MRI_DEMO| slicer-MRI demo]] | **See [[2007_December_Slicer_IGT_Programming_MRI_DEMO| slicer-MRI demo]] | ||
==Thursday, December 13== | ==Thursday, December 13== | ||
− | + | '''Theme: Where are we?''' | |
− | |||
− | Theme: Where are we?''' | ||
− | |||
− | |||
===9-10:00am Demos:=== | ===9-10:00am Demos:=== | ||
*Hata (Tracking at BWH) | *Hata (Tracking at BWH) | ||
Line 115: | Line 121: | ||
*Identify commonality among the projects | *Identify commonality among the projects | ||
*which one is to be covered by actively funded project? | *which one is to be covered by actively funded project? | ||
− | |||
*Identity and prioritize unmet needs | *Identity and prioritize unmet needs | ||
*Find commonality among the needs, consolidate if necessary | *Find commonality among the needs, consolidate if necessary | ||
− | |||
− | === | + | |
− | [ | + | ===Unmet needs #1: Plug-in mechanism=== |
+ | Related wiki page -> [https://www.slicer.org/wiki/Slicer/Features/Events_and_communication Plug-in mechanism / Modules] | ||
*Currently we use CMake + Slicer3 | *Currently we use CMake + Slicer3 | ||
*Compile vs. Run-time -> run-time is current choice for Steve | *Compile vs. Run-time -> run-time is current choice for Steve | ||
Line 130: | Line 135: | ||
*'''How do you balance testing and flexibility.''' | *'''How do you balance testing and flexibility.''' | ||
*Version control necessary | *Version control necessary | ||
− | |||
− | |||
*'''effort underway in NA-MIC/NAC''' | *'''effort underway in NA-MIC/NAC''' | ||
− | |||
− | |||
*Module/function dependency | *Module/function dependency | ||
− | * | + | *Common functions to be implemented in Base |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Line 179: | Line 162: | ||
|- | |- | ||
| align="left" | IGT | | align="left" | IGT | ||
− | | align="left" | | + | | align="left" | |
− | | align="left" | | + | *Tracker I/O (BWH Hata) |
+ | **Tracker On/Off | ||
+ | *Real-Image I/O (BWH Hata) | ||
+ | **'''Video capturing''' | ||
+ | **Simple loading image | ||
+ | **Imager control for each modality | ||
+ | ***MRI (NCIGT Tokuda) | ||
+ | |||
+ | *Image re-slicing based on tracker (BWH Hata Liu) | ||
+ | |||
+ | *GUI configuration control (XXX) | ||
+ | |||
+ | *Human interface control | ||
+ | **Foot pedal (BWH Liu) | ||
+ | |||
+ | *Stereo | ||
+ | *Output to outside display | ||
+ | |||
+ | *Logging replay and saving | ||
+ | **IGSTK has fast version | ||
+ | **MRML scene recorder (Georgetown) | ||
+ | | align="left" | BWH, Georgetown, JHU, Queens applications | ||
|- | |- | ||
| align="left" | Registration | | align="left" | Registration | ||
Line 208: | Line 212: | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
+ | ===Unmet needs #2 Data/communication/event === | ||
+ | Related wiki page [https://www.slicer.org/wiki/Slicer/Features/Events_and_communication Events / Data transfer] | ||
− | + | * Data Workflow I/O | |
+ | * ticking and latency management | ||
+ | * Threads to read-in tracker info | ||
+ | * Special DICOM and PACS | ||
+ | * Priority control of events? -> Event Manager | ||
+ | * Realtime needs | ||
+ | * Inter-communication mechanism to/from Slicer | ||
− | *[ | + | * '''Socket mechanism in SlicerDaemon''' |
+ | * Steve's presentation of small programming sending coords to SlicerDaemon and updating MRML | ||
+ | * Scenesnapshot can be used as logging. Replay. Crash recovery | ||
+ | * State machines may be useful mechanism in Slicer | ||
+ | ** follow up activities in the related wiki page [https://www.slicer.org/wiki/Slicer/Features/Events_and_communication Events / Data transfer] ''' | ||
+ | *Connection with commercial navigation system | ||
+ | **MR/T BWH | ||
+ | **Brainlab | ||
+ | **Neuromate | ||
+ | **Medtronics | ||
− | |||
− | === | + | ===Unmet needs #4: Inter-device communication mechanism to/from Slicer === |
− | + | ** [https://www.slicer.org/wiki/Slicer/Features/Middleware Inter-device communication mechanism to/from Slicer] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ** | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
*** Tracker Image | *** Tracker Image | ||
*** Publish subscribe ORB/ACE [Peter] | *** Publish subscribe ORB/ACE [Peter] | ||
*** Socket IGSTK [Junichi Patrick] | *** Socket IGSTK [Junichi Patrick] | ||
+ | ===Unmet needs #5: Volume rendering=== | ||
** Volume rendering | ** Volume rendering | ||
*** Performance and speed continue to be upgraded | *** Performance and speed continue to be upgraded | ||
Line 265: | Line 254: | ||
** (Regulartory approval) (Legal issue/ form / guideline) | ** (Regulartory approval) (Legal issue/ form / guideline) | ||
+ | *[[2007_December_Slicer_IGT_Programming_IGSTK_Slicer_Integration|December 12-14, 2007, Slicer IGT Programming - IGSTK Slicer Integration]] | ||
− | === | + | ===Unmet needs #3: GUI === |
− | + | * [https://www.slicer.org/wiki/Slicer/Features/GUI GUI] | |
− | + | ** GUI-Workflow (David) | |
− | + | ** David's opening statement from Queens' perspective | |
− | + | ** How can we add additional windows? | |
− | + | ** KWWidgets has workflow mechanism | |
− | + | ** Compacting GUI - necessary | |
− | + | ** Single screen? Two screen setup? Two screen setup to be tried by David | |
− | + | ** [http://www.kwwidgets.org/Wiki/KWWidgets/Wizard_Workflow KWWidgets Wizard Workflow] [http://www.kwwidgets.org/Wiki/images/5/53/KWWidgets_-_Wizard_Workflow_-_IGT_-_07%2C_Dec.ppt Powerpoint presentation]. | |
− | + | ** Observing events (convenience) | |
− | + | ** Status window is nice | |
− | + | ** short cut | |
− | + | *** pre-defined view point | |
− | + | *** lower left (two complicated) | |
− | + | ** GUI Layout to be stored in MRML (as log) | |
− | + | ** Turning off lower left | |
− | + | ** Status (window) part | |
− | + | ** human interface-- | |
− | + | *** '''configurable GUI using current XML mechanism''' | |
− | |||
− | |||
− | *** | ||
− | |||
− | |||
− | |||
− | |||
− | |||
*5pm: Review day and plan for Friday (Hata) | *5pm: Review day and plan for Friday (Hata) | ||
*5:30pm: adjourn | *5:30pm: adjourn | ||
− | |||
==Friday, December 14== | ==Friday, December 14== | ||
− | + | ===9:00am: breakfast, work=== | |
− | + | ===9:30-11:00am Review of the meeting=== | |
− | |||
− | |||
− | |||
*Discuss how we can continue this effort in what way | *Discuss how we can continue this effort in what way | ||
**Hands on IGT Week | **Hands on IGT Week | ||
− | + | **Outreaching to animal research community | |
− | + | **Training and simulation | |
Line 323: | Line 301: | ||
*11:00am-noon: Wrapup/Suggestion to NAC, NCIGT, NAC, and ultimately NIH(Hata) | *11:00am-noon: Wrapup/Suggestion to NAC, NCIGT, NAC, and ultimately NIH(Hata) | ||
*noon: adjourn and head out to group lunch | *noon: adjourn and head out to group lunch | ||
− | |||
==Confirmed Attendees== | ==Confirmed Attendees== |
Latest revision as of 19:45, 11 April 2023
Home < 2007 December Slicer IGT Programming
Introduction
- Sponsored by
IGT program of CIMIT
This was a working meeting for research groups with funding to work on the IGT extensions of the NA-MIC kit. There will be a follow up meeting during the NA-MIC AHM in SLC.
Summery
Over 20 researchers attended this meeting.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Dates.Location.Hotels
Date: December 12-14, 2007
SPL at 1249 Boylston Street, Boston MA. (Directions)
Area hotels: Boston_Hotels
Goal
- Continued discussion of Slicer IGT infrastructure, applications, and timelines
- Introduce each team's effort in Slicer in the context of IGT
- Find unmet needs
- Identify high-priority working items
- Identify each team's potential contribution to the high-priority tasks
Meeting summery
Twenty three investigators using Slicer for their IGT research supported by NIH gathered in Brigham and Women's Hospital from December 12 to 14, 2007. We discussed current status, unmet needs, future direction, and resource sharing in Slicer engineering. Four live demonstrations using real tracking device and phantoms were performed to facilitate the discussion. In summery, we concluded that the 3D Slicer, which currently centers around medical image processing and visualization, definitely has proven to be also useful for IGT and has potential to become enabling tool for new domain of research in IGT. However, we also agreed that Slier still has gap in its in feature list to meet requirements of the investigators goals in their own clinical targets as well as innovative IGT applications. These unmet needs are
- Plug-in mechanism to develop a high-performance software specifically tailored to a target clinical application
- Controlled and fast Data/communication/event management
- Inter-device communication mechanism to/from Slicer
- Fast Volume rendering for 4D IGT
- Flexible GUI design
Objective evidence for existence of these needs derives from our own assessment as well as our extensive discussion during the meeting. Continued existence of these need represents an important problem because, until the needs are met, new and innovative IGT procedures using state-of-art imaging and treatment device may not be available due to lack of guiding and navigation software. As the next step in IGT research using Slicer, we decided to collaboratively develop the above mentioned mechanism through resource sharing, frequent communication, and if necessary additional funding support.
Agenda
Wednesday, December 12
Theme: Where are we?
12noon: Lunch
12:55pm: Welcome (Ron Kikinis)
1-2pm:Slicer and IGSTK presentation
- Slicer: overview of architecture, current status, and future plans (Pieper, Hata)
- History
- Clinical applications
- transition from 2.6 to 3
- resource
- Slicer Core + Loadable Modules
- IGSTK
- Architecture Overview (Ibanez)
- Current status, and future plans (Cheng) Refactoring Design Discussion
- IGSTK has time stamping for tracker and event.
- Monitors to ensure the minimal latency between display and data acquisition (possible take away from IGSTK to Slicer).
- GUI tools for sample programs are FLTK and Qt
215-330pm: Presentation by Slicer Developers
- 2:30-3:00pm - NCIGT CIGL Stoll and Demo
- Issues for Slicer
- Move toward multi-process model, keep idea of GPU capability in mind for future
- online/unsupervised segmentation, online/fast registration (almost like tracking); can trade some accuracy for speed
- flexibility in registration techniques - data collection is not perfectly constrained (patient positions vary, image quality varies, fiducials sometimes/not) - tools for anatomy-based registration
- 3:00-3:15 - NA-MIC Collaborator Georgetown Cleary/Yaniv
- 3:15-3:30 - NA-MIC DBP Queens/JHU Gobbi/Csoma/Kazanzides
- 3:30pm-3:45pm: Review of today's progress
400pm: Adjourn
4-6pm (optional) MRI Demonstration
- Use of Slicer for control and display with MRI (prostate module) presented by Junichi Tokuda. Location: Advanced MRI center, 221 Longwood, Boston
- See slicer-MRI demo
Thursday, December 13
Theme: Where are we?
9-10:00am Demos:
- Hata (Tracking at BWH)
- Freudling (Pieper) (Volume rendering)
1000-10:30am Demonstrations
- Robot-assisted neurosurgery with Slicer (Kazanzides)
- Robot connected to Slicer via Robot control unit (with Real time OS)
- Slicer CT coords != Stealthstation CT coords
- Needs rasToIjk matrix from xml file
- Inter-computer communication
- Slicer 3 IGT update
10:30am: Identifying the unmet needs
(At this point, representatives from each site should start thinking which part of the unment needs they can take primary responsibility, and take home as homework.)
- Queens: NA-MIC DBP
- JHU: BRP
- BWH: NCIGT etc.
- Georgetown: Liver RF
- Kitware-BWH
- Identify the unique needs in IGT
- Identify commonality among the projects
- which one is to be covered by actively funded project?
- Identity and prioritize unmet needs
- Find commonality among the needs, consolidate if necessary
Unmet needs #1: Plug-in mechanism
Related wiki page -> Plug-in mechanism / Modules
- Currently we use CMake + Slicer3
- Compile vs. Run-time -> run-time is current choice for Steve
- Slicer Base version 3.0
- Binary distributed againg Base version
- Firefox extension
- How do you balance testing and flexibility.
- Version control necessary
- effort underway in NA-MIC/NAC
- Module/function dependency
- Common functions to be implemented in Base
- Module/function dependency
Features | Base | Module |
Visualization | MRML, Arbitary ViewPoint (Pre-defined) | Liver RF |
Filtering | None | Command Line Module |
IGT |
|
BWH, Georgetown, JHU, Queens applications |
Registration | Transform Display, Edit and Save/Resotre | Calculae Transforms, Resample Data |
Segmentation | Label Maps, Parcellated Surface | Segmentation Algorighms |
Quantification | Label, Image, Volume Statistics; Numpy access to MRML | Applications in Python or MATLAB |
Real-time Integration | VTK Rendering, KWWidgets framework, Tracker Support (as Transforms) | Direct Manipulation of the MRL Scene; 2D/3D Widgets; Device Interface |
Diffusion Imaging | DWI, DTI, Fiber Bundles | Tractography, Clustering, Atlases |
Application | Bundles of Modules in Distribution: Registration Editor, some Filters | Customized Extensions, Domain specific code, optimized Interface |
Unmet needs #2 Data/communication/event
Related wiki page Events / Data transfer
- Data Workflow I/O
- ticking and latency management
- Threads to read-in tracker info
- Special DICOM and PACS
- Priority control of events? -> Event Manager
- Realtime needs
- Inter-communication mechanism to/from Slicer
- Socket mechanism in SlicerDaemon
- Steve's presentation of small programming sending coords to SlicerDaemon and updating MRML
- Scenesnapshot can be used as logging. Replay. Crash recovery
- State machines may be useful mechanism in Slicer
- follow up activities in the related wiki page Events / Data transfer
- Connection with commercial navigation system
- MR/T BWH
- Brainlab
- Neuromate
- Medtronics
Unmet needs #4: Inter-device communication mechanism to/from Slicer
- Inter-device communication mechanism to/from Slicer
- Tracker Image
- Publish subscribe ORB/ACE [Peter]
- Socket IGSTK [Junichi Patrick]
- Inter-device communication mechanism to/from Slicer
Unmet needs #5: Volume rendering
- Volume rendering
- Performance and speed continue to be upgraded
- GPU, fastere volume rendering
- 4D IGT
- Real I/O
- New MRML? Time-series MRML volume?
- Volume rendering
- (Regulartory approval) (Legal issue/ form / guideline)
Unmet needs #3: GUI
- GUI
- GUI-Workflow (David)
- David's opening statement from Queens' perspective
- How can we add additional windows?
- KWWidgets has workflow mechanism
- Compacting GUI - necessary
- Single screen? Two screen setup? Two screen setup to be tried by David
- KWWidgets Wizard Workflow Powerpoint presentation.
- Observing events (convenience)
- Status window is nice
- short cut
- pre-defined view point
- lower left (two complicated)
- GUI Layout to be stored in MRML (as log)
- Turning off lower left
- Status (window) part
- human interface--
- configurable GUI using current XML mechanism
- 5pm: Review day and plan for Friday (Hata)
- 5:30pm: adjourn
Friday, December 14
9:00am: breakfast, work
9:30-11:00am Review of the meeting
- Discuss how we can continue this effort in what way
- Hands on IGT Week
- Outreaching to animal research community
- Training and simulation
- Action Items
- 11:00am-noon: Wrapup/Suggestion to NAC, NCIGT, NAC, and ultimately NIH(Hata)
- noon: adjourn and head out to group lunch
Confirmed Attendees
- Noby Hata, BWH (NCIGT)
- Steve Pieper, Isomics - (All Days) (NAMIC, NAC)
- Patrick Cheng, Georgetown (NAMIC Collab)
- Ziv Yaniv, Georgetown (NAMIC Collab)
- Kevin Cleary, Georgetown (Wed only) (NAMIC Collab)
- Luis Ibanez, Kitware (NAMIC)
- Sebastien Barre, Kitware (NCIGT)
- Stephen Aylward, Kitware (NCIGT)
- Jeff Stoll (except Thursday), BWH/CIMIT (NCIGT)
- Haiying Liu, BWH (NCIGT)
- Katie Hayes, BWH (NAC)
- Peter Kazanzides (except Friday), JHU (NAMIC Collab)
- Csaba Csoma, JHU (NAMIC/NCIGT Collab)
- David Gobbi, Queens (NAMIC/NCIGT Collab)
- Tina Kapur,BWH (NAMIC/NCIGT)
- Ron Kikinis, BWH (NAMIC/NCIGT)
- Junichi Tokuda, BWH (NCIGT)
- Raul San Jose, BWH (NAC)
- Neculai Archip, BWH (Wed only) (NCIGT)
- Nicholas Ayache (NCIGT) (Wed only)
- Andy Freudling, (NAMIC)
- Henrik Keller (NCIGT)
- Benjamin Grauer (NCIGT)