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 PayloadCalculator
Determines the payload for any given or potential vertex.protected AssignPriority
Determines the priority (and selection criteria) used to allow merges between neighbors.protected boolean
Checks if the payload is considered in making decisions.void
setFeatureEvaluator
(FeatureEvaluator<FeatureInputSingleObject> featureEvaluator) Methods inherited from class org.anchoranalysis.plugin.image.bean.object.provider.merge.MergeWithFeature
createFromObjects, isRequireBBoxNeighbors, isRequireTouching, setRequireBBoxNeighbors, setRequireTouching
Methods inherited from class org.anchoranalysis.plugin.image.bean.object.provider.merge.MergeWithOptionalDistanceConstraint
getMaxDistance, isSuppressZ, maybeDistanceCondition, setMaxDistance, setSuppressZ
Methods inherited from class org.anchoranalysis.plugin.image.bean.object.provider.merge.MergeBase
getDimensions, mergeMultiplex, resolutionRequired, setDimensions, unitConvertOptional
Methods inherited from class org.anchoranalysis.plugin.image.bean.object.provider.WithContainerBase
containerOptional, containerRequired, getObjectsContainer, setObjectsContainer
Methods inherited from class org.anchoranalysis.image.bean.provider.ObjectCollectionProviderUnary
get, getObjects, setObjects
Methods inherited from class org.anchoranalysis.bean.initializable.InitializableBean
getInitialization, getLogger, getPropertyInitializer, initialize, initializeRecursive, initRecursiveWithInitializer, isInitialized, onInitialization
Methods 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:MergeWithFeature
Determines the payload for any given or potential vertex.- Specified by:
createPayloadCalculator
in classMergeWithFeature
- Returns:
- a
PayloadCalculator
for determining vertex payloads - Throws:
OperationFailedException
- if the payload calculator cannot be created
-
createPrioritizer
Description copied from class:MergeWithFeature
Determines the priority (and selection criteria) used to allow merges between neighbors.- Specified by:
createPrioritizer
in classMergeWithFeature
- Returns:
- an
AssignPriority
for determining merge priorities - Throws:
OperationFailedException
- if the prioritizer cannot be created
-
isPlayloadUsed
protected boolean isPlayloadUsed()Description copied from class:MergeWithFeature
Checks if the payload is considered in making decisions.- Specified by:
isPlayloadUsed
in classMergeWithFeature
- Returns:
- true if the payload is used, false if the payload of nodes is irrelevant
-
getFeatureEvaluator
-
setFeatureEvaluator
-