Difference between revisions of "OpenIGTLink/Approaches"

From NAMIC Wiki
Jump to: navigation, search
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[OpenIGTLink | << OpenIGTLink]]
 
[[OpenIGTLink | << OpenIGTLink]]
 +
<div class="floatright">__TOC__</div>
  
=Three Approaches to Implement Open IGT Link in Your Application=
+
=Three Approaches=
===Implement by yourself===
+
==Implement by yourself==
*Writing applications in non-C or C++ language
+
*Writing applications in non-C/C++ languages
 
*The protocol is defined in [[OpenIGTLink/Protocol | the protocol description page]].
 
*The protocol is defined in [[OpenIGTLink/Protocol | the protocol description page]].
  
===Use simple C code===
+
==Use simple C code (igtlutil) ==
 
*The code provides C structures for the generic header, image header and transform header, and supporting functions to create a message packet.
 
*The code provides C structures for the generic header, image header and transform header, and supporting functions to create a message packet.
 
*Suitable for applications written in C and C++
 
*Suitable for applications written in C and C++
*You can just copy the files into your source directory. You never have library link issue.
+
*If you  just copy the source files into your source directory, you never have library link issue.
  
===Use the Open IGT Link Library===
+
==Use the Open IGT Link Library==
 
*The library supports
 
*The library supports
 
**Classes to create Open IGT Link message
 
**Classes to create Open IGT Link message
 
**TCP/IP Socket
 
**TCP/IP Socket
 
**Thread and Mutex useful to make server program
 
**Thread and Mutex useful to make server program
*The library instruction is available in [[OpenIGTLink/Library | the Open IGT Link Library page]].
+
*The library instruction is available on [[OpenIGTLink/Library | the Open IGT Link Library page]].
 +
 
 +
 
 +
{|border="1" cellpadding="2"
 +
| style="width:25%; background:#5EAE85"|Features
 +
| style="width:25%; background:#5EAE85"|From scratch
 +
| style="width:25%; background:#5EAE85"|igtlutil
 +
| style="width:25%; background:#5EAE85"|Open IGT Link Library
 +
|-
 +
|style="width:25%; background:#8EDEB5"| Language
 +
||Any
 +
||C (can be included in C++ codes)
 +
||C++
 +
|-
 +
|style="width:25%; background:#8EDEB5"| Platform
 +
||Any
 +
||Where ANSI C compiler is available
 +
||Windows, Linux/UNIX, Mac OS X
 +
|-
 +
|style="width:25%; background:#8EDEB5"| Generic Header
 +
||-
 +
||Yes
 +
||Yes
 +
|-
 +
|style="width:25%; background:#8EDEB5"| Transform
 +
||-
 +
||Yes
 +
||Yes
 +
|-
 +
|style="width:25%; background:#8EDEB5"| Image
 +
||-
 +
||Yes
 +
||Yes
 +
|-
 +
|style="width:25%; background:#8EDEB5"| Endian Conversion
 +
||-
 +
||Yes
 +
||Yes
 +
|-
 +
|style="width:25%; background:#8EDEB5"| CRC Calculation
 +
||-
 +
||Yes
 +
||Yes
 +
|-
 +
|style="width:25%; background:#8EDEB5"| Socket
 +
||-
 +
||-
 +
||Yes
 +
|-
 +
|style="width:25%; background:#8EDEB5"| Thread & Mutex
 +
||-
 +
||-
 +
||Yes
 +
|}

Latest revision as of 23:33, 19 November 2012

Home < OpenIGTLink < Approaches

<< OpenIGTLink

Three Approaches

Implement by yourself

Use simple C code (igtlutil)

  • The code provides C structures for the generic header, image header and transform header, and supporting functions to create a message packet.
  • Suitable for applications written in C and C++
  • If you just copy the source files into your source directory, you never have library link issue.

Use the Open IGT Link Library

  • The library supports
    • Classes to create Open IGT Link message
    • TCP/IP Socket
    • Thread and Mutex useful to make server program
  • The library instruction is available on the Open IGT Link Library page.


Features From scratch igtlutil Open IGT Link Library
Language Any C (can be included in C++ codes) C++
Platform Any Where ANSI C compiler is available Windows, Linux/UNIX, Mac OS X
Generic Header - Yes Yes
Transform - Yes Yes
Image - Yes Yes
Endian Conversion - Yes Yes
CRC Calculation - Yes Yes
Socket - - Yes
Thread & Mutex - - Yes