diff --git a/CHANGES.rst b/CHANGES.rst index bb6e4292f8..329f0077ce 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,9 @@ 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 ^^^^^^^ 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 8bda0c735f..3ad8cdcc5b 100644 --- a/jdaviz/configs/default/plugins/model_fitting/tests/test_plugin.py +++ b/jdaviz/configs/default/plugins/model_fitting/tests/test_plugin.py @@ -178,6 +178,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'] @@ -288,6 +300,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') diff --git a/jdaviz/core/template_mixin.py b/jdaviz/core/template_mixin.py index 86aefc3b54..73d025d5d2 100644 --- a/jdaviz/core/template_mixin.py +++ b/jdaviz/core/template_mixin.py @@ -2694,7 +2694,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":