Package boofcv.abst.feature.associate
Class EnforceUniqueByScore<Desc,A extends Associate<Desc>>
java.lang.Object
boofcv.abst.feature.associate.EnforceUniqueByScore<Desc,A>
- All Implemented Interfaces:
Associate<Desc>
- Direct Known Subclasses:
EnforceUniqueByScore.Describe,EnforceUniqueByScore.Describe2D
public class EnforceUniqueByScore<Desc,A extends Associate<Desc>>
extends Object
implements Associate<Desc>
Ensures that the source and/or destination features are uniquely associated by resolving ambiguity using association score and preferring matches with better scores.
NOTE: Unassociated matches are recomputed from scratch. It could potentially add to the list created by the original algorithm for a bit more efficiency.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classImplementation ofEnforceUniqueByScoreforAssociateDescription.static classImplementation ofEnforceUniqueByScoreforAssociateDescription2D. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Aprotected intprotected intprotected FindUnassociatedprotected AssociateUniqueByScoreAlg -
Constructor Summary
ConstructorsConstructorDescriptionEnforceUniqueByScore(A association, boolean checkSource, boolean checkDestination) Configures the algorithm to ensure source and/or destination features are unique. -
Method Summary
Modifier and TypeMethodDescriptionvoidFinds the best match for each item in the source list with an item in the destination list.Returns the type of object it can associateList of associated features.Specifies the type of score which is returned.Indexes of features in the destination set which are not associated.Indexes of features in the source set which are not associated.voidsetMaxScoreThreshold(double score) Associations are only considered if their score is less than or equal to the specified threshold.booleanIf at most one match is returned for each destination feature.booleanIf at most one match is returned for each source feature.
-
Field Details
-
uniqueByScore
-
association
-
unassociated
-
numSource
protected int numSource -
numDestination
protected int numDestination
-
-
Constructor Details
-
EnforceUniqueByScore
Configures the algorithm to ensure source and/or destination features are unique. The uniqueness of the input algorithm is checked and if it is already unique it that processing step will be skipped.- Parameters:
association- The association algorithm which is being wrappedcheckSource- Should source features be uniquecheckDestination- Should destination features be unique
-
-
Method Details
-
associate
public void associate()Description copied from interface:AssociateFinds the best match for each item in the source list with an item in the destination list. -
getMatches
Description copied from interface:AssociateList of associated features. Indexes refer to the index inside the input lists.- Specified by:
getMatchesin interfaceAssociate<Desc>- Returns:
- List of associated features.
-
getUnassociatedSource
Description copied from interface:AssociateIndexes of features in the source set which are not associated. WARNING: In some implementations the unassociated list is recomputed each time this function is invoked. In other implementations it was found virtually for free while the matches are found.- Specified by:
getUnassociatedSourcein interfaceAssociate<Desc>- Returns:
- List of unassociated source features by index.
-
getUnassociatedDestination
Description copied from interface:AssociateIndexes of features in the destination set which are not associated. WARNING: In some implementations the unassociated list is recomputed each time this function is invoked. In other implementations it was found virtually for free while the matches are found.- Specified by:
getUnassociatedDestinationin interfaceAssociate<Desc>- Returns:
- List of unassociated destination features by index.
-
setMaxScoreThreshold
public void setMaxScoreThreshold(double score) Description copied from interface:AssociateAssociations are only considered if their score is less than or equal to the specified threshold. To remove any threshold test set this value to Double.MAX_VALUE- Specified by:
setMaxScoreThresholdin interfaceAssociate<Desc>- Parameters:
score- The threshold.
-
getScoreType
Description copied from interface:AssociateSpecifies the type of score which is returned.- Specified by:
getScoreTypein interfaceAssociate<Desc>- Returns:
- Type of association score.
-
uniqueSource
public boolean uniqueSource()Description copied from interface:AssociateIf at most one match is returned for each source feature.- Specified by:
uniqueSourcein interfaceAssociate<Desc>- Returns:
- true for unique source association
-
uniqueDestination
public boolean uniqueDestination()Description copied from interface:AssociateIf at most one match is returned for each destination feature.- Specified by:
uniqueDestinationin interfaceAssociate<Desc>- Returns:
- true for unique destination association
-
getDescriptionType
Description copied from interface:AssociateReturns the type of object it can associate- Specified by:
getDescriptionTypein interfaceAssociate<Desc>
-