Пример #1
0
 def setup_camera_hardware_source(
         self, stem_controller: stem_controller.STEMController,
         camera_exposure: float,
         is_eels: bool) -> HardwareSource.HardwareSource:
     instrument = typing.cast(InstrumentDevice.Instrument, stem_controller)
     camera_id = "usim_ronchigram_camera" if not is_eels else "usim_eels_camera"
     camera_type = "ronchigram" if not is_eels else "eels"
     camera_name = "uSim Camera"
     camera_settings = CameraDevice.CameraSettings(camera_id)
     camera_device = CameraDevice.Camera(camera_id, camera_type,
                                         camera_name, instrument)
     if getattr(camera_device, "camera_version", 2) == 3:
         camera_hardware_source = camera_base.CameraHardwareSource3(
             "usim_stem_controller", camera_device, camera_settings, None,
             None)
     else:
         camera_hardware_source = camera_base.CameraHardwareSource2(
             "usim_stem_controller", camera_device, camera_settings, None,
             None)
     if is_eels:
         camera_hardware_source.features["is_eels_camera"] = True
         camera_hardware_source.add_channel_processor(
             0,
             HardwareSource.SumProcessor(
                 Geometry.FloatRect(Geometry.FloatPoint(0.25, 0.0),
                                    Geometry.FloatSize(0.5, 1.0))))
     camera_hardware_source.set_frame_parameters(
         0,
         camera_base.CameraFrameParameters({
             "exposure_ms": camera_exposure * 1000,
             "binning": 2
         }))
     camera_hardware_source.set_frame_parameters(
         1,
         camera_base.CameraFrameParameters({
             "exposure_ms": camera_exposure * 1000,
             "binning": 2
         }))
     camera_hardware_source.set_frame_parameters(
         2,
         camera_base.CameraFrameParameters({
             "exposure_ms":
             camera_exposure * 1000 * 2,
             "binning":
             1
         }))
     camera_hardware_source.set_selected_profile_index(0)
     return camera_hardware_source
Пример #2
0
def rectangle_from_origin_size(origin: Core.NormPointType, size: Core.NormSizeType) -> Core.NormRectangleType:
    return typing.cast(Core.NormRectangleType, tuple(Geometry.FloatRect(origin, size)))