parent
91b9e01441
commit
4b4d5c16ce
@ -269,6 +269,17 @@ def create():
|
|||||||
mapper["transform"].high = np.max([np.max(y) for y in ys])
|
mapper["transform"].high = np.max([np.max(y) for y in ys])
|
||||||
ov_param_plot_scatter_source.data.update(x=x, y=y, param=par)
|
ov_param_plot_scatter_source.data.update(x=x, y=y, param=par)
|
||||||
|
|
||||||
|
def _update_param_plot():
|
||||||
|
x = []
|
||||||
|
y = []
|
||||||
|
fit_param = fit_param_select.value
|
||||||
|
for s, p in zip(det_data, scan_table_source.data["param"]):
|
||||||
|
if "fit" in s and fit_param:
|
||||||
|
x.append(p)
|
||||||
|
y.append(s["fit"].values[fit_param])
|
||||||
|
|
||||||
|
param_plot_scatter_source.data.update(x=x, y=y)
|
||||||
|
|
||||||
# Main plot
|
# Main plot
|
||||||
plot = Plot(
|
plot = Plot(
|
||||||
x_range=DataRange1d(),
|
x_range=DataRange1d(),
|
||||||
@ -325,7 +336,7 @@ def create():
|
|||||||
plot.toolbar.logo = None
|
plot.toolbar.logo = None
|
||||||
|
|
||||||
# Overview multilines plot
|
# Overview multilines plot
|
||||||
ov_plot = Plot(x_range=DataRange1d(), y_range=DataRange1d(), plot_height=400, plot_width=700)
|
ov_plot = Plot(x_range=DataRange1d(), y_range=DataRange1d(), plot_height=450, plot_width=700)
|
||||||
|
|
||||||
ov_plot.add_layout(LinearAxis(axis_label="Counts"), place="left")
|
ov_plot.add_layout(LinearAxis(axis_label="Counts"), place="left")
|
||||||
ov_plot.add_layout(LinearAxis(axis_label="Scan motor"), place="below")
|
ov_plot.add_layout(LinearAxis(axis_label="Scan motor"), place="below")
|
||||||
@ -344,7 +355,7 @@ def create():
|
|||||||
|
|
||||||
# Overview perams plot
|
# Overview perams plot
|
||||||
ov_param_plot = Plot(
|
ov_param_plot = Plot(
|
||||||
x_range=DataRange1d(), y_range=DataRange1d(), plot_height=400, plot_width=700
|
x_range=DataRange1d(), y_range=DataRange1d(), plot_height=450, plot_width=700
|
||||||
)
|
)
|
||||||
|
|
||||||
ov_param_plot.add_layout(LinearAxis(axis_label="Param"), place="left")
|
ov_param_plot.add_layout(LinearAxis(axis_label="Param"), place="left")
|
||||||
@ -363,12 +374,34 @@ def create():
|
|||||||
ov_param_plot.add_tools(PanTool(), WheelZoomTool(), ResetTool())
|
ov_param_plot.add_tools(PanTool(), WheelZoomTool(), ResetTool())
|
||||||
ov_param_plot.toolbar.logo = None
|
ov_param_plot.toolbar.logo = None
|
||||||
|
|
||||||
|
# Parameter plot
|
||||||
|
param_plot = Plot(x_range=DataRange1d(), y_range=DataRange1d(), plot_height=400, plot_width=700)
|
||||||
|
|
||||||
|
param_plot.add_layout(LinearAxis(axis_label="Fit parameter"), place="left")
|
||||||
|
param_plot.add_layout(LinearAxis(axis_label="Parameter"), place="below")
|
||||||
|
|
||||||
|
param_plot.add_layout(Grid(dimension=0, ticker=BasicTicker()))
|
||||||
|
param_plot.add_layout(Grid(dimension=1, ticker=BasicTicker()))
|
||||||
|
|
||||||
|
param_plot_scatter_source = ColumnDataSource(dict(x=[], y=[]))
|
||||||
|
param_plot.add_glyph(param_plot_scatter_source, Scatter(x="x", y="y"))
|
||||||
|
|
||||||
|
param_plot.add_tools(PanTool(), WheelZoomTool(), ResetTool())
|
||||||
|
param_plot.toolbar.logo = None
|
||||||
|
|
||||||
|
def fit_param_select_callback(_attr, _old, _new):
|
||||||
|
_update_param_plot()
|
||||||
|
|
||||||
|
fit_param_select = Select(title="Fit parameter", options=[], width=145)
|
||||||
|
fit_param_select.on_change("value", fit_param_select_callback)
|
||||||
|
|
||||||
# Plot tabs
|
# Plot tabs
|
||||||
plots = Tabs(
|
plots = Tabs(
|
||||||
tabs=[
|
tabs=[
|
||||||
Panel(child=plot, title="single scan"),
|
Panel(child=plot, title="single scan"),
|
||||||
Panel(child=ov_plot, title="overview"),
|
Panel(child=ov_plot, title="overview"),
|
||||||
Panel(child=ov_param_plot, title="overview map"),
|
Panel(child=ov_param_plot, title="overview map"),
|
||||||
|
Panel(child=column(param_plot, row(fit_param_select)), title="parameter plot"),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -427,6 +460,7 @@ def create():
|
|||||||
param = [scan[new] for scan in det_data]
|
param = [scan[new] for scan in det_data]
|
||||||
|
|
||||||
scan_table_source.data["param"] = param
|
scan_table_source.data["param"] = param
|
||||||
|
_update_param_plot()
|
||||||
|
|
||||||
param_select = Select(
|
param_select = Select(
|
||||||
title="Parameter:",
|
title="Parameter:",
|
||||||
@ -570,6 +604,14 @@ def create():
|
|||||||
_update_plot()
|
_update_plot()
|
||||||
_update_table()
|
_update_table()
|
||||||
|
|
||||||
|
for scan in det_data:
|
||||||
|
if "fit" in scan:
|
||||||
|
options = list(scan["fit"].params.keys())
|
||||||
|
fit_param_select.options = options
|
||||||
|
fit_param_select.value = options[0]
|
||||||
|
break
|
||||||
|
_update_param_plot()
|
||||||
|
|
||||||
proc_all_button = Button(label="Process All", button_type="primary", width=145)
|
proc_all_button = Button(label="Process All", button_type="primary", width=145)
|
||||||
proc_all_button.on_click(proc_all_button_callback)
|
proc_all_button.on_click(proc_all_button_callback)
|
||||||
|
|
||||||
@ -587,6 +629,14 @@ def create():
|
|||||||
_update_plot()
|
_update_plot()
|
||||||
_update_table()
|
_update_table()
|
||||||
|
|
||||||
|
for scan in det_data:
|
||||||
|
if "fit" in scan:
|
||||||
|
options = list(scan["fit"].params.keys())
|
||||||
|
fit_param_select.options = options
|
||||||
|
fit_param_select.value = options[0]
|
||||||
|
break
|
||||||
|
_update_param_plot()
|
||||||
|
|
||||||
proc_button = Button(label="Process Current", width=145)
|
proc_button = Button(label="Process Current", width=145)
|
||||||
proc_button.on_click(proc_button_callback)
|
proc_button.on_click(proc_button_callback)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user