Package com.irurueta.ar.sfm
Class BaseTwoViewsSparseReconstructorConfiguration<T extends BaseTwoViewsSparseReconstructorConfiguration<T>>
java.lang.Object
com.irurueta.ar.sfm.BaseTwoViewsSparseReconstructorConfiguration<T>
- Type Parameters:
T
- an actual implementation of a configuration class.
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
BaseSlamTwoViewsSparseReconstructorConfiguration
,KnownBaselineTwoViewsSparseReconstructorConfiguration
,TwoViewsSparseReconstructorConfiguration
public abstract class BaseTwoViewsSparseReconstructorConfiguration<T extends BaseTwoViewsSparseReconstructorConfiguration<T>>
extends Object
implements Serializable
Base class containing configuration for a two view sparse re-constructor.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
Indicates whether a general scene (points laying in a general 3D position) is allowed.private boolean
Indicates whether a planar scene (points laying in a 3D plane) is allowed.private boolean
Indicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.static final boolean
Indicates whether a general (points are laying in a general 3D position) scene is allowed.static final boolean
Indicates whether a planar (points laying in a 3D plane) scene is allowed.static final boolean
Indicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.static final boolean
Default value indicating that inlier data is kept after robust fundamental matrix estimation.static final boolean
Default value indicating that residual data is kept after robust fundamental matrix estimation.static final double
Default confidence of robustly estimated fundamental matrix.static final int
Default maximum number of iterations to make while robustly estimating fundamental matrix.static final double
Default threshold to determine whether samples for robust fundamental matrix estimation are inliers or not.static final double
Default aspect ratio for initial cameras.static final CorrectorType
Default corrector type to use for point triangulation when initial cameras are being estimated using either Dual Image of Absolute Conic (DIAC), Dual Absolute Quadric (DAQ) or essential matrix methods.static final InitialCamerasEstimatorMethod
Default method to use for initial estimation of cameras.static final boolean
Default value indicating whether valid triangulated points are marked during initial cameras estimation using either Dual Image of Absolute Conic (DIAC) or essential matrix methods.static final double
Default horizontal principal point value to use for initial cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.static final double
Default vertical principal point value to use for initial cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.static final boolean
Indicates that fundamental matrix covariance is kept by default after the estimation.static final boolean
Indicates that planar homography covariance is kept by default after estimation.static final FundamentalMatrixEstimatorMethod
Default non-robust fundamental matrix estimator method used internally within a robust estimator.static final boolean
Default value indicating that inlier data is kept after robust planar homography estimation.static final boolean
Default value indicating that residual data is kept after robust planar homography estimation.static final double
Default confidence of robustly estimated planar homography.static final int
Default maximum number of iterations to make while robustly estimating planar homography.static final double
Default threshold to determine whether samples for robust projective 2D transformation estimation are inliers or not.static final boolean
Indicates that estimated fundamental matrix is refined by default using all found inliers.static final boolean
Indicates that planar homography is refined by default using all found inliers.static final com.irurueta.numerical.robust.RobustEstimatorMethod
Default robust fundamental matrix estimator method.static final com.irurueta.numerical.robust.RobustEstimatorMethod
Default robust planar homography estimator method.private boolean
Indicates whether inliers must be kept during robust fundamental matrix estimation.private boolean
Indicates whether residuals must be computed and kept during robust fundamental matrix estimation.private double
Confidence of robustly estimated fundamental matrix.private int
Maximum number of iterations to robustly estimate fundamental matrix.private double
Threshold to determine whether samples for robust fundamental matrix estimation are inliers or not.private double
Aspect ratio for initial cameras.private CorrectorType
Corrector type to use for point triangulation when initial cameras are being estimated using either Dual Image of Absolute Conic (DIAC) or essential matrix methods or null if no corrector is used.private InitialCamerasEstimatorMethod
Method to use for initial estimation of cameras.private boolean
Value indicating whether valid triangulated points are marked during initial cameras estimation using either Dual Image of Absolute Conic (DIAC) or essential matrix methods.private com.irurueta.geometry.PinholeCameraIntrinsicParameters
Intrinsic parameters of first camera estimated using the essential matrix method.private com.irurueta.geometry.PinholeCameraIntrinsicParameters
Intrinsic parameters of second camera estimated using the essential matrix method.private boolean
Indicates whether covariance of estimated fundamental matrix is kept after the estimation.private boolean
Indicates whether planar homography covariance is kept after estimation.private FundamentalMatrixEstimatorMethod
Method to use for non-robust fundamental matrix estimation.private com.irurueta.numerical.robust.RobustEstimatorMethod
Method to use for robust fundamental matrix estimation.private boolean
Value indicating that inlier data is kept after robust planar homography estimation.private boolean
Value indicating that residual data is kept after robust planar homography estimation.private double
Confidence of robustly estimated planar homography.private int
Maximum number of iterations to make while robustly estimating planar homography.private double
Threshold to determine whether samples for robust projective 2D transformation estimation are inliers or not.private double
Horizontal principal point value to use for initial cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.private double
Vertical principal point value to use for initial cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.private boolean
Indicates whether estimated fundamental matrix is refined among all found inliers.private boolean
Indicates whether planar homography is refined using all found inliers or not.private com.irurueta.numerical.robust.RobustEstimatorMethod
Robust method to use for planar homography estimation. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Constructor. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Indicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.boolean
Indicates whether inliers must be kept during robust fundamental matrix estimation.boolean
Indicates whether residuals must be computed and kept during robust fundamental matrix estimation.double
Gets confidence of robustly estimated fundamental matrix.int
Gets maximum number of iterations to robustly estimate fundamental matrix.double
Gets threshold to determine whether samples for robust fundamental matrix estimation are inliers or not.double
Gets aspect ratio for initial cameras estimation using DAQ or DIAC methods.Gets 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.Gets method to use for initial estimation of cameras.boolean
Gets value indicating whether valid triangulated points are marked during initial cameras estimation using either DIAC or essential matrix methods.com.irurueta.geometry.PinholeCameraIntrinsicParameters
Gets intrinsic parameters of first camera estimated using the essential matrix method.com.irurueta.geometry.PinholeCameraIntrinsicParameters
Gets intrinsic parameters of second camera estimated using the essential matrix method.Gets method to use for non-robust fundamental matrix estimation.boolean
Gets value indicating that inlier data is kept after robust planar homography estimation.boolean
Gets value indicating that residual data is kept after robust planar homography estimation.double
Gets confidence of robustly estimated planar homography.int
Gets maximum number of iterations to make while robustly estimating planar homography.double
Gets threshold to determine whether samples for robust projective 2D transformation estimation are inliers or not.double
Gets horizontal principal point value to use for initial cameras estimation using DIAC or DAQ methods.double
Gets vertical principal point value to use for initial cameras estimation using DIAC or DAQ methods.com.irurueta.numerical.robust.RobustEstimatorMethod
Gets method to use for robust fundamental matrix estimation.com.irurueta.numerical.robust.RobustEstimatorMethod
Gets robust method to use for planar homography estimation.boolean
Indicates whether covariance of estimated fundamental matrix is kept after the estimation.boolean
Indicates whether estimated fundamental matrix is refined among all found inliers.boolean
Indicates whether a general scene (points laying in a general 3D position) is allowed.boolean
Indicates whether planar homography covariance is kept after estimation.boolean
Indicates whether planar homography is refined using all found inliers or not.boolean
Indicates 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.setInitialCamerasAspectRatio
(double initialCamerasAspectRatio) Sets aspect ratio for initial cameras using DAQ or DIAC methods.Sets 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.Sets method to use for initial estimation of cameras.setInitialCamerasMarkValidTriangulatedPoints
(boolean initialCamerasMarkValidTriangulatedPoints) Sets value indicating whether valid triangulated points are marked during initial cameras estimation using either DIAC or essential matrix methods.setInitialIntrinsic1
(com.irurueta.geometry.PinholeCameraIntrinsicParameters initialIntrinsic1) Sets intrinsic parameters of first camera estimated using the essential matrix method.setInitialIntrinsic2
(com.irurueta.geometry.PinholeCameraIntrinsicParameters initialIntrinsic2) Sets intrinsic parameters of second camera estimated using the essential matrix method.Sets method to use for non-robust fundamental matrix estimation.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 initial cameras estimation using DIAC or DAQ methods.setPrincipalPointY
(double principalPointY) Sets vertical principal point value to use for initial 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_INITIAL_CAMERAS_ESTIMATOR_METHOD
Default method to use for initial estimation of cameras. -
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_INITIAL_CAMERAS_ASPECT_RATIO
public static final double DEFAULT_INITIAL_CAMERAS_ASPECT_RATIODefault aspect ratio for initial cameras.- See Also:
-
DEFAULT_INITIAL_CAMERAS_PRINCIPAL_POINT_X
public static final double DEFAULT_INITIAL_CAMERAS_PRINCIPAL_POINT_XDefault horizontal principal point value to use for initial cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.- See Also:
-
DEFAULT_INITIAL_CAMERAS_PRINCIPAL_POINT_Y
public static final double DEFAULT_INITIAL_CAMERAS_PRINCIPAL_POINT_YDefault vertical principal point value to use for initial cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.- See Also:
-
DEFAULT_INITIAL_CAMERAS_CORRECTOR_TYPE
Default corrector type to use for point triangulation when initial cameras are being estimated using either Dual Image of Absolute Conic (DIAC), Dual Absolute Quadric (DAQ) or essential matrix methods. -
DEFAULT_INITIAL_CAMERAS_MARK_VALID_TRIANGULATED_POINTS
public static final boolean DEFAULT_INITIAL_CAMERAS_MARK_VALID_TRIANGULATED_POINTSDefault value indicating whether valid triangulated points are marked during initial 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 general 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, this 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:
-
mNonRobustFundamentalMatrixEstimatorMethod
Method to use for non-robust fundamental matrix estimation. This is only used when general scenes are allowed. -
mRobustFundamentalMatrixEstimatorMethod
private com.irurueta.numerical.robust.RobustEstimatorMethod mRobustFundamentalMatrixEstimatorMethodMethod 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. -
initialCamerasEstimatorMethod
Method to use for initial estimation of cameras. -
daqUseHomogeneousPointTriangulator
private boolean daqUseHomogeneousPointTriangulatorIndicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used. -
initialCamerasAspectRatio
private double initialCamerasAspectRatioAspect ratio for initial cameras. -
principalPointX
private double principalPointXHorizontal principal point value to use for initial 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 initial cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods. -
initialCamerasCorrectorType
Corrector type to use for point triangulation when initial cameras are being estimated using either Dual Image of Absolute Conic (DIAC) or essential matrix methods or null if no corrector is used. -
initialCamerasMarkValidTriangulatedPoints
private boolean initialCamerasMarkValidTriangulatedPointsValue indicating whether valid triangulated points are marked during initial cameras estimation using either Dual Image of Absolute Conic (DIAC) or essential matrix methods. -
initialIntrinsic1
private com.irurueta.geometry.PinholeCameraIntrinsicParameters initialIntrinsic1Intrinsic parameters of first camera estimated using the essential matrix method. -
initialIntrinsic2
private com.irurueta.geometry.PinholeCameraIntrinsicParameters initialIntrinsic2Intrinsic parameters of second camera estimated using the essential matrix method. -
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 homography 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
-
BaseTwoViewsSparseReconstructorConfiguration
protected BaseTwoViewsSparseReconstructorConfiguration()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.
-
getInitialCamerasEstimatorMethod
Gets method to use for initial estimation of cameras.- Returns:
- method to use for initial estimation of cameras.
-
setInitialCamerasEstimatorMethod
Sets method to use for initial estimation of cameras.- Parameters:
method
- method to use for initial estimation of cameras.- 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.
-
getInitialCamerasAspectRatio
public double getInitialCamerasAspectRatio()Gets aspect ratio for initial cameras estimation using DAQ or DIAC methods.- Returns:
- aspect ratio for initial cameras using DAQ or DIAC methods.
-
setInitialCamerasAspectRatio
Sets aspect ratio for initial cameras using DAQ or DIAC methods.- Parameters:
initialCamerasAspectRatio
- aspect ratio for initial 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 initial cameras estimation using DIAC or DAQ methods.- Returns:
- horizontal principal point value to use for initial cameras estimation using DIAC or DAQ methods.
-
setPrincipalPointX
Sets horizontal principal point value to use for initial cameras estimation using DIAC or DAQ methods.- Parameters:
principalPointX
- horizontal principal point value to use for initial 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 initial cameras estimation using DIAC or DAQ methods.- Returns:
- vertical principal point value to use for initial cameras estimation using DIAC or DAQ methods.
-
setPrincipalPointY
Sets vertical principal point value to use for initial 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.
-
getInitialCamerasCorrectorType
Gets 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.- 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.
-
setInitialCamerasCorrectorType
Sets 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.- Parameters:
type
- 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.- Returns:
- this instance so that method can be easily chained.
-
getInitialCamerasMarkValidTriangulatedPoints
public boolean getInitialCamerasMarkValidTriangulatedPoints()Gets value indicating whether valid triangulated points are marked during initial cameras estimation using either DIAC or essential matrix methods.- Returns:
- value indicating whether valid triangulated points are marked during initial cameras estimation using either DIAC or essential matrix methods.
-
setInitialCamerasMarkValidTriangulatedPoints
public T setInitialCamerasMarkValidTriangulatedPoints(boolean initialCamerasMarkValidTriangulatedPoints) Sets value indicating whether valid triangulated points are marked during initial cameras estimation using either DIAC or essential matrix methods.- Parameters:
initialCamerasMarkValidTriangulatedPoints
- value indicating whether valid triangulated points are marked during initial cameras estimation using either DIAC or essential matrix methods.- Returns:
- this instance so that method can be easily chained.
-
getInitialIntrinsic1
public com.irurueta.geometry.PinholeCameraIntrinsicParameters getInitialIntrinsic1()Gets intrinsic parameters of first camera estimated using the essential matrix method.- Returns:
- intrinsic parameters of first camera estimated using the essential matrix method.
-
setInitialIntrinsic1
public T setInitialIntrinsic1(com.irurueta.geometry.PinholeCameraIntrinsicParameters initialIntrinsic1) Sets intrinsic parameters of first camera estimated using the essential matrix method.- Parameters:
initialIntrinsic1
- intrinsic parameters of first camera estimated using the essential matrix method.- Returns:
- this instance so that method can be easily chained.
-
getInitialIntrinsic2
public com.irurueta.geometry.PinholeCameraIntrinsicParameters getInitialIntrinsic2()Gets intrinsic parameters of second camera estimated using the essential matrix method.- Returns:
- intrinsic parameters of second camera estimated using the essential matrix method.
-
setInitialIntrinsic2
public T setInitialIntrinsic2(com.irurueta.geometry.PinholeCameraIntrinsicParameters initialIntrinsic2) Sets intrinsic parameters of second camera estimated using the essential matrix method.- Parameters:
initialIntrinsic2
- intrinsic parameters of second camera estimated using the essential matrix method.- 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.
-