OpenIGTLink/Library
From NAMIC Wiki
Home < OpenIGTLink < Library
Source code
An Open Source implementation of the OpenIGTLink protocol is available at
http://www.na-mic.org/svn/NAMICSandBox/trunk/OpenIGTLink/
License
This code is distributed under the new BSD License.
Design
Building instructions
Tutorial
C-code implementation (w/o socket)
The library contains c codes in the Source/igtlutil directory to generate Open IGT Link message byte stream.
To send transform
#include "igtl_util.h" #include "igtl_header.h" #include "igtl_transform.h" /********** pack data body **********/ igtl_float32 transform[12]; for (int i = 0; i < 3; i ++) { transform[i] = matrix[i][0]; transform[i+3] = matrix[i][1]; transform[i+6] = matrix[i][2]; transform[i+9] = matrix[i][3]; } igtl_transform_convert_byte_order(transform); /* convert endian if necessary */ /********** pack data body **********/ igtl_header header; igtl_uint64 crc = crc64(0, 0, 0LL); /* initial crc */ header.version = IGTL_HEADER_VERSION; header.timestamp = 0; header.body_size = GetBodyPackSize(); header.crc = crc64((unsigned char*)m_Body, GetBodyPackSize(), 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 */