Class DLTLinePlaneCorrespondencePinholeCameraRobustEstimator

Direct Known Subclasses:
LMedSDLTLinePlaneCorrespondencePinholeCameraRobustEstimator, MSACDLTLinePlaneCorrespondencePinholeCameraRobustEstimator, PROMedSDLTLinePlaneCorrespondencePinholeCameraRobustEstimator, PROSACDLTLinePlaneCorrespondencePinholeCameraRobustEstimator, RANSACDLTLinePlaneCorrespondencePinholeCameraRobustEstimator

public abstract class DLTLinePlaneCorrespondencePinholeCameraRobustEstimator extends LinePlaneCorrespondencePinholeCameraRobustEstimator
Base abstract class for algorithms to robustly find the best pinhole camera for collections of matched planes and lines using DLT algorithm. Implementations of this class should be able to detect and discard outliers in order to find the best solution.
  • Constructor Details

    • DLTLinePlaneCorrespondencePinholeCameraRobustEstimator

      protected DLTLinePlaneCorrespondencePinholeCameraRobustEstimator()
      Constructor.
    • DLTLinePlaneCorrespondencePinholeCameraRobustEstimator

      protected DLTLinePlaneCorrespondencePinholeCameraRobustEstimator(List<Plane> planes, List<Line2D> lines)
      Constructor with lists of matched planes and 2D lines to estimate a pinhole camera. Points and lines in the lists located at the same position are considered to be matched. Hence, both lists must have the same size, and their size must be greater or equal than MIN_NUMBER_OF_LINE_PLANE_CORRESPONDENCES (4 matches).
      Parameters:
      planes - list of planes used to estimate a pinhole camera.
      lines - list of corresponding projected 2D lines used to estimate a pinhole camera.
      Throws:
      IllegalArgumentException - if provided lists don't have the same size or their size is smaller than required minimum size (4 matches).
    • DLTLinePlaneCorrespondencePinholeCameraRobustEstimator

      protected DLTLinePlaneCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener)
      Constructor with listener.
      Parameters:
      listener - listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
    • DLTLinePlaneCorrespondencePinholeCameraRobustEstimator

      protected DLTLinePlaneCorrespondencePinholeCameraRobustEstimator(PinholeCameraRobustEstimatorListener listener, List<Plane> planes, List<Line2D> lines)
      Constructor with listener and lists of matched planes and 2D lines to estimate a pinhole camera. Points and lines in the lists located at the same position are considered to be matched. Hence, both lists must have the same size, and their size must be greater or equal than MIN_NUMBER_OF_LINE_PLANE_CORRESPONDENCES (4 matches).
      Parameters:
      listener - listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
      planes - list of planes used to estimate a pinhole camera.
      lines - list of corresponding projected 2D lines used to estimate a pinhole camera.
      Throws:
      IllegalArgumentException - if provided lists don't have the same size or their size is smaller than required minimum size (4 matches).
  • Method Details

    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided robust estimator method.
      Parameters:
      method - method of a robust estimator algorithm to estimate the best pinhole camera.
      Returns:
      an instance of a pinhole camera robust estimator.
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(List<Plane> planes, List<Line2D> lines, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided planes and lines and provided robust estimator method.
      Parameters:
      planes - list of 3D planes to estimate a pinhole camera.
      lines - list of corresponding projected 2D lines used to estimate a pinhole camera.
      method - method of a robust estimator algorithm to estimate the best pinhole camera.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided lists of planes and lines don't have the same size or their size is smaller than required minimum size (4 correspondences).
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided listener and robust estimator method.
      Parameters:
      listener - listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
      method - method of a robust estimator algorithm to estimate the best pinhole camera.
      Returns:
      an instance of a pinhole camera robust estimator.
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, List<Plane> planes, List<Line2D> lines, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided listener, planes and lines, and robust estimator method.
      Parameters:
      listener - listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
      planes - list of 3D planes to estimate a pinhole camera.
      lines - list of corresponding projected 2D lines used to estimate a pinhole camera.
      method - method of a robust estimator algorithm to estimate the best pinhole camera.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided lists of planes and lines don't have the same size or their size is smaller than required minimum size (4 correspondences).
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided quality scores and robust estimator method.
      Parameters:
      qualityScores - quality scores corresponding to each pair of matched planes/lines.
      method - method of a robust estimator algorithm to estimate the best pinhole camera.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided quality scores length is smaller than required minimum size (4 samples).
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(List<Plane> planes, List<Line2D> lines, double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided planes and lines, quality scores and provided robust estimator method.
      Parameters:
      planes - list of 3D planes to estimate a pinhole camera.
      lines - list of corresponding projected 2D lines used to estimate a pinhole camera.
      qualityScores - quality scores corresponding to each pair of matched planes/lines.
      method - method of a robust estimator algorithm to estimate the best pinhole camera.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided lists of planes and lines or quality scores don't have the same size of their size is smaller than required minimum size ($ correspondences).
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a pinhole camera robust estimator based on plane/list correspondences and using provided listener, quality scores and robust estimator method.
      Parameters:
      listener - listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
      qualityScores - quality scores corresponding to each pair of matched planes/lines.
      method - method of a robust estimator algorithm to estimate the best pinhole camera.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided quality scores don't have the required minimum size (4 samples).
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, List<Plane> planes, List<Line2D> lines, double[] qualityScores, com.irurueta.numerical.robust.RobustEstimatorMethod method)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided listener, planes and lines, and robust estimator method.
      Parameters:
      listener - listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
      planes - list of 3D planes to estimate a pinhole camera.
      lines - list of corresponding projected 2D lines used to estimate a pinhole camera.
      qualityScores - quality scores corresponding to each pair of matched planes/lines.
      method - method of a robust estimator algorithm to estimate the best pinhole camera.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided lists of planes and lines or quality scores don't have the same size or their size is smaller than required minimum size (4 correspondences).
    • create

      Creates a pinhole camera robust estimator based on plane/line correspondences and using default robust estimator method.
      Returns:
      an instance of a pinhole camera robust estimator.
    • create

      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided planes and lines and default robust estimator method.
      Parameters:
      planes - list of 3D planes to estimate a pinhole camera.
      lines - list of corresponding projected 2D lines used to estimate a pinhole camera.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided lists of planes and lines don't have the same size or their size is smaller than required minimum size (4 correspondences).
    • create

      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided listener and default estimator method.
      Parameters:
      listener - listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
      Returns:
      an instance of a pinhole camera robust estimator.
    • create

      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided listener, planes and lines, and default robust estimator method.
      Parameters:
      listener - listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
      planes - list of 3D planes to estimate a pinhole camera.
      lines - list of corresponding projected 2D lines used to estimate a pinhole camera.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided lists of planes and lines don't have the same size or their size is smaller than required minimum size (4 correspondences).
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(double[] qualityScores)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided quality scores and default robust estimator method.
      Parameters:
      qualityScores - quality scores corresponding to each pair of matched planes/lines.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided quality scores length is smaller than required minimum size (4 samples).
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(List<Plane> planes, List<Line2D> lines, double[] qualityScores)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided planes and lines, quality scores and default robust estimator method.
      Parameters:
      planes - list of 3D planes to estimate a pinhole camera.
      lines - list of corresponding projected 2D lines used to estimate a pinhole camera.
      qualityScores - quality scores corresponding to each pair of matched planes/lines.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided lists of planes and lines or quality scores don't have the same size or their size is smaller than required minimum size (4 correspondences).
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, double[] qualityScores)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided listener, quality scores and default robust estimator method.
      Parameters:
      listener - listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
      qualityScores - quality scores corresponding to each pair of matched planes/lines.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided quality scores don't have the required minimum size (4 samples).
    • create

      public static DLTLinePlaneCorrespondencePinholeCameraRobustEstimator create(PinholeCameraRobustEstimatorListener listener, List<Plane> planes, List<Line2D> lines, double[] qualityScores)
      Creates a pinhole camera robust estimator based on plane/line correspondences and using provided listener, planes and lines, and default robust estimator method.
      Parameters:
      listener - listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
      planes - list of 3D planes to estimate a pinhole camera.
      lines - list of corresponding projected 2D lines used to estimate a pinhole camera.
      qualityScores - quality scores corresponding to each pair of matched planes/lines.
      Returns:
      an instance of a pinhole camera robust estimator.
      Throws:
      IllegalArgumentException - if provided lists of planes and lines or quality scores don't have the same size or their size is smaller than required minimum size (4 correspondences).