Difference between revisions of "2007 December Slicer IGT Programming"
From NAMIC Wiki
Line 118: | Line 118: | ||
=====Unmet needs #1: Plug-in mechanism===== | =====Unmet needs #1: Plug-in mechanism===== | ||
− | [[Slicer/Features/Modules | Plug-in mechanism / Modules]] | + | Related wiki page -> [[Slicer/Features/Modules | 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 202: | Line 202: | ||
|- | |- | ||
|} | |} | ||
− | |||
− | |||
===1pm: lunch=== | ===1pm: lunch=== |
Revision as of 03:54, 23 December 2007
Home < 2007 December Slicer IGT Programming
Introduction
IGT program of CIMIT
This is 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.
Summary
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
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?
Morning
9:00am breakfast
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 |
1pm: lunch
Afternoon
=====Unmet needs #2 Data/communication/event Post-meeting Project 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
- Connection with commercial navigation system
- MR/T BWH
- Brainlab
- Neuromate
- Medtronics
- Connection with commercial navigation system
- 3-4pm: List 2
- Inter-communication mechanism to/from Slicer
- Tracker Image
- Publish subscribe ORB/ACE [Peter]
- Socket IGSTK [Junichi Patrick]
- Inter-communication mechanism to/from Slicer
- 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)
4:00 Discussion
- 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.
- GUI
- 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--
- Voice
- configurable GUI using current XML mechanism
- What's the mechanism for Slicer-IGT
- human interface--
- Overlay of tools in 2D view of Slicer
- 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
- Hands on IGT Week
- 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)