Difference between revisions of "Slicer-IGT/ForDeveloppers"
Line 20: | Line 20: | ||
[[Image:Slicer-and-opentracker.png|300px|thumb| Slicer and Opentracker]] | [[Image:Slicer-and-opentracker.png|300px|thumb| Slicer and Opentracker]] | ||
'''Slicer for IGT''' uses an external software '''Opentracker (including libopentracker.so)''' to access tracking and imaging devices. '''Slicer for IGT''' also links library version of Opentracker (again libopentracker.so) in it self. As is shown in Figure on the right, Slicer and Opentracker act as two separate software each loading its specific configuration files (config.xml and config.xml_1). The figure also show tha each loads identical library (libopentracker.so). The Optracker software can also run on a separate computer on the net and send tracker reading over the net (Opentracker on net). Note it is opentracker, not Slicer, that connects to the tracking device. | '''Slicer for IGT''' uses an external software '''Opentracker (including libopentracker.so)''' to access tracking and imaging devices. '''Slicer for IGT''' also links library version of Opentracker (again libopentracker.so) in it self. As is shown in Figure on the right, Slicer and Opentracker act as two separate software each loading its specific configuration files (config.xml and config.xml_1). The figure also show tha each loads identical library (libopentracker.so). The Optracker software can also run on a separate computer on the net and send tracker reading over the net (Opentracker on net). Note it is opentracker, not Slicer, that connects to the tracking device. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Ok, where do we start?=== | ===Ok, where do we start?=== |
Revision as of 17:41, 18 January 2007
Home < Slicer-IGT < ForDeveloppersContents
Summery
‘’’Slicer for IGT’’’ is an extension of 3D Slicer designed and customized for Image Guided Therapy. 3D Slicer is comprehensive medical image processing and visualization software for medical image computing. There are many technical advantages to use Slicer for IGT research.
- Access to state of art medical image-to-image registration and segmentation algorithm
- Interface for commercial tracking device available in the market
- State-of-art patient-to-image registration methods
- Multi-platform support (Linux, Windows, Mac OS)
- Add your own software as command-line-based C or C++ program without binding it to specific toolkit or language
- Active discussion and collaboration with Image Guided Therapy researchers
- Real-time image transfer from MRI/CT/US (partially available)
- Access to tracking and registration data from a commercial navigation system (not yet available)
Objective
The objective of this page is to understand the architecture of Slicer IGT and build your own module using on Slicer.
Architecture
Slicer and Opentracker
Slicer for IGT uses an external software Opentracker (including libopentracker.so) to access tracking and imaging devices. Slicer for IGT also links library version of Opentracker (again libopentracker.so) in it self. As is shown in Figure on the right, Slicer and Opentracker act as two separate software each loading its specific configuration files (config.xml and config.xml_1). The figure also show tha each loads identical library (libopentracker.so). The Optracker software can also run on a separate computer on the net and send tracker reading over the net (Opentracker on net). Note it is opentracker, not Slicer, that connects to the tracking device.
Ok, where do we start?
IGT developer should focus on contributing codes to two subcomponents in Slicer: Modules and Libs.
Module represents a page window in Slicer, where developers can design appliation specific GUI and associated C++ codes. The codes are usually stored in one directory under Module directory of Slicer, and self-containing for one application. One application directory have one Gui class and Logic class. An instruction to build a module can be found at [[ Slicer3:Interface_Design#First_steps:_How_to_build_a_Slicer3_Module_GUI | How to add an interactive module]].
General instruction to make your own software on the top of Slicer can be found http://wiki.na-mic.org/Wiki/index.php/Slicer3:Developers.
The general description of architecture in Slicer can be found Overall Architecture and Slicer 3 Coding Style.
Source Code Download
- Build Slicer3 on Dell Laptop Inspiron 1501 (Fedora Core 6)
- Build and Run SPLOT on Dell Laptop Inspiron 1501 (Fedora Core 6)
Version notes
Documentation
Doxygen-generated documentation