Class Zhang99OptimizationJacobian
- java.lang.Object
-
- boofcv.alg.geo.calibration.Zhang99OptimizationJacobian
-
- All Implemented Interfaces:
- FunctionNtoMxN
public class Zhang99OptimizationJacobian extends java.lang.Object implements FunctionNtoMxN
Analytical Jacobian for optimizing calibration parameters.
NOTE: Accuracy is tested in a unit test using a numerical Jacobian. A very crude tolerance was required to make it pass. I think this implementation is correct, but hand computing the Jacobian is error prone. In practice it produces virtually the same final results as the numerical Jacobian.
-
-
Constructor Summary
Constructors Constructor and Description Zhang99OptimizationJacobian(boolean assumeZeroSkew, int numRadial, boolean includeTangential, java.util.List<CalibrationObservation> observationSets, java.util.List<Point2D_F64> grid)Configurations the optimization function.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description intgetNumOfInputsN()Number of input parameters and columns in output matrix.intgetNumOfOutputsM()Number of rows in output matrix.voidprocess(double[] input, double[] output)Processes the input vector to output a 2D a matrix.
-
-
-
Constructor Detail
-
Zhang99OptimizationJacobian
public Zhang99OptimizationJacobian(boolean assumeZeroSkew, int numRadial, boolean includeTangential, java.util.List<CalibrationObservation> observationSets, java.util.List<Point2D_F64> grid)Configurations the optimization function.- Parameters:
grid- Location of points on the calibration grid. z=0
-
-
Method Detail
-
getNumOfInputsN
public int getNumOfInputsN()
Description copied from interface:FunctionNtoMxNNumber of input parameters and columns in output matrix. Typically the parameters you are optimizing.- Specified by:
getNumOfInputsNin interfaceFunctionNtoMxN- Returns:
- Number of input parameters
-
getNumOfOutputsM
public int getNumOfOutputsM()
Description copied from interface:FunctionNtoMxNNumber of rows in output matrix. Typically the functions that are being optimized.- Specified by:
getNumOfOutputsMin interfaceFunctionNtoMxN- Returns:
- Number of rows in output matrix.
-
process
public void process(double[] input, double[] output)Description copied from interface:FunctionNtoMxNProcesses the input vector to output a 2D a matrix. The matrix has a dimension of M rows and N columns and is formatted as a row major 1D-array. EJML can be used to provide a matrix wrapper around the output array: DenseMatrix J = DenseMatrix.wrap(m,n,output);
The user can modify the input parameters here and the optimizer must use those changes.
- Specified by:
processin interfaceFunctionNtoMxN- Parameters:
input- Vector with input parameters.output- Row major array with M rows and N columns.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG