New scan workflow for snake scans, move next pos into scan baseclass
Update tests that were testing wrong method, update all to new select_nearby_focus_site
This commit is contained in:
parent
e59d5e82d8
commit
f230eef2dc
4 changed files with 260 additions and 166 deletions
|
|
@ -143,6 +143,8 @@ def test_smart_spiral_first_few_pos():
|
|||
# if we mark this position as visited, imaged, and focused
|
||||
planner.mark_location_visited(xyz_pos1, imaged=True, focused=True)
|
||||
|
||||
# current visited path is [[100, 50, 10]]
|
||||
|
||||
# scan is not complete
|
||||
assert not planner.scan_complete
|
||||
|
||||
|
|
@ -172,6 +174,8 @@ def test_smart_spiral_first_few_pos():
|
|||
# if we mark this position as visited, imaged, and NOT focused
|
||||
planner.mark_location_visited(xyz_pos2, imaged=True, focused=False)
|
||||
|
||||
# current visited path is [[100, 50, 10], [50, 50, 10]]
|
||||
|
||||
# Check this position remove from planned
|
||||
assert xy_pos2 not in planner.remaining_locations
|
||||
# Check original position not re-added
|
||||
|
|
@ -195,19 +199,22 @@ def test_smart_spiral_first_few_pos():
|
|||
assert z_pos3 is z_focus
|
||||
# Check that the closest focus site to pos3 is pos 1 as
|
||||
# pos 2 is not focussed
|
||||
assert planner.closest_focus_site(xy_pos3) == xyz_pos1
|
||||
assert planner.select_nearby_focus_site(xy_pos3) == xyz_pos1
|
||||
|
||||
new_z_focus = 20
|
||||
xyz_pos3 = (xy_pos3[0], xy_pos3[1], new_z_focus)
|
||||
# Finally check that if this is focused...
|
||||
planner.mark_location_visited(xyz_pos3, imaged=True, focused=True)
|
||||
# current visited path is [[100, 50, 10], [50, 50, 10], [50, 0, 20]]
|
||||
|
||||
# ... then the new 4th point ...
|
||||
xy_pos4, z_pos4 = planner.get_next_location_and_z_estimate()
|
||||
# ...(100, 0)...
|
||||
assert xy_pos4 == (100, 0)
|
||||
# ... and it should get its focus from the lowest neighbouring point
|
||||
# lowest neighbour to [100, 0] is [100, 50, 10]
|
||||
assert z_pos4 is z_focus
|
||||
assert planner.closest_focus_site(xy_pos4) == xyz_pos3
|
||||
assert planner.select_nearby_focus_site(xy_pos4) == xyz_pos1
|
||||
|
||||
|
||||
def test_smart_spiral_stops_on_max_dist():
|
||||
|
|
@ -265,20 +272,20 @@ def test_closest_focus_with_large_numbers():
|
|||
scan_planners.VisitedScanLocation((1000000, 0, 0), imaged=True, focused=True),
|
||||
scan_planners.VisitedScanLocation((0, 1000000, 0), imaged=True, focused=True),
|
||||
]
|
||||
assert planner.closest_focus_site((0, 0)) == (0, 1000000, 0)
|
||||
assert planner.select_nearby_focus_site((0, 0)) == (0, 1000000, 0)
|
||||
# Try similar
|
||||
planner._path_history = [
|
||||
scan_planners.VisitedScanLocation((1234567, 0, 0), imaged=True, focused=True),
|
||||
scan_planners.VisitedScanLocation((-1234567, 0, 0), imaged=True, focused=True),
|
||||
]
|
||||
assert planner.closest_focus_site((0, 0)) == (-1234567, 0, 0)
|
||||
assert planner.select_nearby_focus_site((0, 0)) == (-1234567, 0, 0)
|
||||
|
||||
# Make the first point 1 step closer
|
||||
planner._path_history = [
|
||||
scan_planners.VisitedScanLocation((1234566, 0, 0), imaged=True, focused=True),
|
||||
scan_planners.VisitedScanLocation((-1234567, 0, 0), imaged=True, focused=True),
|
||||
]
|
||||
assert planner.closest_focus_site((0, 0)) == (1234566, 0, 0)
|
||||
assert planner.select_nearby_focus_site((0, 0)) == (1234566, 0, 0)
|
||||
|
||||
|
||||
def test_example_smart_spiral():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue