MIR concepts

Warning

A valid MIR data file must contain all of the layers, datasets and attributes defined by this specification, even if some of them are empty.

Identifiers

Identifiers (also referred to as names) are described by the following lexical definitions:

identifier ::=  first_word ("_" word)*
first_word ::=  letter [word]
word       ::=  (letter | digit)+
letter     ::=  "a"..."z"
digit      ::=  "0"..."9"

where letter has to be a lowercase ASCII character.

Non-standard identifiers

Non-standard or vendor specific identifiers must have their names prefixed with _x_:

non_standard_identifier ::=  "_x_" identifier

Data types

MIR specification defines the following atomic data types:

  • integer numbers (signed)
  • floating point numbers
  • Unicode strings

Data elements using non-standard or vendor specific data types must use a non-standard identifier for their name and are beyond the scope of MIR specification.

Attributes

An attribute is a small metadata object attached directly to a dataset or a layer, used to describe their nature and/or intended usage.

Non-standard or vendor specific attributes must use a non-standard identifier for their name and are beyond the scope of MIR specification.

Datasets

A dataset is a rectangular 2D array (generally known as a matrix) of data elements, arranged in rows and columns.

A dataset may use different data types for each column, but all data elements within a single column must be of the same data type.

Non-standard or vendor specific datasets must use a non-standard identifier for their name and are beyond the scope of MIR specification.

Layers

Layers are used to organize individual features and properties of a MIR data file into separate logical groups.

Non-standard or vendor specific layers must use a non-standard identifier for their name and are beyond the scope of MIR specification.

A MIR data file is composed of the following layers: