This guide explains how to define a meaningful world coordinate system after camera calibration in OpenLPT. By default, the optimizer produces an arbitrary coordinate frame. If your experiment requires a specific orientation (e.g., +Z up, +X streamwise), you can align the world frame using four reference landmarks on a known calibration object.
You identify four landmarks visible in at least two cameras: Center (origin), +X, +Y, and +Z. The software triangulates each landmark into 3D, computes direction vectors from the center, and fits the closest right-handed orthonormal basis via SVD. A rigid transform (rotation + translation) is then applied to all cameras, 3D points, and refraction plates — without altering intrinsic parameters or distortion coefficients.
Use the built-in detection and selection tools on the Point Detection sub-tab of wand calibration.
In the Detection Settings panel, set the Axis direction radio button to Custom. This reveals the axis camera table and detection controls.
In the axis camera table, click the first column button for each camera to load one or more images of your axis target. These images should show all four reference markers (center, +X, +Y, +Z) clearly visible.
Adjust the Radius Range and Sensitivity sliders so that the detector can find all marker circles, then click the Detect button. The system runs circle detection across all loaded axis images.
For each camera, click the Select button in the axis camera table. The image view enters selection mode and prompts you to click three points in order:
The Center point is inferred automatically from the remaining detected circle(s). Repeat for all cameras.
Click the Save button to store the axis direction data. You will be prompted to save a CSV file. The data is also kept in memory for the current session.
If you already have axis-point coordinates (e.g., from a previous session or manual measurement), you can load them directly on the Calibration sub-tab.