Skip to content

Commit

Permalink
require unit conversion plugin to remove fallback logic for disp units
Browse files Browse the repository at this point in the history
  • Loading branch information
kecnry committed Aug 21, 2024
1 parent 95d6008 commit fa94381
Showing 1 changed file with 7 additions and 25 deletions.
32 changes: 7 additions & 25 deletions jdaviz/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -1270,34 +1270,16 @@ def merge_func(spectral_region): # noop
return self._get_multi_mask_subset_definition(subset_state)

def _get_display_unit(self, axis):
if self._jdaviz_helper is None or self._jdaviz_helper.plugins.get('Unit Conversion') is None: # noqa
# fallback on native units (unit conversion is not enabled)
if axis == 'spectral':
sv = self.get_viewer(self._jdaviz_helper._default_spectrum_viewer_reference_name)
return sv.data()[0].spectral_axis.unit
elif axis in ('flux', 'sb', 'spectral_y'):
sv = self.get_viewer(self._jdaviz_helper._default_spectrum_viewer_reference_name)
sv_y_unit = sv.data()[0].flux.unit
if axis == 'spectral_y':
return sv_y_unit
elif axis == 'flux':
if check_if_unit_is_per_solid_angle(sv_y_unit):
# TODO: this will need updating once solid-angle unit can be non-steradian
return sv_y_unit * u.sr
return sv_y_unit
else:
# surface_brightness
if check_if_unit_is_per_solid_angle(sv_y_unit):
return sv_y_unit
return sv_y_unit / u.sr
else:
raise ValueError(f"could not find units for axis='{axis}'")
uc = self._jdaviz_helper.plugins.get('Unit Conversion')._obj
if self._jdaviz_helper is None:
return ''
uc = self._jdaviz_helper.plugins.get('Unit Conversion', None)
if uc is None:
raise ValueError("unit conversion plugin is required to be loaded for display units")
if axis == 'spectral_y':
# translate options from uc.flux_or_sb to the prefix used in uc.??_unit_selected
axis = {'Surface Brightness': 'sb', 'Flux': 'flux'}[uc.flux_or_sb_selected]
axis = {'Surface Brightness': 'sb', 'Flux': 'flux'}[uc._obj.flux_or_sb_selected]
try:
return getattr(uc, f'{axis}_unit_selected')
return getattr(uc._obj, f'{axis}_unit_selected')
except AttributeError:
raise ValueError(f"could not find display unit for axis='{axis}'")

Expand Down

0 comments on commit fa94381

Please sign in to comment.