def __init__(self, coord_map, linked_regions, eigen_val=None): self.coord_map = coord_map linked_regions.discard(self) self.linked_regions = linked_regions self.eigen = Eigen(self.coord_map, eigen_val)
class Region: def __init__(self, coord_map, linked_regions, eigen_val=None): self.coord_map = coord_map linked_regions.discard(self) self.linked_regions = linked_regions self.eigen = Eigen(self.coord_map, eigen_val) def __str__(self): return "{id: " + format(id(self), '#018X') + ", coord_map: " + str(len(self.coord_map)) + ", linked: " + str(len(self.linked_regions)) + \ ", eigen: " + str(self.get_eigen()) + "}" def merge(self, oth_region): return merge_two_regions(self, oth_region) def add_neighbor(self, region): if self is not region: self.linked_regions.add(region) def remove_neighbor(self, region): self.linked_regions.remove(region) def discard_neighbor(self, region): self.linked_regions.discard(region) def get_eigen(self): return self.eigen.get_eigen() def get_greeness(self): return self.get_eigen()[1] def get_hue(self): return self.get_eigen()[0] def get_saturation(self): return self.get_eigen()[1]