Expert tutorial – fine tuning 3DF ZephyrWelcome to the 3DF Zephyr tutorial series. In this recipe, you will learn how to get the best results possible with 3DF Zephyr. The custom/XML settings are available in 3DF Zephyr Pro and 3DF Zephyr Aerial only. 
 Introduction
Very few people actually need to change these values since the presets and advanced settings should be enough for almost everyone. This documentation has however two additional purposes:
 teach you exactly what each advanced parameter does
 give a reference for XML settings (required in batch mode)
In this page, you will find values and description for each parameter.

Sparse Point Cloud generation
Samantha/KeypointMeanN
The mean number of keypoints that are to be extracted for each image.
Samantha/AdjustInternalParametersOnFinalBa
When set to true the internal camera parameters are readjusted during the final bundle adjustment.
Samantha/ANNNumberOfNeighbors
Number of neighbors images to be considered for each camera during the fastmatching phase
Samantha/ANNNumberOfFeatures
Number of keypoints to be considered for each image during the fastmatching phase
Samantha/LocalBa
If set to true activates the local bundle adjustment strategy. The geometric reconstruction will go faster with no noticeable differences.
Samantha/LocalBaOnAutocalibration
If set to true activates the local bundle adjustment strategy during the autocalibration phase. The geometric reconstruction will go faster, but results might be unstable.
Samantha/FinalBa
Select whether to use of not the final bundle adjustment routine.
Samantha/FinalMaxReprojectionError
Maximum reprojection error. This threshold is used to discard points with high reprojection error after Samantha has been completed. The parameter is expressed in pixels.
Samantha/FinalMinimumTrackLength
Number of minimum track length for each point. Points with lower track length are discarded after Samantha has been completed.
Samantha/ForceSequentialPipeline
Use a sequential reconstruction if set to true; use a hierarchical reconstruction when set to false.
Samantha/KeypointNumberOfLevels
Defines how many levels are extracted in the LoG pyramid during the keypoint extraction. An high value is advised when dealing with far and short distance photos appearing in the same dataset. A Low value will results in a faster extraction phase.
Samantha/MinBAIterations
Minimum number of iteration of the Bundle Adjustment routine.
Samantha/MaxBAIterations
Maximum number of iteration of the Bundle Adjustment routine.
Samantha/MaxOuterLoopBAIterations
Maximum number of outer loop iteration of the Bundle Adjustment routine.
Samantha/MaxResolution
Controls the maximum image dimension (set a threshold to the max of width or height).
Samantha/MinimumTrackLength
Number of minimum track length for each point. Points with lower track length are discarded during the reconstruction.
Samantha/NBucketsPerWidth
Keypoint matching follows a bucketing strategy. This parameter specifies the number of buckets per image width.
Samantha/NCamerasToFixIntrinsics
Number of cameras needed before fixing the internal parameters of a cluster of cameras. An high value will likely produce more accurate calibration resultsm, but it will requiremore time.
Samantha/NumberOfMatchViews
Number of neighbor cameras to be matched for each camera. If set to 0 is is automatically computed as 4 + #views/100.
Samantha/PointRecovery
If set to true activates a bad tracks/point recovery strategy during reconstruction. The geometric reconstruction phase will be slower but generally more robust.
Samantha/PInlier
This value, along with SigmaNoise, controls the inliers threshold during the matching phase. It represents the probability of a match of being an inlier. A high value will produce less matches.
Samantha/ReprojectionThreshold
Maximum reprojection error. This threshold is used to discard points with high reprojection error during the reconstruction. The parameter is expressed in pixels.
Samantha/ReprojectionThresholdBeforeRatio
Before minimization, a value of ReprojectionThresholdBeforeRatio * ReprojectionThreshold is considered to discard early outliers.
Samantha/SigmaNoise
This value, along with PInlier, controls the inliers threshold during the matching phase. It represents an estimation of the variance. A high value will produce more matches.
Samantha/StructSequence
When images are known to be in a specific order, you can set this value to: 1=linear ordering, 2=circular ordering, 3=approximate grid. Set the value to 0 (default) if the image ordering isunknown.
Samantha/MinInliersRatio
Inliers/Outliers ratio used to discard matches during the matching phase.
Samantha/UseSymmetricMatches
Specifies which algorithm is used to match keypoints. Symmetric, as opposed to oneway, means that a match from image I to image J must be also verified from image J to image I.
Samantha/MatchingBreakup
Make use of an approximate keypoint matching phase, by using keypoints clusterization. 0=no approximation, 1=slight approximation, 2=high approximation
Samantha/MaximumTracksPerCameraOnBA
Maximum number of track to be considered during the Bundle adjustment phase.
Samantha/MaximumTracksPerCameraOnBAAC
Maximum number of track to be considered during the Bundle adjustment phase with varying internal parameters.

