Difference between revisions of "OpenIGTLink/ProtocolV2/Type/ImageMeta"

From NAMIC Wiki
Jump to: navigation, search
(Created page with ' << Version 2 Draft Page =Summary= The XXXX format supports blah-blah-blah. =Message Types= ==XXXX== {| border="1" cellpadding="5" …')
 
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[OpenIGTLink/ProtocolV2/Proposals | &lt;&lt; Version 2 Draft Page]]
+
[[OpenIGTLink/ProtocolV2/Index | &lt;&lt; Version 2 Index Page]]
  
 
=Summary=
 
=Summary=
The XXXX format supports blah-blah-blah.
+
The IMGMETA message is used to transfer image meta information which are not available in IMAGE message type, such as patient name, medical record number, modality etc. An IMGMETA message can contain meta data for multiple images. This message type may be used to obtain a list of images available in the remote system, such as image database or commercial image-guided surgery (IGS) system.
  
 
=Message Types=
 
=Message Types=
==XXXX==
+
==IMGMETA==
 +
 
  
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
Line 13: Line 14:
 
| align="left style="background:#e0e0e0;" | Description
 
| align="left style="background:#e0e0e0;" | Description
 
|-
 
|-
| align="left" | V1
+
| align="left" | Name/Description
| align="left" | unsigned short
+
| align="left" | char[64]
| align="left" | Value 1
+
| align="left" | Name or description of the image
 
|-
 
|-
| align="left" | V2
+
| align="left" | Id
| align="left" | 8bit unsigned int
+
| align="left" | char[20]
| align="left" | Value 2
+
| align="left" | Id to query the IMAGE and COLORT
 
|-
 
|-
| align="left" | ...
+
| align="left" | Modality
| align="left" | ...
+
| align="left" | char[32]
| align="left" | ...
+
| align="left" | String which specifies the modality
 
|-
 
|-
|}
+
| align="left" | Patient name
 
+
| align="left" | char[64]
 
+
| align="left" | Name of the patient
==GET_XXXX==
+
|-
{| border="1" cellpadding="5" cellspacing="0" align="center"
+
| align="left" | Patient id
 +
| align="left" | char[64]
 +
| align="left" | Id of the patient
 
|-
 
|-
| align="left style="background:#e0e0e0;" | Data
+
| align="left" | Timestamp
| align="left style="background:#e0e0e0;" | Type
+
| align="left" | 64 bit unsigned
| align="left style="background:#e0e0e0;" | Description
+
| align="left" | Scan time, see [[OpenIGTLink/Timestamp]]
 
|-
 
|-
| align="left" | V1
+
| align="left" | RI, RJ, RK
| align="left" | unsigned short
+
| align="left" | 16 bit unsigned
| align="left" | Value 1
+
| align="left" | Number of pixels in each direction (same as in IMAGE)
 
|-
 
|-
| align="left" | V2
+
| align="left" | S
| align="left" | 8bit unsigned int
+
| align="left" | 8 bit unsigned
| align="left" | Value 2
+
| align="left" | Scalar type (e.g. 3:uint8, 5:uint16, same as in IMAGE)
 
|-
 
|-
| align="left" | ...
+
| align="left" | --
| align="left" | ...
+
| align="left" | 8 bit unsigned
| align="left" | ...
+
| align="left" | Reserved
 
|-
 
|-
 
|}
 
|}
  
 +
* More than one item can be transmitted. The number is bodySize/itemSize.
 +
* To get the IMAGE, GET_IMAGE is used with the Id in the device name field.
  
==STT_XXXX==
+
==GET_IMGMETA==
 +
GET_IMGMETA is used to query for meta data of image sets. If DEVICE_NAME in the header is empty, a list of meta data for all available images is returned.
  
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
 
{| border="1" cellpadding="5" cellspacing="0" align="center"
Line 57: Line 63:
 
| align="left style="background:#e0e0e0;" | Type
 
| align="left style="background:#e0e0e0;" | Type
 
| align="left style="background:#e0e0e0;" | Description
 
| align="left style="background:#e0e0e0;" | Description
|-
 
| align="left" | V1
 
| align="left" | unsigned short
 
| align="left" | Value 1
 
|-
 
| align="left" | V2
 
| align="left" | 8bit unsigned int
 
| align="left" | Value 2
 
|-
 
| align="left" | ...
 
| align="left" | ...
 
| align="left" | ...
 
 
|-
 
|-
 
|}
 
