De MicMac
Révision de 28 juin 2018 à 09:58 par XavierR (discussion | contributions) (Help)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

Picto-liste.png List of commands


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.


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


For a matching adapted to ortho photo generation.


For a matching adapted to urban digital elevation model.


For a matching in ground image geometry.


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 resolution (pixel size in ground unit) for ZoomF=1 (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 mask}
  • [Name=NbProc] INT :: {Nb Proc Used}
  • [Name=PSIBN] REAL :: {Penal for Automatic Selection of Images to Best Nadir (Def=-1, don't use)}
  • [Name=InternalNoIncid] bool :: {Internal Use}
  • [Name=PtDebug] Pt2di :: {Internal Use (Point of debuging)}


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 :


where A B dependens on the step of the computation and of the arguments of the Malt command.

Generated DEMs elevation values are not recorded in a metric unit unless you specify the EZA=1 option for Malt.

The conversion values are stored in the file :