Difference between revisions of "2016 Winter Project Week/Projects/TrackedUltrasoundStandardization"
From NAMIC Wiki
m (→Command) |
|||
Line 95: | Line 95: | ||
== Implementation plan == | == Implementation plan == | ||
=== Github Fork === | === Github Fork === | ||
− | OpenIGTLinkIF fork [https://github.com/drouin-simon/OpenIGTLinkIF] | + | * OpenIGTLinkIF fork [https://github.com/drouin-simon/OpenIGTLinkIF] |
+ | * OpenIGTLink fork [https://github.com/lassoan/OpenIGTLink] | ||
+ | |||
=== Tasks === | === Tasks === | ||
* Clean up the vtkMRMLIGTLConnectorNode to be logic, MRML and Slicer free | * Clean up the vtkMRMLIGTLConnectorNode to be logic, MRML and Slicer free |
Revision as of 14:19, 8 January 2016
Home < 2016 Winter Project Week < Projects < TrackedUltrasoundStandardizationContents
Key Investigators
- Andras Lasso, Tamas Ungi (PerkLab, Queen's University)
- Christian Askeland, Ingerid Reinertsen, Ole Vegard Solberg (CustusX, IGT research, SINTEF)
- Simon Drouin (Mcgill University, Montreal, Canada)
- Junichi Tokuda (BWH)
- Steve Pieper (Isomics)
- Adam Rankin (VASST Laboratory, Western University, Canada)
- Thomas Kirchner, Janek Gröhl (MITK, DKFZ, Heidelberg, Germany)
Project Description
Objective | Approach and Plan | Progress and Next Steps |
---|---|---|
|
|
OpenIGTLink Revisions
Tracked ultrasound OpenIGTLink client
- Move out part of OpenIGTLinkIF
- Only use OpenIGTLink and VTK
Command
- COMMAND
- Command ID (uint32) 4
- Command name (uint8[32]) 32
- Content encoding (uint16) 2
- Content (uint8*) - rest of the body
- RTS_COMMAND: (return to sender command, acknowledgement mechanism)
- Command ID (uint32) 4
- Command status (uint8[32]) 32
- Content encoding (uint16) 2
- Content (uint8*) - rest of the body
Meta Data
Header V1
Bytes 0 2 14 34 42 50 58 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | V | TYPE | DEVICE_NAME | TIME_STAMP | BODY_SIZE | CRC64 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Header V2
#Bytes HEADER_FIELD
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 0 V 2 TYPE 14 DEV_NAME 34 TS 42 BODY_SIZE 50 CRC64 58 EXT_HEADER_SIZE 60 METADATA_SIZE 64 MSG_ID 68 RV 72 CONTENT… | METADATA… | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
- V = VERSION
- DEV_NAME = DEVICE_NAME
- RV = RESERVED
EXT_HEADER
v1 header (58 bytes) + new header (EXT_HEADER_SIZE bytes)
CONTENT (=v1 body)
BODY_SIZE - EXT_HEADER_SIZE - METADATA_SIZE
METADATA
#Bytes HEADER_FIELD
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |INDEX_COUNT (uint16) | KEY_SIZE (uint16) | VALUE_ENCODING (uint16) | VALUE_SIZE (uint32) | … | KEY | VALUE | … | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
VALUE_ENCODING
As specified at http://www.iana.org/assignments/character-sets/character-sets.xhtml
BODY
Contains extended header data, message content, and metadata.
Implementation plan
Github Fork
Tasks
- Clean up the vtkMRMLIGTLConnectorNode to be logic, MRML and Slicer free
- Creating a new converter base class which does not depend on MRML
- Implementation of the new Command Message
PLUS
- Interson probe settings [3]
- Interson class cleanup [4]
- Get/Set TGC support for US devices [5]
- Get transform over OpenIGTLink [6]
CustusX
- Example CustusX class [7]