Skip to content

Commit

Permalink
pass a callable (lambda) rather than a format string for labelling th…
Browse files Browse the repository at this point in the history
…e UI tabs
  • Loading branch information
chris-simpson committed Mar 25, 2024
1 parent aacfa45 commit 20962b7
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 10 deletions.
6 changes: 3 additions & 3 deletions geminidr/core/primitives_spect.py
Original file line number Diff line number Diff line change
Expand Up @@ -806,7 +806,7 @@ def _get_fit1d_input_data(ext, exptime, spec_table):
uiparams = UIParameters(config)
visualizer = fit1d.Fit1DVisualizer({"x": all_waves, "y": all_zpt, "weights": all_weights},
fitting_parameters=all_fp_init,
tab_name_fmt="CCD {}",
tab_name_fmt=lambda i: f"CCD {i+1}",
xlabel=f'Wavelength ({xunits})',
ylabel=f'Sensitivity ({yunits})',
domains=all_domains,
Expand Down Expand Up @@ -1354,7 +1354,7 @@ def determineWavelengthSolution(self, adinputs=None, **params):
visualizer = WavelengthSolutionVisualizer(
reconstruct_points, all_fp_init,
modal_message="Re-extracting 1D spectra",
tab_name_fmt="Slit {}",
tab_name_fmt=lambda i: f"Slit {i+1}",
xlabel="Fitted wavelength (nm)", ylabel="Non-linear component (nm)",
domains=domains,
title="Wavelength Solution",
Expand Down Expand Up @@ -2987,7 +2987,7 @@ def recalc_fn(ad: AstroData, ui_parms: UIParameters):
ui_params = UIParameters(config, reinit_params=reinit_params, extras=reinit_extras)
visualizer = fit1d.Fit1DVisualizer(lambda ui_params: recalc_fn(ad, ui_params),
fitting_parameters=[fit1d_params]*count,
tab_name_fmt="Slit {}",
tab_name_fmt=lambda i: f"Slit {i+1}",
xlabel='Row',
ylabel='Signal',
domains=all_shapes,
Expand Down
2 changes: 1 addition & 1 deletion geminidr/gmos/primitives_gmos_longslit.py
Original file line number Diff line number Diff line change
Expand Up @@ -793,7 +793,7 @@ def reconstruct_points(ui_params=None):
extras = {"row": RangeField("Row of data to operate on", int, int(nrows/2), min=1, max=nrows)}
uiparams = UIParameters(config, reinit_params=reinit_params, extras=extras)
visualizer = fit1d.Fit1DVisualizer(reconstruct_points, all_fp_init,
tab_name_fmt="CCD {}",
tab_name_fmt=lambda i: f"CCD {i+1}",
xlabel='x (pixels)', ylabel='counts',
domains=all_domains,
title="Normalize Flat",
Expand Down
13 changes: 8 additions & 5 deletions geminidr/interactive/fit/fit1d.py
Original file line number Diff line number Diff line change
Expand Up @@ -1547,7 +1547,7 @@ def __init__(
fitting_parameters,
modal_message=None,
modal_button_label=None,
tab_name_fmt="{}",
tab_name_fmt=None,
xlabel="x",
ylabel="y",
domains=None,
Expand Down Expand Up @@ -1590,8 +1590,8 @@ def __init__(
If set and if modal_message was set, this will be used for the
label on the recalculate button. It is not required.
tab_name_fmt : str
Format string for naming the tabs
tab_name_fmt : callable
Turns ext.id into a title for the tab name
xlabel : str
String label for X axis
Expand Down Expand Up @@ -1770,6 +1770,9 @@ def kickoff_modal(attr, old, new):

elif turbo_tabs:
self.turbo = TabsTurboInjector(self.tabs)

if tab_name_fmt is None:
tab_name_fmt = lambda i: f"Extension {i+1}"

for i in range(self.nfits):
extra_masks = {}
Expand Down Expand Up @@ -1799,12 +1802,12 @@ def kickoff_modal(attr, old, new):

if turbo_tabs:
self.turbo.add_tab(
tui.component, title=tab_name_fmt.format(i + 1)
tui.component, title=str(tab_name_fmt(i))
)

else:
tab = bm.TabPanel(
child=tui.component, title=tab_name_fmt.format(i + 1)
child=tui.component, title=str(tab_name_fmt(i))
)

self.tabs.tabs.append(tab)
Expand Down
2 changes: 1 addition & 1 deletion geminidr/interactive/fit/tracing.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def interactive_trace_apertures(ext, fit1d_params, ui_params: UIParameters):
fitting_parameters=fit_par_list,
help_text=help_text,
primitive_name="traceApertures",
tab_name_fmt="Aperture {}",
tab_name_fmt=lambda i: f"Aperture {i+1}",
title="Interactive Trace Apertures",
xlabel=xlabel,
ylabel=ylabel,
Expand Down

0 comments on commit 20962b7

Please sign in to comment.