You are on page 1of 6

Parameters of the Triangulation Module

This document describes the parameters which can be passed to the triangulation module. For SURE
the below described flags in the control file (controlTriang.txt) can be directly changed. Some of them
can be passed to the program at execution start. For libtsgm member variables of the parameter class
ControlTriang can be specified and then be passed to the constructor of the the triangulation module.
Note that at construction of the class ControlTriang all parameters are set to standard values which
should be working for large number of image configurations. Most important parameters are marked in
yellow.
$BasePath

Flag in control file ControlTriang.txt

char basepath_[512];

Member of control class ControlTriang

Initialized as

'./.'

Path to processing folder. A certain file structure is constructed in this folder. Input and output are
loaded and saved based on this file structure. For libtsgm this flag is only used if debug images are
stored (see Flag) .

$ConMatFileIn

Flag in control file ControlTriang.txt

char listfilein_[512];

Member of control class ControlTriang

Initialized as

'ListSgm.txt'

File name of the input connectivity matrix . This file contains a square matrix which holds the
information which disparity maps should be fused. For libtsgm this flag is not used.

$CleanUp

Flag in control file ControlTriang.txt

bool cleanup_;

Member of control class ControlTriang

Initialized as

'true'

If the flag is set to 1 all intermediate results are erased when not needed anymore. Saves space on your
hard drive. For libtsgm this flag is not used.

$Reprocess

Flag in control file ControlTriang.txt

bool reprocess_;

Member of control class ControlTriang

Initialized as

'true'

If this flag equals 0 and point clouds or depth images of prior processing cycles are found image pairs
are not re matched by the program. For libtsgm this flag is not used.

$UseBundleTopology

Flag in control file ControlTriang.txt

bool usebundletopo_;

Member of control class ControlTriang

Initialized as

'true'

Flag specifies if the connectivity matrix is used or not . Should be 1 in any case. For libtsgm this flag
is not used.

$MatchingMode

Flag in control file ControlTriang.txt

char matchingmode_[512];

Member of control class ControlTriang

Initialized as

'multi'

Valid values are allsingle, single, multi. Matching an image pair results in two disparity images D_mb
and D_bm. Within the mode allsingle the point clouds / depth maps of D_mb and D_bm are
computed. Within the mode single only depth maps of D_bm are computed. Matching n images
against one base image results in n*2 disparity maps D_bm(n) and D_mb(n). Within the mode multi n
disparity maps D_bm(n) are fused resulting in one point cloud or depth map per base image.
Generally we recommend using single for areal scenarios and multi for highly overlapping imagery as
UAV and close range applications.

$FullName

Flag in control file ControlTriang.txt

bool fullname_;

Member of control class ControlTriang

Initialized as

'false'

If set to 0, results are named based only on the base image name. If set to 1 results are named based on
the base image and all match images.

$Manifolds

Flag in control file ControlTriang.txt

int minmodels_;

Member of control class ControlTriang

Initialized as

'2'

This threshold defines the number of geometric consistent disparity estimations across one reference
image and its match images. If the number of consistent measurements is below this threshold the 3D
point / depth is considered not reliable and invalidated .

$PercConsistent

Flag in control file ControlTriang.txt

float percconsistent_;

Member of control class ControlTriang

Initialized as

'0.99'

In addition to the $Manifolds flag one can force a certain percentage of redundant measurements to
be geometric consistent.

$ReducedImageSize

Flag in control file ControlTriang.txt

unsigned int reducedimagesize_;

Member of control class ControlTriang

This value forces the resulting point clouds to be subdivided and stored in quadratic tiles of the length
and width of reducedimagesize.

$Use_Interpolation

Flag in control file ControlTriang.txt

bool use_Interpolation_;

Member of control class ControlTriang

Initialized as

'true'

Within the fusion step base image coordinates are transferred into the disparity images. This results in
floating point values. Specifying this flag with 1 forces the disparity to be bilinearly interpolated.

$Sigma

Flag in control file ControlTriang.txt

double sigma_;

Member of control class ControlTriang

Initialized as

'2.0'

This value specifies image space accuracy of measurements. This includes matching accuracy and
accuracy of bundle block adjustment. Recommended values are 1.0 to 2.0.

$MaxIterations

Flag in control file ControlTriang.txt

int maxiterations_;

Member of control class ControlTriang

Initialized as

'5'

3D points or depths are calculated within an iterative process. This value defines the maximal
iterations.

$Eps

Flag in control file ControlTriang.txt

double eps_;

Member of control class ControlTriang

Initialized as

