Difference between revisions of "OpenIGTLink/Library"

From NAMIC Wiki
Jump to: navigation, search
(→‎License: Fix link to New BSD license. The link directed to the 2-Clause license, rather than the 3-Clause license. The 3-Clause license is "new BSD".)
 
(37 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[OpenIGTLink | << OpenIGTLink]]
 
[[OpenIGTLink | << OpenIGTLink]]
<div class="floatright">__TOC__</div>
 
  
= Source code =
+
=General Information=
 +
<hr/>
 +
== Supported platforms ==
 +
* Microsoft Windows (tested on XP and 7 (32-bit and 64-bit))
 +
* Linux (Tested on Ubuntu 10.10 (32-bit and 64-bit))
 +
* Mac OS X 10.5/6/7/8/9 (Intel 64-bit)
 +
* Sun Solaris (GNU CC and Sun CC) (tested on Solaris 8 and 10)
 +
* QNX (Not tested well -- feedbacks from QNX users are greatly appreciated)
  
An Open Source implementation of the OpenIGTLink protocol is available at
+
== License ==
 +
This code is distributed under the [http://opensource.org/licenses/BSD-3-Clause new BSD License].
  
http://www.na-mic.org/svn/NAMICSandBox/trunk/OpenIGTLink/
+
=Instruction=
 +
<hr/>
 +
==Downloading Source Code with Example Programs==
 +
Since December 2011, the source code repository is hosted by GitHub. The code can be obtained from:
 +
git@github.com:openigtlink/OpenIGTLink.git
 +
or
 +
git://github.com/openigtlink/OpenIGTLink.git
 +
If you would like to have read/write access to participate the development, please send your SSH public key to [[User:Tokuda| Junichi Tokuda]]. The source code is also available in the following Subversion repository.
 +
http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink
  
= License =
+
==Building the Library==
This code is distributed under the [http://www.opensource.org/licenses/bsd-license.php new BSD License].
+
* [[OpenIGTLink/Library/Build | How to build the library]]
  
= Design =
+
== Tutorial==
 +
* [[OpenIGTLink/Library/Tutorial | The Open IGT Link Library Tutorial]]
 +
* [[OpenIGTLink/Approaches | What is the best way to build your OpenIGTLink application?]]
  
* [[OpenIGTLink/Library/Design | Design ]]
 
* [http://wiki.ncigt.org/index.php/U41:Prostate:BRP:Events:Meeting_5Feb08 Weekly Meeting: February 5th]
 
  
= Building instructions =
+
= Acknowledgements =
* [[OpenIGTLink/Library/Build | How to build the library?]]
+
<hr/>
 +
*Attila Nagy has been helping the team to support Sun OS.
 +
*Dominique Belhachemi contributed to make the OpenIGTLink library available as a Debian Package.
  
 +
= Contact =
 +
<hr/>
 +
*Please contact [[User:Tokuda| Junichi Tokuda]] at Brigham and Women's Hospital
  
= Tutorial =
+
=Seoul=
==C-code implementation (w/o socket)==
+
making change.
 
 
The library contains c codes in the Source/igtlutil directory to generate Open IGT Link message byte stream.
 
The followings are core parts of source codes to create Open IGT Link message.
 
 
 
Include declarations for transformation data:
 
  #include "igtl_util.h"
 
  #include "igtl_header.h"
 
  #include "igtl_transform.h"
 
 
 
Transform package creation:
 
  /********** pack data body **********/
 
  igtl_float32 transform[12];
 
 
 
  transform[0] = tx;
 
  transform[1] = ty;
 
  transform[2] = tz;
 
  transform[3] = sx;
 
  transform[4] = sy;
 
  transform[5] = sz;
 
  transform[6] = nx;
 
  transform[7] = ny;
 
  transform[8] = nz;
 
  transform[9] = px;
 
  transform[10] = py;
 
  transform[11] = pz;
 
 
 
  igtl_transform_convert_byte_order(transform);  /* convert endian if necessary */
 
 
 
  /********** general header **********/ 
 
  igtl_header header;
 
  igtl_uint64 crc = crc64(0, 0, 0LL);          /* initial crc */
 
  header.version  = IGTL_HEADER_VERSION;
 
  header.timestamp = 0;
 
  header.body_size = IGTL_TRANSFORM_SIZE;
 
  header.crc      = crc64((unsigned char*)transform, IGTL_TRANSFORM_SIZE, crc);
 
 
 
  strncpy(header.name, "TRANSFORM", 12);      /* Device Type: should be "TRANSFORM" */
 
  strncpy(header.device_name, "Tracker", 20);    /* Device name */
 
 
 
  igtl_header_convert_byte_order(h);  /* convert endian if necessary */
 
 
 
Then send package (in case of BSD socket)
 
  send(sock, (void*) &header, IGTL_HEADER_SIZE, 0);
 
  send(sock, (void*) transform, IGTL_TRANSFORM_SIZE, 0);
 

Latest revision as of 16:53, 17 February 2015

Home < OpenIGTLink < Library

<< OpenIGTLink

General Information


Supported platforms

  • Microsoft Windows (tested on XP and 7 (32-bit and 64-bit))
  • Linux (Tested on Ubuntu 10.10 (32-bit and 64-bit))
  • Mac OS X 10.5/6/7/8/9 (Intel 64-bit)
  • Sun Solaris (GNU CC and Sun CC) (tested on Solaris 8 and 10)
  • QNX (Not tested well -- feedbacks from QNX users are greatly appreciated)

License

This code is distributed under the new BSD License.

Instruction


Downloading Source Code with Example Programs

Since December 2011, the source code repository is hosted by GitHub. The code can be obtained from:

git@github.com:openigtlink/OpenIGTLink.git

or

git://github.com/openigtlink/OpenIGTLink.git

If you would like to have read/write access to participate the development, please send your SSH public key to Junichi Tokuda. The source code is also available in the following Subversion repository.

http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink

Building the Library

Tutorial


Acknowledgements


  • Attila Nagy has been helping the team to support Sun OS.
  • Dominique Belhachemi contributed to make the OpenIGTLink library available as a Debian Package.

Contact


Seoul

making change.