Loading openflexure_microscope/api/default_extensions/scan.py +30 −13 Original line number Diff line number Diff line Loading @@ -29,6 +29,23 @@ def construct_grid(initial, step_sizes, n_steps, style="raster"): """ arr = [] if style == "spiral": # deal with the centre image immediately coord = initial arr.append(initial) # for spiral, n_steps is the number of shells, and so only requires n_steps[0] for i in range(2, n_steps[0]+1): arr.append([]) side_length = (2 * i) - 1 # iteratively generate the next location to append coord = [coord[ax] + [-1,1][ax] * step_sizes[ax] for ax in range(2)] for direction in ([1,0],[0,-1],[-1,0],[0,1]): for edge_images in range(side_length-1): coord = [coord[ax] + direction[ax] * step_sizes[ax] for ax in range(2)] arr[i-1].append(tuple(coord)) else: for i in range(n_steps[0]): # x axis arr.append([]) for j in range(n_steps[1]): # y axis Loading Loading
openflexure_microscope/api/default_extensions/scan.py +30 −13 Original line number Diff line number Diff line Loading @@ -29,6 +29,23 @@ def construct_grid(initial, step_sizes, n_steps, style="raster"): """ arr = [] if style == "spiral": # deal with the centre image immediately coord = initial arr.append(initial) # for spiral, n_steps is the number of shells, and so only requires n_steps[0] for i in range(2, n_steps[0]+1): arr.append([]) side_length = (2 * i) - 1 # iteratively generate the next location to append coord = [coord[ax] + [-1,1][ax] * step_sizes[ax] for ax in range(2)] for direction in ([1,0],[0,-1],[-1,0],[0,1]): for edge_images in range(side_length-1): coord = [coord[ax] + direction[ax] * step_sizes[ax] for ax in range(2)] arr[i-1].append(tuple(coord)) else: for i in range(n_steps[0]): # x axis arr.append([]) for j in range(n_steps[1]): # y axis Loading