Package com.irurueta.numerical.robust
Class RobustEstimator<T>
java.lang.Object
com.irurueta.numerical.robust.RobustEstimator<T>
- Type Parameters:
- T- Object to be estimated (i.e. lines, cameras, etc)
- Direct Known Subclasses:
- LMedSRobustEstimator,- MSACRobustEstimator,- PROMedSRobustEstimator,- PROSACRobustEstimator,- RANSACRobustEstimator
Robust estimator to estimate some object in a robust manner
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final floatDefault amount of progress variation before notifying a change in estimation progress.protected RobustEstimatorListener<T>Listener to be notified of events such as when estimation starts, ends or its progress significantly changes.protected booleanIndicates if this estimator is locked because an estimation is being computed.static final floatMaximum allowed value for progress delta.static final floatMinimum allowed value for progress deltaprotected floatAmount of progress variation before notifying a progress change during estimation.
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedConstructor.protectedRobustEstimator(RobustEstimatorListener<T> listener) Constructor.
- 
Method SummaryModifier and TypeMethodDescriptionabstract Testimate()Robustly estimates an instance of T.abstract InliersDataReturns data about inliers once estimation has been done.Returns reference to listener to be notified of events such as when estimation starts, ends or its progress significantly changes.abstract RobustEstimatorMethodReturns method being used for robust estimation.floatReturns amount of progress variation before notifying a progress change during estimation.booleanIndicates whether listener has been provided and is available for retrieval.booleanisLocked()Indicates if this instance is locked because estimation is being computed.booleanisReady()Indicates if estimator is ready to start the estimation process.voidsetListener(RobustEstimatorListener<T> listener) Sets listener to be notified of events such as when estimation starts, ends or its progress significantly changes.voidsetProgressDelta(float progressDelta) Sets amount of progress variation before notifying a progress change during estimation.
- 
Field Details- 
DEFAULT_PROGRESS_DELTApublic static final float DEFAULT_PROGRESS_DELTADefault amount of progress variation before notifying a change in estimation progress. By default, this is set to 5%- See Also:
 
- 
MIN_PROGRESS_DELTApublic static final float MIN_PROGRESS_DELTAMinimum allowed value for progress delta- See Also:
 
- 
MAX_PROGRESS_DELTApublic static final float MAX_PROGRESS_DELTAMaximum allowed value for progress delta.- See Also:
 
- 
listenerListener to be notified of events such as when estimation starts, ends or its progress significantly changes.
- 
lockedprotected volatile boolean lockedIndicates if this estimator is locked because an estimation is being computed.
- 
progressDeltaprotected float progressDeltaAmount of progress variation before notifying a progress change during estimation.
 
- 
- 
Constructor Details- 
RobustEstimatorprotected RobustEstimator()Constructor.
- 
RobustEstimatorConstructor.- Parameters:
- listener- listener to be notified of events such as when estimation starts, ends or its progress significantly changes.
 
 
- 
- 
Method Details- 
getListenerReturns reference to listener to be notified of events such as when estimation starts, ends or its progress significantly changes.- Returns:
- listener to be notified of events.
 
- 
setListenerSets listener to be notified of events such as when estimation starts, ends or its progress significantly changes.- Parameters:
- listener- listener to be notified of events.
- Throws:
- LockedException- if robust estimator is locked.
 
- 
isListenerAvailablepublic boolean isListenerAvailable()Indicates whether listener has been provided and is available for retrieval.- Returns:
- true if available, false otherwise.
 
- 
isLockedpublic boolean isLocked()Indicates if this instance is locked because estimation is being computed.- Returns:
- true if locked, false otherwise.
 
- 
getProgressDeltapublic float getProgressDelta()Returns amount of progress variation before notifying a progress change during estimation.- Returns:
- amount of progress variation before notifying a progress change during estimation.
 
- 
setProgressDeltaSets amount of progress variation before notifying a progress change during estimation.- Parameters:
- progressDelta- amount of progress variation before notifying a progress change during estimation.
- Throws:
- IllegalArgumentException- if progress delta is less than zero or greater than 1.
- LockedException- if this estimator is locked because an estimation is being computed.
 
- 
estimateRobustly estimates an instance of T.- Returns:
- estimated object.
- Throws:
- LockedException- if robust estimator is locked.
- NotReadyException- if provided input data is not enough to start the estimation.
- RobustEstimatorException- if estimation fails for any reason (i.e. numerical instability, no solution available, etc).
 
- 
getInliersDataReturns data about inliers once estimation has been done.- Returns:
- data about inliers or null if estimation has not been done.
 
- 
getMethodReturns method being used for robust estimation.- Returns:
- method being used for robust estimation.
 
- 
isReadypublic boolean isReady()Indicates if estimator is ready to start the estimation process.- Returns:
- true if ready, false otherwise.
 
 
-