Source code for holypipette.gui.paramecium_device2

'''
Simplified Paramecium device GUI

GUI for Paramecium electrophysiology, with the immobilization device
'''
from __future__ import absolute_import

from PyQt5.QtCore import Qt
from holypipette.gui.manipulator import ManipulatorGui
from holypipette.interface.paramecium_device import ParameciumDeviceSimplifiedInterface

#################################################
# Paramecium experiment with the device method #
#################################################
[docs]class ParameciumDeviceGui(ManipulatorGui): def __init__(self, stage, microscope, camera, units, config_filename='paramecium_device.cfg'): super(ParameciumDeviceGui, self).__init__(camera, pipette_interface=ParameciumDeviceSimplifiedInterface(stage, microscope, camera, units, config_filename=config_filename)) self.display_edit_funcs.append(self.display_timer) self.setWindowTitle("Paramecium device") self.add_config_gui(self.interface.config)
[docs] def register_commands(self): # We have all the commands of the pipettes interface super(ParameciumDeviceGui, self).register_commands(manipulator_keys = False) #self.register_mouse_action(Qt.LeftButton, Qt.ShiftModifier, # self.interface.move_pipette_floor) # move to floor level, x axis last #self.register_mouse_action(Qt.LeftButton, Qt.ControlModifier, # self.interface.move_pipette_working_level) # move above clicked position self.register_key_action(Qt.Key_Space, None, self.interface.move_pipette_down) # move to impalement level self.register_key_action(Qt.Key_0, None, self.interface.reset_timer) self.register_key_action(Qt.Key_Less, None, self.interface.focus_working_level) self.register_key_action(Qt.Key_Greater, None, self.interface.focus_calibration_level) #self.register_key_action(Qt.Key_At, None, # self.interface.set_center) #self.register_key_action(Qt.Key_Home, None, # self.interface.move_to_center) self.register_key_action(Qt.Key_Space, Qt.ControlModifier, self.interface.move_pipette_in) self.register_key_action(Qt.Key_W, None, self.interface.partial_withdraw) self.register_key_action(Qt.Key_Space, Qt.ShiftModifier, self.interface.move_pipette_until_drop) self.register_key_action(Qt.Key_Asterisk, None, self.interface.autocenter)
if __name__ == '__main__': import sys from PyQt5 import QtWidgets from holypipette.log_utils import console_logger from setup_script import * console_logger() # Log to the standard console as well app = QtWidgets.QApplication(sys.argv) gui = ParameciumDeviceGui(stage, microscope, camera, units, config_filename='paramecium_device.cfg') gui.initialize() gui.show() ret = app.exec_() sys.exit(ret)