本文整理汇总了Python中widgets.Qt4_data_path_widget.DataPathWidget.update_data_model方法的典型用法代码示例。如果您正苦于以下问题:Python DataPathWidget.update_data_model方法的具体用法?Python DataPathWidget.update_data_model怎么用?Python DataPathWidget.update_data_model使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类widgets.Qt4_data_path_widget.DataPathWidget
的用法示例。
在下文中一共展示了DataPathWidget.update_data_model方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DCParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
def _prefix_ledit_change(self, new_value):
prefix = self._data_collection.acquisitions[0].\
path_template.get_prefix()
self._data_collection.set_name(prefix)
self._tree_view_item.setText(0, self._data_collection.get_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self._data_collection.set_number(int(new_value))
self._tree_view_item.setText(0, self._data_collection.get_name())
def acq_parameters_changed(self):
if self._tree_view_item is None:
#TODO fix this
return
dc_tree_widget = self._tree_view_item.listView().parent()
dc_tree_widget.check_for_path_collisions()
path_template = self._data_collection.acquisitions[0].path_template
path_conflict = self.queue_model_hwobj.\
check_for_path_collisions(path_template)
if new_value != '':
if path_conflict:
logging.getLogger("user_level_log").\
error('The current path settings will overwrite data' +\
' from another task. Correct the problem before collecting')
widget.setPaletteBackgroundColor(widget_colors.LIGHT_RED)
else:
widget.setPaletteBackgroundColor(widget_colors.WHITE)
def __add_data_collection(self):
return self.add_dc_cb(self._data_collection, self.collection_type)
def mad_energy_selected(self, name, energy, state):
path_template = self._data_collection.acquisitions[0].path_template
if state:
path_template.mad_prefix = name
else:
path_template.mad_prefix = ''
run_number = self._beamline_setup_hwobj.queue_model_hwobj.\
get_next_run_number(path_template)
self._data_path_widget.set_run_number(run_number)
self._data_path_widget.set_prefix(path_template.base_prefix)
model = self._tree_view_item.get_model()
model.set_name(path_template.get_prefix())
self._tree_view_item.setText(0, model.get_name())
def tab_changed(self):
if self._tree_view_item:
self.populate_parameter_widget(self._tree_view_item)
def set_enabled(self, state):
self._acq_widget.setEnabled(state)
self._data_path_widget.setEnabled(state)
self._processing_widget.setEnabled(state)
def populate_widget(self, item):
data_collection = item.get_model()
self._tree_view_item = item
self._data_collection = data_collection
self._acquisition_mib = DataModelInputBinder(self._data_collection.\
acquisitions[0].acquisition_parameters)
# The acq_widget sends a signal to the path_widget, and it relies
# on that both models upto date, we need to refactor this part
# so that both models are set before taking ceratin actions.
# This workaround, works for the time beeing.
self._data_path_widget._data_model = data_collection.acquisitions[0].path_template
self._acq_widget.set_energies(data_collection.crystal.energy_scan_result)
self._acq_widget.update_data_model(data_collection.acquisitions[0].\
acquisition_parameters,
data_collection.acquisitions[0].\
path_template)
self._data_path_widget.update_data_model(data_collection.\
acquisitions[0].path_template)
self._processing_widget.update_data_model(data_collection.\
processing_parameters)
if data_collection.acquisitions[0].acquisition_parameters.\
centred_position.snapshot_image:
image = data_collection.acquisitions[0].\
acquisition_parameters.centred_position.snapshot_image
ration = image.height() / float(image.width())
image = image.scaled(400, 400 * ration, QtCore.Qt.KeepAspectRatio)
self.position_widget.svideo.setPixmap(QtGui.QPixmap(image))
invalid = self._acquisition_mib.validate_all()
if invalid:
msg = "This data collection has one or more incorrect parameters,"+\
" correct the fields marked in red to solve the problem."
logging.getLogger("user_level_log").\
warning(msg)
示例2: XRFScanParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
_parameters_widget_layout = QtGui.QVBoxLayout(_parameters_widget)
_parameters_widget_layout.addWidget(self.data_path_widget)
_parameters_widget_layout.addWidget(self.other_parameters_gbox)
_parameters_widget_layout.addStretch(0)
_parameters_widget_layout.setSpacing(2)
_parameters_widget_layout.setContentsMargins(0, 0, 0, 0)
_snapshots_vlayout = QtGui.QVBoxLayout(_snapshot_widget)
_snapshots_vlayout.addWidget(self.position_widget)
_snapshots_vlayout.setContentsMargins(0, 0, 0, 0)
_snapshots_vlayout.setSpacing(2)
_snapshots_vlayout.addStretch(0)
_top_widget_layout = QtGui.QHBoxLayout(_top_widget)
_top_widget_layout.addWidget(_parameters_widget)
_top_widget_layout.addWidget(_snapshot_widget)
_top_widget_layout.setSpacing(2)
_top_widget_layout.setContentsMargins(0, 0, 0, 0)
_main_vlayout = QtGui.QVBoxLayout(self)
_main_vlayout.addWidget(_top_widget)
_main_vlayout.addWidget(self.mca_spectrum_widget)
_main_vlayout.setSpacing(2)
_main_vlayout.setContentsMargins(0, 0, 0, 0)
# SizePolicies -------------------------------------------------------
self.position_widget.setFixedSize(457, 350)
self.mca_spectrum_widget.setSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Expanding)
_top_widget.setSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Fixed)
# Qt signal/slot connections ------------------------------------------
self.data_path_widget.data_path_layout.prefix_ledit.\
textChanged.connect(self._prefix_ledit_change)
self.data_path_widget.data_path_layout.run_number_ledit.\
textChanged.connect(self._run_number_ledit_change)
self.count_time_ledit.textChanged.connect(self._count_time_ledit_change)
# Other ---------------------------------------------------------------
Qt4_widget_colors.set_widget_color(self.other_parameters_gbox,
Qt4_widget_colors.GROUP_BOX_GRAY)
Qt4_widget_colors.set_widget_color(self.data_path_widget,
Qt4_widget_colors.GROUP_BOX_GRAY)
Qt4_widget_colors.set_widget_color(self.position_widget,
Qt4_widget_colors.GROUP_BOX_GRAY)
def _prefix_ledit_change(self, new_value):
self.xrf_scan_model.set_name(str(new_value))
self._tree_view_item.setText(0, self.xrf_scan_model.get_display_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self.xrf_scan_model.set_number(int(new_value))
self._tree_view_item.setText(0, self.xrf_scan_model.get_display_name())
def _count_time_ledit_change(self, new_value):
if str(new_value).isdigit():
self.xrf_scan_model.set_count_time(float(new_value))
def tab_changed(self):
if self._tree_view_item:
self.populate_widget(self._tree_view_item)
def populate_widget(self, item):
self._tree_view_item = item
self.xrf_scan_model = item.get_model()
executed = self.xrf_scan_model.is_executed()
self.data_path_widget.setEnabled(not executed)
self.other_parameters_gbox.setEnabled(not executed)
self.mca_spectrum_widget.setEnabled(executed)
if executed:
result = self.xrf_scan_model.get_scan_result()
self.mca_spectrum_widget.setData(result.mca_data, result.mca_calib, result.mca_config)
else:
self.mca_spectrum_widget.clear()
self.data_path_widget.update_data_model(self.xrf_scan_model.path_template)
self.count_time_ledit.setText(str(self.xrf_scan_model.count_time))
image = self.xrf_scan_model.centred_position.snapshot_image
if image is not None:
try:
image = image.scaled(427, 320, QtCore.Qt.KeepAspectRatio)
self.position_widget.svideo.setPixmap(QtGui.QPixmap(image))
except:
pass
def set_xrf_scan_hwobj(self, xrf_scan_hwobj):
self.xrf_scan_hwobj = xrf_scan_hwobj
if self.xrf_scan_hwobj:
self.xrf_scan_hwobj.connect("xrfScanFinished", self.scan_finished)
def scan_finished(self, mcaData, mcaCalib, mcaConfig):
self.mca_spectrum_widget.setData(mcaData, mcaCalib, mcaConfig)
示例3: CreateXRFSpectrumWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
class CreateXRFSpectrumWidget(CreateTaskBase):
def __init__(self, parent = None, name = None, fl = 0):
CreateTaskBase.__init__(self, parent, name,
QtCore.Qt.WindowFlags(fl), 'XRF spectrum')
if name is not None:
self.setObjectName(name)
# Hardware objects ----------------------------------------------------
# Internal variables --------------------------------------------------
self.count_time = None
self.init_models()
# Graphic elements ----------------------------------------------------
self._data_path_widget = DataPathWidget(self,
data_model = self._path_template, layout = 'vertical')
_parameters_gbox = QtGui.QGroupBox('Parameters', self)
_count_time_label = QtGui.QLabel("Count time (sec.):", _parameters_gbox)
self.count_time_ledit = QtGui.QLineEdit("1", _parameters_gbox)
#self.count_time_ledit.setMaximumWidth(75)
self.adjust_transmission_cbox = QtGui.QCheckBox(\
"Adjust transmission", _parameters_gbox)
self.adjust_transmission_cbox.setChecked(True)
# Layout --------------------------------------------------------------
_parameters_gbox_hlayout = QtGui.QHBoxLayout(_parameters_gbox)
_parameters_gbox_hlayout.addWidget(_count_time_label)
_parameters_gbox_hlayout.addWidget(self.count_time_ledit)
_parameters_gbox_hlayout.addWidget(self.adjust_transmission_cbox)
_parameters_gbox_hlayout.addStretch(0)
_parameters_gbox_hlayout.setSpacing(2)
_parameters_gbox_hlayout.setContentsMargins(0, 0, 0, 0)
_main_vlayout = QtGui.QVBoxLayout(self)
_main_vlayout.addWidget(self._data_path_widget)
_main_vlayout.addWidget(_parameters_gbox)
_main_vlayout.setSpacing(2)
_main_vlayout.setContentsMargins(2, 2, 2, 2)
_main_vlayout.addStretch(0)
# SizePolicies --------------------------------------------------------
# Qt signal/slot connections ------------------------------------------
self._data_path_widget.pathTemplateChangedSignal.\
connect(self.acq_parameters_changed)
self.adjust_transmission_cbox.stateChanged.connect(\
self.adjust_transmission_state_changed)
# Other ---------------------------------------------------------------
def init_models(self):
CreateTaskBase.init_models(self)
self.xrf_spectrum_model = queue_model_objects.XRFSpectrum()
self._path_template.start_num = 1
self._path_template.num_files = 1
self._path_template.suffix = 'raw'
def single_item_selection(self, tree_item):
CreateTaskBase.single_item_selection(self, tree_item)
self.xrf_spectrum_model = tree_item.get_model()
if isinstance(tree_item, Qt4_queue_item.XRFSpectrumQueueItem):
if self.xrf_spectrum_model.is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
if self.xrf_spectrum_model.get_path_template():
self._path_template = self.xrf_spectrum_model.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
elif not(isinstance(tree_item, Qt4_queue_item.SampleQueueItem) or \
isinstance(tree_item, Qt4_queue_item.DataCollectionGroupQueueItem)):
self.setDisabled(True)
def approve_creation(self):
base_result = CreateTaskBase.approve_creation(self)
self.count_time = None
try:
self.count_time = float(str(self.count_time_ledit.text()))
except:
logging.getLogger("GUI").\
error("Incorrect count time value.")
return base_result and self.count_time
# Called by the owning widget (task_toolbox_widget) to create
# a collection. When a data collection group is selected.
def _create_task(self, sample, shape):
data_collections = []
if self.count_time is not None:
if not shape:
#.........这里部分代码省略.........
示例4: EnergyScanParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
# Qt signal/slot connections ------------------------------------------
# qt.QObject.connect(self.periodic_table_widget, qt.PYSIGNAL('edgeSelected'),
# self.element_clicked)
self.data_path_widget.data_path_layout.prefix_ledit.textChanged.connect(self._prefix_ledit_change)
self.data_path_widget.data_path_layout.run_number_ledit.textChanged.connect(self._run_number_ledit_change)
# qt.QObject.connect(qt.qApp, qt.PYSIGNAL('tab_changed'),
# self.tab_changed)
# Other ---------------------------------------------------------------
Qt4_widget_colors.set_widget_color(self.periodic_table_widget, Qt4_widget_colors.GROUP_BOX_GRAY)
Qt4_widget_colors.set_widget_color(self.position_widget, Qt4_widget_colors.GROUP_BOX_GRAY)
Qt4_widget_colors.set_widget_color(self.data_path_widget, Qt4_widget_colors.GROUP_BOX_GRAY)
def _prefix_ledit_change(self, new_value):
self.energy_scan_model.set_name(str(new_value))
self._tree_view_item.setText(0, self.energy_scan_model.get_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self.energy_scan_model.set_number(int(new_value))
self._tree_view_item.setText(0, self.energy_scan_model.get_name())
def tab_changed(self):
if self._tree_view_item:
self.populate_widget(self._tree_view_item)
def populate_widget(self, item):
self._tree_view_item = item
self.energy_scan_model = item.get_model()
executed = self.energy_scan_model.is_executed()
self.data_path_widget.setEnabled(not executed)
self.periodic_table_widget.setEnabled(not executed)
self.scan_plot_widget.setEnabled(not executed)
self.result_plot_widget.setEnabled(not executed)
if executed:
result = self.energy_scan_model.get_scan_result()
self.scan_plot_widget.plot_scan_curve(result.data)
self.result_plot_widget.plot_results(
result.pk,
result.fppPeak,
result.fpPeak,
result.ip,
result.fppInfl,
result.fpInfl,
result.rm,
result.chooch_graph_x,
result.chooch_graph_y1,
result.chooch_graph_y2,
result.title,
)
else:
self.scan_plot_widget.clear()
self.result_plot_widget.clear()
self.data_path_widget.update_data_model(self.energy_scan_model.path_template)
self.periodic_table_widget.set_current_element_edge(
self.energy_scan_model.element_symbol, self.energy_scan_model.edge
)
image = self.energy_scan_model.centred_position.snapshot_image
if image is not None:
try:
image = image.scaled(427, 320, QtCore.Qt.KeepAspectRatio)
self.position_widget.svideo.setPixmap(QtGui.QPixmap(image))
except:
pass
def element_clicked(self, symbol, energy):
self.energy_scan_model.element_symbol = symbol
self.energy_scan_model.edge = energy
def set_enegy_scan_hwobj(self, energy_scan_hwobj):
self.energy_scan_hwobj = energy_scan_hwobj
if self.energy_scan_hwobj:
self.energy_scan_hwobj.connect("scanStart", self.scan_started)
self.energy_scan_hwobj.connect("scanNewPoint", self.scan_new_point)
self.energy_scan_hwobj.connect("choochFinished", self.chooch_finished)
def scan_started(self, scan_parameters):
self.scan_plot_widget.start_new_scan(scan_parameters)
self.data_path_widget.setEnabled(False)
self.periodic_table_widget.setEnabled(False)
def scan_new_point(self, x, y):
self.scan_plot_widget.add_new_plot_value(x, y)
def chooch_finished(
self, pk, fppPeak, fpPeak, ip, fppInfl, fpInfl, rm, chooch_graph_x, chooch_graph_y1, chooch_graph_y2, title
):
self.result_plot_widget.plot_results(
pk, fppPeak, fpPeak, ip, fppInfl, fpInfl, rm, chooch_graph_x, chooch_graph_y1, chooch_graph_y2, title
)
self.scan_plot_widget.plot_finished()
示例5: CreateXrayImagingWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
connect(self.path_template_changed)
# Other ---------------------------------------------------------------
self._acq_widget.use_osc_start(False)
self._acq_widget.use_kappa(False)
self._acq_widget.acq_widget_layout.max_osc_range_cbx.setVisible(False)
self._acq_widget.acq_widget_layout.first_image_label.setVisible(False)
self._acq_widget.acq_widget_layout.first_image_ledit.setVisible(False)
self._acq_widget.acq_widget_layout.detector_roi_mode_label.setVisible(False)
self._acq_widget.acq_widget_layout.detector_roi_mode_combo.setVisible(False)
self._acq_widget.acq_widget_layout.energies_combo.setVisible(False)
self._acq_widget.acq_widget_layout.mad_cbox.setVisible(False)
self._acq_widget.acq_widget_layout.energy_label.setVisible(False)
self._acq_widget.acq_widget_layout.energy_ledit.setVisible(False)
self._acq_widget.acq_widget_layout.transmission_label.setVisible(False)
self._acq_widget.acq_widget_layout.transmission_ledit.setVisible(False)
self._acq_widget.acq_widget_layout.resolution_label.setVisible(False)
self._acq_widget.acq_widget_layout.resolution_ledit.setVisible(False)
self._acq_widget.acq_widget_layout.kappa_label.setVisible(False)
self._acq_widget.acq_widget_layout.kappa_ledit.setVisible(False)
self._acq_widget.acq_widget_layout.kappa_phi_label.setVisible(False)
self._acq_widget.acq_widget_layout.kappa_phi_ledit.setVisible(False)
self._acq_widget.acq_widget_layout.shutterless_cbx.setVisible(False)
def enable_compression(self, state):
CreateTaskBase.enable_compression(self, False)
def init_models(self):
"""
Descript. :
"""
CreateTaskBase.init_models(self)
self._xray_imaging_parameters = queue_model_objects.XrayImagingParameters()
if self._beamline_setup_hwobj is not None:
self._acquisition_parameters = self._beamline_setup_hwobj.\
get_default_acquisition_parameters("default_imaging_values")
self._path_template.suffix = 'tiff'
def set_beamline_setup(self, bl_setup_hwobj):
"""
In plate mode osciallation is start is in the middle of grid
"""
CreateTaskBase.set_beamline_setup(self, bl_setup_hwobj)
#self._xray_imaging_parameters_widget.set_beamline_setup(bl_setup_hwobj)
def single_item_selection(self, tree_item):
"""
Descript. :
"""
CreateTaskBase.single_item_selection(self, tree_item)
self.setDisabled(True)
if isinstance(tree_item, Qt4_queue_item.SampleQueueItem):
self.setDisabled(False)
elif isinstance(tree_item, Qt4_queue_item.BasketQueueItem):
self.setDisabled(False)
elif isinstance(tree_item, Qt4_queue_item.XrayImagingQueueItem):
data_model= tree_item.get_model()
self._path_template = data_model.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
self._acquisition_parameters = data_model.acquisition.acquisition_parameters
self._acq_widget.update_data_model(self._acquisition_parameters,
self._path_template)
self._xray_imaging_parameters = data_model.xray_imaging_parameters
self._xray_imaging_parameters_widget.update_data_model(data_model)
self.setDisabled(False)
# Called by the owning widget (task_toolbox_widget) to create
# a collection. When a data collection group is selected.
def _create_task(self, sample, shape):
"""
Descript. :
"""
if isinstance(shape, GraphicsItemPoint):
snapshot = self._graphics_manager_hwobj.get_scene_snapshot(shape)
cpos = copy.deepcopy(shape.get_centred_position())
cpos.snapshot_image = snapshot
else:
cpos = queue_model_objects.CentredPosition()
cpos.snapshot_image = self._graphics_manager_hwobj.get_scene_snapshot()
#self._path_template.run_number += 1
acq = self._create_acq(sample)
acq.acquisition_parameters.centred_position = cpos
dc = queue_model_objects.XrayImaging(self._xray_imaging_parameters.copy(),
acq,
sample.crystals[0])
dc.set_name(acq.path_template.get_prefix())
dc.set_number(acq.path_template.run_number)
dc.experiment_type = queue_model_enumerables.EXPERIMENT_TYPE.IMAGING
return [dc]
示例6: CreateAdvancedWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
return result
def update_processing_parameters(self, crystal):
"""
Descript. :
"""
return
def single_item_selection(self, tree_item):
"""
Descript. :
"""
CreateTaskBase.single_item_selection(self, tree_item)
if isinstance(tree_item, Qt4_queue_item.SampleQueueItem):
#self._init_models()
##self._acq_widget.update_data_model(self._acquisition_parameters,
# self._path_template)
pass
elif isinstance(tree_item, Qt4_queue_item.BasketQueueItem):
self.setDisabled(False)
elif isinstance(tree_item, Qt4_queue_item.DataCollectionQueueItem):
data_collection = tree_item.get_model()
if tree_item.get_model().is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
# sample_data_model = self.get_sample_item(tree_item).get_model()
#self._acq_widget.disable_inverse_beam(True)
#self._graphics_manager_hwobj.de_select_all()
self._graphics_manager_hwobj.select_shape(data_collection.grid)
self._path_template = data_collection.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
self._acquisition_parameters = data_collection.acquisitions[0].\
acquisition_parameters
self._acq_widget.update_data_model(self._acquisition_parameters,
self._path_template)
self.get_acquisition_widget().use_osc_start(True)
else:
self.setDisabled(True)
self.grid_treewidget_item_selection_changed()
def _create_task(self, sample, shape):
"""Creates tasks based on selected grids
:param sample: selected sample object
:type sample: SampleQueueItem
:param shape: selected shape
:type shape: Qt4_GraphicsLib.GraphicsItem
"""
tasks = []
selected_grids = self.get_selected_grids()
if len(selected_grids) == 0:
selected_grids.append(self._graphics_manager_hwobj.\
update_auto_grid())
for grid in selected_grids:
grid.set_snapshot(self._graphics_manager_hwobj.\
get_scene_snapshot(grid))
grid_properties = grid.get_properties()
acq = self._create_acq(sample)
示例7: CreateXRFScanWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
class CreateXRFScanWidget(CreateTaskBase):
def __init__(self, parent=None, name=None, fl=0):
CreateTaskBase.__init__(self, parent, name, QtCore.Qt.WindowFlags(fl), "XRF-scan")
if name is not None:
self.setObjectName(name)
# Hardware objects ----------------------------------------------------
# Internal variables --------------------------------------------------
self.count_time = None
self.init_models()
# Graphic elements ----------------------------------------------------
self._data_path_gbox = QtGui.QGroupBox("Data location", self)
self._data_path_widget = DataPathWidget(self._data_path_gbox, data_model=self._path_template, layout="vertical")
_parameters_gbox = QtGui.QGroupBox("Parameters", self)
_count_time_label = QtGui.QLabel("Count time (sec.):", _parameters_gbox)
self.count_time_ledit = QtGui.QLineEdit("1", _parameters_gbox)
self.count_time_ledit.setMaximumWidth(75)
# Layout --------------------------------------------------------------
self._data_path_gbox_vlayout = QtGui.QVBoxLayout(self)
self._data_path_gbox_vlayout.addWidget(self._data_path_widget)
self._data_path_gbox_vlayout.setSpacing(0)
self._data_path_gbox_vlayout.setContentsMargins(0, 0, 0, 0)
self._data_path_gbox.setLayout(self._data_path_gbox_vlayout)
_parameters_gbox_hlayout = QtGui.QHBoxLayout(self)
_parameters_gbox_hlayout.addWidget(_count_time_label)
_parameters_gbox_hlayout.addWidget(self.count_time_ledit)
_parameters_gbox_hlayout.addStretch(0)
_parameters_gbox_hlayout.setSpacing(2)
_parameters_gbox_hlayout.setContentsMargins(0, 0, 0, 0)
_parameters_gbox.setLayout(_parameters_gbox_hlayout)
_main_vlayout = QtGui.QVBoxLayout(self)
_main_vlayout.addWidget(self._data_path_gbox)
_main_vlayout.addWidget(_parameters_gbox)
_main_vlayout.setSpacing(2)
_main_vlayout.setContentsMargins(2, 2, 2, 2)
_main_vlayout.addStretch(0)
self.setLayout(_main_vlayout)
# SizePolicies --------------------------------------------------------
# Qt signal/slot connections ------------------------------------------
self._data_path_widget.data_path_layout.run_number_ledit.textChanged.connect(self._run_number_ledit_change)
self.connect(self._data_path_widget, QtCore.SIGNAL("pathTemplateChanged"), self.handle_path_conflict)
# Other ---------------------------------------------------------------
def init_models(self):
CreateTaskBase.init_models(self)
self.enery_scan = queue_model_objects.XRFScan()
self._path_template.start_num = 1
self._path_template.num_files = 1
self._path_template.suffix = "raw"
def single_item_selection(self, tree_item):
CreateTaskBase.single_item_selection(self, tree_item)
escan_model = tree_item.get_model()
if isinstance(tree_item, Qt4_queue_item.XRFScanQueueItem):
if tree_item.get_model().is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
if escan_model.get_path_template():
self._path_template = escan_model.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
elif not (
isinstance(tree_item, Qt4_queue_item.SampleQueueItem)
or isinstance(tree_item, Qt4_queue_item.DataCollectionGroupQueueItem)
):
self.setDisabled(True)
def approve_creation(self):
base_result = CreateTaskBase.approve_creation(self)
self.count_time = None
try:
self.count_time = float(str(self.count_time_ledit.text()))
except:
logging.getLogger("user_level_log").info("Incorrect count time value.")
return base_result and self.count_time
# Called by the owning widget (task_toolbox_widget) to create
# a collection. When a data collection group is selected.
def _create_task(self, sample, shape):
data_collections = []
if self.count_time is not None:
#.........这里部分代码省略.........
示例8: CreateAdvancedWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
self._acquisition_parameters.resolution = resolution
self._acquisition_parameters.energy = energy
self._acquisition_parameters.transmission = transmission
self.grid_treewidget_item_selection_changed()
else:
self._acquisition_parameters = queue_model_objects.AcquisitionParameters()
def approve_creation(self):
"""
Descript. :
"""
result = CreateTaskBase.approve_creation(self)
if len(self._advanced_methods_widget.grid_treewidget.selectedItems()) == 0:
msg = "No grid selected. Automatic grid will be used."
logging.getLogger("user_level_log").info(msg)
return result
def update_processing_parameters(self, crystal):
"""
Descript. :
"""
return
def single_item_selection(self, tree_item):
"""
Descript. :
"""
CreateTaskBase.single_item_selection(self, tree_item)
if isinstance(tree_item, Qt4_queue_item.SampleQueueItem):
self._init_models()
self._acq_widget.update_data_model(self._acquisition_parameters, self._path_template)
elif isinstance(tree_item, Qt4_queue_item.BasketQueueItem):
self.setDisabled(False)
elif isinstance(tree_item, Qt4_queue_item.AdvancedQueueItem):
advanced = tree_item.get_model()
if tree_item.get_model().is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
# sample_data_model = self.get_sample_item(tree_item).get_model()
# self._acq_widget.disable_inverse_beam(True)
self._path_template = advanced.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
data_collection = advanced.reference_image_collection
self._acquisition_parameters = data_collection.acquisitions[0].acquisition_parameters
self._acq_widget.update_data_model(self._acquisition_parameters, self._path_template)
self.get_acquisition_widget().use_osc_start(True)
else:
self.setDisabled(True)
# if self._advanced_methods_widget.grid_treewidget.count() > 0:
# self._advanced_methods_widget.grid_treewidget.clearSelection()
def _create_task(self, sample, shape):
"""
Descript. :
"""
data_collections = []
selected_grids = self.get_selected_grids()
示例9: XRFSpectrumParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
self.mca_spectrum_widget = McaSpectrumWidget(self)
self.snapshot_widget = SnapshotWidget(self)
# Layout -------------------------------------------------------------
_other_parameters_gbox_hlayout = QtGui.QHBoxLayout(self.other_parameters_gbox)
_other_parameters_gbox_hlayout.addWidget(self.count_time_label)
_other_parameters_gbox_hlayout.addWidget(self.count_time_ledit)
_other_parameters_gbox_hlayout.addWidget(self.adjust_transmission_cbox)
_other_parameters_gbox_hlayout.addStretch(0)
_other_parameters_gbox_hlayout.setSpacing(2)
_other_parameters_gbox_hlayout.setContentsMargins(0, 0, 0, 0)
_parameters_widget_layout = QtGui.QVBoxLayout(_parameters_widget)
_parameters_widget_layout.addWidget(self.data_path_widget)
_parameters_widget_layout.addWidget(self.other_parameters_gbox)
_parameters_widget_layout.addStretch(0)
_parameters_widget_layout.setSpacing(2)
_parameters_widget_layout.setContentsMargins(0, 0, 0, 0)
_top_widget_layout = QtGui.QHBoxLayout(_top_widget)
_top_widget_layout.addWidget(_parameters_widget)
_top_widget_layout.addWidget(self.snapshot_widget)
_top_widget_layout.setSpacing(2)
_top_widget_layout.addStretch(0)
_top_widget_layout.setContentsMargins(0, 0, 0, 0)
_main_vlayout = QtGui.QVBoxLayout(self)
_main_vlayout.addWidget(_top_widget)
_main_vlayout.addWidget(self.mca_spectrum_widget)
_main_vlayout.setSpacing(2)
_main_vlayout.setContentsMargins(0, 0, 0, 0)
# SizePolicies -------------------------------------------------------
self.mca_spectrum_widget.setSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Expanding)
_top_widget.setSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Fixed)
# Qt signal/slot connections ------------------------------------------
self.data_path_widget.data_path_layout.prefix_ledit.textChanged.\
connect(self._prefix_ledit_change)
self.data_path_widget.data_path_layout.run_number_ledit.textChanged.\
connect(self._run_number_ledit_change)
self.count_time_ledit.textChanged.connect(\
self._count_time_ledit_change)
# Other ---------------------------------------------------------------
def _prefix_ledit_change(self, new_value):
self.xrf_spectrum_model.set_name(str(new_value))
self._tree_view_item.setText(\
0, self.xrf_spectrum_model.get_display_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self.xrf_spectrum_model.set_number(int(new_value))
self._tree_view_item.setText(\
0, self.xrf_spectrum_model.get_display_name())
def _count_time_ledit_change(self, new_value):
if str(new_value).isdigit():
self.xrf_spectrum_model.set_count_time(float(new_value))
def tab_changed(self):
if self._tree_view_item:
self.populate_widget(self._tree_view_item)
def populate_widget(self, item):
self._tree_view_item = item
self.xrf_spectrum_model = item.get_model()
executed = self.xrf_spectrum_model.is_executed()
self.data_path_widget.setEnabled(not executed)
self.other_parameters_gbox.setEnabled(not executed)
#self.mca_spectrum_widget.setEnabled(executed)
if executed:
result = self.xrf_spectrum_model.get_spectrum_result()
self.mca_spectrum_widget.set_data(result.mca_data,
result.mca_calib, result.mca_config)
else:
self.mca_spectrum_widget.clear()
self.data_path_widget.update_data_model(\
self.xrf_spectrum_model.path_template)
self.count_time_ledit.setText(\
str(self.xrf_spectrum_model.count_time))
image = self.xrf_spectrum_model.centred_position.snapshot_image
self.snapshot_widget.display_snapshot(image, width=400)
def set_xrf_spectrum_hwobj(self, xrf_spectrum_hwobj):
if self.xrf_spectrum_hwobj is None:
self.xrf_spectrum_hwobj = xrf_spectrum_hwobj
self.xrf_spectrum_hwobj.connect("xrfSpectrumFinished",
self.spectrum_finished)
def spectrum_finished(self, mca_data, mca_calib, mca_config):
self.mca_spectrum_widget.set_data(mca_data, mca_calib, mca_config)
示例10: CreateGphlWorkflowWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
self._gphl_acq_param_widget.hide()
else:
# acquisition type strategy
self._gphl_acq_param_widget.populate_widget(
beam_energies=beam_energies,
)
self._gphl_acq_widget.show()
self._gphl_diffractcal_widget.hide()
self._gphl_acq_param_widget.show()
prefix = parameters.get('prefix')
if prefix is not None:
self.current_prefix = prefix
def data_acquired(self):
"""Data gathered from popup, continue execution"""
pass
def single_item_selection(self, tree_item):
CreateTaskBase.single_item_selection(self, tree_item)
wf_model = tree_item.get_model()
if not isinstance(tree_item, queue_item.SampleQueueItem):
if isinstance(tree_item, queue_item.GphlWorkflowQueueItem):
if tree_item.get_model().is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
if wf_model.get_path_template():
self._path_template = wf_model.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
elif isinstance(tree_item, queue_item.BasketQueueItem):
self.setDisabled(False)
elif not isinstance(tree_item, queue_item.DataCollectionGroupQueueItem):
self.setDisabled(True)
def init_models(self):
CreateTaskBase.init_models(self)
self._init_models()
def _init_models(self):
pass
def continue_button_click(self, sample_items, checked_items):
"""Intercepts the datacollection continue_button click for parameter setting"""
tree_brick = self._tree_brick
if tree_brick:
for item in checked_items:
model = item.get_model()
if isinstance(model, queue_model_objects.GphlWorkflow):
dialog = tree_brick.dc_tree_widget.confirm_dialog
ss = dialog.conf_dialog_layout.take_snapshots_combo.currentText()
model.set_snapshot_count(int(ss) if ss else 0)
# Called by the owning widget (task_toolbox_widget) to create
# a collection. When a data collection group is selected.
def _create_task(self, sample, shape):
tasks = []
path_template = self._create_path_template(sample, self._path_template)
path_template.num_files = 0
示例11: CreateAdvancedWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
In plate mode osciallation is start is in the middle of grid
"""
CreateTaskBase.set_beamline_setup(self, bl_setup_hwobj)
if bl_setup_hwobj.diffractometer_hwobj.in_plate_mode():
self._acq_widget.acq_widget_layout.osc_start_label.\
setText("Oscillation middle:")
def approve_creation(self):
"""
Descript. :
"""
result = CreateTaskBase.approve_creation(self)
if len(self._advanced_methods_widget.\
grid_treewidget.selectedItems()) == 0:
msg = "No grid selected. Continuing with automatic grid."
logging.getLogger("GUI").info(msg)
return result
def update_processing_parameters(self, crystal):
"""
Descript. :
"""
return
def single_item_selection(self, tree_item):
"""
Descript. :
"""
CreateTaskBase.single_item_selection(self, tree_item)
if isinstance(tree_item, Qt4_queue_item.SampleQueueItem):
self._init_models()
self._acq_widget.update_data_model(self._acquisition_parameters,
self._path_template)
elif isinstance(tree_item, Qt4_queue_item.BasketQueueItem):
self.setDisabled(False)
elif isinstance(tree_item, Qt4_queue_item.DataCollectionQueueItem):
data_collection = tree_item.get_model()
if tree_item.get_model().is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
# sample_data_model = self.get_sample_item(tree_item).get_model()
#self._acq_widget.disable_inverse_beam(True)
#self._graphics_manager_hwobj.de_select_all()
self._graphics_manager_hwobj.select_shape(data_collection.grid)
self._path_template = data_collection.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
self._acquisition_parameters = data_collection.acquisitions[0].\
acquisition_parameters
self._acq_widget.update_data_model(self._acquisition_parameters,
self._path_template)
self.get_acquisition_widget().use_osc_start(True)
else:
self.setDisabled(True)
def _create_task(self, sample, shape):
"""
Descript. :
"""
tasks = []
selected_grids = self.get_selected_grids()
示例12: CreateAdvancedWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
"""
Descript. :
"""
CreateTaskBase.single_item_selection(self, tree_item)
self.dc_selected = False
if isinstance(tree_item, Qt4_queue_item.SampleQueueItem):
pass
elif isinstance(tree_item, Qt4_queue_item.BasketQueueItem):
pass
#self.setDisabled(False)
elif isinstance(tree_item, Qt4_queue_item.DataCollectionQueueItem) or \
isinstance(tree_item, Qt4_queue_item.XrayCenteringQueueItem):
if isinstance(tree_item, Qt4_queue_item.XrayCenteringQueueItem):
data_collection = tree_item.get_model().reference_image_collection
else:
data_collection = tree_item.get_model()
if tree_item.get_model().is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
if data_collection.is_mesh():
# sample_data_model = self.get_sample_item(tree_item).get_model()
#self._acq_widget.disable_inverse_beam(True)
#self._graphics_manager_hwobj.de_select_all()
self._graphics_manager_hwobj.select_shape(data_collection.grid)
self._advanced_methods_widget.grid_treewidget.setCurrentItem(\
self._grid_map[data_collection.grid])
self._path_template = data_collection.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
self._acquisition_parameters = data_collection.acquisitions[0].\
acquisition_parameters
self._acq_widget.update_data_model(self._acquisition_parameters,
self._path_template)
#self.get_acquisition_widget().use_osc_start(True)
self.dc_selected = True
else:
self.setDisabled(True)
self.grid_treewidget_item_selection_changed()
def _create_task(self, sample, shape):
"""Creates tasks based on selected grids
:param sample: selected sample object
:type sample: SampleQueueItem
:param shape: selected shape
:type shape: Qt4_GraphicsLib.GraphicsItem
"""
tasks = []
selected_grid = self.get_selected_shapes()[0]
mesh_dc = self._create_dc_from_grid(sample, selected_grid)
exp_type = str(self._advanced_methods_widget.method_combo.currentText())
if exp_type == "MeshScan":
tasks.append(mesh_dc)
elif exp_type == "XrayCentering":
xray_centering = queue_model_objects.XrayCentering(mesh_dc)
tasks.append(xray_centering)
else:
logging.getLogger("GUI").\
warning("Method %s does not exist in queue_model_objects" % exp_type)
示例13: CreateAdvancedScanWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
warning("No grid selected, please select a grid.")
selected_grid = None
return result and selected_grid
def update_processing_parameters(self, crystal):
"""
Descript. :
"""
return
def single_item_selection(self, tree_item):
"""
Descript. :
"""
CreateTaskBase.single_item_selection(self, tree_item)
if isinstance(tree_item, Qt4_queue_item.SampleQueueItem):
sample_model = tree_item.get_model()
#self._processing_parameters = sample_model.processing_parameters
#self._processing_widget.update_data_model(self._processing_parameters)
elif isinstance(tree_item, Qt4_queue_item.DataCollectionQueueItem):
data_collection = tree_item.get_model()
if data_collection.experiment_type == EXPERIMENT_TYPE.MESH:
if tree_item.get_model().is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
sample_data_model = self.get_sample_item(tree_item).get_model()
self._acq_widget.disable_inverse_beam(True)
self._path_template = data_collection.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
self._acquisition_parameters = data_collection.acquisitions[0].acquisition_parameters
self._acq_widget.update_data_model(self._acquisition_parameters,
self._path_template)
self.get_acquisition_widget().use_osc_start(True)
else:
self.setDisabled(True)
else:
self.setDisabled(True)
if isinstance(tree_item, Qt4_queue_item.SampleQueueItem) or \
isinstance(tree_item, Qt4_queue_item.DataCollectionGroupQueueItem) or \
isinstance(tree_item, Qt4_queue_item.DataCollectionQueueItem):
#self._processing_widget.update_data_model(self._processing_parameters)
self._acq_widget.update_data_model(self._acquisition_parameters,
self._path_template)
def _create_task(self, sample, shape):
"""
Descript. :
"""
data_collections = []
selected_grid_info = None
treewidget_item = self.mesh_widget.mesh_treewidget.selectedItem()
if treewidget_item is not None:
drawing_mgr = self.__list_items[treewidget_item]
key = str(treewidget_item.text(0))
selected_grid_info = drawing_mgr._get_grid(key)[0]
if selected_grid_info:
示例14: CreateAdvancedScanWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
warning("No grid selected, please select a grid.")
selected_grid = None
return result and selected_grid
def update_processing_parameters(self, crystal):
"""
Descript. :
"""
return
def single_item_selection(self, tree_item):
"""
Descript. :
"""
CreateTaskBase.single_item_selection(self, tree_item)
if isinstance(tree_item, Qt4_queue_item.SampleQueueItem):
sample_model = tree_item.get_model()
#self._processing_parameters = sample_model.processing_parameters
#self._processing_widget.update_data_model(self._processing_parameters)
elif isinstance(tree_item, Qt4_queue_item.DataCollectionQueueItem):
data_collection = tree_item.get_model()
if data_collection.experiment_type == EXPERIMENT_TYPE.MESH:
if tree_item.get_model().is_executed():
self.setDisabled(True)
else:
self.setDisabled(False)
sample_data_model = self.get_sample_item(tree_item).get_model()
self._acq_widget.disable_inverse_beam(True)
self._path_template = data_collection.get_path_template()
self._data_path_widget.update_data_model(self._path_template)
self._acquisition_parameters = data_collection.acquisitions[0].acquisition_parameters
self._acq_widget.update_data_model(self._acquisition_parameters,
self._path_template)
self.get_acquisition_widget().use_osc_start(True)
else:
self.setDisabled(True)
else:
self.setDisabled(True)
if isinstance(tree_item, Qt4_queue_item.SampleQueueItem) or \
isinstance(tree_item, Qt4_queue_item.DataCollectionGroupQueueItem) or \
isinstance(tree_item, Qt4_queue_item.DataCollectionQueueItem):
#self._processing_widget.update_data_model(self._processing_parameters)
self._acq_widget.update_data_model(self._acquisition_parameters,
self._path_template)
def _create_task(self, sample, shape):
"""
Descript. :
"""
data_collections = []
selected_grid_info = None
list_view_item = self.mesh_widget.mesh_treewidget.selectedItem()
if list_view_item is not None:
drawing_mgr = self.__list_items[list_view_item]
key = str(list_view_item.text(0))
selected_grid_info = drawing_mgr._get_grid(key)[0]
if selected_grid_info:
示例15: EnergyScanParametersWidget
# 需要导入模块: from widgets.Qt4_data_path_widget import DataPathWidget [as 别名]
# 或者: from widgets.Qt4_data_path_widget.DataPathWidget import update_data_model [as 别名]
#.........这里部分代码省略.........
# Other ---------------------------------------------------------------
self.scan_actual_plot_widget.hide()
self.scan_result_plot_widget.hide()
def _prefix_ledit_change(self, new_value):
self.energy_scan_model.set_name(str(new_value))
self._tree_view_item.setText(0, self.energy_scan_model.get_name())
def _run_number_ledit_change(self, new_value):
if str(new_value).isdigit():
self.energy_scan_model.set_number(int(new_value))
self._tree_view_item.setText(0, self.energy_scan_model.get_name())
def tab_changed(self):
if self._tree_view_item:
self.populate_widget(self._tree_view_item)
def populate_widget(self, item):
self._tree_view_item = item
self.energy_scan_model = item.get_model()
executed = self.energy_scan_model.is_executed()
is_running = self.energy_scan_model.is_running()
self.data_path_widget.setDisabled(executed or is_running)
self.periodic_table_widget.setDisabled(executed or is_running)
#self.scan_actual_plot_widget.setEnabled()
#self.scan_actual_plot_widget.setEnabled(not executed)
#self.chooch_plot_widget.setEnabled(not executed)
width = self.data_path_widget.width() + \
self.snapshot_widget.width()
self.scan_actual_plot_widget.setFixedWidth(width)
self.scan_result_plot_widget.setFixedWidth(width)
self.chooch_plot_widget.setFixedWidth(width)
self.chooch_plot_widget.clear()
title = "Element: %s, Edge: %s" % (\
self.energy_scan_model.element_symbol,
self.energy_scan_model.edge)
if executed:
self.scan_actual_plot_widget.hide()
self.scan_result_plot_widget.show()
result = self.energy_scan_model.get_scan_result()
self.scan_result_plot_widget.plot_energy_scan_curve(result.data,
title)
self.chooch_plot_widget.plot_energy_scan_results(\
result.pk, result.fppPeak, result.fpPeak, result.ip,
result.fppInfl, result.fpInfl, result.rm,
result.chooch_graph_x, result.chooch_graph_y1,
result.chooch_graph_y2, result.title)
elif is_running:
self.scan_actual_plot_widget.show()
self.scan_result_plot_widget.hide()
else:
self.scan_actual_plot_widget.hide()
self.scan_result_plot_widget.show()
self.scan_result_plot_widget.clear()
self.data_path_widget.update_data_model(self.energy_scan_model.path_template)
self.periodic_table_widget.set_current_element_edge(\
self.energy_scan_model.element_symbol,
self.energy_scan_model.edge)
image = self.energy_scan_model.centred_position.snapshot_image
self.snapshot_widget.display_snapshot(image, width=400)
def element_clicked(self, symbol, energy):
self.energy_scan_model.element_symbol = symbol
self.energy_scan_model.edge = energy
def set_enegy_scan_hwobj(self, energy_scan_hwobj):
if self.energy_scan_hwobj is None:
self.energy_scan_hwobj = energy_scan_hwobj
self.energy_scan_hwobj.connect("energyScanStarted", self.energy_scan_started)
self.energy_scan_hwobj.connect("scanNewPoint", self.energy_scan_new_point)
self.energy_scan_hwobj.connect("choochFinished", self.chooch_finished)
def energy_scan_started(self, scan_info):
self.scan_actual_plot_widget.clear()
self.scan_actual_plot_widget.show()
self.scan_result_plot_widget.clear()
self.scan_result_plot_widget.hide()
self.chooch_plot_widget.clear()
self.scan_actual_plot_widget.start_new_scan(scan_info)
self.data_path_widget.setEnabled(False)
self.periodic_table_widget.setEnabled(False)
def energy_scan_new_point(self, x, y):
self.scan_actual_plot_widget.add_new_plot_value(x, y)
def chooch_finished(self, pk, fppPeak, fpPeak, ip, fppInfl, fpInfl, rm, \
chooch_graph_x, chooch_graph_y1, chooch_graph_y2, title):
self.chooch_plot_widget.plot_energy_scan_results(pk, fppPeak, fpPeak,
ip, fppInfl, fpInfl, rm, chooch_graph_x, chooch_graph_y1,
chooch_graph_y2, title)
self.scan_actual_plot_widget.plot_finished()