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 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_PAIRED_CAMERAS_ESTIMATOR_METHOD

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

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

      public static final CorrectorType 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_POINTS
      Default 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_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 planar 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, 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_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:
    • DEFAULT_KNOWN_INTRINSIC_PARAMETERS

      public static final boolean DEFAULT_KNOWN_INTRINSIC_PARAMETERS
      Indicates 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

      private FundamentalMatrixEstimatorMethod 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 robustFundamentalMatrixEstimatorMethod
      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.
    • pairedCamerasEstimatorMethod

      private InitialCamerasEstimatorMethod pairedCamerasEstimatorMethod
      Method to use for paired cameras' estimation.
    • daqUseHomogeneousPointTriangulator

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

      private double pairedCamerasAspectRatio
      Aspect ratio for paired cameras.
    • principalPointX

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

      private CorrectorType 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 pairedCamerasMarkValidTriangulatedPoints
      Value 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 knownIntrinsicParameters
      Indicates 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 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 homograpy 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

    • BasePairedViewsSparseReconstructorConfiguration

      protected BasePairedViewsSparseReconstructorConfiguration()
      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.
    • getPairedCamerasEstimatorMethod

      public InitialCamerasEstimatorMethod getPairedCamerasEstimatorMethod()
      Gets method to use for paired cameras' estimation.
      Returns:
      method to use for paired cameras' estimation.
    • setPairedCamerasEstimatorMethod

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

      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.
    • 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

      public T setPairedCamerasAspectRatio(double pairedCamerasAspectRatio)
      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

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

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

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

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

      public T setIntrinsicParametersKnown(boolean intrinsicParametersKnown)
      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

      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.