Commit ad8fd54c authored by Joe Knapper's avatar Joe Knapper
Browse files

Added a spiral scan option

parent 2bfb9884
Loading
Loading
Loading
Loading
Loading
+30 −13
Original line number Diff line number Diff line
@@ -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