Skip to content

04. Generated Output

Hauke Jürgen Mönck edited this page Mar 19, 2018 · 4 revisions

Generated Output

The BioTracker 3 is designed to provide generic output methods for any tracker. The output method can be selected in the settings view. Currently CSV, Serialize (as binary) and JSON are available. All of them rely on the tracker defining what kind of data each node, i.e. each trackpoint stores. This is generic in nature, so the actual data found in the output depends on the tracking plugin being used.

Example: Data each trackpoints holds in the Background Subtraction tracker

  • FRAME: Frame number in the source video.
  • MillisecsByFps: Time in the source video since beginning of the video or camera stream. This is (("Frame No." / "Source FPS") * 1000).Note that if frames from a camera stream have been dropped (current fps < source fps) for any timestep, this may gain inaccuracy. Also note that for videos and pictures frames will never be dropped.
  • objectName: The name assigned to an object. The Background Subtraction Tracker does not assign particular names.
  • valid: The BioTracker itself does not delete tracks, but marks them invalid. If a track was made invalid, all it's entities will be invalid. They will still be writen for your reference and later loading.
  • id: ID assigned to the track in the userinterface
  • coordinateUnit: Units in which x and y are formated
  • x: x position of the entity. Whether this is px, cm or something else defined by the tracker. In the BST it is defined by coordinateUnit
  • y: y position of the entity. Same as x.
  • rad: Rotation of entity in radians.
  • deg: Rotation of entity in degree.
  • xpx: The X-Position in pixels
  • ypx: The Y-Position in pixels
  • time: Timestamp in unix time, ms since epoch (1.1.1970, 00:00)
  • timeString: Same as time, but converted to a human-readable timestamp.

CSV

The exporter for tracking data generically outputs csv data from tracked trajectories. Details are always given in the csv header (which prints all the headers as listed in the previous example) and the documentation of the tracking module. Additionally before all the tracking output is written, a couple of lines of metadata are written. These are preceded by a # and contain information about the original video, the FPS of the video and the generation time.

JSON

JSON is just like CSV a text-based semi-human-readable format for writing data. This format is more suitable for automated processing and reading by specialized software.

Binary Serialization

This format is non-human-readable. It is a binary serialization of the data in each trackpoint using the QT datastreams. A suitable format for use within the Biotracker but hardly interpretable by any other software.