Skip to content
John Galbraith edited this page Jan 11, 2017 · 9 revisions

The PolySync transcoder

The application polysync-transcode converts the binary PLog flat files created by Polysync ('.plog') to external formats used in industry standard data science and machine learning tools. It can also query, slice and dice, and re-encode the PLog format.

The Transcoder consists of several components:

  • Command line tool polysync-transcode, inspired by the industry standard HDF5 workflow including h5ls and h5dump. By default, this installs to /usr/local/bin/polysync-transcode.
  • Set of output plugins tailored to a specific external format like PLog, and HDF5 (planned). By default, these install to /usr/local/lib/polysync-transcoder/plugin
  • Set of data model descriptions that describe the layout of arbitrary binary blobs. Users probably have to write custom descriptions, but a small library lives, by default, at /usr/local/share/polysync-transcoder
  • C++14 library for users to write their own custom data science tools. By default, this support installs to /usr/local/include/polysync' and '/usr/local/lib/libtranscode.so
  • Python extension (planned)

Installation

Install instructions

List and Dump commands

The most useful application of the transcoder is to explore and query PLog files written by PolySync Core. Users can print both the file's data model, and the data itself, in human readable formats.

Query Commands Tutorial

Write TOML models

The PLog decoder can interpret arbitrary binary blobs stored in standard PolySync message types like ps_byte_array_msg and ps_can_frame_msg. The data models are described using TOML.

TOML Modeling Tutorial

Write TOML detectors

Most PLog message types are sequences of subtypes. Detectors are configurations that teach the transcoder how the subtypes follow one another.

TOML Detector Tutorial

Encode new PLog files

The transcoder can re-encode PLog files, typically after filtering by message number or message type. This is useful for making PLog files smaller, removing unused messages, or isolating a particular message type.

PLog Encoding Tutorial

Clone this wiki locally