from helix.models.subarray import Subarray def get_subarray_sizes_and_rows(panels): subarrays = [] last_subarray = None for index, panel in enumerate(panels): if last_subarray != panel.subarray: subarray = Subarray(subarray_number=panel.subarray, start_row=index, size=0) subarrays.append(subarray) last_subarray = panel.subarray subarrays[-1].size += 1 return subarrays def extract_subarray(panels, subarray_number): return [panel for panel in panels if panel.subarray == subarray_number]