Difference between revisions of "OpenIGTLink/Approaches"

From NAMIC Wiki
Jump to: navigation, search
 
(7 intermediate revisions by 2 users not shown)
Line 3: Line 3:
  
 
=Three Approaches=
 
=Three Approaches=
===Implement by yourself===
+
==Implement by yourself==
 
*Writing applications in non-C/C++ languages
 
*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 (igtlutil) ===
+
==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"
 
{|border="1" cellpadding="2"
| style="width:25%; background:#8EDEB5"|Features  
+
| style="width:25%; background:#5EAE85"|Features  
| style="width:25%; background:#8EDEB5"|From scratch
+
| style="width:25%; background:#5EAE85"|From scratch
| style="width:25%; background:#8EDEB5"|igtlutil
+
| style="width:25%; background:#5EAE85"|igtlutil
| style="width:25%; background:#8EDEB5"|Open IGT Link Library
+
| style="width:25%; background:#5EAE85"|Open IGT Link Library
 
|-
 
|-
 
|style="width:25%; background:#8EDEB5"| Language
 
|style="width:25%; background:#8EDEB5"| Language
 
||Any
 
||Any
||C/C++
+
||C (can be included in C++ codes)
 
||C++
 
||C++
 
|-
 
|-
 
|style="width:25%; background:#8EDEB5"| Platform
 
|style="width:25%; background:#8EDEB5"| Platform
 
||Any
 
||Any
||ANSI C
+
||Where ANSI C compiler is available
 
||Windows, Linux/UNIX, Mac OS X
 
||Windows, Linux/UNIX, Mac OS X
 
|-
 
|-
Line 47: Line 47:
 
|-
 
|-
 
|style="width:25%; background:#8EDEB5"| Image
 
|style="width:25%; background:#8EDEB5"| Image
||No
+
||-
 
||Yes
 
||Yes
 
||Yes
 
||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