ImageGear for C and C++ on Windows v19.1 - Updated
Metadata Structures
User Guide > File Formats and Compressions > File Formats > Metadata Structures

This topic provides information about the following:

Supported Metadata Structures

In this section, the metadata items (and sequence of metadata items) are written in table form where metadata type constants are in the shortened form. For example, LEVEL_START should be treated as IG_METAD_LEVEL_START, UINT32 as AM_TID_META_UINT32, RAW_DAT as AM_TID_RAW_DATA, etc.

See also Working with DICOM Metadata.

AT_DATALIST_ITEM Metadata Structure ValueType and Value Elements

Here are possible combinations of ValueType and Value elements of AT_DATALIST_ITEM ImageGear metadata structure:

ValueType Value
AM_TID_META_INT8
  • The "FLTR.METADATA_FORMAT" global parameter value is "text" :
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" 8-bit signed integers separated by comma. Example: "-128;0;+45;56"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" :
Value is pointer to array of 8-bit signed integers of size "Length"
AM_TID_META_UINT8
  • The "FLTR.METADATA_FORMAT" global parameter value is "text" :
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" 8-bit unsigned integers separated by comma. The hexadecimal values are allowed. Example: "0;+18;255;0xFA"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 8-bit signed integers of size "Length"
AM_TID_META_INT16
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" 16-bit signed integers separated by comma. Example: "0;+1800;-255;32355"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 16-bit signed integers of size "Length"
AM_TID_META_UINT16
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" 16-bit unsigned integers separated by comma. The hexadecimal values are allowed. Example: "0;+543;2550;0x12FF"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 16-bit signed integers of size "Length"
AM_TID_META_INT32
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" 32-bit signed integers separated by comma. Example: "0;+67;-235987;32355"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 32-bit signed integers of size "Length"
AM_TID_META_UINT32
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" 32-bit unsigned integers separated by comma. The hexadecimal values are allowed. Example: "0;+543;12362550;0x56FDE345"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 32-bit signed integers of size "Length"
AM_TID_META_INT64
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NUL-terminated string - textual representation of "Length" 64-bit signed integers separated by comma.
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 32-bit signed integers of size "Length"
AM_TID_META_UINT64
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" 64-bit unsigned integers separated by comma. The hexadecimal values are allowed.
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 32-bit signed integers of size "Length"
AM_TID_META_BOOL
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NULL-terminated string - textual representation of "Length" Boolean values separated by comma. Example: "TRUE;FALSE;false;true"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 32-bit unsigned integers of size "Length" The value 1 represents boolean TRUE and the value 0 represents boolean FALSE.
AM_TID_META_RATIONAL_INT32
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" rational values separated by comma. Each rational value is fraction where both numerator and denominator are 32-bit signed integers separated by slash. Zero is allowed. Example: "+324/-567;0/0;-68/45668"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 32-bit signed integers of size 2 * "Length" Each two elements represent pair (numerator, denominator) that represents rational number numerator/denominator.
AM_TID_META_RATIONAL_UNT32
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" rational values separated by comma. Each rational value is fraction where both numerator and denominator are 32-bit unsigned integers separated by slash. Zero is allowed. Example: "+324/567;0/0"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 32-bit unsigned integers of size 2 * "Length" Each two elements represent pair (numerator, denominator) that represents rational number numerator/denominator.
AM_TID_META_FLOAT
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" 4-byte float-point values separated by comma. Example: "-298.98676;3568732;6.9876E-10;0"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 4-byte float-point values of size "Length"
AM_TID_META_DOUBLE
  • The "FLTR.METADATA_FORMAT" global parameter value is "text":
Value is pointer to NUL-terminated ASCII string - textual representation of "Length" 8-byte (double precision) float-point values separated by comma. Example: "-29842.9867698098;356873245345;6.98766575489E+50;0"
  • The "FLTR.METADATA_FORMAT" global parameter value is "binary" (DLL only):
Value is pointer to array of 8-byte (double precision) float-point values of size "Length"
AM_TID_META_STRING
  • It does not depend on "FLTR.METADATA_FORMAT" global parameter value
Value is pointer to NUL-terminated ASCII string, "Length" - length of the string (NULL is not counted). Example: "Simple string"
AM_TID_RAW_DATA
  • It does not depend on "FLTR.METADATA_FORMAT" global parameter value
Value is pointer to byte array that represent binary data, "Length" - size of the array in bytes.