Better calibration in Reality Modeling

Tutorial result example

Introduction

The goal of this tutorial is to specify calibration settings to Reality Modeling, so that you can obtain a better model.

In this tutorial, we will cover how to send calibration settings to Reality Modeling, and how to retrieve calibration reports from the service.

Info

Skill level:

Expert

Duration:

10 minutes

Prerequisites

This tutorial assumes that you already have:

1. Specifying calibration settings

If you want to apply specific settings for the calibration, you can add a file in the workspace reality data: the file at_settings.json has to be uploaded to /{jobId}/data/. Note that no check on the uploaded file is performed until the job is actually submitted, and if the parameters are not fitted to the inputs, the job will failed.

Note that every properties in the following structure are optional. Strings separated by - mean only one option can be specified. Strings separated by | can be combined using |, eg: "QR Codes|Chili Tags". For parameter "AdjustWithinTolerance %.%", %.% has to be replace by a double.

If you have a preset and you want to apply it, upload it as at_preset.cfg in /{jobId}/data/. No need to specify the name in the the ATSettings file.

AT Settings exchange structure


json
{
"ATSettingsExchange":{
  "PhotogroupEstimationMode": "OnePass"-"MultiPass",
  "ColorEqualizationMode": "EqualizeBlockwise"-"EqualizeNone",
  "SplatsMode": "SplatsAtlas"-"SplatsNone",
  "AdjustmentConstraints": "None"|"UserConstraints"|"ControlPoints"|"PositionMetadata"|"PointClouds"|"Automatic",
  "RigidRegistration": "None"|"UserConstraints"|"ControlPoints"|"PositionMetadata"|"PointClouds"|"Automatic",
  "EstimationGroups": "PerPhotogroup"-"PerPhoto",
  "RotationPolicy": "Compute"-"Keep"-"Adjust"-"AdjustWithinTolerance %.%",
  "CenterPolicy": "Compute"-"Keep"-"Adjust"-"AdjustWithinTolerance %.%",
  "FocalPolicy": "Compute"-"Keep"-"Adjust"-"AdjustWithinTolerance %.%",
  "PrincipalPolicy": "Compute"-"Keep"-"Adjust"-"AdjustWithinTolerance %.%",
  "RadialPolicy": "Compute"-"Keep"-"Adjust"-"AdjustWithinTolerance %.%",
  "TangentialPolicy": "Compute"-"Keep"-"Adjust"-"AdjustWithinTolerance %.%",
  "TiePointsPolicy": "Compute"-"Keep",
  "FisheyeFocalPolicy": "Compute"-"Keep"-"AdjustFisheyeFocalSymmetric"-"AdjustFisheyeFocalAsymmetric",
  "FisheyeDistortionPolicy": "Compute"-"Keep"-"AdjustFisheyeDistortion_01xx0"-"AdjustFisheyeDistortion_x1xx0"-"AdjustFisheyeDistortion_x1xxx"-"AdjustWithinTolerance %.%",
  "AspectRatioPolicy": "Compute"-"Keep"-"Adjust"-"AdjustWithinTolerance %.%",
  "SkewPolicy": "Compute"-"Keep"-"Adjust"-"AdjustWithinTolerance %.%",
  "PairSelectionMode": "Default"-"Sequence"-"Loop"-"Exhaustive"-"Similar images only",
  "PairSelectionMaxDistance": int,
  "KeyPointsDensity": "Normal"-"High",
  "ExtractQR": "QR Codes"|"April Tags"|"Chili Tags"|"Disabled",
  "ComponentConstructionMode": "OnePass"-"MultiPass"
}
}

2. Accessing calibration results

Once the step AT_CloudExport is executed, you can access calibration results (including reports) through the workspace reality data.

In /{jobId}/outputs/calibration/ you will find:

  • acquisition_report, a folder containing an HTML page with CSS regarding the acquisition of your images
  • quality_report, a folder containing HTML pages regarding with quality of your calibration
  • block.xmlz and block - TiePoints.xmlz, the corresponding CCOrientations of this calibration