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()