|}
  
==STP_XXXX==
+
==STT_IMGMETA==
 +
 
 +
N/A
  
 +
==STP_IMGMETA==
  
{| border="1" cellpadding="5" cellspacing="0" align="center"
+
N/A
|-
 
| align="left style="background:#e0e0e0;" | Data
 
| align="left style="background:#e0e0e0;" | Type
 
| align="left style="background:#e0e0e0;" | Description
 
|-
 
| align="left" | V1
 
| align="left" | unsigned short
 
| align="left" | Value 1
 
|-
 
| align="left" | V2
 
| align="left" | 8bit unsigned int
 
| align="left" | Value 2
 
|-
 
| align="left" | ...
 
| align="left" | ...
 
| align="left" | ...
 
|-
 
|}
 
  
 
=Implementations=
 
=Implementations=
XXX message type is implemented in the following source code.
+
IMGMETA message type is implemented in the following source code.
*igtlXXXXMessage.h (link to the file in subversion repository, if available)
+
*[http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/igtlImageMetaMessage.h igtlImageMetaMessage.h]
*igtlXXXXMessage.cxx (link to the file in subversion repository, if available)
+
*[http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/igtlImageMetaMessage.cxx igtlImageMetaMessage.cxx]
  
 
=Contributors=
 
=Contributors=
You may list names of contributors in this section.
+
Alexander Schaal
  
 
=Comments=
 
=Comments=
People in the community may put comments here.
+
 
 +
Ziv Yaniv:<br>
 +
The fixed size of "Patient name" and "Patient id" can potentially lead to buffer overflow. If treating the king of Spain you will need all 64 characters "Juan Carlos Alfonso Víctor María de Borbón y Borbón-Dos Sicilias". Possibly separate each field into two, something like "Patient Name Length" (unsigned int - 16 bits) and then "Patient Name". I believe that all names are shorter than 65535 characters.

Latest revision as of 04:42, 30 November 2011

Home < OpenIGTLink < ProtocolV2 < Type < ImageMeta

<< Version 2 Index Page

Summary

The IMGMETA message is used to transfer image meta information which are not available in IMAGE message type, such as patient name, medical record number, modality etc. An IMGMETA message can contain meta data for multiple images. This message type may be used to obtain a list of images available in the remote system, such as image database or commercial image-guided surgery (IGS) system.

Message Types

IMGMETA

Data Type Description
Name/Description char[64] Name or description of the image
Id char[20] Id to query the IMAGE and COLORT
Modality char[32] String which specifies the modality
Patient name char[64] Name of the patient
Patient id char[64] Id of the patient
Timestamp 64 bit unsigned Scan time, see OpenIGTLink/Timestamp
RI, RJ, RK 16 bit unsigned Number of pixels in each direction (same as in IMAGE)
S 8 bit unsigned Scalar type (e.g. 3:uint8, 5:uint16, same as in IMAGE)
-- 8 bit unsigned Reserved
  • More than one item can be transmitted. The number is bodySize/itemSize.
  • To get the IMAGE, GET_IMAGE is used with the Id in the device name field.

GET_IMGMETA

GET_IMGMETA is used to query for meta data of image sets. If DEVICE_NAME in the header is empty, a list of meta data for all available images is returned.

Data Type Description

STT_IMGMETA

N/A

STP_IMGMETA

N/A

Implementations

IMGMETA message type is implemented in the following source code.

Contributors

Alexander Schaal

Comments

Ziv Yaniv:
The fixed size of "Patient name" and "Patient id" can potentially lead to buffer overflow. If treating the king of Spain you will need all 64 characters "Juan Carlos Alfonso Víctor María de Borbón y Borbón-Dos Sicilias". Possibly separate each field into two, something like "Patient Name Length" (unsigned int - 16 bits) and then "Patient Name". I believe that all names are shorter than 65535 characters.