From 8ea20d076ea988c837dac221e4173b8b1b4a65b6 Mon Sep 17 00:00:00 2001 From: Ricky O'Steen Date: Tue, 21 Jan 2025 10:12:30 -0500 Subject: [PATCH] More debugging --- jdaviz/configs/cubeviz/plugins/moment_maps/moment_maps.py | 3 ++- .../specviz/plugins/unit_conversion/unit_conversion.py | 2 ++ jdaviz/core/template_mixin.py | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/jdaviz/configs/cubeviz/plugins/moment_maps/moment_maps.py b/jdaviz/configs/cubeviz/plugins/moment_maps/moment_maps.py index 400a76a347..9a6a19bda1 100644 --- a/jdaviz/configs/cubeviz/plugins/moment_maps/moment_maps.py +++ b/jdaviz/configs/cubeviz/plugins/moment_maps/moment_maps.py @@ -311,7 +311,8 @@ def calculate_moment(self, add_data=True): # before calculating else: slab_sa = slab.spectral_axis.to(self.app._get_display_unit('spectral')) - slab = Spectrum(slab.flux, slab_sa, uncertainty=slab.uncertainty) + slab = Spectrum(slab.flux, slab_sa, uncertainty=slab.uncertainty, + spectral_axis_index=cube.spectral_axis_index) # Finally actually calculate the moment self.moment = analysis.moment(slab, order=n_moment).T diff --git a/jdaviz/configs/specviz/plugins/unit_conversion/unit_conversion.py b/jdaviz/configs/specviz/plugins/unit_conversion/unit_conversion.py index a1f81034b2..de17ea39dc 100644 --- a/jdaviz/configs/specviz/plugins/unit_conversion/unit_conversion.py +++ b/jdaviz/configs/specviz/plugins/unit_conversion/unit_conversion.py @@ -31,6 +31,8 @@ def _valid_glue_display_unit(unit_str, sv, axis='x'): unit_u = u.Unit(unit_str) choices_str = getattr(sv.state.__class__, f'{axis}_display_unit').get_choices(sv.state) choices_str = [choice for choice in choices_str if choice is not None] + if choices_str == []: + return unit_str choices_u = [u.Unit(choice) for choice in choices_str] if unit_u not in choices_u: raise ValueError(f"{unit_str} could not find match in valid {axis} display units {choices_str}") # noqa diff --git a/jdaviz/core/template_mixin.py b/jdaviz/core/template_mixin.py index ea6a14bde7..4192975c52 100644 --- a/jdaviz/core/template_mixin.py +++ b/jdaviz/core/template_mixin.py @@ -3272,11 +3272,11 @@ def fit_continuum(continuum_y_spaxel): # spectrum.spectral_axis is an array, but we need our continuum to have the same # shape as the fluxes in the cube, so let's just duplicate to the correct shape - print(spectrum.flux.shape) spectral_axis_cube = np.zeros(spectrum.flux.shape) - spectral_axis_cube[:, :] = spectrum.spectral_axis.value - - continuum = slopes[:, :, np.newaxis] * (spectral_axis_cube-min_x) + intercepts[:, :, np.newaxis] # noqa + reshape_inds = [1, 1, 1] + reshape_inds[spectral_axis_index] = -1 + spectral_axis_cube[:, :, :] = spectrum.spectral_axis.value.reshape(reshape_inds) + continuum = np.expand_dims(slopes, spectral_axis_index) * (spectral_axis_cube-min_x) + np.expand_dims(intercepts, spectral_axis_index) # noqa else: continuum_y = full_spectrum.flux[continuum_mask].value slope, intercept = np.polyfit(continuum_x-min_x, continuum_y, deg=1)