Professional Documents
Culture Documents
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
char basepath_[512];
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
char listfilein_[512];
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
bool cleanup_;
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
bool reprocess_;
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
bool usebundletopo_;
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
char matchingmode_[512];
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
bool fullname_;
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
int minmodels_;
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
float percconsistent_;
Initialized as
'0.99'
In addition to the $Manifolds flag one can force a certain percentage of redundant measurements to
be geometric consistent.
$ReducedImageSize
This value forces the resulting point clouds to be subdivided and stored in quadratic tiles of the length
and width of reducedimagesize.
$Use_Interpolation
bool use_Interpolation_;
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
double sigma_;
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
int maxiterations_;
Initialized as
'5'
3D points or depths are calculated within an iterative process. This value defines the maximal
iterations.
$Eps
double eps_;
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
double eps_;
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
bool use_GND_;
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
bool use_LMD_;
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
bool pointsout_;
Initialized as
'true'
If this flag is set the output is one 3D point cloud per base image.
$DepthImgOut
bool pointsout_;
Initialized as
'false'
If this flag is set the output is one depth image per base image.
$AccPointsOut
bool pointsout_;
Initialized as
'false'
If this flag is set accuracy information is added to the output point cloud. Not implemented so far.
$ModelPointsOut
bool modelpointsout_;
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
char pointformat_[512];
Initialized as
'las'
Valid values are las and ascii. Defines the output format of the point cloud.
$FilterXYZ
$MaxObjectSpace
$MinObjectSpace
bool invalidatexyz_;
double maxx_, maxy_, maxz_;
double minx_, miny_, minz_;
Initialized as
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
bool invalidatez_;
double minZ_, maxZ_;
Initialized as
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
bool invalidatestdz_;
double maxstdz_;
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
bool invalidatestdz_;
double maxstdz_;
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
bool invalidateangle_;
double maxangle_, minangle_;
Initialized as
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
bool modelimageout_;
BW_16 minmodvis_, maxmodvis_;
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
char colimgdepth_[512];
Initialized as
Valid values are U8, U16, RGB8. Specifies the bit depth of the base image which is used for texturing
the point clouds. For