Description

This block let you configure Qinertia photogrammetry module. You can define the match between a picture and a time stamp so the exporters can output a text files containing for each picture a time stamp, a position and an attitude.

If the photogrammetry module is correctly configured, you can also use Qinertia dedicated photogrammetry JPEG exporter. Qinertia will update each picture EXIF/XMP information with accurate timing, orientation, position and quality information. The exported JPEG files can then be directly imported in photohrammetry software such as Pix4D or UAS Master.

JSON Block Sample

Match file

This example load a DJI match file directly. The match file list for each picture the associated time stamp.

"photogrammetry": {
  "match": "./myDJI.mrk"
}
JS

Pictures Directory

The match is done by Qinertia and all pictures present in the ./photos directory are matched one by one to the eventB camera shutter event. We should thus have one picture per event. In addition, a delay of 5 ms is subtracted for each camera shutter event and a specific lever arm and alignment is applied.

"photogrammetry": {
  "shutterDelay": -0.005,
  "leverArm": [0.05, -0.09, 0.16],
  "alignment": {
    "rough": ["backward", "left"],
    "fine": [0.2, -0.1, 0.8],
    "boresight": [0.005, -0.001, 0.023]
  },
  "match": {
    "events": "eventB",
    "pictures": "./photos"
  }
}
JS

List of Pictures

The match is done by Qinertia and each listed picture is associated to the corresponding eventA. Qinertia also automatically apply an automatic delay on each picture shutter time to compensate for the camera shutter speed.

"photogrammetry": {
  "shutterDelay": "auto",
  "match": {
    "events": "eventA",
    "pictures": [
		"./photos/DSC09334.JPG",
		"./photos/DSC09335.JPG",
		"./photos/DSC09336.JPG",
		"./photos/DSC09337.JPG"
	]
  }
}
JS

Block Specification

This is the main block used to enable and setup the photogrammetry module.

ParameterTypeOptionalDescription
shutterDelay

string or

number

(tick)

Add a delay on pictures event to compensate for any time offset.

Either enter the auto string to let Qinertia apply a delay equals to half the picture exposure time or enter a custom delay in seconds.

If not specified, no delay is applied on shutter time.

leverArmarray(tick)

X, Y, Z lever arm in meters between the IMU and the camera sensor center. This is expressed using standard SBG Systems conventions.

If not specified, a zero lever arm is applied.

alignmentobject(tick)

Enter the alignment between the IMU and the camera sensor. Please see the Alignment Block.

If not specified, the IMU and camera sensor are considered to be aligned.

match

string or
object

(error)

This field can be a path to a match file such as a DJI MRK file or a simple CSV Match File

If you would like to create the match between an event and a picture, you can use the match object directly.

Shutter Delay

If you have a global shutter camera, you shouldn't use the auto option for the shutterDelay. This option should only be used for rolling shutter cameras as it applies a delay of half the exposure time.

Alignment Block

This block is used to enter a miss-alignment between the IMU and the camera sensor.

ParameterTypeOptionalDescription
rougharray(tick)

Define the rough (axis) camera sensor alignment in the vehicle frame. This parameter is an array of two keys one for the X axis direction and one for the Y axis direction. The Z axis direction is indeed automatically computed from X and Y directions to represented a right handled coordinate frame.

Please refer to Rough Alignment Values section to get the list of available options.

If not specified, the default ["forward", "right"] rough alignment is used.

finearray(tick)

Specify any roll, pitch and yaw fine miss-alignment from the vehicle frame to the camera sensor frame. The angles are expressed in degrees and follow SBG Systems conventions.

If not specified no fine alignment is applied.

boresight.conventionstring(tick)

Define in which convention / frame the boresight angles are expressed.

The only available option for now is navigation

If not specified, the default navigation value is used.

boresight.anglesarray(tick)Additional roll, pitch and yaw residual boresight angles to apply in degrees.

If not specified no additional boresight alignment is applied.

Match Block

This block is used to create a match between an event and a picture file. Qinertia will simply associate one by one each event with each picture in the list.

ParameterTypeOptionalDescription
match.events
enum(tick)

To create the match between a picture and a time stamp, selected the sync in event that has been used to measure the camera shutter event:

  • eventA
  • eventB
  • eventC
  • eventD
  • eventE
match.pictures

string or
array

(tick)

Can be a path to a directory containing all the pictures to load or an array of path to each picture file in the correct order.

Relative Paths

Relative paths are referenced to the JSON process file unless you have specified a base path with the --input option while invoking Qinertia command line.