'0.0001'

3D points or depths are calculated within an iterative process. At the end of each iteration the
reprojection error is calculated. If the difference to the prior reprojection error is less than this
threshold the optimization is stopped.

$Use_OSD

Flag in control file ControlTriang.txt

double eps_;

Member of control class ControlTriang

Initialized as

'false'

3D points or depths are calculated by minimizing the error (squared differences) of depths in object
space. Use this if calculating depths from stereo models.

$Use_GND

Flag in control file ControlTriang.txt

bool use_GND_;

Member of control class ControlTriang

Initialized as

'true'

3D points or depths are calculated by minimizing the reprojection error in image space. Therefore an
iterative Gauss-Newton approach is used. Use this if depths from multiple stereo models are
computed.

$Use_LMD

Flag in control file ControlTriang.txt

bool use_LMD_;

Member of control class ControlTriang

Initialized as

'false'

3D points or depths are calculated by minimizing the reprojection error in image space. Therefore an
iterative Levenberg-Marquardt approach is used. Not supported in public versions.
$PointsOut

Flag in control file ControlTriang.txt

bool pointsout_;

Member of control class ControlTriang

Initialized as

'true'

If this flag is set the output is one 3D point cloud per base image.

$DepthImgOut

Flag in control file ControlTriang.txt

bool pointsout_;

Member of control class ControlTriang

Initialized as

'false'

If this flag is set the output is one depth image per base image.

$AccPointsOut

Flag in control file ControlTriang.txt

bool pointsout_;

Member of control class ControlTriang

Initialized as

'false'

If this flag is set accuracy information is added to the output point cloud. Not implemented so far.

$ModelPointsOut

Flag in control file ControlTriang.txt

bool modelpointsout_;

Member of control class ControlTriang

Initialized as

'false'

If this flag is set information about the number of models used for the intersection is added to the
point cloud . Not implemented so far.

$PointFormat

Flag in control file ControlTriang.txt

char pointformat_[512];

Member of control class ControlTriang

Initialized as

'las'

Valid values are las and ascii. Defines the output format of the point cloud.

$FilterXYZ
$MaxObjectSpace
$MinObjectSpace

Flag in control file ControlTriang.txt

bool invalidatexyz_;
double maxx_, maxy_, maxz_;
double minx_, miny_, minz_;

Member of control class ControlTriang

Initialized as

'false' '[0 0 0]' '[0 0 0]'

Using theses flags generated coordinates are required to be located within a defined cube. If located
outside the cube points are invalidated. Only valid when output are point clouds.

$FilterZ
$MinMaxZ

Flag in control file ControlTriang.txt

bool invalidatez_;
double minZ_, maxZ_;

Member of control class ControlTriang

Initialized as

'false' '[0 0]'

Using theses flags generated Z-coordinates are required to be located within a defined range. If
located outside the range points are invalidated. Only valid when output are point clouds.

$FilterStdZ
$MaxStdZ

Flag in control file ControlTriang.txt

bool invalidatestdz_;
double maxstdz_;

Member of control class ControlTriang

Initialized as

'false' '0'

Using theses flags generated standard deviations of Z-coordinates are required to be smaller than a
certain threshold. If larger corresponding points are invalidated. Only valid when output are point
clouds.

$FilterDepth
$MinMaxDepth

Flag in control file ControlTriang.txt

bool invalidatestdz_;
double maxstdz_;

Member of control class ControlTriang

Initialized as

'false' '0'

Using theses flags generated depths are required to be within a certain range. If outside the range

corresponding depths are invalidated. Only valid when output are depth images.

$FilterAngle
$MinMaxAngle

Flag in control file ControlTriang.txt

bool invalidateangle_;
double maxangle_, minangle_;

Member of control class ControlTriang

Initialized as

'false' [-1 -1]

Using theses flags generated angles of all intersecting rays are required to be within a certain range. If
outside the range corresponding points are invalidated.

$ModelImageOut
$MinMaxModelVis

Flag in control file ControlTriang.txt

bool modelimageout_;
BW_16 minmodvis_, maxmodvis_;

Member of control class ControlTriang

Initialized as

'false' [1 5]

Setting the first flag to 1, an image encoding the number of geometric consistent measurements is
saved. The color range is specified by latter two values.

$ColImageDept

Flag in control file ControlTriang.txt

char colimgdepth_[512];

Member of control class ControlTriang

Initialized as

According to input imagery

Valid values are U8, U16, RGB8. Specifies the bit depth of the base image which is used for texturing
the point clouds. For

You might also like