nion-software / nionswift-instrumentation-kit

Base classes for Nion Swift STEM microscope instrumentation
GNU General Public License v3.0
1 stars 12 forks source link

Internal: The start_playing method should take frame parameters object in addition to a dict #158

Closed cmeyer closed 1 year ago

cmeyer commented 1 year ago

Typical stack trace

Error: Traceback (most recent call last):
  File "C:\NionApps\Developer\master\nionswift\nion\swift\ScriptsDialog.py", line 720, in run_it
    exec(compiled, g)
  File "MeasureAberrationsWithShifts.py", line 1, in <module>
    """### This script measures the probe aberrations under different types of probe shifts.
  File "MeasureAberrationsWithShifts.py", line 136, in script_main
    result_list = shifted_aberrations(method, stem_controller.ronchigram_camera, tuning_controller)
  File "MeasureAberrationsWithShifts.py", line 104, in shifted_aberrations
    for shift in shifts_generator:
  File "MeasureAberrationsWithShifts.py", line 78, in scan_position_shift_method
    scan_controller.start_playing(frame_parameters=start_fp)
  File "C:\NionApps\Developer\master\nionswift-instrumentation-kit\nion\instrumentation\scan_base.py", line 1280, in start_playing
    frame_parameters = self.__settings.get_frame_parameters_from_dict(kwargs["frame_parameters"])
  File "C:\NionApps\Developer\master\nionswift-instrumentation-kit\nion\instrumentation\scan_base.py", line 1004, in get_frame_parameters_from_dict
    return self.__frame_parameters_factory(d)
  File "C:\NionApps\Developer\master\nion-instrumentation\nionswift_plugin\superscan\SuperScanImageSource.py", line 588, in <lambda>
    self.settings = scan_base.ScanSettings(scan_modes, lambda d: ScanFrameParameters(d), 0, 2, device.open_configuration_interface)
  File "C:\NionApps\Developer\master\nion-instrumentation\nionswift_plugin\superscan\SuperScanImageSource.py", line 48, in __init__
    super().__init__(*args, **kwargs)
  File "C:\NionApps\Developer\master\nionswift-instrumentation-kit\nion\instrumentation\scan_base.py", line 98, in __init__
    super().__init__(*args, **kwargs)
  File "C:\NionApps\Developer\master\nionswift-instrumentation-kit\nion\instrumentation\scan_base.py", line 53, in __init__
    assert not args or isinstance(args[0], dict)
AssertionError