Getting Dirty

Viz
This commit is contained in:
steffen-illium 2021-05-18 09:35:16 +02:00
parent 27f5abad64
commit 7704a98dcc

View File

@ -147,12 +147,13 @@ class BaseFactory:
pos_x, pos_y = positions[0] # a.flatten()
return pos_x, pos_y
def free_cells(self, excluded_slices: Union[None, List, int] = None) -> np.ndarray:
def free_cells(self, excluded_slices: Union[None, List[int], int] = None) -> np.ndarray:
excluded_slices = excluded_slices or []
assert isinstance(excluded_slices, (int, list))
excluded_slices = excluded_slices if isinstance(excluded_slices, list) else [excluded_slices]
state = self.state
if excluded_slices:
# Todo: Is there a cleaner way?
inds = list(range(self.state.shape[0]))
@ -160,6 +161,7 @@ class BaseFactory:
state = self.state[[x for x in inds if x not in excluded_slices]]
free_cells = state.sum(0)
free_cells[excluded_slices] = 0
free_cells = np.argwhere(free_cells == h.IS_FREE_CELL)
np.random.shuffle(free_cells)
return free_cells