2021-02-05 10:14:48 +01:00
2021-02-12 11:30:16 +01:00
2021-02-05 12:30:01 +01:00
2021-02-10 20:04:47 +01:00
2021-02-10 16:09:33 +01:00
2021-02-10 20:04:47 +01:00
2021-02-12 11:30:16 +01:00
2021-02-11 20:11:52 +01:00
2021-02-03 16:41:11 +01:00
2021-02-12 11:30:16 +01:00
2021-02-05 19:45:33 +01:00

imctermite.svg

IMCtermite provides access to the proprietary data format IMC Bus Format with file extension .raw introduced and developed by imc Test & Measurement GmbH. This data format is employed i.a. by the measurement hardware imc CRONOSflex to dump and store data and the software packages imc Studio and imc FAMOS for measurement data control and analysis. The extracted measurement data can be stored in various open source file formats like csv, json, parquet or hdf5.

Overview

Fileformat

A data file of IMC Bus Format type with extension .raw is a mixed text/binary file featuring a set of markers (keys) that indicate the start of various blocks of data providing meta information and the actual measurement data. Every single marker is introduced by character "|" = 0x 7c followed by two uppercase letters, which characterize the type of marker. Each block is further divided into several parameters separated by commata "," = 0x 2c and terminated by a semicolon ";" = 0x 3b. For instance, the header - first 600 bytes - of a raw file may look like this (in UTF-8 encoding)

|CF,2,1,1;|CK,1,3,1,1;
|NO,1,86,0,78,imc STUDIO 5.0 R10 (04.08.2017)@imc DEVICES 2.9R7 (25.7.2017)@imcDev__15190567,0,;
|CG,1,5,1,1,1; |CD,2,  63,  5.0000000000000001E-03,1,1,s,0,0,0,  0.0000000000000000E+00,1;
|NT,1,16,1,1,1980,0,0,0.0;       |CC,1,3,1,1;|CP,1,16,1,4,7,32,0,0,1,0;
|CR,1,60,0,  1.0000000000000000E+00,  0.0000000000000000E+00,1,4,mbar;|CN,1,27,0,0,0,15,pressure_Vacuum,0,;
|Cb,1, 117,1,0,    1,         1,         0,      9608,         0,      9608,1,  2.0440300000000000E+03,  1.2416717060000000E+09,;
|CS,1,      9619,         1,<2C>oD	<09>nD6<44>nD)<29>nD<6E>

where line breaks where introduced for readability. Most of the markers introduce blocks of text, while only the last one identified by |CS contains binary data. The format supports the storage of multiple data sets (channels) in a single file. The channels may be ordered in multiplex mode (ordering w.r.t. time) or block mode (ordering w.r.t. to channels).

The markers (keys) are introduced by "|" = 0x 7c followed by two uppercase letters. There are two types of markers distinguished by the first letter:

  1. critical markers: introduced by |C featuring uppercase C
  2. noncritical markers: introduced by |N featuring uppercase N

The second letter represents further details of the specific key. Note, that while the noncritical keys are optional, any .raw file cannot be correctly decoded if any of the critical markers are misinterpreted, invalid or damaged. The second uppercase letter is followed by the first comma and the version of the key starting from 1. After the next comma, an (long) integer (in text representation) specifies the length of the entire block, i.e. the number of bytes between the following comma and the block-terminating semicolon. The further structure of a block is not defined and may feature different numbers of additional parameters. The format allows for any number of carriage returns (CR = 0x0d) and line feeds (LF = 0x 0a) between keys, i.e. the block terminating semicolon and the vertical bar (pipe) of the next key. The following critical markers are defined

marker description
CF format version and processor
CK start of group of keys, no. parameters = 3, indicates (in)correct closure of the measurement series
CB defines a group of channels
CT text definition including group association index
CG introduces group of components corresponding to CC keys
CD1,2 old/new version of abscissa description
CZ scaling of z-axis for segments
CC start of a component
CP information about buffer, datatype and samples of component
Cb buffer description
CR permissible range of values in component
CN name and comment of channel
CS raw binary data
CI single numerical value (including unit)
Ca add reference key

Among the noncritical markers, there are

marker description
NO origin of data
NT timestamp of trigger
ND (color) display properties
NU user defined key
Np property of a channel
NE extraction rule for channels from BUS data

The format loosely defines some rules for the ordering of the markers in the file stream. The rules for critical keys include: CK has to follow up on CF, CK may be followed by any number of CG blocks, each CG has to be followed by (any number of) component sequences comprised of the series CC , CP, (CR), (ND) and terminated by either CS or the start of a new group, component, text field or buffer.

Installation

Usage

References

Description
Enables extraction of measurement data from binary files with extension 'raw' used by proprietary software imcFAMOS/imcSTUDIO and facilitates its storage in open source file formats
Readme 7.9 MiB
Languages
C++ 91.1%
Python 4%
Makefile 2.4%
Cython 1.6%
Shell 0.6%
Other 0.3%