Class MergeToIncreaseObjectFeature
- All Implemented Interfaces:
Provider<ObjectCollection>
Merges neighboring objects if it results in an increase in the average feature-value calculated
on each single object.
A merge occurs if feature(merged) >= avg( feature(object1), feature(object2).
These merges occur in order of the maximum increase offered, and the algorithm recursively merge until all possible merges are complete.
The feature-value is calculated for each object that is a vertex of the graph (including all prospective merges of neighbors).
- Author:
- Owen Feehan
-
Nested Class Summary
Nested classes/interfaces inherited from class org.anchoranalysis.plugin.image.bean.object.provider.merge.MergeBase
MergeBase.MergeObjects -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected PayloadCalculatorDetermines the payload for any given or potential vertex.protected AssignPriorityDetermines the priority (and selection criteria) used to allow merges between neighbors.protected booleanChecks if the payload is considered in making decisions.voidsetFeatureEvaluator(FeatureEvaluator<FeatureInputSingleObject> featureEvaluator) Methods inherited from class org.anchoranalysis.plugin.image.bean.object.provider.merge.MergeWithFeature
createFromObjects, isRequireBBoxNeighbors, isRequireTouching, setRequireBBoxNeighbors, setRequireTouchingMethods inherited from class org.anchoranalysis.plugin.image.bean.object.provider.merge.MergeWithOptionalDistanceConstraint
getMaxDistance, isSuppressZ, maybeDistanceCondition, setMaxDistance, setSuppressZMethods inherited from class org.anchoranalysis.plugin.image.bean.object.provider.merge.MergeBase
getDimensions, mergeMultiplex, resolutionRequired, setDimensions, unitConvertOptionalMethods inherited from class org.anchoranalysis.plugin.image.bean.object.provider.WithContainerBase
containerOptional, containerRequired, getObjectsContainer, setObjectsContainerMethods inherited from class org.anchoranalysis.image.bean.provider.ObjectCollectionProviderUnary
get, getObjects, setObjectsMethods inherited from class org.anchoranalysis.bean.initializable.InitializableBean
getInitialization, getLogger, getPropertyInitializer, initialize, initializeRecursive, initRecursiveWithInitializer, isInitialized, onInitializationMethods inherited from class org.anchoranalysis.bean.AnchorBean
checkMisconfigured, describeBean, describeChildren, duplicateBean, fields, findFieldsOfClass, getBeanName, getLocalPath, localise, toString
-
Constructor Details
-
MergeToIncreaseObjectFeature
public MergeToIncreaseObjectFeature()
-
-
Method Details
-
createPayloadCalculator
Description copied from class:MergeWithFeatureDetermines the payload for any given or potential vertex.- Specified by:
createPayloadCalculatorin classMergeWithFeature- Returns:
- a
PayloadCalculatorfor determining vertex payloads - Throws:
OperationFailedException- if the payload calculator cannot be created
-
createPrioritizer
Description copied from class:MergeWithFeatureDetermines the priority (and selection criteria) used to allow merges between neighbors.- Specified by:
createPrioritizerin classMergeWithFeature- Returns:
- an
AssignPriorityfor determining merge priorities - Throws:
OperationFailedException- if the prioritizer cannot be created
-
isPlayloadUsed
protected boolean isPlayloadUsed()Description copied from class:MergeWithFeatureChecks if the payload is considered in making decisions.- Specified by:
isPlayloadUsedin classMergeWithFeature- Returns:
- true if the payload is used, false if the payload of nodes is irrelevant
-
getFeatureEvaluator
-
setFeatureEvaluator
-