Malt
Sommaire
Description
Malt is a simplified interface to MicMac. Currently it can handle matching in ground geometry and ground-image geometry. Ground geometry is adapted when the scene can be described by a single function Z = f (X, Y ) (with X, Y, Z being euclidean coordinates); this case occurs quite often when the scene is relatively flat and the acquisition is made by photo acquired orthogonally to the main plane. The main use cases are:
- modelization of facades to generate ortho photo in architecture;
- modelization of earth surface from aerial acquisition;
Ground image geometry is very general and flexible and can be used in almost all acquisition. Its main drawbacks is that it requires 16 some interaction to select the master images, the mask of these images and the associated secondary images.
Syntax
The basic syntax requires 3 args :
mm3d Malt Type Image_Pattern Orientation
- Second arg specifies the subset of images.
- Third arg specifies the orientation.
Allowed commands
- Ortho
- UrbanMNE
- GeomImage
Ortho
For a matching adapted to ortho photo generation.
UrbanMNE
For a matching adapted to urban digital elevation model.
GeomImage
For a matching in ground image geometry.
Help
A basic help can be asked with
mm3d Malt -help
Mandatory unnamed args :
- string :: {Correlation mode (must be in allowed enumerated values)}
- string :: {Full Name (Dir+Pattern)}
- string :: {Orientation}
Named args :
- [Name=Master] string :: { Master image must exist iff Mode=GeomImage, AUTO for Using result of AperoChImSecMM}
- [Name=SzW] INT :: {Correlation Window Size (1 means 3x3)}
- [Name=CorMS] bool :: {New Multi Scale correlation option, def=false, available in image geometry}
- [Name=UseGpu] bool :: {Use Cuda acceleration, def=false}
- [Name=Regul] REAL :: {Regularization factor}
- [Name=DirMEC] string :: {Subdirectory where the results will be stored}
- [Name=DirOF] string :: {Subdirectory for ortho (def in Ortho-${DirMEC}) }
- [Name=UseTA] INT :: {Use TA as Masq when it exists (Def is true)}
- [Name=ZoomF] INT :: {Final zoom, (Def 2 in ortho,1 in MNE)}
- [Name=ZoomI] INT :: {Initial Zoom, (Def depends on number of images)}
- [Name=ZPas] REAL :: {Quantification step in equivalent pixel (def=0.4)}
- [Name=Exe] INT :: {Execute command (Def is true !!)}
- [Name=Repere] string :: {Local system of coordinates}
- [Name=NbVI] INT :: {Number of Visible Images required (Def = 3)}
- [Name=HrOr] bool :: {Compute High Resolution Ortho}
- [Name=LrOr] bool :: {Compute Low Resolution Ortho}
- [Name=DirTA] string :: {Directory of TA (for mask)}
- [Name=Purge] bool :: {Purge the directory of Results before compute}
- [Name=DoMEC] bool :: {Do the Matching}
- [Name=DoOrtho] bool :: {Do the Ortho (Def=mDoMEC)}
- [Name=UnAnam] bool :: {Compute the un-anamorphosed DTM and ortho (Def context dependent)}
- [Name=2Ortho] bool :: {Do both anamorphosed ans un-anamorphosed ortho (when applyable) }
- [Name=ZInc] REAL :: {Incertitude on Z (in proportion of average depth, def=0.3) }
- [Name=DefCor] REAL :: {Default Correlation in un correlated pixels (Def=0.2)}
- [Name=CostTrans] REAL :: {Cost to change from correlation to uncorrelation (Def=2.0) }
- [Name=Etape0] INT :: {First Step (Def=1) }
- [Name=AffineLast] bool :: {Affine Last Etape with Step Z/2 (Def=true) }
- [Name=ResolOrtho] REAL :: {Resolution of ortho, relatively to images (Def=1.0; 0.5 means smaller images) }
- [Name=ImMNT] string :: {Filter to select images used for matching (Def All, usable with ortho) }
- [Name=ImOrtho] string :: {Filter to select images used for ortho (Def All) }
- [Name=ZMoy] REAL :: {Average value of Z}
- [Name=Spherik] bool :: {If true the surface for rectification is a sphere}
- [Name=WMI] REAL :: {Mininum width of reduced images (to fix ZoomInit)}
- [Name=MasqIm] string :: {Masq per Im; Def None; Use "Masq" for standard result of SaisieMasq}
- [Name=MasqImGlob] string :: {Glob Masq per Im : if uses, give full name of masq (for ex toto.tif) }
- [Name=IncMax] REAL :: {Maximum incidence of image}
- [Name=BoxClip] Box2dr :: {To Clip Computation, normalized image coordinates ([0,0,1,1] means full box)}
- [Name=BoxTerrain] Box2dr :: {([Xmin,Ymin,Xmax,Ymax])}
- [Name=ResolTerrain] REAL :: {Ground Resol (Def automatically computed)}
- [Name=RoundResol] bool :: {Use rounding of resolution (def context dependent,tuning purpose)}
- [Name=GCC] bool :: {Generate export for Cube Correlation}
- [Name=EZA] bool :: {Export Z Absolute}
- [Name=Equiv] vector<std::string> :: {Equivalent classes, as a set of pattern, def=None}
- [Name=MOri] string :: {Mode Orientation (GRID or RTO) if not XML frame camera}
- [Name=MaxFlow] bool :: {Use MaxFlow(MinCut) instead of 2D ProgDyn (SGM), slower sometime better, Def=false }
- [Name=SzRec] INT :: {Sz of overlap between computation tiles, Def=50; for some rare side effects}
- [Name=Masq3D] string :: {Name of 3D Masq}
- [Name=NbProc] INT :: {Nb Proc Used}
- [Name=PSIBN] REAL :: {Penal for Automatic Selection of Images to Best Nadir (Def=-1, dont use)}
- [Name=InternalNoIncid] bool :: {Internal Use}
- [Name=PtDebug] Pt2di :: {Internal Use (Point of debuging)}
Example
An example with data set of Mur Saint Martin :
mm3d Malt Ortho "./IMGP41((6[7-9])|([7-8][0-9])).JPG" Basc
Notes about DEM
Malt generates DEMs which can be retrieve in a folder named MEC-MALT by default :
Z_NumA_DeZoomB_STD-MALT.tif
where A B dependens on the step of the computation and of the arguments of the Malt command.
Generated DEMs are not recorded in the coordinates system until you specify the EZA=1 option for Malt.
They are stored in a local system which can be transform in the initial one using parameters specified in the file :
Z_NumA_DeZoomB_STD-MALT.xml