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 Details

    • DEFAULT_ROBUST_FUNDAMENTAL_MATRIX_ESTIMATOR_METHOD

      public static final com.irurueta.numerical.robust.RobustEstimatorMethod DEFAULT_ROBUST_FUNDAMENTAL_MATRIX_ESTIMATOR_METHOD
      Default 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_METHOD
      Default 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_MATRIX
      Indicates 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_COVARIANCE
      Indicates 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_CONFIDENCE
      Default 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_ITERATIONS
      Default 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_THRESHOLD
      Default 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_INLIERS
      Default 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_RESIDUALS
      Default 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

      public static final InitialCamerasEstimatorMethod 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_TRIANGULATOR
      Indicates 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_RATIO
      Default aspect ratio for initial cameras.
      See Also:
    • DEFAULT_INITIAL_CAMERAS_PRINCIPAL_POINT_X

      public static final double DEFAULT_INITIAL_CAMERAS_PRINCIPAL_POINT_X
      Default 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_Y
      Default 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

      public static final CorrectorType 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_POINTS
      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.
      See Also:
    • DEFAULT_ALLOW_GENERAL_SCENE

      public static final boolean DEFAULT_ALLOW_GENERAL_SCENE
      Indicates 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_SCENE
      Indicates 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_METHOD
      Default 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_HOMOGRAPHY
      Indicates 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_COVARIANCE
      Indicates 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_CONFIDENCE
      Default 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_ITERATIONS
      Default 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_THRESHOLD
      Default 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_INLIERS
      Default 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_RESIDUALS
      Default value indicating that residual data is kept after robust planar homography estimation. This is only used when planar scenes are allowed.
      See Also:
    • mNonRobustFundamentalMatrixEstimatorMethod

      private FundamentalMatrixEstimatorMethod 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 mRobustFundamentalMatrixEstimatorMethod
      Method to use for robust fundamental matrix estimation. This is only used when general scenes are allowed.
    • refineFundamentalMatrix

      private boolean refineFundamentalMatrix
      Indicates whether estimated fundamental matrix is refined among all found inliers. This is only used when general scenes are allowed.
    • keepFundamentalMatrixCovariance

      private boolean keepFundamentalMatrixCovariance
      Indicates whether covariance of estimated fundamental matrix is kept after the estimation. This is only used when general scenes are allowed.
    • fundamentalMatrixConfidence

      private double fundamentalMatrixConfidence
      Confidence of robustly estimated fundamental matrix. This is only used when general scenes are allowed.
    • fundamentalMatrixMaxIterations

      private int fundamentalMatrixMaxIterations
      Maximum number of iterations to robustly estimate fundamental matrix. This is only used when general scenes are allowed.
    • fundamentalMatrixThreshold

      private double fundamentalMatrixThreshold
      Threshold 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 fundamentalMatrixComputeAndKeepInliers
      Indicates whether inliers must be kept during robust fundamental matrix estimation. This is only used when general scenes are allowed.
    • fundamentalMatrixComputeAndKeepResiduals

      private boolean fundamentalMatrixComputeAndKeepResiduals
      Indicates whether residuals must be computed and kept during robust fundamental matrix estimation. This is only used when general scenes are allowed.
    • initialCamerasEstimatorMethod

      private InitialCamerasEstimatorMethod initialCamerasEstimatorMethod
      Method to use for initial estimation of cameras.
    • daqUseHomogeneousPointTriangulator

      private boolean daqUseHomogeneousPointTriangulator
      Indicates whether an homogeneous point triangulator is used for point triangulation when Dual Absolute Quadric (DAQ) camera initialization is used.
    • initialCamerasAspectRatio

      private double initialCamerasAspectRatio
      Aspect ratio for initial cameras.
    • principalPointX

      private double principalPointX
      Horizontal 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 principalPointY
      Vertical principal point value to use for initial cameras estimation using Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) methods.
    • initialCamerasCorrectorType

      private CorrectorType 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 initialCamerasMarkValidTriangulatedPoints
      Value 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 initialIntrinsic1
      Intrinsic parameters of first camera estimated using the essential matrix method.
    • initialIntrinsic2

      private com.irurueta.geometry.PinholeCameraIntrinsicParameters initialIntrinsic2
      Intrinsic parameters of second camera estimated using the essential matrix method.
    • allowGeneralScene

      private boolean allowGeneralScene
      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.
    • allowPlanarScene

      private boolean allowPlanarScene
      Indicates 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 robustPlanarHomographyEstimatorMethod
      Robust method to use for planar homography estimation. This is only used when planar scenes are allowed.
    • refinePlanarHomography

      private boolean refinePlanarHomography
      Indicates whether planar homography is refined using all found inliers or not. This is only used when planar scenes are allowed.
    • keepPlanarHomographyCovariance

      private boolean keepPlanarHomographyCovariance
      Indicates whether planar homography covariance is kept after estimation. This is only used when planar scenes are allowed.
    • planarHomographyConfidence

      private double planarHomographyConfidence
      Confidence of robustly estimated planar homography. By default, this is 99%. This is only used when planar scenes are allowed.
    • planarHomographyMaxIterations

      private int planarHomographyMaxIterations
      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.
    • planarHomographyThreshold

      private double planarHomographyThreshold
      Threshold to determine whether samples for robust projective 2D transformation estimation are inliers or not.
    • planarHomographyComputeAndKeepInliers

      private boolean planarHomographyComputeAndKeepInliers
      Value indicating that inlier data is kept after robust planar homography estimation. This is only used when planar scenes are allowed.
    • planarHomographyComputeAndKeepResiduals

      private boolean planarHomographyComputeAndKeepResiduals
      Value 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

      public FundamentalMatrixEstimatorMethod 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

      public T setNonRobustFundamentalMatrixEstimatorMethod(FundamentalMatrixEstimatorMethod method)
      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

      public T setFundamentalMatrixRefined(boolean refineFundamentalMatrix)
      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

      public T setFundamentalMatrixCovarianceKept(boolean keepFundamentalMatrixCovariance)
      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

      public T setFundamentalMatrixConfidence(double fundamentalMatrixConfidence)
      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

      public T setFundamentalMatrixMaxIterations(int fundamentalMatrixMaxIterations)
      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

      public T setFundamentalMatrixThreshold(double fundamentalMatrixThreshold)
      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

      public T setFundamentalMatrixComputeAndKeepInliers(boolean fundamentalMatrixComputeAndKeepInliers)
      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

      public InitialCamerasEstimatorMethod getInitialCamerasEstimatorMethod()
      Gets method to use for initial estimation of cameras.
      Returns:
      method to use for initial estimation of cameras.
    • setInitialCamerasEstimatorMethod

      public T setInitialCamerasEstimatorMethod(InitialCamerasEstimatorMethod method)
      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

      public T setDaqUseHomogeneousPointTriangulator(boolean daqUseHomogeneousPointTriangulator)
      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

      public T setInitialCamerasAspectRatio(double initialCamerasAspectRatio)
      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

      public T setPrincipalPointX(double principalPointX)
      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

      public T setPrincipalPointY(double principalPointY)
      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

      public CorrectorType 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

      public T setInitialCamerasCorrectorType(CorrectorType type)
      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

      public T setGeneralSceneAllowed(boolean allowGeneralScene)
      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

      public T setPlanarSceneAllowed(boolean allowPlanarScene)
      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

      public T setPlanarHomographyRefined(boolean refinePlanarHomography)
      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

      public T setPlanarHomographyCovarianceKept(boolean keepPlanarHomographyCovariance)
      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

      public T setPlanarHomographyConfidence(double planarHomographyConfidence)
      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

      public T setPlanarHomographyMaxIterations(int planarHomographyMaxIterations)
      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

      public T setPlanarHomographyThreshold(double planarHomographyThreshold)
      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

      public T setPlanarHomographyComputeAndKeepInliers(boolean planarHomographyComputeAndKeepInliers)
      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.