Interface BasePairedViewsSparseReconstructorListener<R extends BasePairedViewsSparseReconstructor<?,?,?>>

Type Parameters:
R - type of re-constructor.
All Known Subinterfaces:
AbsoluteOrientationConstantVelocityModelSlamPairedViewsSparseReconstructorListener, AbsoluteOrientationSlamPairedViewsSparseReconstructorListener, BaseSlamPairedViewsSparseReconstructorListener<R>, ConstantVelocityModelSlamPairedViewsSparseReconstructorListener, PairedViewsSparseReconstructorListener, SlamPairedViewsSparseReconstructorListener

public interface BasePairedViewsSparseReconstructorListener<R extends BasePairedViewsSparseReconstructor<?,?,?>>
Listener to retrieve and store required data to compute a 3D reconstruction from sparse image point correspondences in multiple views.
  • Method Details

    • hasMoreViewsAvailable

      boolean hasMoreViewsAvailable(R reconstructor)
      Called to determine whether there are more views available to attempt to use for the reconstruction.
      Parameters:
      reconstructor - reconstructor raising this event.
      Returns:
      true if there are more views available, false otherwise.
    • onRequestSamplesForCurrentViewPair

      void onRequestSamplesForCurrentViewPair(R reconstructor, int viewId1, int viewId2, List<Sample2D> samples1, List<Sample2D> samples2)
      Called when samples containing points of interest for current view must be retrieved.
      Parameters:
      reconstructor - re-constructor raising this event.
      viewId1 - id of 1st view where points will be used in current view pair.
      viewId2 - id of 2nd view where points will be used in current view pair.
      samples1 - samples containing points of interest for 1st view to test in current pair.
      samples2 - samples containing points of interest for 2nd view to test in current pair.
    • onSamplesAccepted

      void onSamplesAccepted(R reconstructor, int viewId1, int viewId2, List<Sample2D> samples1, List<Sample2D> samples2)
      Called when requested samples have been accepted. This method can be used to determine whether samples can be stored or not.
      Parameters:
      reconstructor - re-constructor raising this event.
      viewId1 - id of 1st view whose samples have been accepted in current view pair.
      viewId2 - id of 2nd view whose samples have been accepted in current view pair.
      samples1 - accepted samples on 1st view in current view pair.
      samples2 - accepted samples on 2nd view in current view pair.
    • onSamplesRejected

      void onSamplesRejected(R reconstructor, int viewId1, int viewId2, List<Sample2D> samples1, List<Sample2D> samples2)
      Called when requested samples have been rejected. This method can be used to remove provided samples.
      Parameters:
      reconstructor - re-constructor raising this event.
      viewId1 - id of 1st view whose samples have been rejected in current view pair.
      viewId2 - id of 2nd view whose samples have been rejected in current view pair.
      samples1 - rejected samples on 1st view in current view pair.
      samples2 - rejected samples on 2nd view in current view pair.
    • onRequestMatches

      void onRequestMatches(R reconstructor, int viewId1, int viewId2, List<Sample2D> samples1, List<Sample2D> samples2, List<MatchedSamples> matches)
      Finds matches for provided samples.
      Parameters:
      reconstructor - re-constructor raising this event.
      viewId1 - id of 1st view where points will be used in current view pair.
      viewId2 - id of 2nd view where points will be used in current view pair.
      samples1 - samples containing points of interest for 1st view to test in current pair.
      samples2 - samples containing points of interest for 2nd view to test in current pair.
      matches - instance where matches must be stored.
    • onFundamentalMatrixEstimated

      void onFundamentalMatrixEstimated(R reconstructor, int viewId1, int viewId2, EstimatedFundamentalMatrix estimatedFundamentalMatrix)
      Called when a fundamental matrix relating a pair of views has been estimated. This event can be used to store estimated fundamental matrix relating two views.
      Parameters:
      reconstructor - re-constructor raising this event.
      viewId1 - id of 1st view where points will be used in current view pair.
      viewId2 - id of 2nd view where points will be used in current view pair.
      estimatedFundamentalMatrix - estimated fundamental matrix.
    • onEuclideanCameraPairEstimated

      void onEuclideanCameraPairEstimated(R reconstructor, int viewId1, int viewId2, double scale, EstimatedCamera camera1, EstimatedCamera camera2)
      Called when cameras for provided matched pair of views have been estimated in an Euclidean stratum (up to certain translation and rotation). Implementations using SLAM techniques by mixing additional sensor data (i.e. gyroscope and accelerometer) to estimate scale of each view pair, might also have some inaccuracies in estimated scale.
      Parameters:
      reconstructor - re-constructor raising this event.
      viewId1 - id of previous view (i.e. 1st view).
      viewId2 - id of current view (i.e. 2nd view).
      scale - estimated scale. When using SLAM this is estimated up to a certain accuracy.
      camera1 - estimated Euclidean camera for previous view (i.e. 1st view).
      camera2 - estimated Euclidean camera for current view (i.e. 2nd view).
    • onEuclideanReconstructedPointsEstimated

      void onEuclideanReconstructedPointsEstimated(R reconstructor, int viewId1, int viewId2, double scale, List<ReconstructedPoint3D> points)
      Called when reconstructed points have been estimated from a series of 2D matches in a pair of views in an Euclidean stratum (up to certain translation and rotation).
      Parameters:
      reconstructor - re-constructor raising this event.
      viewId1 - id of previous view (i.e. 1st view).
      viewId2 - id of current view (i.e. 2nd view).
      scale - estimated scale. When using SLAM this is estimated up to a certain accuracy.
      points - reconstructed 3D points in Euclidean space.
    • onIntrinsicParametersRequested

      com.irurueta.geometry.PinholeCameraIntrinsicParameters onIntrinsicParametersRequested(R reconstructor, int viewId)
      Called when intrinsic parameters are requested for a given view. This is required if at configuration it was indicated that intrinsic parameters are known, so that essential matrix method can be used for scene reconstruction. If intrinsic parameters are unknown, DIAC or DAQ method will be attempted if possible.
      Parameters:
      reconstructor - re-constructor raising this event.
      viewId - id of view whose parameters are requested.
      Returns:
      intrinsic parameters if known, null otherwise.
    • onStart

      void onStart(R reconstructor)
      Called when reconstruction starts.
      Parameters:
      reconstructor - re-constructor raising this event.
    • onFinish

      void onFinish(R reconstructor)
      Called when reconstruction stops.
      Parameters:
      reconstructor - re-constructor raising this event.
    • onCancel

      void onCancel(R reconstructor)
      Called when reconstruction is cancelled before it has finished.
      Parameters:
      reconstructor - re-constructor raising this event.
    • onFail

      void onFail(R reconstructor)
      Called when reconstruction fails.
      Parameters:
      reconstructor - re-constructor raising this event.