pycmac package¶
Module contents¶
pycmac.orientation module¶
Ciaran Robb
A module which calls Micmac image orientation commands whilst providing additional file parsing and sorting operations.
-
orientation.
bundle_adjust
(folder, algo='Fraser', proj='30 +north', ext='JPG', calib=None, gpsAcc='1', sep=',', gcp=None, gcpAcc=['0.03', '1'], meshlab=False, useGps=True)¶ A function running the relative orientation/bundle adjustment with micmac
A calibration subset is optional
Notes
Underlying cmds include
(Tapas, centrebascule, Campari, ChgSysCo, OriExport)
Pleae note, that if GCPs are used, then the on-board GPS will not be included in the final bundle adjustment as the on-board will not have positive effect on the overall result. This assumes your GCPs come from a DGPS, otherwise don’t use them!
- Parameters
folder (string) – working directory
proj (string) – a UTM zone eg “30 +north”
calib (string) – a calibration subset (optional - otherwise the martini initialisation will be used)
ext (string) – image extention e.g JPG, tif
gpsAcc (string) – an estimate in metres of the onboard GPS accuracy
gcp (string) – whether to process gcps - you MUST have a GCP file in the MM format of #F=N X Y Z and MUST be in the working dir
gcpAcc (list (of strings)) – an estimate of the GCP measurment accuarcy [on the ground in metres, in pixels]
exif (bool) – if the GPS info is embedded in the image exif check this as True to convert back to geographic coordinates, If previous steps always used a csv for img coords ignore this
useGps (bool) – if the GPS info is untrustyworthy with a lot of the data (eg Dji Phantom - z) simply transform from rel to ref coordinate sys without GPS aided bundle adjust.
-
orientation.
feature_match
(folder, csv=None, proj='30 +north', method='File', resize=None, ext='JPG', delim=' ', schnaps=True, dist=None)¶ A function running the feature detection and matching with micmac
Notes
Underlying cmds include
(Tapioca and Schnapps)
- Parameters
folder (string) – working directory
proj (string) – a UTM zone eg “30 +north”
csv (string) – a path to the csv of GPS coords
resize (int) – The long axis in pixels to optionally resize the imagery
ext (string) – image extention e.g JPG, tif
dist (string) – distance for nearest neighbour search
-
orientation.
gps_orient
(folder, algo='Fraser', proj='30 +north', ext='JPG', gpsAcc='1', meshlab=False)¶ A function running the gps bundle adjustment with micmac
Notes
Underlying cmds include
(Campari, AperiCloud)
- Parameters
folder (string) – working directory
proj (string) – a UTM zone eg “30 +north”
ext (string) – image extention e.g JPG, tif
gpsAcc (string) – an estimate in metres of the onboard GPS accuracy
useGps (bool) – if the GPS info is untrustyworthy with a lot of the data (eg Dji Phantom - z) simply transform from rel to ref coordinate sys without GPS aided bundle adjust.
-
orientation.
rel_orient
(folder, algo='Fraser', proj='30 +north', ext='JPG', calib=None, sep=', ', meshlab=False, useGps=True)¶ A function running the relative orientation with micmac
A calibration subset is optional
Notes
Underlying cmds include
(Tapas, centrebascule)
- Parameters
folder (string) – working directory
proj (string) – a UTM zone eg “30 +north”
calib (string) – a calibration subset (optional - otherwise the martini initialisation will be used)
ext (string) – image extention e.g JPG, tif
pycmac.dense_match module¶
Ciaran Robb
A module which calls Micmac dense matching commands and mosaicking operations, whilst a providing dditional file parsing, sorting, image masking and multi-band functionallity.
-
dense_match.
c3dc
(folder, mode='Statue', ext='JPG', orientation='Ground_UTM', sub=None, DefCor='0', delim=', ', **kwargs)¶ A function calling the Culture 3D-cloud function
Notes
see MicMac tools link for further possible args - just put the module cmd as a kwarg The kwargs must be exactly the same case as the mm3d cmd options
- Parameters
folder (string) – working directory
proj (string) – a proj4/gdal like projection information e.g ESPG:32360
mode (string) – Correlation mode - MicMac, BigMac, QuickMac, Forest, Statue Default is BigMac
ext (string) – image extention e.g JPG, tif
orientation (string) – orientation folder to use (generated by previous tools/cmds) default is “Ground_UTM”
-
dense_match.
dense_pcl
(folder, mode='PIMs', out='psm.ply')¶ A function for passing a subset to Malt or PIMS
- Parameters
folder (string) – working directory
mode (string) – The micmac processing mode Malt or PIMs
out (string) – The output point cloud in .ply format
-
dense_match.
feather
(folder, proj='30 +north', mode='PIMs', ms=['r', 'g', 'b'], Dist='100', ApplyRE='1', ComputeRE='1', subset=None, outMosaic=None, rmtile=False, mp=False, Label=False, redo=False, delim=',', **kwargs)¶ A function calling the TestLib SeamlineFeathering command for use in python
Notes
The native micmac function only processes single band - this function provides a multi band capability
An example usage:
feather(folder, mode=’Malt’,outMosaic=”Feathermp.tif”, Dist=”100”, ApplyRE=”1”, ComputeRE=”1”, mp=True)
- Parameters
folder (string) – working directory
proj (string) – a proj4/gdal like projection information e.g “ESPG:32360”
mode (string) – Ortho folder use either PIMs or Malt here
ms (list) – if a multi band image the band names in a list
mp (int) – Whether to employ multiprocessing
Dist (string) – The chamfer distance to feather, def None
Lambda (string) – lambda value for gaussian distance weighting, def 0.4
ApplyRE (string) – whether to apply radiometric equalisation, def 1
ComputeRE (string) – whether to compute radiometric equalisation
subset (string) – the absolute path to a csv defining a subset list of images to process if left as None, all the images will be mosiacked.
SzBox (string) – size of processing block, def [25000,25000]
SzTile (string) – size of processing block, def [25000,25000]
Buffer (string) – Buffer [pix] to apply for each tile in order to avoid edge effect, def=300
- Label: bool
Whether to use a tawny generated label map (Label.tif) This requires a run of Tawny on the Ortho folder first!
- redo: bool
To rerun without having to copy the band folders on big datasets Useful as this step is time consuming during processing otherwise
- delim: string
If using a csv-based subset list, the delimeter can be specified- it is comma by default
-
dense_match.
malt
(folder, proj='30 +north', mode='Ortho', ext='JPG', orientation='Ground_UTM', DoOrtho='1', DoMEC='1', DefCor='0', sub=None, delim=', ', ResolTerrain=None, BoxTerrain=None, mask=None, **kwargs)¶ A function calling the Malt command for use in python.
Upon successful completion, this will return the directory OUTPUT with DSM, ortho (if desried) and correlation image
Notes
see MicMac tools link for further possible kwargs - just put the module cmd as a kwarg The kwargs must be exactly the same case as the mm3d cmd options e.g = UseGpu=’1’
- Parameters
folder (string) – working directory
proj (string) – a UTM zone eg “30 +north”
mode (string) – Correlation mode - Ortho, UrbanMNE, GeomImage
ext (string) – image extention e.g JPG, tif
orientation (string) – orientation folder to use (generated by previous tools/cmds) default is “Ground_UTM”
sub (string) – path to csv containing an image subset
BoxTerrain (list) – The bottom left and top right coordinates of a bounding box to constrain processing e.g. [480644.0,5752033.4,481029.4,5752251.6]
mask (string) – path to a polygon file (eg shape, geojson) that will yield a bounding box to constrain processing
-
dense_match.
malt_batch
(folder, mode='Ortho', mp=-1, gp=0, window=2, mx=None, ext='JPG', tiles='3, 3', overlap=10, bb=False)¶ A function for passing a subset to Malt or PIMS
- Parameters
folder (string) – working directory
mode (string) – The micmac processing mode eg ‘Ortho’ (default)
gp (int (optional)) – path to gpu suppoted micmac bin folder
mp (int) – Correlation mode - Ortho, UrbanMNE, GeomImage
ext (string) – image extention e.g JPG, tif
orientation (string) – orientation folder to use (generated by previous tools/cmds) default is “Ground_UTM”
-
dense_match.
ossimmosaic
(folder, proj='30 +north', mode='ossimFeatherMosaic', nt=-1, rmtile=False)¶ A function mosaicing using the ossim library
Notes
- Parameters
folder (string) – working directory - likely a malt-ortho or pims equiv
proj (string) – a proj4/gdal like projection information
mode (string) – ossim mosaic type of the options below: ossimBlendMosaic ossimMaxMosaic ossimImageMosaic ossimClosestToCenterCombiner ossimBandMergeSource ossimFeatherMosaic
rmtile (bool) – remove every other tile to perhaps improve things
-
dense_match.
pims
(folder, mode='BigMac', ext='JPG', orientation='Ground_UTM', DefCor='0', sub=None, delim=', ', mask=False, **kwargs)¶ A function calling the PIMs command for use in python
Notes
see MicMac tools link for further possible args - just put the module cmd as a kwarg The kwargs must be exactly the same case as the mm3d cmd options
- Parameters
folder (string) – working directory
proj (string) – a proj4/gdal like projection information e.g ESPG:32360
mode (string) – Correlation mode - MicMac, BigMac, QuickMac, Forest, Statue Default is BigMac
ext (string) – image extention e.g JPG, tif
orientation (string) – orientation folder to use (generated by previous tools/cmds) default is “Ground_UTM”
mask (bool) – image extention e.g JPG, tif
-
dense_match.
pims2mnt
(folder, proj='30 +north', mode='BigMac', DoOrtho='1', DoMnt='1', **kwargs)¶ A function calling the PIMs2MNT command for use in python
Notes
see MicMac tools link for further possible args - just put the module cmd as a kwarg The kwargs must be exactly the same case as the mm3d cmd options
- Parameters
folder (string) – working directory
proj (string) – a proj4/gdal like projection information e.g “ESPG:32360”
mode (string) – Correlation folder to grid/rectify - MicMac, BigMac, QuickMac, Forest, Statue Default is BigMac
-
dense_match.
tawny
(folder, proj='30 +north', mode='PIMs', Out=None, rmtile=False, **kwargs)¶ A function calling the Tawny command for use in python
Notes
see MicMac tools link for further possible args - just put the module arg as a keyword arg The kwargs must be exactly the same case as the mm3d cmd options
If struggling with even illumination, try:
- tawny(folder, proj=”30 +north”, mode=’PIMs’, Out=None, rmtile=False,
DEq=”1”, DegRapXY=”[4,4]” SzV=”75” NbPerIm=”5e4”)
- Parameters
folder (string) – working directory
proj (string) – a proj4/gdal like projection information e.g “ESPG:32360”
mode (string) – Either Malt or PIMs depending on the previous process
rmtile (bool) – Remove every second tile - can speed up and sometimes improve even illumination across mosaic
pycmac.utilities module¶
Ciaran Robb
A module which provides various ancillary functions for processing SfM with Micmac.
-
utilities.
array2raster
(array, bands, inRaster, outRas, dtype, FMT=None)¶ Save a raster from a numpy array using the geoinfo from another.
- Parameters
array (np array) – a numpy array.
bands (int) – the no of bands.
inRaster (string) – the path of a raster.
outRas (string) – the path of the output raster.
dtype (int) – though you need to know what the number represents! a GDAL datatype (see the GDAL website) e.g gdal.GDT_Int32
FMT (string) – (optional) a GDAL raster format (see the GDAL website) eg Gtiff, HFA, KEA.
-
utilities.
calib_subset
(folder, csv, ext='JPG', algo='Fraser', delim=', ')¶ A function for calibrating on an image subset then initialising a global orientation
Notes
Eliminates the need to type lenghty file patterns via Micmac and combines
the subset and main orientation in one function
- Parameters
folder (string) – working directory
proj (string) – a UTM zone eg “30 +north”
mode (string) – Correlation mode - Ortho, UrbanMNE, GeomImage
ext (string) – image extention e.g JPG, tif
orientation (string) – orientation folder to use (generated by previous tools/cmds) default is “Ground_UTM”
-
utilities.
convert_c3p
(folder, lognm, ext='JPG', mspec=False, delim=', ')¶ Edit csv file for c3p to work with MicMac.
This is intended for the output from the software of a C-Astral drone
This assumes the column order is name, x, y, z
- Parameters
folder (string) – path to folder containing jpegs
lognm (string) – path to c3p derived csv file
ext (string) – image extension
delim (string) – the csv delimiter of the input
-
utilities.
detect_blur
(inFolder, ext='JPG', threshold=100)¶ Detect if images are blurry then move them to a blur folder prior to SfM
using a laplacian convolution…..
- Parameters
inFolder (string) – the input folder with images
ext (string) – image extention e.g JPG, tif
threshold (int) – the threshold of blurryness to remove photo around 100 usually does it
-
utilities.
get_vid
(video, outFolder, ext='JPG', cam='Iphone_SE', foc='2.4', foc35='29')¶ Extract the frames from a video with the view to using them for SfM
The camera focal length and 35mm equiv must be known as the frames will not contain them
If you have taken a pic with the same platform use exiftool to obtain the info you need
- Parameters
video (string) – the input raster
outFolder (string) – the masking value that delineates pixels to be kept
num (int) – the subdivision - e.g. every fifth image
ext (string) – image extention e.g JPG, tif
cam (string) – the camera focal length as it is required
cam (string) – the camera focal length as it is required
-
utilities.
hist_match
(inputImage, templateImage)¶ Adjust the pixel values of an image such that its histogram matches that of a target image.
Writes to the inputImage dataset so that it matches
As the entire band histogram is required this can become memory intensive with very big images
Inspire by/adapted from something on stack on image processing - credit to that author
- Parameters
inputImage (string) – image to transform; the histogram is computed over the flattened array
templateImage (string) – template image can have different dimensions to source
-
utilities.
make_csv
(folder, ext='tif')¶ make a csv for use with micmac
- Parameters
folder (string) – working directory
ext (string) – image extention e.g JPG, tif
-
utilities.
make_sys_utm
(folder, proj)¶ Make an xml for the geographic system in micmac
- Parameters
folder (string) – working directory
proj (a proj format definition in UTM) – e.g +proj=utm +zone=30 +north +ellps=WGS84 +datum=WGS84 +units=m +no_defs”
-
utilities.
make_xml
(csvFile, folder, sep=' ')¶ Make an xml for the rtl system in micmac
- Parameters
csvFile (string) – csv file with coords to use
-
utilities.
mask_raster_multi
(inputIm, mval=1, outval=None, mask=None, blocksize=256, FMT=None, dtype=None)¶ Perform a numpy masking operation on a raster where all values corresponding to mask value are retained - does this in blocks for efficiency on larger rasters
- Parameters
inputIm (string) – the input raster
mval (int) – the masking value that delineates pixels to be kept
outval (numerical dtype eg int, float) – the areas removed will be written to this value default is 0
mask (string) – the mask raster to be used (optional)
FMT (string) – the output gdal format eg ‘Gtiff’, ‘KEA’, ‘HFA’
- blocksizeint
the chunk of raster read in & write out
-
utilities.
mm3d
(folder, cmd, *args, **kwargs)¶ Execute a micmac command via mm3d just as it would be in the micmac command line - purely for convenience - you’d be as well using the command line directly
All args kwargs must be in this format where the arg is a string and the kwarg is a bytecode=string
eg - mm3d(myfolder, ‘Malt’, ‘Ortho’, “.*JPG” ‘Ground_UTM’, DefCor=”0”, DoOrtho=”0”)
There will be the odd time where this may not work!
- Parameters
folder (string) – working directory
ext (string) – image extention e.g JPG, tif
-
utilities.
mv_subset
(csv, inFolder, outfolder, sep=' ')¶ Move a subset of images based on a MicMac csv file
Micmac csv format is column header #F=N X Y Z with space delimiters
- Parameters
folder (string) – path to folder containing jpegs
lognm (string) – path to c3p derived csv file
sep (string) – the delimiter of the csv (space is default)
-
utilities.
num_subset
(inFolder, outFolder, num=5, ext='JPG')¶ Pick a subset of images from a video such as every fifth image (frame)
This assumes you have used ffmpeg or a similar application to extract the frames first
- Parameters
inFolder (string) – the folder with the images in
outFolder (string) – the folder the output images will go
num (int) – the subdivision - e.g. every fifth image
ext (string) – image extention e.g JPG, tif
-
utilities.
orbplot
(folder, imgs)¶ Plot matching features across 3 images using ORB The images MUST overlap
- Parameters
folder (string) – the working directory with images in
imgs (list of strings) – the images to plot feature matches in the format [‘img1’, ‘img2’, ‘img3’]
-
utilities.
pims_mask
(inShp, folder)¶ Make an xmlmask from a shapefile for polyg3d for pims/c3dc The shapefile MUST be rectilinear
- Parameters
inShp (string) – shapefile with coords to use
-
utilities.
plot_img_csv
(folder, csv='log.csv', delim=' ', dispCol='Z')¶ Plot image GPS csv on a map with mapbox
- Parameters
folder (string) – working directory
csv (string) – csv name - log.csv is default
delim (string) – delimiter of csv ” ” (space) is defaut;
-
utilities.
plot_result
(folder, inRas, proj=32630)¶ Plot image GPS csv on a map with mapbox
- Parameters
folder (string) – working directory
inRas (string) – name of image in the OUTPUT folder
-
utilities.
raster2array
(inRas, bands=[1])¶ Read a raster and return an array, either single or multiband
- Parameters
inRas (string) – input raster
bands (list) – a list of bands to return in the array
-
utilities.
rmse_vector_lyr
(inShape, attributes)¶ Using sklearn get the rmse of 2 vector attributes (the actual and predicted of course in the order [‘actual’, ‘pred’])
- Parameters
inShape (string) – the input vector of OGR type
attributes (list) – a list of strings denoting the attributes
pycmac.mspec module¶
Ciaran Robb
https://github.com/Ciaran1981/Sfm
This module processes data from the micasense red-edge camera for use in MicMac or indeed other SfM software
This correction is based on the material on the micasense lib git site, though this uses as fork of the micasense lib with some alterations.
-
mspec.
align_template
(imAl, mx, reflFolder, rf, plots, warp_md)¶
-
mspec.
clip_raster
(inRas, inShape, outRas)¶ Clip a raster using the extent of a shapefile
- Parameters
inRas (string) – the input image
inShape (string) – the input polygon file path
outRas (string (optional)) – the clipped raster
nodata_value (numerical (optional)) – self explanatory
-
mspec.
mica_csv
(folder, time_date=False)¶
-
mspec.
mspec_proc
(imgFolder, alIm, srFolder, precal=None, postcal=None, refBnd=4, nt=-1, mx=100, stk=1, plots=False, panel_ref=None, warp_type='MH')¶ A function processing the micasense data to surface reflectance with a choice of output types dependent on preference.
Notes
A set of RGB & RReNir images is recommended for processing with MicMac
Either 5 band stack or single band outputs can also be produced.
- Parameters
imgFolder (string) – a directory containing the raw imagery
precal (string) – directory containing pre-flight calibration panels pics
- alIm: string
4 digit code of the image to align band images e.g. “0023”
- srFolder: string
path to directory for surface reflectance imagery
- postcal: string
directory containing pre-flight calibration panels pics
- refBnd: int
The band to which all others are aligned def 4 works best
- nt: int
No of threads to use
- mx: int
Max iterations for alignment (uses opencv motion homography)
- stk: int
The various multi-band stacking options 1 = A set of RGB & RReNir images (best for MicMac) None = Single band images in separate folders are returned
plots: bool
Whether to display plots of the alignment images for visual inspection
panel_ref: list
The panel ref values unique to your panel/camera If left as None, it will load the authors camera values!
warp_type: string
The type of warping used to align the bands from the following choice of cv2 modes
- Either:
MH for MOTION_HOMOGRAPHY Affine for MOTION_AFFINE
-
mspec.
slant_view_proc
(folder, nt=-1)¶
-
mspec.
stack_rasters
(inRas1, inRas2, outRas, dtype=5, slantr=False)¶ Stack the intersected extent of £-band composites from MicMac which contain
RGB and RReNir respectively. Obviously the red band will not be written twice!
- Parameters
inRas1 (string) – path to RGB image
inRas2 (string) – path to RReNir image
outRas3 (string) – path to outputted stack
dtype (int) – gdal datatype e.g. gdal.GDT_Int32 (default)
pycmac.sfm module¶
@author: ciaran robb
Complete Sfm piplines using the micmac lib.
-
sfm.
mspec_sfm
(folder, proj='30 +north', csv=None, sub=None, gpsAcc='1', gcp=None, gcpAcc=['0.03', '1'], sep=',', mode='PIMs', submode='Forest', ResolTerrain=None, doFeat=True, doBundle=True, doDense=True, pointmask=True, cleanpoints=True, fmethod=None, shpmask=None, subset=None, rep_dsm='0', egal=1, DegRap='0', slantr=False)¶ A function for the complete structure from motion process using the micasense red edge camera or Slant view camera.
The RGB imagery is used to generate DSMs, which are in turn used to orthorectify the remaining bands (Red edge, Nir).
Obviously the Malt and PIMs algorithms will perform better/worse than each other on certain datasets.
Notes
This assumes you have already generated a working directory with RGB and RRENir folders in it using the pycmac.mspec_proc function
This assumes certain parameters, if want fine-grained control, use the individual commands.
The absolute path needs to be provided for csv’s representing image data or calibration subsets
- Parameters
folder (string) – working directory
proj (string) – a UTM zone eg “30 +north”
mode (string) – either Malt or PIMs
submode (string) – PIMs submode e.g. Forest, BigMac etc.
csv (string) – path to csv containing image xyz info in the micmac format
sub (string) – path to csv containing an image subset in the micmac format
ResolTerrain (string) – size of a the side of a pixel in the output dsm in metres (only with Malt!)
gpsAcc (string) – an estimate in metres of the onboard GPS accuracy
gcp (string) – whether to process gcps - you MUST have a GCP file in the MM format of #F=N X Y Z and MUST be in the working dir
gcpAcc (list (of strings)) – an estimate of the GCP measurment accuarcy [on the ground in metres, in pixels]
sep (string) – the csv delimiter if used (default “,”)
doFeat (bool) – if repeating after debug/changes mis out early stages
doBundle (bool) – if repeating after debug/changes mis out early stages
fmethod (bool) – feature search for image pairs strategy eg Line All
shpmask (string) – a shapefile mask to constrain malt-based processing
pointmask (bool) – use the micmac SaisieMasq3D (need QT compiled) to define a mask on the sparse cloud to constrain processing - this is VERY useful and will save a lot of time
subset (string) – a csv defining a subset of images to be processed during dense matching
rep_dsm (string) – sometimes it is necessary to redo the DSM (MEC folder) on the second 3-band composite run due to some sort of bug within MicMac, though most of the time this is not necessary def is ‘0’ change to ‘1’ if redoing dsm
cleanpoints (bool) – if true use the schnaps tie point cleaning tool for a evenly distributed
and reduced tie point set
slantr (bool) – if processing slantrange imagery change to true otherwise leave false for micasense
-
sfm.
rgb_sfm
(folder, proj='30 +north', ext='JPG', csv=None, sub=None, gpsAcc='1', gcp=None, gcpAcc=['0.03', '1'], sep=',', mode='PIMs', submode='Forest', ResolTerrain=None, doFeat=True, doBundle=True, doDense=True, fmethod=None, useGps=True, pointmask=True, shpmask=None, subset=None, egal=1, resize=None, cleanpoints=True)¶ A function for the complete structure from motion process using a RGB camera.
Obviously the Malt and PIMs algorithms will perform better/worse than each other on certain datasets.
Notes
This assumes certain parameters, if want fine-grained control, use the individual commands.
The absolute path needs to be provided for csv’s representing image data or calibration subsets
- Parameters
folder (string) – working directory
proj (string) – a UTM zone eg “30 +north”
mode (string) – either Malt or PIMs
submode (string) – PIMs submode e.g. Forest, BigMac etc.
csv (string) – path to csv containing image xyz info in the micmac format
sub (string) – path to csv containing an image subset in the micmac format
ResolTerrain (string) – size of a the side of a pixel in the output dsm in metres (only with Malt!)
gpsAcc (string) – an estimate in metres of the onboard GPS accuracy
gcp (string) – whether to process gcps - you MUST have a GCP file in the MM format of #F=N X Y Z and MUST be in the working dir
gcpAcc (list (of strings)) – an estimate of the GCP measurment accuarcy [on the ground in metres, in pixels]
sep (string) – the csv delimiter if used (default “,”)
doFeat (bool) – if repeating after debug/changes mis out early stages
doBundle (bool) – if repeating after debug/changes mis out early stages
fmethod (bool) – select a feature detection strategy eg Line All etc
shpmask (string) – a shapefile mask to constrain malt-based processing
pointmask (bool) – use the micmac SaisieMasq3D (need QT compiled) to define a mask on the sparse cloud to constrain processing - this is VERY useful and will save a lot of time and is recommended over shpmask
subset (string) – a csv defining a subset of images to be processed during dense matching
cleanpoints (bool) – if true use the schnaps tie point cleaning tool for a evenly distributed and reduced tie point set