GENERATE_POINT_CLOUD

The GENERATE_POINT_CLOUD command allows generating a Lidar point cloud and (optional) 3D PLY model from a set of overlapping images. The following parameters are supported:

  • IMAGE_FOLDER - specifies the folder containing the JPG images to use as input. You can use the RECURSE_DIR parameter to specify whether or not to check sub-folders for additional images. Use the IMAGE_LIST parameter if you would instead prefer to specify a specific set of images to use.
  • IMAGE_LIST - specifies the filename of the list of images to use. The value can either refer to a previously defined inline DEFINE_TEXT_FILE or a text file on disk. Each line should contain the filename to load.
  • RECURSE_DIR - specifies whether or not the IMAGE_FOLDER path should be searched recursively for JPG images. By default this is enabled. Use RECURSE_DIR=NO to disable.
  • FILENAME-A FILENAME parameter can be used to specify the name of a *.gmi2c file to use for all of the image files and default settings rather than specifying them in the command. This would be the equivalent to the 'Load From File' option on the dialog.
  • POINT_FILENAME - specifies the name of the output GMP (Global Mapper Package) file to create containing the generated point cloud (which is also automatically loaded). If no filename is provided the GMP is not automatically saved
  • MESH_FILENAME - specifies the name of an output PLY file to generate with a 3D textured mesh of the point cloud. Note this can take a long time to generate and may fail depending on your available system memory and the size of the data. No 3D model/mesh is generated if this is not provided.
  • LAYER_DESC - specifies the description to use for the generated point cloud layer. If not provided, 'Generated Point Cloud' be used as the default
  • TAKE_OFF_ALT - allows specification of a base altitude to use to calculate the initial height of all images which know their height above the take-off altitude. If no units are included in the string, meters are assumed. Valid values look like TAKE_OFF_ALT="30 m" or TAKE_OFF_ALT="150 ft".
  • CAMERA_MODEL - specifies the camera model type. Most cameras will use the default of PINHOLE_RADIAL_3. The following values are supported:
    • PINHOLE
    • PINHOLE_RADIAL_1
    • PINHOLE_RADIAL_3
    • PINHOLE_BROWN_2
    • PINHOLE_FISHEYE
  • SFM_USE_GLOBAL - specifies that the 'Global' SfM (Structure-from-Motion) algorithm should be used rather than the default 'Incremental' SfM algorithm. The Global algorithm should be a bit faster than the Incremental method, but it requires more image overlap and the results often aren't quite as good.
  • SFM_METHOD - specifies which method is used to perform the Structure from Motion operation. The following value are supported:
    • INCREMENTAL - performs an Incremental SfM process using the latest methods (default)
    • GLOBAL - performs a Global SfM process using the latest methods
    • GLOBAL_THEN_INC - perform a Global SfM process to get camera poses, then does an Incremental on top of that for better results
    • INCREMENTAL_ORIG - performs an Incremental SfM process using the previous method (internal use only)
    • INCREMENTAL_OLD - performs an Incremental SfM process using the method used prior to GM v22.0 (internal use only)
    • DEFAULT - performs the default method
  • SFM_INITIALIZER - Specifies the SfM initializer method (default=STELLAR):
    • MAX_PAIR- Initialize the reconstruction from the pair that has the most of matches
    • STELLAR- Initialize the reconstruction with a 'stellar' reconstruction.
  • SFM_TRI_METHOD - Specifies the triangulation method (default=3):
    • 0 - DIRECT_LINEAR_TRANSFORM
    • 1 - L1_ANGULAR
    • 2 - LINFINITY_ANGULAR
    • 3 - INVERSE_DEPTH_WEIGHTED_MIDPOINT
  • SFM_RESECTION - Specifies the resection/pose estimation method (default=3):
    • 0 - DIRECT_LINEAR_TRANSFORM 6Points | does not use intrinsic data
    • 1 - P3P_KE_CVPR17
    • 2 - P3P_KNEIP_CVPR11
    • 3 - P3P_NORDBERG_ECCV18
    • 4 - UP2P_KUKELOVA_ACCV10 | 2Points | upright camera
  • SFM_QUALITY - specifies how deeply the input images are examined looking for matching points. The following values are accepted:
    • NORMAL - search for a medium amount of points
    • HIGH - default setting and minimum required for SFM_USE_GLOBAL
    • ULTRA - find maximum number of points. Takes the longest but results may be slightly better in the end
  • SFM_IMAGE_DESCRIBER - specifies the algorithm used to find matching locations in overlapping images. This is for very advanced users only. The following values are accepted:
    • SIFT - default SIFT algorithm used
    • AKAZE_FLOAT - use AKAZE method with float values
    • AKAZE_MLDB - use AKAZE method with binary values
  • SFM_IMAGE_REDUCTION - specifies by what power of 2 to reduce the size of input images when creating the final point cloud result. Smaller values may generate a better final result at the cost of potentially much more memory and time. The default value is SFM_IMAGE_REDUCTION=2, which reduces images by a factor of 4 (2^2).
  • IMAGE_FILENAME - specifies the name of the output GMP (Global Mapper Package) file to create containing the generated orthoimage. If not filename is provided the orthoimage is not generated.
  • IMAGE_LAYER_DESC - specifies the layer description to use for the generated orthoimage layer
  • SAMPLING_METHOD - specifies the sampling method to use on the orthoimage layer when exporting to the GMP. The default value is SAMPLING_METHOD="MED_3X3", which applies a 3x3 median/noise filter to remove noise.
  • See the SAMPLING_METHOD parameter for the The IMPORT command imports a data file for later use. To determine the proper import parameters, one option is to load the file via the interface and save a workspace. The IMPORT command and parameters will be listed in the workspace file. The following parameters are supported by the command. for a complete list of recognized values.

  • GRID_BIN_SIZE - specifies the resolution in native point spacing to use for the generated orthoimage. By default a value of GRID_BIN_SIZE=1.0 is used if generating an orthoimage. The SPATIAL_RES_METERS parameter can also be used to specify the spacing in meters rather than multiples of the native cloud spacing.
  • NO_DATA_DIST_MULT - specifies how large of holes in the generated orthoimage to fill using surrounding colors. By default a value of NO_DATA_DIST_MULT=8 is used to fill gaps up to 8 pixels in size. Use NO_DATA_DIST_MULT=0 to disable gap filling.
  • KEEP_WORK_FILES - specifies whether or not the temporary folder with the intermediate output of the process pipeline is kept. Use KEEP_WORK_FILES=YES to keep the work files
  • COMMAND_LINE_OPT overrides command line parameters not exposed in the interface or above options. This follows the format COMMAND_LINE_OPT="exe_filename;option;value". Multiple COMMAND_LINE_OPT parameters can be used on each line. To override some parameters for the DensifyPointCloud.exe command, for example: COMMAND_LINE_OPT= "DensifyPointCloud;number-views;2" COMMAND_LINE_OPT="DensifyPointCloud;estimate-normals;0"

