Campari
Sommaire
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]