Campari

De MicMac
Aller à : navigation, rechercher

Picto-liste.png List of commands

Description

Campari is a tool for compensation of heterogeneous measures (tie points and ground control points).

Syntax

The global syntax for Campari is :

mm3d Campari FullDirectory InputOrientation OutputOrientation NamedArgs

Help

You can access to the help by typing :

mm3d Campari -help

Mandatory unnamed args :

  • string :: {Full Directory (Dir+Pattern)}
  • string :: {Input Orientation}
  • string :: {Output Orientation}

Named args :

  • [Name=GCP] vector :: {[GrMes.xml,GrUncertainty,ImMes.xml,ImUnc]}
  • [Name=EmGPS] vector :: {Embedded GPS [Gps-Dir,GpsUnc, ?GpsAlti?], GpsAlti if != Plani}
  • [Name=GpsLa] Pt3dr :: {Gps Lever Arm, in combination with EmGPS}
  • [Name=SigmaTieP] REAL :: {Sigma use for TieP weighting (Def=1)}
  • [Name=FactElimTieP] REAL :: {Fact elimination of tie point (prop to SigmaTieP, Def=5)}
  • [Name=CPI1] bool :: {Calib Per Im, Firt time}
  • [Name=CPI2] bool :: {Calib Per Im, After first time, reUsing Calib Per Im As input}
  • [Name=FocFree] bool :: {Foc Free (Def=false)}
  • [Name=PPFree] bool :: {Principal Point Free (Def=false)}
  • [Name=AffineFree] bool :: {Affine Parameter (Def=false)}
  • [Name=AllFree] bool :: {Affine Parameter (Def=false)}
  • [Name=DetGCP] bool :: {Detail on GCP (Def=false)}
  • [Name=Visc] REAL :: {Viscosity in Levenberg-Marquardt like resolution (Def=1.0)}
  • [Name=ExpTxt] bool :: {Export in text format (Def=false)}
  • [Name=ImMinMax] vector :: {Im max and min to avoid tricky pat}
  • [Name=DegAdd] INT :: {When specified, degree of additional parameter}
  • [Name=DegFree] INT :: {When specified degree of freedom of parameters generics}
  • [Name=DRMax] INT :: {When specified degree of freedom of radial parameters}
  • [Name=PoseFigee] bool :: {Does the external orientation of the cameras are frozen or free (Def=false, i.e. camera poses are free)}


By default, the bundle adjustment computed by Campari only affects camera orientation. Changing the value of FocFree and/or PPFree and/or AffineFree, or AllFree to 1 permits to refine also camera calibration.

A stated on this page, PPFree=True (or PPFree=1) may be used with RadialBasic or RadialStd calibration when the camera stabilization is enabled. In these cases prinpal point of the camera is mobile and has to be computed.

Understanding the output

The following image explains what each values in the output means : Image

Examples

Using GCP file

For example, in the Mur Saint Martin dataset, you can launch :

mm3d Campari ".*JPG" MEP-Basc2 MEP-Terrain GCP=[MurSaintMartin.xml,0.02,MesureBasc.xml,0.5]

With embedded GPS data, with refinement of camera calibration

In the "Grand-Leez" dataset, adding GPS information in the bundle adjustment has a positive impact on the refinement of the camera orientation, in particular on the camera calibration.

Campari "R.*.JPG" BL72 BL72-Campari EmGPS=[GPS-BL72,2] FocFree=1 PPFree=1


Meaning of error messages

Unexpected End Of String in ElStdRead(vector<Type> &)

If you got an errors as:

------------------------------------------------------------
|   Sorry, the following FATAL ERROR happened
|
|    Unexpected End Of String in ElStdRead(vector<Type> &)
|
------------------------------------------------------------

It's probably just because you forgot a space into the brackets expression, as this:

 mm3d Campari .*JPG Arbitrary Ground GCP=[Target_Coord.xml,0.01, Target_measure-S2D.xml,0.5]

in place of this:

 mm3d Campari .*JPG Arbitrary Ground GCP=[Target_Coord.xml,0.01,Target_measure-S2D.xml,0.5]