SAMPLE

This example prompts the user for an input *.gmp2p file, which can be saved from the Pixels to Points dialog.

GLOBAL_MAPPER_SCRIPT

// Select project file
DEFINE_VAR NAME="PROJECT_FILE" PROMPT="FILE" VALUE=".gmp2p" FILE_MUST_EXIST="YES" ABORT_ON_CANCEL="YES"

// Specify output filename prefix
DEFINE_VAR NAME="CLOUD_OUT_FULL_FNAME" PROMPT="FILE" VALUE=".gmp" ABORT_ON_CANCEL="YES"
DEFINE_VAR NAME="CLOUD_OUT_PATH" VALUE="%CLOUD_OUT_FULL_FNAME%" FILENAME_PIECE="DIR"
DEFINE_VAR NAME="CLOUD_OUT_FNAME" VALUE="%CLOUD_OUT_FULL_FNAME%" FILENAME_PIECE="FNAME_WO_EXT"

// Define default variables
DEFINE_VAR NAME="CAMERA" VALUE="PINHOLE"
DEFINE_VAR NAME="IMAGE_REDUCE_FACTOR" VALUE="2"
DEFINE_VAR NAME="SFM_QUALITY" VALUE="NORMAL"

// -- Incremental SfM Results --
GENERATE_POINT_CLOUD FILENAME="%PROJECT_FILE%" SFM_USE_GLOBAL="NO" SFM_QUALITY="%SFM_QUALITY%" \
POINT_FILENAME="%CLOUD_OUT_PATH%%CLOUD_OUT_FNAME%_INC_%SFM_QUALITY%.GMP" \
LOG_FOLDER="%CLOUD_OUT_PATH%" SFM_IMAGE_REDUCTION="%IMAGE_REDUCE_FACTOR%" \
LAYER_DESC="%CLOUD_OUT_FNAME% Point Cloud (Incremental - %SFM_QUALITY%)"