Susi Server

OST Calibration

Node ID: ostCalibration · Role: Sink · Realtime config: no

Description

SPAAM-style optical see-through display calibration for the LPVIZ driver. The user aligns a tracked stylus tip with crosshairs at known pixel positions on the display; the solve recovers per-eye projection FOV, IPD, and the head-to-tracker pose. Wire the stylus optical stream and, preferably, the HMD body’s raw optical stream (HMD Optical) - it drops out visibly when tracking is lost, so stale poses are rejected instead of silently captured. The FusedPose input is an alternative when no raw stream is available.

Inputs / Outputs

Properties

Each row shows the setting’s label in the node’s Properties panel and, in code, its key in the node’s settings object in the config file. A setting omitted from the config file uses the default shown here.

PropertyTypeDefaultDescription
Stylus Tip Offset tipOffsetvector3{"x":0.0,"y":0.0,"z":0.0}Offset from the tracked stylus body origin to its physical tip, in the body frame (m). Solve it with the pivot calibration in the Point Alignment view.

Example node definition

A minimal entry in config.json looks like the block below. Paste it under the sinks key, keyed by an instance name of your choice. All settings are optional: anything not listed under settings uses the default from the Properties table above. See The configuration file for how the sections and endpoint wiring work.

{
  "sinks": {
    "ostCalibration": {
      "inputEndpoints": [
        "inproc://optical_data",
        "inproc://hmdOptical_data",
        "inproc://hmdPose_data"
      ],
      "inputDataFilter": [
        "Optical",
        "Optical",
        "FusedPose"
      ],
      "settings": {}
    }
  }
}
Loading documentation…