Difference between revisions of "OpenIGTLink/Slicer"
Line 73: | Line 73: | ||
[[OpenIGTLink/Simulators]] | [[OpenIGTLink/Simulators]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Revision as of 19:42, 10 July 2008
Home < OpenIGTLink < SlicerIntroduction
The OpenIGTLink module is a communication interface between 3D Slicer and Open-IGT-Link-compliant devices. It enables the 3D SLicer to import various types of data such as real-time images, tracking data and other user-defined commands and data. The module supports multiple device connections. Each of connections can be configured as either server mode (the Slicer waits connections from devices) or client mode (the Slicer request connection to clients) independently.
The module works with MRML to exchange coordinate and image data with other clinical modules e.g. NeuroNav and ProstateNav in the Slicer. The module has a dedicated graphical user interface to manage and control multiple connections.
Install the Software
From binaries
The Open IGT Link is currently distributed as a loadable module for 3D Slicer. You need to obtain 3D Slicer and Module object.
3D Slicer (Version 3.2 release)
- For Windows (32-bit)
- For Linux (x86, 32-bit)
- For Linux (x86, 64-bit)
- For Mac OS X (x86)
- For Mac OS X (PPC)
Open IGT Link Loadable Module (for Version 3.2)
- For Linux (x86, 32-bit).
- For Linux (x86, 64-bit).
- For Windows (32-bit).
- For Mac OS X(x86).
- For Mac OS X(PPC).
Install
- Copy the binary into your-slicer3-build(install)-directory/lib/Slicer3/Modules.
- You should see OpenIGTLink in the Slicer3 module list after Slicer is started.
Build from source
Build 3D Slicer
Please refer instruction in [1].
Build Open IGT Link Loadable Module
Before build the module, please make sure that your CMake's version is higher than 2.6. You can find it in Slicer3-lib/CMake-build directory, which was created during building 3D Slicer.
First, get the source code from the repository. For Linux and Mac:
$ cd <working directory> $ svn co http://svn.na-mic.org/NAMICSandBox/trunk/IGTLoadableModules/OpenIGTLink OpenIGTLink
Create build direcotry
$ mkdir OpenIGTLink-build $ cd OpenIGTLink-build
Then configure by using CMake
$ cmake -DSlicer3_DIR=<Path to Slicer-build directory> ../OpenIGTLink NOTE: <Path to Slicer-build directory> should be a full-path.
If the previous command has completed without error, you can start compiling
$ make
After the compilation, you will find libOpenIGTLink.so (Linux) libOpenIGTLink.dylib (Mac) in OpenIGTLink-build dirctory.
!! Note: Building on Mac OS X 10.5 (Leopard) !!
If you are working in the Mac OS X 10.5 (Leopard) environment, you may get a linker error:
ld: cycle in dylib re-exports with /usr/X11R6/lib/libGL.dylib
This is caused by a known bug of the Open GL library in Mac OS X 10.5 (see [2] for detail). To avoid this error, specify following option when you run cmake.
$ cmake -DSlicer3_DIR=<Path to Slicer-build directory> -DCMAKE_SHARED_LINKER_FLAGS=-Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib ../OpenIGTLink
Loadmap
The current version of the Open IGT Link module supports only incoming data. In future, the module will also support outgoing data, which is useful for
- exporting registration result to other software
- exporting result images of registration / segmentation
- sending control commands to devices and imagers
- synchronizing multiple navigation software
The idea of outgoing data support is that the Open IGT Link module detects MRML update events (linear transforms and images) and put the new data into Open IGT Link data stream. This mechanism allows other Slicer3 modules to communicate with other OpenIGTLink-compatible software or devices through MRML.
In the next version, the Open IGT Link module handles MRML events to detect updates in MRML nodes (linear transforms and images)
Currently, the new version of Open IGT Link module is being developed. The code is available from SVN repository at:
http://svn.na-mi.org/NAMICSandBox/trunk/IGTLodableModules/OpenIGTLinkPrototype
Please make sure not to load the current version of OpenIGTLink module and OpenIGTLinkPrototype module at the same time.