Dense point cloud generation
Stereo/WindowSize
Matching window size. Should always be always odd.
Stereo/NearSaMPoints
Number of near SfM points to be considered as seed for the multiview stereo point.
Stereo/NumberOfNearestCameras
Number of near cameras to consider for generating a single depth map.
Stereo/NumberOfBins
Maximum number of the octree bins for the voting phase. Should always be a power of two.
Stereo/NumberOfBinsMin
Minimum number of the octree bins for the voting phase. Should always be a power of two.
Stereo/MaxResolutionPercent
Controls the percentage of the input images resolution .
Stereo/AdditionalPyramidLevels
Number of downscaled depth map to precompute before the full resolution depth map.
Stereo/NCCThreshold
Matches with a machine score value lower than this threshold are immediately discarded. Matching score varies from 0.0 to 1.0.
Stereo/UseSteerableNCC
Select to use or not local rotation and scaling for the matching windows.
Stereo/MRFDataTermWeight
Data term weight used for the Markov Random Field optimization
Stereo/MRFUnknownSmoothTerm
Smoothness term value for the unknown label used during the Markov Random Field optimization
Stereo/MRFUnknownDataTerm
Data term value for the unknown label used during the Markov Random Field optimization
Stereo/MRFNumLabels
Number of depth hypothesis to be used in the Markov Random Field optimization phase.
Stereo/MRFIterations
Number of maximum iterations of the Markov Random Field optimization.
Stereo/EpipolarLineStep
Controls the sampling step (in pixels) along the epipolar line. You can get subpixel accuracy by setting a value lower than 1.0.
Stereo/NearSaMRadius
Radius in pixel to consider a SfM point as seed for the multiview stereo point.
Stereo/MinWindowVariance
Matches with low variance (homogeneous color areas) are discarded according to this threshold.
Stereo/NoiseFiltering
Weak 3D points are discarded. This value controls how much the noise filter influences the point cloud creation. A low value will produce a denser point cloud but more likely to contain noise.
Stereo/RawOutput
Select whether to optimize or not the final dense point cloud (fill gaps and remove small regions)
Stereo/Sharp
Select whether to use the edgepreserving algorithm or not during the final optional point cloud optimization

Surface extraction
Surface/OctreeDepth
Maximum depth of the tree that will be used for surface reconstruction. Running at depth d corresponds to solving on a voxel grid whose resolution is no larger than 2^d x 2^d x 2^d. Used only when Sharp is set to false.
Surface/PointWeight
This floating point value specifies the importants that interpolation of the point samples is given in the formulation of the screened Poisson equation. Used only when Sharp is set to false.
Surface/SamplesPerNode
This floating point value specifies the minimum number of sample points that should fall within an octree node as the octree construction is adapted to sampling density. Used only when Sharp is set to false.
Surface/KNNormal
Number of neighbor points used for computing the normals before the running the surface extraction algorithm. Used only when Sharp is set to false.
Surface/ForceConnected
When set to true, only the bigger connected mesh is retained.
Surface/Sharp
When set to true, uses an edgepreserving algorithm (Sasha). When set to false, use the poisson reconstruction algorithm.
Surface/MinNumberOfVertices
Minimum number of desired vertices for the final mesh
Surface/MaxNumberOfVertices
Maximum number of desired vertices for the final mesh
Surface/SmoothingIterations
Number of additional smoothing filter iterations. Default 0.
Surface/SmoothingFilter
Select the additional / optional smoothing filter to apply. 0 = Laplacian, 1 = Bilateral

Texture generation
Texture/TextureSize
Final Texture size (width and height)
Texture/Multiband
Select whether to use or not the Multiband algorithm. Cannot be used when the color balance is activated.
Texture/MaxCamerasPerTriangle
Maximum number of cameras used to compute the texture for a single triangle.
Texture/MaxNumberOfVertices
Maxmum number of desired vertices for the final mesh
Texture/ColorBalance
Select whether to use or not the Color Balance algorithm.
Texture/MaxCompatibleCamerasPerTriangle
Maximum number of compatible cameras that can be considered for a single triangle