Difference between revisions of "OpenIGTLink/Approaches"

From NAMIC Wiki
Jump to: navigation, search
 
(11 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%"|Features  
+
| style="width:25%; background:#5EAE85"|Features  
| style="width:25%"|From scratch
+
| style="width:25%; background:#5EAE85"|From scratch
| style="width:25%"|igtlutil
+
| style="width:25%; background:#5EAE85"|igtlutil
| style="width:25%"|Open IGT Link Library
+
| style="width:25%; background:#5EAE85"|Open IGT Link Library
 
|-
 
|-
| Slicer
+
|style="width:25%; background:#8EDEB5"| Language
| align="right" |587,919
+
||Any
| align="right" |161
+
||C (can be included in C++ codes)
| align="right" |$16,068,440
+
||C++
 
|-
 
|-
| Package
+
|style="width:25%; background:#8EDEB5"| Platform
| align="right" |189,627
+
||Any
| align="right" |49
+
||Where ANSI C compiler is available
| align="right" |$ 4,925,590
+
||Windows, Linux/UNIX, Mac OS X
 
|-
 
|-
|  
+
|style="width:25%; background:#8EDEB5"| Generic Header
| align="right" |1,344,989
+
||-
| align="right" |385
+
||Yes
| align="right" |$38,521,873
+
||Yes
 
|-
 
|-
| ITK
+
|style="width:25%; background:#8EDEB5"| Transform
| align="right" |711,474
+
||-
| align="right" |197
+
||Yes
| align="right" |$19,712,495
+
||Yes
 
|-
 
|-
| CMAKE
+
|style="width:25%; background:#8EDEB5"| Image
| align="right" |213,671
+
||-
| align="right" |56
+
||Yes
| align="right" |$ 5,586,895
+
||Yes
 
|-
 
|-
|style="background:#8EDEB5; color:black" |Total
+
|style="width:25%; background:#8EDEB5"| Endian Conversion
| style="background:#8EDEB5; color:black" align="right" |3,047,680
+
||-
| style="background:#8EDEB5; color:black" align="right" |848
+
||Yes
| style="background:#8EDEB5; color:black" align="right" |$84,815,293
+
||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