Esempio n. 1
0
    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)
Esempio n. 2
0
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]