def find_center()

in graspologic/layouts/nooverlap/_quad_node.py [0:0]


    def find_center(self) -> None:
        if len(self.nodes) <= 0:
            raise Exception("Invalid to create a quad node with zero nodes!")

        self.min_x, self.min_y, self.max_x, self.max_y, self.max_size = stats_nodes(
            self.nodes
        )
        self.circle_size = self.total_circle_size()
        self.square_size = self.total_square_size()
        tot_area = total_area(self.min_x, self.min_y, self.max_x, self.max_y)
        if tot_area == 0:
            tot_area = 0.001
        self.x, self.y = 0.0, 0.0
        self.total_cells = self.get_total_cells(
            self.min_x, self.min_y, self.max_x, self.max_y, self.max_size
        )
        if tot_area == 0:
            self.sq_ratio = 1.0
            self.cir_ratio = 1.0
        else:
            self.sq_ratio = self.square_size / tot_area
            self.cir_ratio = self.circle_size / tot_area

        # sum X and Y values then devide by number of nodes to get the average (x,y) or center
        for n in self.nodes:
            self.x += n.x
            self.y += n.y
        # need to fix x and y
        self.x = self.x / self.num_nodes()
        self.y = self.y / self.num_nodes()