diff --git a/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.py b/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.py index 51314c31c6..1bda8d064c 100644 --- a/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.py +++ b/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.py @@ -11,7 +11,7 @@ from traitlets import Any, Bool, Dict, Float, List, Unicode, observe from jdaviz.core.custom_traitlets import FloatHandleEmpty -from jdaviz.core.events import SnackbarMessage, SliceValueUpdatedMessage +from jdaviz.core.events import SnackbarMessage, SliceValueUpdatedMessage, GlobalDisplayUnitChanged from jdaviz.core.marks import PluginLine from jdaviz.core.registries import tray_registry from jdaviz.core.template_mixin import (PluginTemplateMixin, @@ -107,6 +107,9 @@ class SpectralExtraction(PluginTemplateMixin, ApertureSubsetSelectMixin, extraction_available = Bool(False).tag(sync=True) overwrite_warn = Bool(False).tag(sync=True) + results_units = Unicode().tag(sync=True) + spectrum_y_units = Unicode().tag(sync=True) + aperture_method_items = List().tag(sync=True) aperture_method_selected = Unicode('Center').tag(sync=True) @@ -174,6 +177,8 @@ def __init__(self, *args, **kwargs): self.session.hub.subscribe(self, SliceValueUpdatedMessage, handler=self._on_slice_changed) + self.hub.subscribe(self, GlobalDisplayUnitChanged, + handler=self._update_results_units) self._update_disabled_msg() @@ -308,6 +313,14 @@ def _update_mark_scale(self, *args): else: self.background.scale_factor = self.slice_spectral_value/self.reference_spectral_value + @observe('function_selected') + def _update_results_units(self, msg={}): + self.spectrum_y_units = str(self.app._get_display_unit('spectral_y')) + if self.function_selected.lower() == 'sum': + self.results_units = str(self.app._get_display_unit('flux')) + else: + self.results_units = str(self.app._get_display_unit('sb')) + @observe('function_selected', 'aperture_method_selected') def _update_aperture_method_on_function_change(self, *args): if (self.function_selected.lower() in ('min', 'max') and diff --git a/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.vue b/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.vue index 74629b7a65..bc4cf58431 100644 --- a/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.vue +++ b/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.vue @@ -244,7 +244,15 @@ :action_spinner="spinner" :action_disabled="aperture_selected === bg_selected || conflicting_aperture_and_function" @click:action="spectral_extraction" - > + > + + function='{{ function_selected }}' will result in units of {{ results_units }}, but will be displayed as {{ spectrum_y_units }}. To change plotted units, see the Unit Conversion plugin + + Results