public class MergeGraph extends Object
It potentially allows merges between neighboring vertices.
Each vertex has a payload (double) value associated with it, that is a function of the object-mask.
Constructor and Description |
---|
MergeGraph(PayloadCalculator payloadCalculator,
UpdatableBeforeCondition beforeCondition,
Optional<UnitConverter> unitConverter,
AssignPriority prioritizer,
Logger logger,
boolean logPayload)
Constructor
|
Modifier and Type | Method and Description |
---|---|
List<ObjectVertex> |
addObjectsToGraph(ObjectCollection objects) |
TypedEdge<ObjectVertex,PrioritisedVertex> |
findMaxPriority() |
void |
logGraphDescription() |
ObjectVertex |
merge(TypedEdge<ObjectVertex,PrioritisedVertex> bestImprovement) |
ObjectCollection |
verticesAsObjects() |
public MergeGraph(PayloadCalculator payloadCalculator, UpdatableBeforeCondition beforeCondition, Optional<UnitConverter> unitConverter, AssignPriority prioritizer, Logger logger, boolean logPayload)
payloadCalculator
- means to calculate a payload for any objectbeforeCondition
- unitConverter
- converts units from voxels to physical measurements and vice-versaprioritizer
- means to assign priority to the merge of any two objectslogPayload
- whether to include the payload in logging messagespublic List<ObjectVertex> addObjectsToGraph(ObjectCollection objects) throws OperationFailedException
OperationFailedException
public ObjectVertex merge(TypedEdge<ObjectVertex,PrioritisedVertex> bestImprovement) throws OperationFailedException
OperationFailedException
public TypedEdge<ObjectVertex,PrioritisedVertex> findMaxPriority()
public void logGraphDescription()
public ObjectCollection verticesAsObjects()
Copyright © 2010–2023 Owen Feehan, ETH Zurich, University of Zurich, Hoffmann-La Roche. All rights reserved.