From fc30f7093386a9c217ff7d32eb6806e6033ada56 Mon Sep 17 00:00:00 2001 From: Ricky O'Steen Date: Tue, 30 Jul 2024 16:13:10 -0400 Subject: [PATCH 1/3] Avoid checking selected_obj before it's available --- jdaviz/core/template_mixin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jdaviz/core/template_mixin.py b/jdaviz/core/template_mixin.py index 67cbfcb610..cc0df74f5e 100644 --- a/jdaviz/core/template_mixin.py +++ b/jdaviz/core/template_mixin.py @@ -2810,7 +2810,7 @@ class DatasetSpectralSubsetValidMixin(VuetifyTemplate, HubListener): @observe("dataset_selected", "spectral_subset_selected") def _check_dataset_spectral_subset_valid(self, event={}, return_ranges=False): - if not hasattr(self, 'dataset'): + if not hasattr(self, 'dataset') or self.dataset.selected_obj is None: # plugin not fully initialized return if self.spectral_subset_selected == "Entire Spectrum": From 779cb149dddfb7e680cb4525d5f38bf7e620e9a6 Mon Sep 17 00:00:00 2001 From: Ricky O'Steen Date: Tue, 30 Jul 2024 16:17:21 -0400 Subject: [PATCH 2/3] Changelog --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index da8f87b455..ab9c75a7ef 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -197,6 +197,9 @@ Other Changes and Additions Bug Fixes --------- +- Fixed the data menu in Model Fitting not being populated if Cube Fit was toggled + while a spectral subset was selected. [#3123] + Cubeviz ^^^^^^^ From 3ed6a64a8a742cbca90057ee211ac7789c208ce7 Mon Sep 17 00:00:00 2001 From: Ricky O'Steen Date: Tue, 30 Jul 2024 16:29:39 -0400 Subject: [PATCH 3/3] Added a test that fails on main --- .../plugins/model_fitting/tests/test_plugin.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/jdaviz/configs/default/plugins/model_fitting/tests/test_plugin.py b/jdaviz/configs/default/plugins/model_fitting/tests/test_plugin.py index a3ccd8b8e7..92304ea52b 100644 --- a/jdaviz/configs/default/plugins/model_fitting/tests/test_plugin.py +++ b/jdaviz/configs/default/plugins/model_fitting/tests/test_plugin.py @@ -174,6 +174,18 @@ def test_fit_cube_no_wcs(cubeviz_helper): assert fitted_data.shape == output_cube.shape +def test_toggle_cube_fit_subset(cubeviz_helper): + sp = Spectrum1D(flux=np.ones((7, 8, 9)) * u.nJy) # ny, nx, nz + cubeviz_helper.load_data(sp, data_label="test_cube") + mf = cubeviz_helper.plugins['Model Fitting'] + + sv = cubeviz_helper.app.get_viewer('spectrum-viewer') + sv.apply_roi(XRangeROI(7.5, 8)) + + mf.spectral_subset = 'Subset 1' + mf.cube_fit = True + + def test_refit_plot_options(specviz_helper, spectrum1d): specviz_helper.load_data(spectrum1d) modelfit_plugin = specviz_helper.plugins['Model Fitting'] @@ -284,6 +296,7 @@ def test_reestimate_parameters(specviz_helper, spectrum1d): sv.apply_roi(XRangeROI(7500, 8000)) mf.spectral_subset = 'Subset 1' + mf.reestimate_model_parameters() mc = mf.get_model_component('G')