0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 03:31:50 +02:00

fix: online changes e21543

This commit is contained in:
e21536
2023-09-21 10:43:45 +02:00
parent 6955b6e292
commit b41d63ea4d
5 changed files with 54 additions and 43 deletions

View File

@ -174,7 +174,7 @@ class EigerPlot(QWidget):
self.image = np.transpose(self.image)
if self.checkBox_log.isChecked():
self.image = np.log(self.image)
self.image = np.log10(self.image)
self.imageItem.setImage(self.image, autoLevels=False)

View File

@ -6,48 +6,53 @@ plot_settings:
# example to use without scan_type -> only one general configuration
plot_data:
- plot_name: "Gauss 1 plot"
- plot_name: "BPM4i plots vs samy"
x:
label: 'Motor Y'
signals:
- name: "samy"
# entry: "samy" # here I also forgot to specify entry
y:
label: 'ADC'
label: 'bpm4i'
signals:
- name: "gauss_bpm"
entry: "gauss_bpm"
# - name: "samx"
- name: "bpm4i"
entry: "bpm4i"
# I will not specify entry, because I want to take hint from gauss_adc2
- plot_name: "Multiple Gauss"
- plot_name: "BPM4i plots vs samx"
x:
label: 'Motor Y'
signals:
- name: "samy"
# entry: "samy" # here I also forgot to specify entry
y:
label: 'bpm4i'
signals:
- name: "bpm4i"
entry: "bpm4i"
# I will not specify entry, because I want to take hint from gauss_adc2
- plot_name: "MCS Channel 4 (Cyberstar) vs samx"
x:
label: 'Motor X'
signals:
- name: "samx"
entry: "samx"
y:
label: 'Gauss Signals'
label: 'mcs4 cyberstar'
signals:
- name: "gauss_bpm"
entry: "gauss_bpm"
- name: "gauss_adc1"
entry: "gauss_adc1"
- name: "gauss_adc2"
entry: "gauss_adc2"
- plot_name: "Linear Signals"
- name: "mcs"
entry: "mca4"
- plot_name: "MCS Channel 4 (Cyberstar) vs samy"
x:
label: 'Motor X'
signals:
- name: "samx"
entry: "samx"
y:
label: 'Multi'
signals:
- name: "samx"
entry: "samx"
- name: "samy"
entry: "samy"
y:
label: 'mcs4 cyberstar'
signals:
- name: "mcs"
entry: "mca4"
# example to use with scan_type -> different configuration for different scan types

View File

@ -235,6 +235,7 @@ class PlotApp(QWidget):
curve_list = []
for i, (y_config, color) in enumerate(zip(y_configs, colors_ys)):
print(y_config)
y_name = y_config["name"]
y_entries = y_config.get("entry", [y_name])
@ -522,7 +523,7 @@ if __name__ == "__main__":
import yaml
import argparse
from bec_widgets import ctrl_c
#from bec_widgets import ctrl_c
from bec_widgets.bec_dispatcher import bec_dispatcher
parser = argparse.ArgumentParser(description="Plotting App")
@ -555,7 +556,7 @@ if __name__ == "__main__":
# Connecting signals from bec_dispatcher
bec_dispatcher.connect_slot(plotApp.on_scan_segment, MessageEndpoints.scan_segment())
ctrl_c.setup(app)
#ctrl_c.setup(app)
window = plotApp
window.show()

View File

@ -47,19 +47,21 @@ class StreamApp(QWidget):
# Create Plot and add ImageItem
self.plot_item = pg.PlotItem()
self.plot_item.setAspectLocked(True)
self.plot_item.setAspectLocked(False)
self.imageItem = pg.ImageItem()
self.plot_item.addItem(self.imageItem)
#self.plot_item1D = pg.PlotItem()
#self.plot_item.addItem(self.imageItem)
#self.plot_item.addItem(self.plot_item1D)
# Setting up histogram
self.hist = pg.HistogramLUTItem()
self.hist.setImageItem(self.imageItem)
self.hist.gradient.loadPreset("magma")
# self.hist = pg.HistogramLUTItem()
# self.hist.setImageItem(self.imageItem)
# self.hist.gradient.loadPreset("magma")
# self.update_hist()
# Adding Items to Graphical Layout
self.glw.addItem(self.plot_item)
self.glw.addItem(self.hist)
# self.glw.addItem(self.hist)
@pyqtSlot(str)
def create_new_stream_consumer(self, scanID: str):
@ -94,7 +96,9 @@ class StreamApp(QWidget):
# self.device_consumer.start()
def plot_new(self):
self.imageItem.setImage(self.data, autoLevels=False)
print(f'Printing data from plot update: {self.data}')
self.plot_item.plot(self.data[0])
#self.imageItem.setImage(self.data, autoLevels=False)
@staticmethod
def _streamer_cb(msg, *, parent, **_kwargs) -> None:
@ -104,13 +108,14 @@ class StreamApp(QWidget):
metadata = msgMCS.metadata
# Check if the current number of rows is odd
if parent.data is not None and parent.data.shape[0] % 2 == 1:
row = np.flip(row) # Flip the row
if parent.data is None:
parent.data = np.array([row])
else:
parent.data = np.vstack((parent.data, row))
# if parent.data is not None and parent.data.shape[0] % 2 == 1:
# row = np.flip(row) # Flip the row
print(f'Printing data from callback update: {row}')
parent.data = np.array([row])
# if parent.data is None:
# parent.data = np.array([row])
# else:
# parent.data = np.vstack((parent.data, row))
parent.update_signal.emit()
@ -129,8 +134,8 @@ class StreamApp(QWidget):
if current_scanID != parent.scanID:
parent.scanID = current_scanID
parent.data = None
parent.imageItem.clear()
#parent.data = None
#parent.imageItem.clear()
parent.new_scanID.emit(current_scanID)
print(f"New scanID: {current_scanID}")
@ -142,7 +147,7 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Stream App.")
parser.add_argument(
"--port", type=str, default="localhost:6379", help="Port for RedisConnector"
"--port", type=str, default="pc15543:6379", help="Port for RedisConnector"
)
parser.add_argument("--device", type=str, default="mcs", help="Device name")
parser.add_argument("--sub_device", type=str, default="mca4", help="Sub-device name")

View File

@ -4,7 +4,7 @@ __version__ = "0.26.7"
if __name__ == "__main__":
setup(
install_requires=["pyqt5", "pyqtgraph", "bec_lib"],
install_requires=["pyqt5", "pyqtgraph", "bec_lib", "zmq", "h5py","epics"],
extras_require={"dev": ["pytest", "pytest-random-order", "coverage", "pytest-qt", "black"]},
version=__version__,
)