Returns a list of seed points for isosurface extraction
            given a threshold value
            @ In, threshold, float, the isovalue for which we want to
                identify seed points for isosurface extraction

def get_seeds(self, threshold):
        """ Returns a list of seed points for isosurface extraction
            given a threshold value
            @ In, threshold, float, the isovalue for which we want to
                identify seed points for isosurface extraction
        """
        seeds = []
        for e1, e2 in self.superArcs:
            # Because we did some extra work in _process_tree, we can
            # safely assume e1 is lower than e2
            if self.Y[e1] <= threshold <= self.Y[e2]:
                if (e1, e2) in self.augmentedEdges:
                    # These should be sorted
                    edgeList = self.augmentedEdges[(e1, e2)]
                elif (e2, e1) in self.augmentedEdges:
                    e1, e2 = e2, e1
                    # These should be reverse sorted
                    edgeList = list(reversed(self.augmentedEdges[(e1, e2)]))
                else:
                    continue

                startNode = e1
                for endNode in edgeList + [e2]:
                    if self.Y[endNode] >= threshold:
                        # Stop when you find the first point above the
                        # threshold
                        break
                    startNode = endNode

                seeds.append(startNode)
                seeds.append(endNode)
        return seeds