Package com.irurueta.ar.sfm
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 Summary
Modifier and TypeMethodDescriptionboolean
hasMoreViewsAvailable
(R reconstructor) Called to determine whether there are more views available to attempt to use for the reconstruction.void
Called when reconstruction is cancelled before it has finished.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).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).void
Called when reconstruction fails.void
Called when reconstruction stops.void
onFundamentalMatrixEstimated
(R reconstructor, int viewId1, int viewId2, EstimatedFundamentalMatrix estimatedFundamentalMatrix) Called when a fundamental matrix relating a pair of views has been estimated.com.irurueta.geometry.PinholeCameraIntrinsicParameters
onIntrinsicParametersRequested
(R reconstructor, int viewId) Called when intrinsic parameters are requested for a given view.void
onRequestMatches
(R reconstructor, int viewId1, int viewId2, List<Sample2D> samples1, List<Sample2D> samples2, List<MatchedSamples> matches) Finds matches for provided samples.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.void
onSamplesAccepted
(R reconstructor, int viewId1, int viewId2, List<Sample2D> samples1, List<Sample2D> samples2) Called when requested samples have been accepted.void
onSamplesRejected
(R reconstructor, int viewId1, int viewId2, List<Sample2D> samples1, List<Sample2D> samples2) Called when requested samples have been rejected.void
Called when reconstruction starts.
-
Method Details
-
hasMoreViewsAvailable
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
Called when reconstruction starts.- Parameters:
reconstructor
- re-constructor raising this event.
-
onFinish
Called when reconstruction stops.- Parameters:
reconstructor
- re-constructor raising this event.
-
onCancel
Called when reconstruction is cancelled before it has finished.- Parameters:
reconstructor
- re-constructor raising this event.
-
onFail
Called when reconstruction fails.- Parameters:
reconstructor
- re-constructor raising this event.
-