Difference between revisions of "2010 Summer Project Week Breakout Session:OpenIGTLink"
From NAMIC Wiki
(→Agenda) |
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/") |
||
(66 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
Back to [[2010_Summer_Project_Week]] | Back to [[2010_Summer_Project_Week]] | ||
− | Organizer: Junichi Tokuda<br/> | + | Organizer: Junichi Tokuda, Brigham and Women's Hospital<br/> |
Date: Thursday, June 24, 2010<br/> | Date: Thursday, June 24, 2010<br/> | ||
OpenIGTLink Home Page: [[OpenIGTLink]] | OpenIGTLink Home Page: [[OpenIGTLink]] | ||
− | = | + | =Time Table= |
+ | ---- | ||
+ | <br/> | ||
+ | {| border="1" cellpadding="5" cellspacing="0" align="left" | ||
+ | |- | ||
+ | |align="left" style="background:#e0e0e0;" |9am-10am|| align="left" | OpenIGTLink Updates and Next Steps | ||
+ | |- | ||
+ | |align="left" style="background:#e0e0e0;" |10am-12pm|| align="left" | Tutorials and Hands-on session. | ||
+ | |- | ||
+ | |align="left" style="background:#e0e0e0;" |12pm-1pm|| align="left" align="left" style="background:#e0e0e0;" | Break for lunch | ||
+ | |- | ||
+ | |align="left" style="background:#e0e0e0;" |1pm-2pm|| align="left" | Demos of working OpenIGTLink based systems | ||
+ | |- | ||
+ | |align="left" style="background:#e0e0e0;" |2pm-3pm|| align="left" | OpenIGTLink Library, 3D Slicer and other tools | ||
+ | |- | ||
+ | |align="left" style="background:#e0e0e0;" |3pm-4pm|| align="left" | Simulator Discussion | ||
+ | |- | ||
+ | |} | ||
− | + | <br/> | |
− | + | =Agenda= | |
− | + | ---- | |
− | + | ===9am-10am: OpenIGTLink Updates and Next Steps=== | |
− | + | *OpenIGTLink Updates | |
− | + | **Summary from Junichi's presentation on Tuesday | |
− | * | + | *Discussion on OpenIGTLink Protocol version 2 |
− | ** | + | **Finalize version 2 protocol |
− | * | + | ***[[OpenIGTLink/ProtocolV2/Summary| Summary of version 2 protocol]] |
− | + | ***New support for image-guided systems | |
− | + | ****Discussion on new commands is [[OpenIGTLink/Discussion/NewCommands|in progress]]. | |
− | + | *****Ziv Yaniv (Geogetown) concerns about the fields with fixed length (especially in IMGMETA) | |
− | + | *****How about "length+string" approach? | |
− | *Finalize version 2 protocol | + | ****[[Stealthlink Protocol]] (for reference) |
− | **[[OpenIGTLink/ProtocolV2/Summary| Summary of version 2 protocol]] | + | ***Matlab integration |
− | **New support for image-guided systems | + | ****There have been several requests for Matlab OpenIGTLink interface. |
− | ***Discussion on new commands is [[OpenIGTLink/Discussion/NewCommands|in progress]]. | + | ****[[OpenIGTLink/Matlab|Prototype Matlab/Octave interface]] is available. |
− | **Matlab integration | + | ****New message type to support "remote procedure call"?? |
− | ***There have been several requests for Matlab OpenIGTLink interface. | ||
− | ***[[OpenIGTLink/Matlab|Prototype Matlab/Octave interface]] is available. | ||
− | ***New message type to support "remote procedure call"?? | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===10a-12pm: Tutorial and hands-on session=== | |
+ | *Basic: OpenIGTLink tutorial using 3D Slicer and OpenIGTLink | ||
+ | **Instructions are available in [https://www.slicer.org/wiki/Modules:OpenIGTLinkIF-Documentation-3.6 3D Slicer's OpenIGTLinkIF Documentation]. | ||
+ | **Tracking simulator | ||
+ | **Imager simulator | ||
+ | *Advanced: Matlab OpenIGTLink | ||
+ | **Instructions are available in [[OpenIGTLink/Matlab| OpenIGTLink / Matlab Interface]]. | ||
+ | *5-10 minutes from each of the vendors on how they can use it? | ||
+ | *Hands-on session | ||
+ | **Planning to interface aurora tracker with Slicer using OpenIGTLink (Tamas) | ||
+ | **Hands-on help in WPI system up and running (Greg will confirm) | ||
− | = | + | ===1-2pm: Demos of working OpenIGTLink based systems=== |
− | == | + | *IGSTK-OpenIGTLink by Haiying Liu |
− | * | + | *BrainLAB-3D Slicer Integration |
− | = | + | ===2-3pm: OpenIGTLink Library, 3D Slicer and other tools=== |
− | * | + | *Transport Layer |
+ | **Message queueing idea/transport layer (Patrick Georgetown, Steve to followup) | ||
+ | *** For latest update on this, please refer to the CTK wiki: http://www.commontk.org/index.php/Documentation/Messaging | ||
+ | *** '''Suggestion:''' use [http://msdn.microsoft.com/en-us/library/ff647328.aspx Message Bus] and [http://msdn.microsoft.com/en-us/library/ff649664(v=pandp.10).aspx Publisher/Subscriber] design pattern for system integration | ||
+ | *** OpenIGTLink can be used to define the common message schema, and ZeroMQ can be used to handle the transportation layer abstraction | ||
+ | *** [http://www.zeromq.org/ ZeroMQ] is a small and fast implementation of the [http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol Advanced Message Queuing Protocol] under the LGPL license | ||
+ | *** It supports both synchronous and asynchronous messaging mode | ||
+ | *** It supportsTCP, Multicast/PGM, Inter-process, and inter-thread transportation | ||
+ | *** CMake version of library can be found here http://github.com/PatrickCheng/zeromq2 | ||
+ | *** API can be found here http://api.zeromq.org/zmq.html | ||
+ | *Matlab OpenIGTLink interface | ||
+ | **Currently it supports IMAGE and TRANSFORM | ||
+ | **Potential applications? | ||
+ | ***Prototyping robot | ||
+ | ***Prototyping IGS system | ||
+ | **Other language support | ||
+ | ***Java | ||
+ | ***C# | ||
+ | ***Python | ||
+ | ===3-4pm: Simulator Discussion=== | ||
+ | *Currently, only simple simulators are provided as example programs in the OpenIGTLink Library | ||
+ | **Are they enough? | ||
+ | **More sophisticated simulator? | ||
− | |||
− | |||
− | |||
− | |||
− | |||
=Teleconference on May 27 (Thu) 3pm-= | =Teleconference on May 27 (Thu) 3pm-= | ||
+ | ---- | ||
==Objectives== | ==Objectives== | ||
*Topics to discuss during the event | *Topics to discuss during the event | ||
Line 68: | Line 96: | ||
==Participants== | ==Participants== | ||
− | + | Dan Marcus, Misha Milchenko, Tina, Nicole, Jim, Steve, Lorent, Greg, Wendy, Andre, Xiaodong, Leslie Holton, Tamas, Ron, Dominik, Isaiah | |
− | |||
==Agenda== | ==Agenda== | ||
Line 76: | Line 103: | ||
***Short presentation about overview and updates of OpenIGTLink for those who are not in the presentation on Tuesday. | ***Short presentation about overview and updates of OpenIGTLink for those who are not in the presentation on Tuesday. | ||
**Discussion on protocol version 2. | **Discussion on protocol version 2. | ||
− | ***New features for 3D Slicer | + | ***New features for 3D Slicer |
***Matlab | ***Matlab | ||
***Messages for sensor data (proposed by AIST project) | ***Messages for sensor data (proposed by AIST project) | ||
Line 96: | Line 123: | ||
**Order of sessions | **Order of sessions | ||
− | * | + | ==Minutes== |
− | ** | + | Suggestions for agenda from TCON: |
− | ** | + | *Tracker simulator (Haiying) |
− | ** | + | *General session on simulators (maybe there should be a general discussion on this) |
+ | *BrainLab VectorVision-Slicer integration using OpenIGTLink | ||
+ | *Suggestions for hands-on session | ||
+ | **hello world type demo application | ||
+ | **5-10 minutes from each of the vendors on how they can use it? | ||
+ | **compare OpenIGTLink with Steathlink protocol | ||
+ | **hands-on help in WPI system up and running (Greg will confirm) | ||
+ | **planning to interface aurora tracker with Slicer using OpenIGTLink (Tamas) | ||
+ | **discussion about the implementation -- message queueing idea/transport layer (Patrick Georgetown, Steve to followup) | ||
+ | *** Comments from Patrick | ||
+ | **** For latest update on this, please refer to the CTK wiki: http://www.commontk.org/index.php/Documentation/Messaging | ||
+ | **** '''Suggestion:''' use [http://msdn.microsoft.com/en-us/library/ff647328.aspx Message Bus] and [http://msdn.microsoft.com/en-us/library/ff649664(v=pandp.10).aspx Publisher/Subscriber] design pattern for system integration | ||
+ | **** OpenIGTLink can be used to define the common message schema, and ZeroMQ can be used to handle the transportation layer abstraction | ||
+ | **** [http://www.zeromq.org/ ZeroMQ] is a small and fast implementation of the [http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol Advanced Message Queuing Protocol] under the LGPL license | ||
+ | **** It supports both synchronous and asynchronous messaging mode | ||
+ | **** It supportsTCP, Multicast/PGM, Inter-process, and inter-thread transportation | ||
+ | **** CMake version of library can be found here http://github.com/PatrickCheng/zeromq2 | ||
+ | **** API can be found here http://api.zeromq.org/zmq.html |
Latest revision as of 18:07, 10 July 2017
Home < 2010 Summer Project Week Breakout Session:OpenIGTLinkBack to 2010_Summer_Project_Week
Organizer: Junichi Tokuda, Brigham and Women's Hospital
Date: Thursday, June 24, 2010
OpenIGTLink Home Page: OpenIGTLink
Time Table
9am-10am | OpenIGTLink Updates and Next Steps |
10am-12pm | Tutorials and Hands-on session. |
12pm-1pm | Break for lunch |
1pm-2pm | Demos of working OpenIGTLink based systems |
2pm-3pm | OpenIGTLink Library, 3D Slicer and other tools |
3pm-4pm | Simulator Discussion |
Agenda
9am-10am: OpenIGTLink Updates and Next Steps
- OpenIGTLink Updates
- Summary from Junichi's presentation on Tuesday
- Discussion on OpenIGTLink Protocol version 2
- Finalize version 2 protocol
- Summary of version 2 protocol
- New support for image-guided systems
- Discussion on new commands is in progress.
- Ziv Yaniv (Geogetown) concerns about the fields with fixed length (especially in IMGMETA)
- How about "length+string" approach?
- Stealthlink Protocol (for reference)
- Discussion on new commands is in progress.
- Matlab integration
- There have been several requests for Matlab OpenIGTLink interface.
- Prototype Matlab/Octave interface is available.
- New message type to support "remote procedure call"??
- Finalize version 2 protocol
10a-12pm: Tutorial and hands-on session
- Basic: OpenIGTLink tutorial using 3D Slicer and OpenIGTLink
- Instructions are available in 3D Slicer's OpenIGTLinkIF Documentation.
- Tracking simulator
- Imager simulator
- Advanced: Matlab OpenIGTLink
- Instructions are available in OpenIGTLink / Matlab Interface.
- 5-10 minutes from each of the vendors on how they can use it?
- Hands-on session
- Planning to interface aurora tracker with Slicer using OpenIGTLink (Tamas)
- Hands-on help in WPI system up and running (Greg will confirm)
1-2pm: Demos of working OpenIGTLink based systems
- IGSTK-OpenIGTLink by Haiying Liu
- BrainLAB-3D Slicer Integration
2-3pm: OpenIGTLink Library, 3D Slicer and other tools
- Transport Layer
- Message queueing idea/transport layer (Patrick Georgetown, Steve to followup)
- For latest update on this, please refer to the CTK wiki: http://www.commontk.org/index.php/Documentation/Messaging
- Suggestion: use Message Bus and Publisher/Subscriber design pattern for system integration
- OpenIGTLink can be used to define the common message schema, and ZeroMQ can be used to handle the transportation layer abstraction
- ZeroMQ is a small and fast implementation of the Advanced Message Queuing Protocol under the LGPL license
- It supports both synchronous and asynchronous messaging mode
- It supportsTCP, Multicast/PGM, Inter-process, and inter-thread transportation
- CMake version of library can be found here http://github.com/PatrickCheng/zeromq2
- API can be found here http://api.zeromq.org/zmq.html
- Message queueing idea/transport layer (Patrick Georgetown, Steve to followup)
- Matlab OpenIGTLink interface
- Currently it supports IMAGE and TRANSFORM
- Potential applications?
- Prototyping robot
- Prototyping IGS system
- Other language support
- Java
- C#
- Python
3-4pm: Simulator Discussion
- Currently, only simple simulators are provided as example programs in the OpenIGTLink Library
- Are they enough?
- More sophisticated simulator?
Teleconference on May 27 (Thu) 3pm-
Objectives
- Topics to discuss during the event
- Finalize the schedule
- Action items
Participants
Dan Marcus, Misha Milchenko, Tina, Nicole, Jim, Steve, Lorent, Greg, Wendy, Andre, Xiaodong, Leslie Holton, Tamas, Ron, Dominik, Isaiah
Agenda
- Agenda in the project week
- Summary of OpenIGTLink
- Short presentation about overview and updates of OpenIGTLink for those who are not in the presentation on Tuesday.
- Discussion on protocol version 2.
- New features for 3D Slicer
- Matlab
- Messages for sensor data (proposed by AIST project)
- Endoscope/camera control
- Hands-on session. Specifics of this session will be decided after the May 27th tcon.
- Demos of working OpenIGTLink based systems
- OpenIGTLink Library, 3D Slicer and other tools
- Matlab interfaces
- 3D Slicer user interface
- Tutorials
- Summary of OpenIGTLink
- Demos (please feel free to add)
- IGSTK demo from Haiying
- AIST demo (may be video)
- New 3D Slicer OpenIGTLink IF
- Breakout session schedule
- Make sure that all participants can sessions they need
- Order of sessions
Minutes
Suggestions for agenda from TCON:
- Tracker simulator (Haiying)
- General session on simulators (maybe there should be a general discussion on this)
- BrainLab VectorVision-Slicer integration using OpenIGTLink
- Suggestions for hands-on session
- hello world type demo application
- 5-10 minutes from each of the vendors on how they can use it?
- compare OpenIGTLink with Steathlink protocol
- hands-on help in WPI system up and running (Greg will confirm)
- planning to interface aurora tracker with Slicer using OpenIGTLink (Tamas)
- discussion about the implementation -- message queueing idea/transport layer (Patrick Georgetown, Steve to followup)
- Comments from Patrick
- For latest update on this, please refer to the CTK wiki: http://www.commontk.org/index.php/Documentation/Messaging
- Suggestion: use Message Bus and Publisher/Subscriber design pattern for system integration
- OpenIGTLink can be used to define the common message schema, and ZeroMQ can be used to handle the transportation layer abstraction
- ZeroMQ is a small and fast implementation of the Advanced Message Queuing Protocol under the LGPL license
- It supports both synchronous and asynchronous messaging mode
- It supportsTCP, Multicast/PGM, Inter-process, and inter-thread transportation
- CMake version of library can be found here http://github.com/PatrickCheng/zeromq2
- API can be found here http://api.zeromq.org/zmq.html
- Comments from Patrick