Open jni opened 13 years ago
This tree can be equivalently represented as a list of (max_merge_priority, n1, n2) tuples, representing the height at which two nodes are merged.
Currently, a node resulting from two merged nodes arbitrarily takes the ID of the first node in the tuple. It may help to reconstruct the agglomeration tree if a new unique ID is generated for the "supernodes".
But, if the list above is sorted, the tree can be constructed easily with a minimal amount of bookkeeping.
An agglomeration can be represented as a forest structure (single tree if the agglomeration proceeds to completion) in which each leaf is a superpixel, and inner nodes are the products of agglomerating two child nodes. If agglo.Rag maintains this structure, it will be relatively easy to backtrack and undo merging.