20 lines
568 B
Python
20 lines
568 B
Python
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]
|