Class BaseSparseReconstructorConfiguration<T extends BaseSparseReconstructorConfiguration<T>>

java.lang.Object
com.irurueta.ar.sfm.BaseSparseReconstructorConfiguration<T>
Type Parameters:
T - an actual implementation of a configuration class.
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
BaseSlamSparseReconstructorConfiguration, KnownBaselineSparseReconstructorConfiguration, SparseReconstructorConfiguration

public abstract class BaseSparseReconstructorConfiguration<T extends BaseSparseReconstructorConfiguration<T>> extends Object implements Serializable
Base class containing configuration for a sparse re-constructor supporting multiple views.
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 cameras' estimation.
    • 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:
    • DEFAULT_USE_DAQ_FOR_ADDITIONAL_CAMERAS_INTRINSICS

      public static final boolean DEFAULT_USE_DAQ_FOR_ADDITIONAL_CAMERAS_INTRINSICS
      Default value indicating that additional cameras intrinsics are estimated using the Dual Absolute Quadric (DAQ).
      See Also:
    • DEFAULT_USE_DIAC_FOR_ADDITIONAL_CAMERAS_INTRINSICS

      public static final boolean DEFAULT_USE_DIAC_FOR_ADDITIONAL_CAMERAS_INTRINSICS
      Default value indicating that additional cameras intrinsics are estimated using the Dual Image of Absolute Conic (DIAC).
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_SKEWNESS

      public static final double DEFAULT_ADDITIONAL_CAMERAS_SKEWNESS
      Default skewness for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras estimation and neither Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) are estimated to find intrinsic parameters when adding new cameras.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_HORIZONTAL_PRINCIPAL_POINT

      public static final double DEFAULT_ADDITIONAL_CAMERAS_HORIZONTAL_PRINCIPAL_POINT
      Default horizontal coordinate of principal point for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras estimation and neither Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) are estimated to find intrinsic parameters when adding new cameras.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_VERTICAL_PRINCIPAL_POINT

      public static final double DEFAULT_ADDITIONAL_CAMERAS_VERTICAL_PRINCIPAL_POINT
      Default vertical coordinate of principal point for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras estimation and neither Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) are estimated to find intrinsic parameters when adding new cameras.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_ASPECT_RATIO

      public static final double DEFAULT_ADDITIONAL_CAMERAS_ASPECT_RATIO
      Default aspect ratio for additional cameras.
      See Also:
    • DEFAULT_USE_EPNP_FOR_ADDITIONAL_CAMERAS_ESTIMATION

      public static final boolean DEFAULT_USE_EPNP_FOR_ADDITIONAL_CAMERAS_ESTIMATION
      Indicates that by default EPnP (Efficient Perspective-n-Point) method is NOT used for additional cameras' estimation.
      See Also:
    • DEFAULT_USE_UPNP_FOR_ADDITIONAL_CAMERAS_ESTIMATION

      public static final boolean DEFAULT_USE_UPNP_FOR_ADDITIONAL_CAMERAS_ESTIMATION
      Indicates that by default UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras' estimation.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_ROBUST_ESTIMATION_METHOD

      public static final com.irurueta.numerical.robust.RobustEstimatorMethod DEFAULT_ADDITIONAL_CAMERAS_ROBUST_ESTIMATION_METHOD
      Default robust method to estimate additional cameras.
    • DEFAULT_ADDITIONAL_CAMERAS_ALLOW_PLANAR_CONFIGURATION

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_ALLOW_PLANAR_CONFIGURATION
      Default value indicating that planar configuration is allowed for additional cameras estimation using either EPnP or UPnP.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_ALLOW_NULLSPACE_DIMENSION2

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_ALLOW_NULLSPACE_DIMENSION2
      Default value indicating that dimension 2 null-space is allowed while estimating additional cameras using either EPnP or UPnP.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_ALLOW_NULLSPACE_DIMENSION3

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_ALLOW_NULLSPACE_DIMENSION3
      Default value indicating that dimension 3 null-space is allowed while estimating additional cameras using EPnP.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_PLANAR_THRESHOLD

      public static final double DEFAULT_ADDITIONAL_CAMERAS_PLANAR_THRESHOLD
      Default threshold to determine whether 3D matched points to estimate additional cameras are in a planar configuration.
      See Also:
    • DEFAULT_REFINE_ADDITIONAL_CAMERAS

      public static final boolean DEFAULT_REFINE_ADDITIONAL_CAMERAS
      Default value indicating that additional cameras are refined to minimize overall projection error among all found inliers.
      See Also:
    • DEFAULT_KEEP_COVARIANCE_ADDITIONAL_CAMERAS

      public static final boolean DEFAULT_KEEP_COVARIANCE_ADDITIONAL_CAMERAS
      Default value indicating that covariance is kept after refining results of additional cameras estimation.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_USE_FAST_REFINEMENT

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_USE_FAST_REFINEMENT
      Default value indicating that fast refinement is used for additional cameras' estimation.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_CONFIDENCE

      public static final double DEFAULT_ADDITIONAL_CAMERAS_CONFIDENCE
      Default confidence of estimated additional cameras, which is 99%. This means that with a probability of 99% estimation will be accurate because chosen sub-samples will be inliers.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_MAX_ITERATIONS

      public static final int DEFAULT_ADDITIONAL_CAMERAS_MAX_ITERATIONS
      Default maximum allowed number of iterations for additional cameras estimation.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_THRESHOLD

      public static final double DEFAULT_ADDITIONAL_CAMERAS_THRESHOLD
      Default threshold to determine whether samples for robust pinhole camera estimation are inliers or not.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_COMPUTE_AND_KEEP_INLIERS

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_COMPUTE_AND_KEEP_INLIERS
      Default value indicating that inlier data is kept after additional camera estimation.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_COMPUTE_AND_KEEP_RESIDUALS

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_COMPUTE_AND_KEEP_RESIDUALS
      Default value indicating that residual data is kept after additional camera estimation.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_SUGGEST_SKEWNESS_VALUE_ENABLED

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_SUGGEST_SKEWNESS_VALUE_ENABLED
      Default value indicating that skewness is not suggested during additional cameras' estimation.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_SUGGESTED_SKEWNESS_VALUE

      public static final double DEFAULT_ADDITIONAL_CAMERAS_SUGGESTED_SKEWNESS_VALUE
      Default value of skewness to be suggested when suggestion is enabled during additional cameras' estimation. By default, suggested skewness is zero.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_SUGGEST_HORIZONTAL_FOCAL_LENGTH_ENABLED

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_SUGGEST_HORIZONTAL_FOCAL_LENGTH_ENABLED
      Default value indicating whether horizontal focal length value is suggested or not during additional cameras' estimation. By default, this is disabled.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_SUGGEST_VERTICAL_FOCAL_LENGTH_ENABLED

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_SUGGEST_VERTICAL_FOCAL_LENGTH_ENABLED
      Default value indicating whether vertical focal length value is suggested or not during additional cameras' estimation. By default, this is disabled.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_SUGGEST_ASPECT_RATIO_ENABLED

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_SUGGEST_ASPECT_RATIO_ENABLED
      Default value indicating whether aspect ratio is suggested or not. By default, this is disabled.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_SUGGESTED_ASPECT_RATIO_VALUE

      public static final double DEFAULT_ADDITIONAL_CAMERAS_SUGGESTED_ASPECT_RATIO_VALUE
      Default value of aspect ratio to be suggested when suggestion is enabled. By default, suggested aspect ratio is 1.0, although also -1.0 is a typical value when vertical coordinates increase downwards.
      See Also:
    • DEFAULT_ADDITIONAL_CAMERAS_SUGGEST_PRINCIPAL_POINT_ENABLED

      public static final boolean DEFAULT_ADDITIONAL_CAMERAS_SUGGEST_PRINCIPAL_POINT_ENABLED
      Default value indicating whether principal point is suggested or not. By default, this is disabled.
      See Also:
    • DEFAULT_USE_HOMOGENEOUS_POINT_TRIANGULATOR

      public static final boolean DEFAULT_USE_HOMOGENEOUS_POINT_TRIANGULATOR
      Indicates that an homogeneous point triangulator will be used by default.
      See Also:
    • DEFAULT_ROBUST_POINT_TRIANGULATOR_METHOD

      public static final com.irurueta.numerical.robust.RobustEstimatorMethod DEFAULT_ROBUST_POINT_TRIANGULATOR_METHOD
      Default robust point triangulator method.
    • DEFAULT_POINT_TRIANGULATOR_CONFIDENCE

      public static final double DEFAULT_POINT_TRIANGULATOR_CONFIDENCE
      Default confidence of robustly triangulated points. By default, this is 99%.
      See Also:
    • DEFAULT_POINT_TRIANGULATOR_MAX_ITERATIONS

      public static final int DEFAULT_POINT_TRIANGULATOR_MAX_ITERATIONS
      Default maximum number of iterations to make while robustly estimating triangulated points. By default, this is 5000 iterations.
      See Also:
    • DEFAULT_POINT_TRIANGULATOR_THRESHOLD

      public static final double DEFAULT_POINT_TRIANGULATOR_THRESHOLD
      Default threshold to determine whether samples for robust point triangulator are inliers or not.
      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 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.
    • 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 (DAC) 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.
    • useDAQForAdditionalCamerasIntrinsics

      private boolean useDAQForAdditionalCamerasIntrinsics
      Indicates that additional cameras intrinsics are estimated using the Dual Absolute Quadric (DAQ).
    • useDIACForAdditionalCamerasIntrinsics

      private boolean useDIACForAdditionalCamerasIntrinsics
      Indicates that additional cameras intrinsics are estimated using the Dual Image of Absolute Conic (DIAC).
    • additionalCamerasIntrinsics

      private com.irurueta.geometry.PinholeCameraIntrinsicParameters additionalCamerasIntrinsics
      Intrinsic parameters to use for additional cameras estimation when neither Dual Image of Absolute Conic (DIAC) nor Dual Absolute Quadric (DAQ) are used for intrinsic parameters' estimation.
    • additionalCamerasSkewness

      private double additionalCamerasSkewness
      Skewness for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras' estimation.
    • additionalCamerasHorizontalPrincipalPoint

      private double additionalCamerasHorizontalPrincipalPoint
      Horizontal coordinate of principal point for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras estimation and neither Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) are estimated to find intrinsic parameters when adding new cameras.
    • additionalCamerasVerticalPrincipalPoint

      private double additionalCamerasVerticalPrincipalPoint
      Vertical coordinate of principal point for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras estimation and neither Dual Image of Absolute Conic (DIAC) nor Dual Absolute Quadric (DAQ) are estimated to find intrinsic parameters when adding new cameras.
    • additionalCamerasAspectRatio

      private double additionalCamerasAspectRatio
      Aspect ratio for additional cameras.
    • useEPnPForAdditionalCamerasEstimation

      private boolean useEPnPForAdditionalCamerasEstimation
      Indicates whether EPnP (Efficient Perspective-n-Point) method is used for additional cameras' estimation. Either EPnP or UPnP must be used for additional cameras' estimation.
    • useUPnPForAdditionalCamerasEstimation

      private boolean useUPnPForAdditionalCamerasEstimation
      Indicates whether UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras' estimation. Either EPnP or UPnP must be used for additional cameras' estimation.
    • additionalCamerasRobustEstimationMethod

      private com.irurueta.numerical.robust.RobustEstimatorMethod additionalCamerasRobustEstimationMethod
      Robust method to estimate additional cameras.
    • additionalCamerasAllowPlanarConfiguration

      private boolean additionalCamerasAllowPlanarConfiguration
      Indicates whether planar configuration is allowed for additional cameras estimation using either EPnP or UPnP.
    • additionalCamerasAllowNullspaceDimension2

      private boolean additionalCamerasAllowNullspaceDimension2
      Indicates whether dimension 2 null-space is allowed while estimating additional cameras using either EPnP or UPnP.
    • additionalCamerasAllowNullspaceDimension3

      private boolean additionalCamerasAllowNullspaceDimension3
      Indicates whether dimension 3 null-space is allowed while estimating additional cameras using EPnP.
    • additionalCamerasPlanarThreshold

      private double additionalCamerasPlanarThreshold
      Threshold to determine whether 3D matched points to estimate additional cameras are in a planar configuration.
    • refineAdditionalCameras

      private boolean refineAdditionalCameras
      Indicates whether additional cameras are refined to minimize overall projection error among all found inliers.
    • keepCovarianceAdditionalCameras

      private boolean keepCovarianceAdditionalCameras
      Indicates whether covariance is kept after refining result of additional cameras' estimation.
    • additionalCamerasUseFastRefinement

      private boolean additionalCamerasUseFastRefinement
      Value indicating whether fast refinement is used for additional cameras' estimation.
    • additionalCamerasConfidence

      private double additionalCamerasConfidence
      Confidence of estimated additional cameras.
    • additionalCamerasMaxIterations

      private int additionalCamerasMaxIterations
      Maximum allowed number of iterations for additional cameras estimation.
    • additionalCamerasThreshold

      private double additionalCamerasThreshold
      Threshold to determine whether samples for robust pinhole camera estimation are inliers or not.
    • additionalCamerasComputeAndKeepInliers

      private boolean additionalCamerasComputeAndKeepInliers
      Indicates whether inliers must be kept during additional camera estimation.
    • additionalCamerasComputeAndKeepResiduals

      private boolean additionalCamerasComputeAndKeepResiduals
      Indicates whether residuals must be computed and kept during additional camera estimation.
    • additionalCamerasSuggestSkewnessValueEnabled

      private boolean additionalCamerasSuggestSkewnessValueEnabled
      Value indicating whether skewness is not suggested during additional cameras' estimation.
    • additionalCamerasSuggestedSkewnessValue

      private double additionalCamerasSuggestedSkewnessValue
      Value of skewness to be suggested when suggestion is enabled during additional cameras' estimation.
    • additionalCamerasSuggestHorizontalFocalLengthEnabled

      private boolean additionalCamerasSuggestHorizontalFocalLengthEnabled
      Value indicating whether horizontal focal length value is suggested or not during additional cameras' estimation.
    • additionalCamerasSuggestedHorizontalFocalLengthValue

      private double additionalCamerasSuggestedHorizontalFocalLengthValue
      Value of suggested horizontal focal length during additional cameras' estimation.
    • additionalCamerasSuggestVerticalFocalLengthEnabled

      private boolean additionalCamerasSuggestVerticalFocalLengthEnabled
      Value indicating whether vertical focal length value is suggested or not during additional cameras' estimation.
    • additionalCamerasSuggestedVerticalFocalLengthValue

      private double additionalCamerasSuggestedVerticalFocalLengthValue
      Value of suggested vertical focal length during additional cameras' estimation.
    • additionalCamerasSuggestAspectRatioEnabled

      private boolean additionalCamerasSuggestAspectRatioEnabled
      Value indicating whether aspect ratio is suggested or not during additional cameras' estimation.
    • additionalCamerasSuggestedAspectRatioValue

      private double additionalCamerasSuggestedAspectRatioValue
      Value of aspect ratio to be suggested when suggestion is enabled during additional cameras' estimation.
    • additionalCamerasSuggestPrincipalPointEnabled

      private boolean additionalCamerasSuggestPrincipalPointEnabled
      Value indicating whether principal point is suggested or not during additional cameras' estimation.
    • additionalCamerasSuggestedPrincipalPointValue

      private com.irurueta.geometry.InhomogeneousPoint2D additionalCamerasSuggestedPrincipalPointValue
      Value of principal point to be suggested when suggestion is enabled during additional cameras' estimation.
    • useHomogeneousPointTriangulator

      private boolean useHomogeneousPointTriangulator
      Indicates whether homogeneous point triangulator must be used or not to estimate 3D points when only two matches are available.
    • robustPointTriangulatorMethod

      private com.irurueta.numerical.robust.RobustEstimatorMethod robustPointTriangulatorMethod
      Robust method for point triangulation when points are matched in more than two views.
    • pointTriangulatorConfidence

      private double pointTriangulatorConfidence
      Confidence of robustly triangulated points. By default, this is 99%.
    • pointTriangulatorMaxIterations

      private int pointTriangulatorMaxIterations
      Maximum number of iterations to make while robustly estimating triangulated points. By default, this is 5000 iterations.
    • pointTriangulatorThreshold

      private double pointTriangulatorThreshold
      Threshold to determine whether samples for robust point triangulator are inliers or not.
  • Constructor Details

    • BaseSparseReconstructorConfiguration

      protected BaseSparseReconstructorConfiguration()
      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 cameras' estimation.
      Returns:
      method to use for initial cameras' estimation.
    • setInitialCamerasEstimatorMethod

      public T setInitialCamerasEstimatorMethod(InitialCamerasEstimatorMethod method)
      Sets method to use for initial cameras' estimation.
      Parameters:
      method - method to use for initial 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 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()
      Intrinsic parameters of first camera estimated using the essential matrix method.
      Returns:
      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 - 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()
      Intrinsic parameters of second camera estimated using the essential matrix method.
      Returns:
      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 - 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.
    • getUseDAQForAdditionalCamerasIntrinsics

      public boolean getUseDAQForAdditionalCamerasIntrinsics()
      Indicates that additional cameras intrinsics are estimated using the Dual Absolute Quadric (DAQ).
      Returns:
      true if additional cameras intrinsics are estimated using the Dual Absolute Quadric (DAQ), false otherwise.
    • setUseDAQForAdditionalCamerasIntrinics

      public T setUseDAQForAdditionalCamerasIntrinics(boolean useDAQForAdditionalCamerasIntrinics)
      Specifies whether additional cameras intrinsics are estimated using the Dual Absolute Quadric (DAQ).
      Parameters:
      useDAQForAdditionalCamerasIntrinics - true if additional cameras intrinsics are estimated using the Dual Absolute Quadric (DAQ), false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getUseDIACForAdditionalCamerasIntrinsics

      public boolean getUseDIACForAdditionalCamerasIntrinsics()
      Indicates that additional cameras intrinsics are estimated using the Dual Image of Absolute Conic (DIAC).
      Returns:
      true if additional cameras intrinsics are estimated using the Dual Image of Absolute Conic (DIAC), false otherwise.
    • setUseDIACForAdditionalCamerasIntrinsics

      public T setUseDIACForAdditionalCamerasIntrinsics(boolean useDIACForAdditionalCamerasIntrinsics)
      Specifies whether additional cameras intrinsics are estimated using the Dual Image of Absolute Conic (DIAC). It is not recommended to enable this setting as it has low accuracy.
      Parameters:
      useDIACForAdditionalCamerasIntrinsics - true if additional cameras intrinsics are estimated using the Dual Image of Absolute Conic (DIAC), false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasIntrinsics

      public com.irurueta.geometry.PinholeCameraIntrinsicParameters getAdditionalCamerasIntrinsics()
      Gets intrinsic parameters to use for additional cameras estimation when neither Dual Image of Absolute Conic (DIAC) nor Dual Absolute Quadric (DAQ) are used for estimation of intrinsic parameters.
      Returns:
      intrinsic parameters to use for additional estimation of cameras.
    • setAdditionalCamerasIntrinsics

      public T setAdditionalCamerasIntrinsics(com.irurueta.geometry.PinholeCameraIntrinsicParameters additionalCamerasIntrinsics)
      Sets intrinsic parameters to use for additional cameras estimation when neither Dual Image of Absolute Conic (DIAC) nor Dual Absolute Quadric (DAQ) are used for estimation of intrinsic parameters.
      Parameters:
      additionalCamerasIntrinsics - intrinsic parameters to use for additional estimation of cameras.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasSkewness

      public double getAdditionalCamerasSkewness()
      Gets skewness for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional estimation of cameras.
      Returns:
      skewness for additional cameras when UPnP method is used for additional estimation of cameras.
    • setAdditionalCamerasSkewness

      public T setAdditionalCamerasSkewness(double additionalCamerasSkewness)
      Sets skewness for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional estimation of cameras.
      Parameters:
      additionalCamerasSkewness - skewness for additional cameras when UPnP method is used for additional estimation of cameras.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasHorizontalPrincipalPoint

      public double getAdditionalCamerasHorizontalPrincipalPoint()
      Gets horizontal coordinate of principal point for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras estimation and neither Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) are estimated to find intrinsic parameters when adding new cameras.
      Returns:
      horizontal coordinate of principal point for additional cameras when UPnP method is used for additional cameras estimation and neither DIAC nor DAQ are estimated to find intrinsic parameters when adding new cameras.
    • setAdditionalCamerasHorizontalPrincipalPoint

      public T setAdditionalCamerasHorizontalPrincipalPoint(double additionalCamerasHorizontalPrincipalPoint)
      Sets horizontal coordinate of principal point for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras estimation and neither Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) are estimated to find intrinsic parameters when adding new cameras.
      Parameters:
      additionalCamerasHorizontalPrincipalPoint - horizontal coordinate of principal point for additional cameras when UPnP method is used for additional cameras estimation and neither DIAC nor DAQ are estimated to find intrinsic parameters when adding new cameras.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasVerticalPrincipalPoint

      public double getAdditionalCamerasVerticalPrincipalPoint()
      Gets vertical coordinate of principal point for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras estimation and neither Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) are estimated to find intrinsic parameters when adding new cameras.
      Returns:
      vertical coordinate of principal point for additional cameras when UPnP method is used for additional cameras estimation and neither DIAC nor DAQ are estimated to find intrinsic parameters when adding new cameras.
    • setAdditionalCamerasVerticalPrincipalPoint

      public T setAdditionalCamerasVerticalPrincipalPoint(double additionalCamerasVerticalPrincipalPoint)
      Sets vertical coordinate of principal point for additional cameras when UPnP (Uncalibrated Perspective-n-Point) method is used for additional cameras estimation and neither Dual Image of Absolute Conic (DIAC) or Dual Absolute Quadric (DAQ) are estimated to find intrinsic parameters when adding new cameras.
      Parameters:
      additionalCamerasVerticalPrincipalPoint - vertical coordinate of principal point for additional cameras when UPnP method is used for additional cameras estimation and neither DIAC nor DAQ are estimated to find intrinsic parameters when adding new cameras.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasAspectRatio

      public double getAdditionalCamerasAspectRatio()
      Gets aspect ratio for additional cameras estimation using DAQ or DIAC methods.
      Returns:
      aspect ratio for additional cameras using DAQ or DIAC methods.
    • setAdditionalCamerasAspectRatio

      public T setAdditionalCamerasAspectRatio(double additionalCamerasAspectRatio)
      Sets aspect ratio for additional cameras using DAQ or DIAC methods.
      Parameters:
      additionalCamerasAspectRatio - aspect ratio for additional cameras using DAQ or DIAC methods.
      Returns:
      this instance so that method can be easily chained.
    • getUseEPnPForAdditionalCamerasEstimation

      public boolean getUseEPnPForAdditionalCamerasEstimation()
      Indicates whether EPnP (Efficient Perspective-n-Point) method is used for additional estimation of cameras. Either EPnP or UPnP must be used for additional estimation of cameras.
      Returns:
      true if EPnP method is used for additional cameras estimation, false otherwise.
    • setUseEPnPForAdditionalCamerasEstimation

      public T setUseEPnPForAdditionalCamerasEstimation(boolean useEPnPForAdditionalCamerasEstimation)
      Specifies whether EPnP (Efficient Perspective-n-Point) method is used for additional estimation of cameras. Either EPnP or UPnP must be used for additional estimation of cameras.
      Parameters:
      useEPnPForAdditionalCamerasEstimation - true if EPnP method is used for additional cameras estimation, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getUseUPnPForAdditionalCamerasEstimation

      public boolean getUseUPnPForAdditionalCamerasEstimation()
      Indicates whether UPnP (Uncalibrated Perspective-n-Point) method is used for additional estimation of cameras. Either EPnP or UPnP must be used for additional estimation of cameras.
      Returns:
      true if UPnP method is used for additional cameras estimation, false otherwise.
    • setUseUPnPForAdditionalCamerasEstimation

      public T setUseUPnPForAdditionalCamerasEstimation(boolean useUPnPForAdditionalCamerasEstimation)
      Specifies whether UPnP (Uncalibrated Perspective-n-Point) method is used for additional estimation of cameras. Either EPnP or UPnP must be used for additional estimation of cameras.
      Parameters:
      useUPnPForAdditionalCamerasEstimation - true if UPnP method is used for additional cameras estimation, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasRobustEstimationMethod

      public com.irurueta.numerical.robust.RobustEstimatorMethod getAdditionalCamerasRobustEstimationMethod()
      Gets robust method to estimate additional cameras.
      Returns:
      robust method to estimate additional cameras.
    • setAdditionalCamerasRobustEstimationMethod

      public T setAdditionalCamerasRobustEstimationMethod(com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Sets robust method to estimate additional cameras.
      Parameters:
      method - robust method to estimate additional cameras.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasAllowPlanarConfiguration

      public boolean getAdditionalCamerasAllowPlanarConfiguration()
      Indicates whether planar configuration is allowed for additional cameras estimation using either EPnP or UPnP.
      Returns:
      true if planar configuration is allowed, false otherwise.
    • setAdditionalCamerasAllowPlanarConfiguration

      public T setAdditionalCamerasAllowPlanarConfiguration(boolean allowPlanarConfiguration)
      Specifies whether planar configuration is allowed for additional cameras estimation using either EPnP or UPnP.
      Parameters:
      allowPlanarConfiguration - true if planar configuration is allowed, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasAllowNullspaceDimension2

      public boolean getAdditionalCamerasAllowNullspaceDimension2()
      Indicates whether dimension 2 null-space is allowed while estimating additional cameras using either EPnP or UPnP.
      Returns:
      true if dimension 2 null-space is allowed while estimating additional cameras, false otherwise.
    • setAdditionalCamerasAllowNullspaceDimension2

      public T setAdditionalCamerasAllowNullspaceDimension2(boolean allowNullspaceDimension2)
      Specifies whether dimension 2 null-space is allowed while estimating additional cameras using either EPnP or UPnP.
      Parameters:
      allowNullspaceDimension2 - true if dimension 2 null-space is allowed while estimating additional cameras, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasAllowNullspaceDimension3

      public boolean getAdditionalCamerasAllowNullspaceDimension3()
      Indicates whether dimension 3 null-space is allowed while estimating additional cameras using EPnP.
      Returns:
      true if dimension 3 null-space is allowed while estimating additional cameras, false otherwise.
    • setAdditionalCamerasAllowNullspaceDimension3

      public T setAdditionalCamerasAllowNullspaceDimension3(boolean allowNullspaceDimension3)
      Specifies whether dimension 3 null-space is allowed while estimating additional cameras using either EPnP or UPnP.
      Parameters:
      allowNullspaceDimension3 - true if dimension 3 null-space is allowed while estimating additional cameras, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasPlanarThreshold

      public double getAdditionalCamerasPlanarThreshold()
      Gets threshold to determine whether 3D matched points to estimate additional cameras are in a planar configuration.
      Returns:
      threshold to determine whether 3D matched points to estimate additional cameras are in a planar configuration.
    • setAdditionalCamerasPlanarThreshold

      public T setAdditionalCamerasPlanarThreshold(double additionalCamerasPlanarThreshold)
      Specifies threshold to determine whether 3D matched points to estimate additional cameras are in a planar configuration.
      Parameters:
      additionalCamerasPlanarThreshold - threshold to determine whether 3D matched points to estimate additional cameras are in a planar configuration.
      Returns:
      this instance so that method can be easily chained.
    • areAdditionalCamerasRefined

      public boolean areAdditionalCamerasRefined()
      Indicates whether additional cameras are refined to minimize overall projection error among all found inliers.
      Returns:
      true if additional cameras are refined, false otherwise.
    • setAdditionalCamerasRefined

      public T setAdditionalCamerasRefined(boolean refineAdditionalCameras)
      Specifies whether additional cameras are refined to minimize overall projection error among all found inliers.
      Parameters:
      refineAdditionalCameras - true if additional cameras are refined, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • isAdditionalCamerasCovarianceKept

      public boolean isAdditionalCamerasCovarianceKept()
      Indicates whether covariance is kept after refining result of additional estimation of cameras.
      Returns:
      true if covariance is kept, false otherwise.
    • setAdditionalCamerasCovarianceKept

      public T setAdditionalCamerasCovarianceKept(boolean keepCovarianceAdditionalCameras)
      Specifies whether covariance is kept after refining result of additional estimation of cameras.
      Parameters:
      keepCovarianceAdditionalCameras - true if covariance is kept, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasUseFastRefinement

      public boolean getAdditionalCamerasUseFastRefinement()
      Gets value indicating whether fast refinement is used for additional estimation of cameras.
      Returns:
      true if fast refinement is used for additional cameras estimation, false otherwise.
    • setAdditionalCamerasUseFastRefinement

      public T setAdditionalCamerasUseFastRefinement(boolean additionalCamerasUseFastRefinement)
      Sets value indicating whether fast refinement is used for additional estimation of cameras.
      Parameters:
      additionalCamerasUseFastRefinement - true if fast refinement is used for additional cameras estimation, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasConfidence

      public double getAdditionalCamerasConfidence()
      Gets confidence of estimated additional cameras.
      Returns:
      confidence of estimated additional cameras.
    • setAdditionalCamerasConfidence

      public T setAdditionalCamerasConfidence(double additionalCamerasConfidence)
      Sets confidence of estimated additional cameras.
      Parameters:
      additionalCamerasConfidence - confidence of estimated additional cameras.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasMaxIterations

      public int getAdditionalCamerasMaxIterations()
      Gets maximum allowed number of iterations for additional cameras estimation.
      Returns:
      maximum allowed number of iterations for additional cameras estimation.
    • setAdditionalCamerasMaxIterations

      public T setAdditionalCamerasMaxIterations(int additionalCamerasMaxIterations)
      Sets maximum allowed number of iterations for additional cameras estimation.
      Parameters:
      additionalCamerasMaxIterations - maximum allowed number of iterations for additional cameras estimation.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasThreshold

      public double getAdditionalCamerasThreshold()
      Gets threshold to determine whether samples for robust pinhole camera estimation are inliers or not.
      Returns:
      threshold to determine whether samples for robust pinhole camera estimation are inliers or not.
    • setAdditionalCamerasThreshold

      public T setAdditionalCamerasThreshold(double additionalCamerasThreshold)
      Sets threshold to determine whether samples for robust pinhole camera estimation are inliers or not.
      Parameters:
      additionalCamerasThreshold - threshold to determine whether samples for robust pinhole camera estimation are inliers or not.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasComputeAndKeepInliers

      public boolean getAdditionalCamerasComputeAndKeepInliers()
      Indicates whether inliers must be kept during additional camera estimation.
      Returns:
      true if inliers must be kept during additional camera estimation, false otherwise.
    • setAdditionalCamerasComputeAndKeepInliers

      public T setAdditionalCamerasComputeAndKeepInliers(boolean additionalCamerasComputeAndKeepInliers)
      Specifies whether inliers must be kept during additional camera estimation.
      Parameters:
      additionalCamerasComputeAndKeepInliers - true if inliers must be kept during additional camera estimation, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasComputeAndKeepResiduals

      public boolean getAdditionalCamerasComputeAndKeepResiduals()
      Indicates whether residuals must be computed and kept during additional camera estimation.
      Returns:
      true if residuals must be computed and kept, false otherwise.
    • setAdditionalCamerasComputeAndKeepResiduals

      public T setAdditionalCamerasComputeAndKeepResiduals(boolean additionalCamerasComputeAndKeepResiduals)
      Specifies whether residuals must be computed and kept during additional camera estimation.
      Parameters:
      additionalCamerasComputeAndKeepResiduals - true if residuals must be computed and kept, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • isAdditionalCamerasSuggestSkewnessValueEnabled

      public boolean isAdditionalCamerasSuggestSkewnessValueEnabled()
      Gets value indicating whether skewness is not suggested during additional estimation of cameras.
      Returns:
      true if skewness is suggested, false otherwise.
    • setAdditionalCamerasSuggestSkewnessValueEnabled

      public T setAdditionalCamerasSuggestSkewnessValueEnabled(boolean additionalCamerasSuggestSkewnessValueEnabled)
      Sets value indicating whether skewness is not suggested during additional estimation of cameras.
      Parameters:
      additionalCamerasSuggestSkewnessValueEnabled - true if skewness is suggested, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasSuggestedSkewnessValue

      public double getAdditionalCamerasSuggestedSkewnessValue()
      Gets value of skewness to be suggested when suggestion is enabled during additional estimation of cameras.
      Returns:
      value of skewness to be suggested when suggestion is enabled during additional estimation of cameras.
    • setAdditionalCamerasSuggestedSkewnessValue

      public T setAdditionalCamerasSuggestedSkewnessValue(double additionalCamerasSuggestedSkewnessValue)
      Sets value of skewness to be suggested when suggestion is enabled during additional estimation of cameras.
      Parameters:
      additionalCamerasSuggestedSkewnessValue - value of skewness to be suggested when suggestion is enabled during additional estimation of cameras.
      Returns:
      this instance so that method can be easily chained.
    • isAdditionalCamerasSuggestHorizontalFocalLengthEnabled

      public boolean isAdditionalCamerasSuggestHorizontalFocalLengthEnabled()
      Indicates whether horizontal focal length value is suggested or not during additional estimation of cameras.
      Returns:
      true if horizontal focal length value is suggested, false otherwise.
    • setAdditionalCamerasSuggestHorizontalFocalLengthEnabled

      public T setAdditionalCamerasSuggestHorizontalFocalLengthEnabled(boolean additionalCamerasSuggestHorizontalFocalLengthEnabled)
      Specifies whether horizontal focal length value is suggested or not during additional estimation of cameras.
      Parameters:
      additionalCamerasSuggestHorizontalFocalLengthEnabled - true if horizontal focal length value is suggested, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasSuggestedHorizontalFocalLengthValue

      public double getAdditionalCamerasSuggestedHorizontalFocalLengthValue()
      Gets value of suggested horizontal focal length during additional estimation of cameras.
      Returns:
      value of suggested horizontal focal length during additional estimation of cameras.
    • setAdditionalCamerasSuggestedHorizontalFocalLengthValue

      public T setAdditionalCamerasSuggestedHorizontalFocalLengthValue(double additionalCamerasSuggestedHorizontalFocalLengthValue)
      Sets value of suggested horizontal focal length during additional estimation of cameras.
      Parameters:
      additionalCamerasSuggestedHorizontalFocalLengthValue - value of suggested horizontal focal length during additional estimation of cameras.
      Returns:
      this instance so that method can be easily chained.
    • isAdditionalCamerasSuggestVerticalFocalLengthEnabled

      public boolean isAdditionalCamerasSuggestVerticalFocalLengthEnabled()
      Gets value indicating whether vertical focal length value is suggested or not during additional estimation of cameras.
      Returns:
      true if vertical focal length value is suggested, false otherwise.
    • setAdditionalCamerasSuggestVerticalFocalLengthEnabled

      public T setAdditionalCamerasSuggestVerticalFocalLengthEnabled(boolean additionalCamerasSuggestVerticalFocalLengthEnabled)
      Sets value indicating whether vertical focal length value is suggested or not during additional estimation of cameras.
      Parameters:
      additionalCamerasSuggestVerticalFocalLengthEnabled - true if vertical focal length is suggested, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasSuggestedVerticalFocalLengthValue

      public double getAdditionalCamerasSuggestedVerticalFocalLengthValue()
      Gets value of suggested vertical focal length during additional estimation of cameras.
      Returns:
      value of suggested vertical focal length during additional estimation of cameras.
    • setAdditionalCamerasSuggestedVerticalFocalLengthValue

      public T setAdditionalCamerasSuggestedVerticalFocalLengthValue(double additionalCamerasSuggestedVerticalFocalLengthValue)
      Sets value of suggested vertical focal length during additional estimation of cameras.
      Parameters:
      additionalCamerasSuggestedVerticalFocalLengthValue - value of suggested vertical focal length during additional estimation of cameras.
      Returns:
      this instance so that method can be easily chained.
    • isAdditionalCamerasSuggestAspectRatioEnabled

      public boolean isAdditionalCamerasSuggestAspectRatioEnabled()
      Gets value indicating whether aspect ratio is suggested or not during additional estimation of cameras.
      Returns:
      true if aspect ratio is suggested, false otherwise.
    • setAdditionalCamerasSuggestAspectRatioEnabled

      public T setAdditionalCamerasSuggestAspectRatioEnabled(boolean additionalCamerasSuggestAspectRatioEnabled)
      Sets value indicating whether aspect ratio is suggested or not during additional estimation of cameras.
      Parameters:
      additionalCamerasSuggestAspectRatioEnabled - true if aspect ratio is suggested, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasSuggestedAspectRatioValue

      public double getAdditionalCamerasSuggestedAspectRatioValue()
      Gets value of aspect ratio to be suggested when suggestion is enabled during additional estimation of cameras.
      Returns:
      value of aspect ratio to be suggested.
    • setAdditionalCamerasSuggestedAspectRatioValue

      public T setAdditionalCamerasSuggestedAspectRatioValue(double additionalCamerasSuggestedAspectRatioValue)
      Sets value of aspect ratio to be suggested when suggestion is enabled during additional estimation of cameras.
      Parameters:
      additionalCamerasSuggestedAspectRatioValue - value of aspect ratio to be suggested.
      Returns:
      this instance so that method can be easily chained.
    • isAdditionalCamerasSuggestPrincipalPointEnabled

      public boolean isAdditionalCamerasSuggestPrincipalPointEnabled()
      Gets value indicating whether principal point is suggested or not during additional estimation of cameras.
      Returns:
      true if principal point is suggested, false otherwise.
    • setAdditionalCamerasSuggestPrincipalPointEnabled

      public T setAdditionalCamerasSuggestPrincipalPointEnabled(boolean additionalCamerasSuggestPrincipalPointEnabled)
      Sets value indicating whether principal point is suggested or not during additional estimation of cameras.
      Parameters:
      additionalCamerasSuggestPrincipalPointEnabled - true if principal point is suggested, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getAdditionalCamerasSuggestedPrincipalPointValue

      public com.irurueta.geometry.InhomogeneousPoint2D getAdditionalCamerasSuggestedPrincipalPointValue()
      Gets value of principal point to be suggested when suggestion is enabled during additional estimation of cameras.
      Returns:
      principal point to be suggested.
    • setAdditionalCamerasSuggestedPrincipalPointValue

      public T setAdditionalCamerasSuggestedPrincipalPointValue(com.irurueta.geometry.InhomogeneousPoint2D additionalCamerasSuggestedPrincipalPointValue)
      Sets value of principal point to be suggested when suggestion is enabled during additional estimation of cameras.
      Parameters:
      additionalCamerasSuggestedPrincipalPointValue - principal point to be suggested.
      Returns:
      this instance so that method can be easily chained.
    • isHomogeneousPointTriangulatorUsed

      public boolean isHomogeneousPointTriangulatorUsed()
      Indicates whether homogeneous point triangulator must be used or not to estimate 3D points when only two matches are available.
      Returns:
      true if homogeneous point triangulator must be used, false otherwise.
    • setHomogeneousPointTriangulatorUsed

      public T setHomogeneousPointTriangulatorUsed(boolean useHomogeneousPointTriangulator)
      Specifies whether homogeneous point triangulator must be used or not to estimate 3D points when only two matches are available.
      Parameters:
      useHomogeneousPointTriangulator - true if homogeneous point triangulator must be used, false otherwise.
      Returns:
      this instance so that method can be easily chained.
    • getRobustPointTriangulatorMethod

      public com.irurueta.numerical.robust.RobustEstimatorMethod getRobustPointTriangulatorMethod()
      Gets robust method for point triangulation when points are matched in more than two views.
      Returns:
      robust method for point triangulation.
    • setRobustPointTriangulatorMethod

      public T setRobustPointTriangulatorMethod(com.irurueta.numerical.robust.RobustEstimatorMethod robustPointTriangulatorMethod)
      Sets robust method for point triangulation when points are matched in more than two views.
      Parameters:
      robustPointTriangulatorMethod - robust method for point triangulation.
      Returns:
      this instance so that method can be easily chained.
    • getPointTriangulatorConfidence

      public double getPointTriangulatorConfidence()
      Gets confidence of robustly triangulated points. By default, this is 99%.
      Returns:
      confidence of robustly triangulated points.
    • setPointTriangulatorConfidence

      public T setPointTriangulatorConfidence(double pointTriangulatorConfidence)
      Sets confidence of robustly triangulated points. By default, this is 99%.
      Parameters:
      pointTriangulatorConfidence - confidence of robustly triangulated points.
      Returns:
      this instance so that method can be easily chained.
    • getPointTriangulatorMaxIterations

      public int getPointTriangulatorMaxIterations()
      Gets maximum number of iterations to make while robustly estimating triangulated points. By default, this is 5000 iterations.
      Returns:
      maximum number of iterations to make while robustly estimating triangulated points.
    • setPointTriangulatorMaxIterations

      public T setPointTriangulatorMaxIterations(int pointTriangulatorMaxIterations)
      Sets maximum number of iterations to make while robustly estimating triangulated points. By default, this is 5000 iterations.
      Parameters:
      pointTriangulatorMaxIterations - maximum number of iterations to make while robustly estimating triangulated points.
      Returns:
      this instance so that method can be easily chained.
    • getPointTriangulatorThreshold

      public double getPointTriangulatorThreshold()
      Gets threshold to determine whether samples for robust point triangulator are inliers or not.
      Returns:
      threshold to determine whether samples for robust point triangulator are inliers or not.
    • setPointTriangulatorThreshold

      public T setPointTriangulatorThreshold(double pointTriangulatorThreshold)
      Sets threshold to determine whether samples for robust point triangulator are inliers or not.
      Parameters:
      pointTriangulatorThreshold - threshold to determine whether samples for robust point triangulator are inliers or not.
      Returns:
      this instance so that method can be easily chained.