Package com.irurueta.ar.sfm
Class BasePairedViewsSparseReconstructorConfiguration<T extends BasePairedViewsSparseReconstructorConfiguration<T>>
java.lang.Object
com.irurueta.ar.sfm.BasePairedViewsSparseReconstructorConfiguration<T>
- Type Parameters:
T- an actual implementation of a configuration class.
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
BaseSlamPairedViewsSparseReconstructorConfiguration,PairedViewsSparseReconstructorConfiguration
public abstract class BasePairedViewsSparseReconstructorConfiguration<T extends BasePairedViewsSparseReconstructorConfiguration<T>>
extends Object
implements Serializable
Base class containing configuration for a paired view based sparse re-constructor.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanIndicates whether a general scene (points laying in a general 3D position) is allowed.private booleanIndicates whether a planar scene (points laying in a 3D plane) is allowed.private booleanIndicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.static final booleanIndicates whether a general (points are laying in a general 3D position) scene is allowed.static final booleanIndicates whether a planar (points laying in a 3D plane) scene is allowed.static final booleanIndicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.static final booleanDefault value indicating that inlier data is kept after robust fundamental matrix estimation.static final booleanDefault value indicating that residual data is kept after robust fundamental matrix estimation.static final doubleDefault confidence of robustly estimated fundamental matrix.static final intDefault maximum number of iterations to make while robustly estimating fundamental matrix.static final doubleDefault threshold to determine whether samples for robust fundamental matrix estimation are inliers or not.static final booleanIndicates that fundamental matrix covariance is kept by default after the estimation.static final booleanIndicates that planar homography covariance is kept by default after estimation.static final booleanIndicates whether intrinsic parameters are known by default.static final FundamentalMatrixEstimatorMethodDefault non-robust fundamental matrix estimator method used internally within a robust estimator.static final doubleDefault aspect ratio for paired cameras.static final CorrectorTypeDefault corrector type to use for point triangulation when pairs of cameras are being estimated using either Dual Image of Absolute Conic (DIAC), Dual Absolute Quadric (DAQ) or essential matrix methods.static final InitialCamerasEstimatorMethodDefault method to use for paired cameras' estimation.static final booleanDefault value indicating whether valid triangulated points are marked during paired cameras estimation using either Dual Image of Absolute Conic (DIAC) or essential matrix methods.static final doubleDefault horizontal principal point value to use for paired cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.static final doubleDefault vertical principal point value to use for paired cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.static final booleanDefault value indicating that inlier data is kept after robust planar homography estimation.static final booleanDefault value indicating that residual data is kept after robust planar homography estimation.static final doubleDefault confidence of robustly estimated planar homography.static final intDefault maximum number of iterations to make while robustly estimating planar homography.static final doubleDefault threshold to determine whether samples for robust projective 2D transformation estimation are inliers or not.static final booleanIndicates that estimated fundamental matrix is refined by default using all found inliers.static final booleanIndicates that planar homography is refined by default using all found inliers.static final com.irurueta.numerical.robust.RobustEstimatorMethodDefault robust fundamental matrix estimator method.static final com.irurueta.numerical.robust.RobustEstimatorMethodDefault robust planar homography estimator method.private booleanIndicates whether inliers must be kept during robust fundamental matrix estimation.private booleanIndicates whether residuals must be computed and kept during robust fundamental matrix estimation.private doubleConfidence of robustly estimated fundamental matrix.private intMaximum number of iterations to robustly estimate fundamental matrix.private doubleThreshold to determine whether samples for robust fundamental matrix estimation are inliers or not.private booleanIndicates whether covariance of estimated fundamental matrix is kept after the estimation.private booleanIndicates whether planar homography covariance is kept after estimation.private booleanIndicates whether intrinsic parameters are known.private FundamentalMatrixEstimatorMethodMethod to use for non-robust fundamental matrix estimation.private doubleAspect ratio for paired cameras.private CorrectorTypeCorrector type to use for point triangulation when pairs of cameras are being estimated using either Dual Image of Absolute Conic (DIAC) or essential matrix methods or null if no corrector is used.private InitialCamerasEstimatorMethodMethod to use for paired cameras' estimation.private booleanValue indicating whether valid triangulated points are marked during paired cameras estimation using either Dual Image of Absolute Conic (DIAC) or essential matrix methods.private booleanValue indicating that inlier data is kept after robust planar homography estimation.private booleanValue indicating that residual data is kept after robust planar homography estimation.private doubleConfidence of robustly estimated planar homography.private intMaximum number of iterations to make while robustly estimating planar homography.private doubleThreshold to determine whether samples for robust projective 2D transformation estimation are inliers or not.private doubleHorizontal principal point value to use for paired cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.private doubleVertical principal point value to use for paired cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.private booleanIndicates whether estimated fundamental matrix is refined among all found inliers.private booleanIndicates whether planar homography is refined using all found inliers or not.private com.irurueta.numerical.robust.RobustEstimatorMethodMethod to use for robust fundamental matrix estimation.private com.irurueta.numerical.robust.RobustEstimatorMethodRobust method to use for planar homograpy estimation. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor. -
Method Summary
Modifier and TypeMethodDescriptionbooleanIndicates whether intrinsic parameters are known.booleanIndicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.booleanIndicates whether inliers must be kept during robust fundamental matrix estimation.booleanIndicates whether residuals must be computed and kept during robust fundamental matrix estimation.doubleGets confidence of robustly estimated fundamental matrix.intGets maximum number of iterations to robustly estimate fundamental matrix.doubleGets threshold to determine whether samples for robust fundamental matrix estimation are inliers or not.Gets method to use for non-robust fundamental matrix estimation.doubleGets aspect ratio for paired cameras estimation using DAQ or DIAC methods.Gets corrector type to use for point triangulation when pairs of cameras are being estimated using either DIAC or essential matrix methods or null if no corrector is used.Gets method to use for paired cameras' estimation.booleanGets value indicating whether valid triangulated points are marked during paired cameras estimation using either DIAC or essential matrix methods.booleanGets value indicating that inlier data is kept after robust planar homography estimation.booleanGets value indicating that residual data is kept after robust planar homography estimation.doubleGets confidence of robustly estimated planar homography.intGets maximum number of iterations to make while robustly estimating planar homography.doubleGets threshold to determine whether samples for robust projective 2D transformation estimation are inliers or not.doubleGets horizontal principal point value to use for paired cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.doubleGets vertical principal point value to use for paired cameras estimation using DIAC or DAQ methods.com.irurueta.numerical.robust.RobustEstimatorMethodGets method to use for robust fundamental matrix estimation.com.irurueta.numerical.robust.RobustEstimatorMethodGets robust method to use for planar homography estimation.booleanIndicates whether covariance of estimated fundamental matrix is kept after the estimation.booleanIndicates whether estimated fundamental matrix is refined among all found inliers.booleanIndicates whether a general scene (points laying in a general 3D position) is allowed.booleanIndicates whether planar homography covariance is kept after estimation.booleanIndicates whether planar homography is refined using all found inliers or not.booleanIndicates whether a planar scene (points laying in a 3D plane) is allowed or not.setDaqUseHomogeneousPointTriangulator(boolean daqUseHomogeneousPointTriangulator) Specifies whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.setFundamentalMatrixComputeAndKeepInliers(boolean fundamentalMatrixComputeAndKeepInliers) Specifies whether inliers must be kept during robust fundamental matrix estimation.setFundamentalMatrixComputeAndKeepResiduals(boolean fundamentalMatrixComputeAndKeepResiduals) Specifies whether residuals must be computed and kept during robust fundamental matrix estimation.setFundamentalMatrixConfidence(double fundamentalMatrixConfidence) Sets confidence of robustly estimated fundamental matrix.setFundamentalMatrixCovarianceKept(boolean keepFundamentalMatrixCovariance) Specifies whether covariance of estimated fundamental matrix is kept after the estimation.setFundamentalMatrixMaxIterations(int fundamentalMatrixMaxIterations) Sets maximum number of iterations to robustly estimate fundamental matrix.setFundamentalMatrixRefined(boolean refineFundamentalMatrix) Specifies whether estimated fundamental matrix is refined among all found inliers.setFundamentalMatrixThreshold(double fundamentalMatrixThreshold) Sets threshold to determine whether samples for robust fundamental matrix estimation are inliers or not.setGeneralSceneAllowed(boolean allowGeneralScene) Specifies whether a general scene (points laying in a general 3D position) is allowed.setIntrinsicParametersKnown(boolean intrinsicParametersKnown) Specifies whether intrinsic parameters are known.Sets method to use for non-robust fundamental matrix estimation.setPairedCamerasAspectRatio(double pairedCamerasAspectRatio) Sets aspect ratio for paired cameras estimation using DAQ or DIAC methods.Sets corrector type to use for point triangulation when pairs of cameras are being estimated using either DIAC or essential matrix methods or null if no corrector is used.Sets method to use for paired cameras' estimation.setPairedCamerasMarkValidTriangulatedPoints(boolean pairedCamerasMarkValidTriangulatedPoints) Sets value indicating whether valid triangulated points are marked during paired cameras estimation using either DIAC or essential matrix methods.setPlanarHomographyComputeAndKeepInliers(boolean planarHomographyComputeAndKeepInliers) Specifies whether inlier data is kept after robust planar homography estimation.setPlanarHomographyComputeAndKeepResiduals(boolean planarHomographyComputeAndKeepResiduals) Sets value indicating that residual data is kept after robust planar homography estimation.setPlanarHomographyConfidence(double planarHomographyConfidence) Sets confidence of robustly estimated planar homography.setPlanarHomographyCovarianceKept(boolean keepPlanarHomographyCovariance) Specifies whether planar homography covariance is kept after estimation.setPlanarHomographyMaxIterations(int planarHomographyMaxIterations) Sets maximum number of iterations to make while robustly estimating planar homography.setPlanarHomographyRefined(boolean refinePlanarHomography) Specifies whether planar homography is refined using all found inliers or not.setPlanarHomographyThreshold(double planarHomographyThreshold) Sets threshold to determine whether samples for robust projective 2D transformation estimation are inliers or not.setPlanarSceneAllowed(boolean allowPlanarScene) specifies whether a planar scene (points laying in a 3D plane) is allowed or not.setPrincipalPointX(double principalPointX) Sets horizontal principal point value to use for paired cameras estimation using DIAC or DAQ methods.setPrincipalPointY(double principalPointY) Sets vertical principal point value to use for paired cameras estimation using DIAC or DAQ methods.setRobustFundamentalMatrixEstimatorMethod(com.irurueta.numerical.robust.RobustEstimatorMethod method) Sets method to use for robust fundamental matrix estimation.setRobustPlanarHomographyEstimatorMethod(com.irurueta.numerical.robust.RobustEstimatorMethod robustPlanarHomographyEstimatorMethod) Sets robust method to use for planar homography estimation.
-
Field Details
-
DEFAULT_ROBUST_FUNDAMENTAL_MATRIX_ESTIMATOR_METHOD
public static final com.irurueta.numerical.robust.RobustEstimatorMethod DEFAULT_ROBUST_FUNDAMENTAL_MATRIX_ESTIMATOR_METHODDefault robust fundamental matrix estimator method. This is only used when general scenes are allowed. -
DEFAULT_NON_ROBUST_FUNDAMENTAL_MATRIX_ESTIMATOR_METHOD
public static final FundamentalMatrixEstimatorMethod DEFAULT_NON_ROBUST_FUNDAMENTAL_MATRIX_ESTIMATOR_METHODDefault non-robust fundamental matrix estimator method used internally within a robust estimator. This is only used when general scenes are allowed. -
DEFAULT_REFINE_FUNDAMENTAL_MATRIX
public static final boolean DEFAULT_REFINE_FUNDAMENTAL_MATRIXIndicates that estimated fundamental matrix is refined by default using all found inliers. This is only used when general scenes are allowed.- See Also:
-
DEFAULT_KEEP_FUNDAMENTAL_MATRIX_COVARIANCE
public static final boolean DEFAULT_KEEP_FUNDAMENTAL_MATRIX_COVARIANCEIndicates that fundamental matrix covariance is kept by default after the estimation. This is only used when general scenes are allowed.- See Also:
-
DEFAULT_FUNDAMENTAL_MATRIX_CONFIDENCE
public static final double DEFAULT_FUNDAMENTAL_MATRIX_CONFIDENCEDefault confidence of robustly estimated fundamental matrix. By default, this is 99%. This is only used when general scenes are allowed.- See Also:
-
DEFAULT_FUNDAMENTAL_MATRIX_MAX_ITERATIONS
public static final int DEFAULT_FUNDAMENTAL_MATRIX_MAX_ITERATIONSDefault maximum number of iterations to make while robustly estimating fundamental matrix. By default, this is 5000 iterations. This is only used when general scenes are allowed.- See Also:
-
DEFAULT_FUNDAMENTAL_MATRIX_THRESHOLD
public static final double DEFAULT_FUNDAMENTAL_MATRIX_THRESHOLDDefault threshold to determine whether samples for robust fundamental matrix estimation are inliers or not. This is only used when general scenes are allowed.- See Also:
-
DEFAULT_FUNDAMENTAL_MATRIX_COMPUTE_AND_KEEP_INLIERS
public static final boolean DEFAULT_FUNDAMENTAL_MATRIX_COMPUTE_AND_KEEP_INLIERSDefault value indicating that inlier data is kept after robust fundamental matrix estimation. This is only used when general scenes are allowed.- See Also:
-
DEFAULT_FUNDAMENTAL_MATRIX_COMPUTE_AND_KEEP_RESIDUALS
public static final boolean DEFAULT_FUNDAMENTAL_MATRIX_COMPUTE_AND_KEEP_RESIDUALSDefault value indicating that residual data is kept after robust fundamental matrix estimation. This is only used when general scenes are allowed.- See Also:
-
DEFAULT_PAIRED_CAMERAS_ESTIMATOR_METHOD
Default method to use for paired cameras' estimation. Each pair of cameras is computed as an initial pair of cameras, however they are appended to the last pair of cameras using the last known camera location and rotation. -
DEFAULT_DAQ_USE_HOMOGENEOUS_POINT_TRIANGULATOR
public static final boolean DEFAULT_DAQ_USE_HOMOGENEOUS_POINT_TRIANGULATORIndicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.- See Also:
-
DEFAULT_PAIRED_CAMERAS_ASPECT_RATIO
public static final double DEFAULT_PAIRED_CAMERAS_ASPECT_RATIODefault aspect ratio for paired cameras.- See Also:
-
DEFAULT_PAIRED_CAMERAS_PRINCIPAL_POINT_X
public static final double DEFAULT_PAIRED_CAMERAS_PRINCIPAL_POINT_XDefault horizontal principal point value to use for paired cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.- See Also:
-
DEFAULT_PAIRED_CAMERAS_PRINCIPAL_POINT_Y
public static final double DEFAULT_PAIRED_CAMERAS_PRINCIPAL_POINT_YDefault vertical principal point value to use for paired cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.- See Also:
-
DEFAULT_PAIRED_CAMERAS_CORRECTOR_TYPE
Default corrector type to use for point triangulation when pairs of cameras are being estimated using either Dual Image of Absolute Conic (DIAC), Dual Absolute Quadric (DAQ) or essential matrix methods. -
DEFAULT_PAIRED_CAMERAS_MARK_VALID_TRIANGULATED_POINTS
public static final boolean DEFAULT_PAIRED_CAMERAS_MARK_VALID_TRIANGULATED_POINTSDefault value indicating whether valid triangulated points are marked during paired cameras estimation using either Dual Image of Absolute Conic (DIAC) or essential matrix methods.- See Also:
-
DEFAULT_ALLOW_GENERAL_SCENE
public static final boolean DEFAULT_ALLOW_GENERAL_SCENEIndicates whether a general (points are laying in a general 3D position) scene is allowed. When true, an initial geometry estimation is attempted for planar points.- See Also:
-
DEFAULT_ALLOW_PLANAR_SCENE
public static final boolean DEFAULT_ALLOW_PLANAR_SCENEIndicates whether a planar (points laying in a 3D plane) scene is allowed. When true, an initial geometry estimation is attempted for planar points.- See Also:
-
DEFAULT_ROBUST_PLANAR_HOMOGRAPHY_ESTIMATOR_METHOD
public static final com.irurueta.numerical.robust.RobustEstimatorMethod DEFAULT_ROBUST_PLANAR_HOMOGRAPHY_ESTIMATOR_METHODDefault robust planar homography estimator method. This is only used when planar scenes are allowed. -
DEFAULT_REFINE_PLANAR_HOMOGRAPHY
public static final boolean DEFAULT_REFINE_PLANAR_HOMOGRAPHYIndicates that planar homography is refined by default using all found inliers. This is only used when planar scenes are allowed.- See Also:
-
DEFAULT_KEEP_PLANAR_HOMOGRAPHY_COVARIANCE
public static final boolean DEFAULT_KEEP_PLANAR_HOMOGRAPHY_COVARIANCEIndicates that planar homography covariance is kept by default after estimation. This is only used when planar scenes are allowed.- See Also:
-
DEFAULT_PLANAR_HOMOGRAPHY_CONFIDENCE
public static final double DEFAULT_PLANAR_HOMOGRAPHY_CONFIDENCEDefault confidence of robustly estimated planar homography. By default, it is 99%. This is only used when planar scenes are allowed.- See Also:
-
DEFAULT_PLANAR_HOMOGRAPHY_MAX_ITERATIONS
public static final int DEFAULT_PLANAR_HOMOGRAPHY_MAX_ITERATIONSDefault maximum number of iterations to make while robustly estimating planar homography. By default, this is 5000 iterations. This is only used when planar scenes are allowed.- See Also:
-
DEFAULT_PLANAR_HOMOGRAPHY_THRESHOLD
public static final double DEFAULT_PLANAR_HOMOGRAPHY_THRESHOLDDefault threshold to determine whether samples for robust projective 2D transformation estimation are inliers or not. This is only used when planar scenes are allowed.- See Also:
-
DEFAULT_PLANAR_HOMOGRAPHY_COMPUTE_AND_KEEP_INLIERS
public static final boolean DEFAULT_PLANAR_HOMOGRAPHY_COMPUTE_AND_KEEP_INLIERSDefault value indicating that inlier data is kept after robust planar homography estimation. This is only used when planar scenes are allowed.- See Also:
-
DEFAULT_PLANAR_HOMOGRAPHY_COMPUTE_AND_KEEP_RESIDUALS
public static final boolean DEFAULT_PLANAR_HOMOGRAPHY_COMPUTE_AND_KEEP_RESIDUALSDefault value indicating that residual data is kept after robust planar homography estimation. This is only used when planar scenes are allowed.- See Also:
-
DEFAULT_KNOWN_INTRINSIC_PARAMETERS
public static final boolean DEFAULT_KNOWN_INTRINSIC_PARAMETERSIndicates whether intrinsic parameters are known by default. When intrinsic parameters are known, essential matrix method is used for paired camera estimation. If intrinsic parameters are unknown, pairs of cameras are auto-calibrated using either DAQ (Dual Absolute Quadric) or DIAC (Dual Image of Absolute Conic) methods.- See Also:
-
nonRobustFundamentalMatrixEstimatorMethod
Method to use for non-robust fundamental matrix estimation. This is only used when general scenes are allowed. -
robustFundamentalMatrixEstimatorMethod
private com.irurueta.numerical.robust.RobustEstimatorMethod robustFundamentalMatrixEstimatorMethodMethod to use for robust fundamental matrix estimation. This is only used when general scenes are allowed. -
refineFundamentalMatrix
private boolean refineFundamentalMatrixIndicates whether estimated fundamental matrix is refined among all found inliers. This is only used when general scenes are allowed. -
keepFundamentalMatrixCovariance
private boolean keepFundamentalMatrixCovarianceIndicates whether covariance of estimated fundamental matrix is kept after the estimation. This is only used when general scenes are allowed. -
fundamentalMatrixConfidence
private double fundamentalMatrixConfidenceConfidence of robustly estimated fundamental matrix. This is only used when general scenes are allowed. -
fundamentalMatrixMaxIterations
private int fundamentalMatrixMaxIterationsMaximum number of iterations to robustly estimate fundamental matrix. This is only used when general scenes are allowed. -
fundamentalMatrixThreshold
private double fundamentalMatrixThresholdThreshold to determine whether samples for robust fundamental matrix estimation are inliers or not. This is only used when general scenes are allowed. -
fundamentalMatrixComputeAndKeepInliers
private boolean fundamentalMatrixComputeAndKeepInliersIndicates whether inliers must be kept during robust fundamental matrix estimation. This is only used when general scenes are allowed. -
fundamentalMatrixComputeAndKeepResiduals
private boolean fundamentalMatrixComputeAndKeepResidualsIndicates whether residuals must be computed and kept during robust fundamental matrix estimation. This is only used when general scenes are allowed. -
pairedCamerasEstimatorMethod
Method to use for paired cameras' estimation. -
daqUseHomogeneousPointTriangulator
private boolean daqUseHomogeneousPointTriangulatorIndicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used. -
pairedCamerasAspectRatio
private double pairedCamerasAspectRatioAspect ratio for paired cameras. -
principalPointX
private double principalPointXHorizontal principal point value to use for paired cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods. -
principalPointY
private double principalPointYVertical principal point value to use for paired cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods. -
pairedCamerasCorrectorType
Corrector type to use for point triangulation when pairs of cameras are being estimated using either Dual Image of Absolute Conic (DIAC) or essential matrix methods or null if no corrector is used. -
pairedCamerasMarkValidTriangulatedPoints
private boolean pairedCamerasMarkValidTriangulatedPointsValue indicating whether valid triangulated points are marked during paired cameras estimation using either Dual Image of Absolute Conic (DIAC) or essential matrix methods. -
knownIntrinsicParameters
private boolean knownIntrinsicParametersIndicates whether intrinsic parameters are known. When intrinsic parameters are known, essential matrix method is used for paired camera estimation. If intrinsic parameters are unknown, pairs of cameras are auto-calibrated using either DAQ (Dual Absolute Quadric) or DIAC (Dual Image of Absolute Conic) methods. -
allowGeneralScene
private boolean allowGeneralSceneIndicates whether a general scene (points laying in a general 3D position) is allowed. When true, an initial geometry estimation is attempted for general points. -
allowPlanarScene
private boolean allowPlanarSceneIndicates whether a planar scene (points laying in a 3D plane) is allowed. When true, an initial geometry estimation is attempted for planar points. -
robustPlanarHomographyEstimatorMethod
private com.irurueta.numerical.robust.RobustEstimatorMethod robustPlanarHomographyEstimatorMethodRobust method to use for planar homograpy estimation. This is only used when planar scenes are allowed. -
refinePlanarHomography
private boolean refinePlanarHomographyIndicates whether planar homography is refined using all found inliers or not. This is only used when planar scenes are allowed. -
keepPlanarHomographyCovariance
private boolean keepPlanarHomographyCovarianceIndicates whether planar homography covariance is kept after estimation. This is only used when planar scenes are allowed. -
planarHomographyConfidence
private double planarHomographyConfidenceConfidence of robustly estimated planar homography. By default, this is 99%. This is only used when planar scenes are allowed. -
planarHomographyMaxIterations
private int planarHomographyMaxIterationsMaximum number of iterations to make while robustly estimating planar homography. By default, this is 5000. This is only used when planar scenes are allowed. -
planarHomographyThreshold
private double planarHomographyThresholdThreshold to determine whether samples for robust projective 2D transformation estimation are inliers or not. -
planarHomographyComputeAndKeepInliers
private boolean planarHomographyComputeAndKeepInliersValue indicating that inlier data is kept after robust planar homography estimation. This is only used when planar scenes are allowed. -
planarHomographyComputeAndKeepResiduals
private boolean planarHomographyComputeAndKeepResidualsValue indicating that residual data is kept after robust planar homography estimation. This is only used when planar scenes are allowed.
-
-
Constructor Details
-
BasePairedViewsSparseReconstructorConfiguration
protected BasePairedViewsSparseReconstructorConfiguration()Constructor.
-
-
Method Details
-
getNonRobustFundamentalMatrixEstimatorMethod
Gets method to use for non-robust fundamental matrix estimation. This is only used when general scenes are allowed.- Returns:
- method to use for non-robust fundamental matrix estimation.
-
setNonRobustFundamentalMatrixEstimatorMethod
Sets method to use for non-robust fundamental matrix estimation. This is only used when general scenes are allowed.- Parameters:
method- method to use for non-robust fundamental matrix estimation.- Returns:
- this instance so that method can be easily chained.
-
getRobustFundamentalMatrixEstimatorMethod
public com.irurueta.numerical.robust.RobustEstimatorMethod getRobustFundamentalMatrixEstimatorMethod()Gets method to use for robust fundamental matrix estimation. This is only used when general scenes are allowed.- Returns:
- method to use for robust fundamental matrix estimation.
-
setRobustFundamentalMatrixEstimatorMethod
public T setRobustFundamentalMatrixEstimatorMethod(com.irurueta.numerical.robust.RobustEstimatorMethod method) Sets method to use for robust fundamental matrix estimation. This is only used when general scenes are allowed.- Parameters:
method- method to use for robust fundamental matrix estimation.- Returns:
- this instance so that method can be easily chained.
-
isFundamentalMatrixRefined
public boolean isFundamentalMatrixRefined()Indicates whether estimated fundamental matrix is refined among all found inliers. This is only used when general scenes are allowed.- Returns:
- true if fundamental matrix is refined, false otherwise.
-
setFundamentalMatrixRefined
Specifies whether estimated fundamental matrix is refined among all found inliers. This is only used when general scenes are allowed.- Parameters:
refineFundamentalMatrix- true if fundamental matrix is refined, false otherwise.- Returns:
- this instance so that method can be easily chained.
-
isFundamentalMatrixCovarianceKept
public boolean isFundamentalMatrixCovarianceKept()Indicates whether covariance of estimated fundamental matrix is kept after the estimation. This is only used when general scenes are allowed.- Returns:
- true if covariance is kept, false otherwise.
-
setFundamentalMatrixCovarianceKept
Specifies whether covariance of estimated fundamental matrix is kept after the estimation. This is only used when general scenes are allowed.- Parameters:
keepFundamentalMatrixCovariance- true if covariance is kept, false otherwise.- Returns:
- this instance so that method can be easily chained.
-
getFundamentalMatrixConfidence
public double getFundamentalMatrixConfidence()Gets confidence of robustly estimated fundamental matrix. This is only used when general scenes are allowed.- Returns:
- confidence of robustly estimated fundamental matrix.
-
setFundamentalMatrixConfidence
Sets confidence of robustly estimated fundamental matrix. This is only used when general scenes are allowed.- Parameters:
fundamentalMatrixConfidence- confidence of robustly estimated fundamental matrix.- Returns:
- this instance so that method can be easily chained.
-
getFundamentalMatrixMaxIterations
public int getFundamentalMatrixMaxIterations()Gets maximum number of iterations to robustly estimate fundamental matrix. This is only used when general scenes are allowed.- Returns:
- maximum number of iterations to robustly estimate fundamental matrix.
-
setFundamentalMatrixMaxIterations
Sets maximum number of iterations to robustly estimate fundamental matrix. This is only used when general scenes are allowed.- Parameters:
fundamentalMatrixMaxIterations- maximum number of iterations to robustly estimate fundamental matrix.- Returns:
- this instance so that method can be easily chained.
-
getFundamentalMatrixThreshold
public double getFundamentalMatrixThreshold()Gets threshold to determine whether samples for robust fundamental matrix estimation are inliers or not. This is only used when general scenes are allowed.- Returns:
- threshold to determine whether samples for robust fundamental matrix estimation are inliers or not.
-
setFundamentalMatrixThreshold
Sets threshold to determine whether samples for robust fundamental matrix estimation are inliers or not. This is only used when general scenes are allowed.- Parameters:
fundamentalMatrixThreshold- threshold to determine whether samples for robust fundamental matrix estimation are inliers or not.- Returns:
- this instance so that method can be easily chained.
-
getFundamentalMatrixComputeAndKeepInliers
public boolean getFundamentalMatrixComputeAndKeepInliers()Indicates whether inliers must be kept during robust fundamental matrix estimation. This is only used when general scenes are allowed.- Returns:
- true if inliers must be kept during robust fundamental matrix estimation, false otherwise.
-
setFundamentalMatrixComputeAndKeepInliers
Specifies whether inliers must be kept during robust fundamental matrix estimation. This is only used when general scenes are allowed.- Parameters:
fundamentalMatrixComputeAndKeepInliers- true if inliers must be kept during robust fundamental matrix estimation, false otherwise.- Returns:
- this instance so that method can be easily chained.
-
getFundamentalMatrixComputeAndKeepResiduals
public boolean getFundamentalMatrixComputeAndKeepResiduals()Indicates whether residuals must be computed and kept during robust fundamental matrix estimation. This is only used when general scenes are allowed.- Returns:
- true if residuals must be computed and kept, false otherwise.
-
setFundamentalMatrixComputeAndKeepResiduals
public T setFundamentalMatrixComputeAndKeepResiduals(boolean fundamentalMatrixComputeAndKeepResiduals) Specifies whether residuals must be computed and kept during robust fundamental matrix estimation. This is only used when general scenes are allowed.- Parameters:
fundamentalMatrixComputeAndKeepResiduals- true if residuals must be computed and kept, false otherwise.- Returns:
- this instance so that method can be easily chained.
-
getPairedCamerasEstimatorMethod
Gets method to use for paired cameras' estimation.- Returns:
- method to use for paired cameras' estimation.
-
setPairedCamerasEstimatorMethod
Sets method to use for paired cameras' estimation.- Parameters:
method- method to use for paired cameras' estimation.- Returns:
- this instance so that method can be easily chained.
-
getDaqUseHomogeneousPointTriangulator
public boolean getDaqUseHomogeneousPointTriangulator()Indicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.- Returns:
- true if homogeneous point triangulator is used, false if an inhomogeneous point triangulator is used instead.
-
setDaqUseHomogeneousPointTriangulator
Specifies whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.- Parameters:
daqUseHomogeneousPointTriangulator- true if homogeneous point triangulator is used, false if an inhomogeneous point triangulator is used instead.- Returns:
- this instance so that method can be easily chained.
-
getPairedCamerasAspectRatio
public double getPairedCamerasAspectRatio()Gets aspect ratio for paired cameras estimation using DAQ or DIAC methods.- Returns:
- aspect ratio for initial cameras using DAQ or DIAC methods.
-
setPairedCamerasAspectRatio
Sets aspect ratio for paired cameras estimation using DAQ or DIAC methods.- Parameters:
pairedCamerasAspectRatio- aspect ratio for paired cameras using DAQ or DIAC methods.- Returns:
- this instance so that method can be easily chained.
-
getPrincipalPointX
public double getPrincipalPointX()Gets horizontal principal point value to use for paired cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.- Returns:
- horizontal principal point value to use for paired cameras estimation using DIAC or DAQ methods.
-
setPrincipalPointX
Sets horizontal principal point value to use for paired cameras estimation using DIAC or DAQ methods.- Parameters:
principalPointX- horizontal principal point value to use for paired cameras estimation using DIAC or DAQ methods.- Returns:
- this instance so that method can be easily chained.
-
getPrincipalPointY
public double getPrincipalPointY()Gets vertical principal point value to use for paired cameras estimation using DIAC or DAQ methods.- Returns:
- vertical principal point value to use for paired cameras estimation using DIAC or DAQ methods.
-
setPrincipalPointY
Sets vertical principal point value to use for paired cameras estimation using DIAC or DAQ methods.- Parameters:
principalPointY- vertical principal point value to use for initial cameras estimation using DIAC or DAQ methods.- Returns:
- this instance so that method can be easily chained.
-
getPairedCamerasCorrectorType
Gets corrector type to use for point triangulation when pairs of cameras are being estimated using either DIAC or essential matrix methods or null if no corrector is used.- Returns:
- corrector type to use for point triangulation when initial cameras are being estimated using either DIAC or essential matrix methods or null if no corrector is used.
-
setPairedCamerasCorrectorType
Sets corrector type to use for point triangulation when pairs of cameras are being estimated using either DIAC or essential matrix methods or null if no corrector is used.- Parameters:
type- corrector type to use for point triangulation when pairs of cameras are being estimated using either DIAC or essential matrix methods or null if no corrector is used.- Returns:
- this instance so that method can be easily chained.
-
getPairedCamerasMarkValidTriangulatedPoints
public boolean getPairedCamerasMarkValidTriangulatedPoints()Gets value indicating whether valid triangulated points are marked during paired cameras estimation using either DIAC or essential matrix methods.- Returns:
- value indicating whether valid triangulated points are marked during paired cameras estimation using either DIAC or essential matrix methods.
-
setPairedCamerasMarkValidTriangulatedPoints
public T setPairedCamerasMarkValidTriangulatedPoints(boolean pairedCamerasMarkValidTriangulatedPoints) Sets value indicating whether valid triangulated points are marked during paired cameras estimation using either DIAC or essential matrix methods.- Parameters:
pairedCamerasMarkValidTriangulatedPoints- value indicating whether valid triangulated points are marked during paired cameras estimation using either DIAC or essential matrix methods.- Returns:
- this instance so that method can be easily chained.
-
areIntrinsicParametersKnown
public boolean areIntrinsicParametersKnown()Indicates whether intrinsic parameters are known. When instrinsic parameters are known, essential matrix method can be used for paired camera estimation. If intrinsic parameters are unknown, pairs of cameras should be auto-calibrated using either DAQ (Dual Absolute Quadric) or DIAC (Dual Image of Absolute Conic) methods.- Returns:
- true if intrinsic parameters are known, false otherwise.
-
setIntrinsicParametersKnown
Specifies whether intrinsic parameters are known. When intrinsic parameters are known, essential matrix method can be used for paired camera estimation. If intrinsic parameters are unknown, pairs of cameras should be auto-calibrated using either DAQ (Dual Absolute Quadric) or DIAC (Dual Image of Absolute Conic) methods.- Parameters:
intrinsicParametersKnown- true if intrinsic parameters are known, false otherwise.- Returns:
- this instance so that method can be easily chained.
-
isGeneralSceneAllowed
public boolean isGeneralSceneAllowed()Indicates whether a general scene (points laying in a general 3D position) is allowed. When true, an initial geometry estimation is attempted for general points.- Returns:
- true if general scene is allowed, false otherwise.
-
setGeneralSceneAllowed
Specifies whether a general scene (points laying in a general 3D position) is allowed. When true, an initial geometry estimation is attempted for general points.- Parameters:
allowGeneralScene- true if general scene is allowed, false otherwise.- Returns:
- this instance so that method can be easily chained.
-
isPlanarSceneAllowed
public boolean isPlanarSceneAllowed()Indicates whether a planar scene (points laying in a 3D plane) is allowed or not. When true, an initial geometry estimation is attempted for planar points.- Returns:
- true if planar scene is allowed, false otherwise.
-
setPlanarSceneAllowed
specifies whether a planar scene (points laying in a 3D plane) is allowed or not. When true, an initial geometry estimation is attempted for planar points.- Parameters:
allowPlanarScene- true if planar scene is allowed, false otherwise.- Returns:
- this instance so that method can be easily chained.
-
getRobustPlanarHomographyEstimatorMethod
public com.irurueta.numerical.robust.RobustEstimatorMethod getRobustPlanarHomographyEstimatorMethod()Gets robust method to use for planar homography estimation. This is only used when planar scenes are allowed.- Returns:
- robust method to use for planar homography estimation.
-
setRobustPlanarHomographyEstimatorMethod
public T setRobustPlanarHomographyEstimatorMethod(com.irurueta.numerical.robust.RobustEstimatorMethod robustPlanarHomographyEstimatorMethod) Sets robust method to use for planar homography estimation. This is only used when planar scenes are allowed.- Parameters:
robustPlanarHomographyEstimatorMethod- robust method to use for planar homography estimation.- Returns:
- this instance so that method can be easily chained.
-
isPlanarHomographyRefined
public boolean isPlanarHomographyRefined()Indicates whether planar homography is refined using all found inliers or not. This is only used when planar scenes are allowed.- Returns:
- true if planar homography is refined, false otherwise.
-
setPlanarHomographyRefined
Specifies whether planar homography is refined using all found inliers or not. This is only used when planar scenes are allowed.- Parameters:
refinePlanarHomography- true if planar homography must be refined, false otherwise.- Returns:
- this instance so that method can be easily chained.
-
isPlanarHomographyCovarianceKept
public boolean isPlanarHomographyCovarianceKept()Indicates whether planar homography covariance is kept after estimation. This is only used when planar scenes are allowed.- Returns:
- true if planar homography covariance is kept, false otherwise.
-
setPlanarHomographyCovarianceKept
Specifies whether planar homography covariance is kept after estimation. This is only used when planar scenes are allowed.- Parameters:
keepPlanarHomographyCovariance- true if planar homography covariance is kept, false otherwise.- Returns:
- this instance so that method can be easily chained.
-
getPlanarHomographyConfidence
public double getPlanarHomographyConfidence()Gets confidence of robustly estimated planar homography. By default, this is 99%. This is only used when planar scenes are allowed.- Returns:
- confidence of robustly estimated planar homography.
-
setPlanarHomographyConfidence
Sets confidence of robustly estimated planar homography. By default, this is 99%. This is only used when planar scenes are allowed.- Parameters:
planarHomographyConfidence- confidence of robustly estimated planar homography.- Returns:
- this instance so that method can be easily chained.
-
getPlanarHomographyMaxIterations
public int getPlanarHomographyMaxIterations()Gets maximum number of iterations to make while robustly estimating planar homography. By default, this is 5000. This is only used when planar scenes are allowed.- Returns:
- maximum number of iterations to make while robustly estimating planar homography.
-
setPlanarHomographyMaxIterations
Sets maximum number of iterations to make while robustly estimating planar homography. By default, this is 5000. This is only used when planar scenes are allowed.- Parameters:
planarHomographyMaxIterations- maximum number of iterations to make while robustly estimating planar homography.- Returns:
- this instance so that method can be easily chained.
-
getPlanarHomographyThreshold
public double getPlanarHomographyThreshold()Gets threshold to determine whether samples for robust projective 2D transformation estimation are inliers or not. This is only used when planar scenes are allowed.- Returns:
- threshold to robustly estimate projective 2D transformation.
-
setPlanarHomographyThreshold
Sets threshold to determine whether samples for robust projective 2D transformation estimation are inliers or not. This is only used when planar scenes are allowed.- Parameters:
planarHomographyThreshold- threshold to robustly estimate projective 2D transformation.- Returns:
- this instance so that method can be easily chained.
-
getPlanarHomographyComputeAndKeepInliers
public boolean getPlanarHomographyComputeAndKeepInliers()Gets value indicating that inlier data is kept after robust planar homography estimation. This is only used when planar scenes are allowed.- Returns:
- true if inlier data is kept, false otherwise.
-
setPlanarHomographyComputeAndKeepInliers
Specifies whether inlier data is kept after robust planar homography estimation. This is only used when planar scenes are allowed.- Parameters:
planarHomographyComputeAndKeepInliers- true if inlier data is kept, false otherwise.- Returns:
- this instance so that method can be easily chained.
-
getPlanarHomographyComputeAndKeepResiduals
public boolean getPlanarHomographyComputeAndKeepResiduals()Gets value indicating that residual data is kept after robust planar homography estimation. This is only used when planar scenes are allowed.- Returns:
- true if residual data is kept, false otherwise.
-
setPlanarHomographyComputeAndKeepResiduals
public T setPlanarHomographyComputeAndKeepResiduals(boolean planarHomographyComputeAndKeepResiduals) Sets value indicating that residual data is kept after robust planar homography estimation. This is only used when planar scenes are allowed.- Parameters:
planarHomographyComputeAndKeepResiduals- true if residual data is kept, false otherwise.- Returns:
- this instance so that method can be easily chained.
-