diff --git a/CHANGES.rst b/CHANGES.rst index eea2516be7..aefd4bc564 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,7 +5,7 @@ New Features ------------ - Added flux/surface brightness translation and surface brightness - unit conversion in Cubeviz and Specviz. [#2781, #2940, #3088] + unit conversion in Cubeviz and Specviz. [#2781, #2940, #3088, #3113] - Plugin tray is now open by default. [#2892] diff --git a/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.py b/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.py index 3ae47a7767..86590c4d03 100644 --- a/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.py +++ b/jdaviz/configs/cubeviz/plugins/spectral_extraction/spectral_extraction.py @@ -513,7 +513,7 @@ def extract(self, return_bg=False, add_data=True, **kwargs): spec = spec - bg_spec # per https://jwst-docs.stsci.edu/jwst-near-infrared-camera/nircam-performance/nircam-absolute-flux-calibration-and-zeropoints # noqa - pix_scale_factor = self.aperture_area_along_spectral * self.spectral_cube.meta.get('PIXAR_SR', 1.0) # noqa + pix_scale_factor = self.spectral_cube.meta.get('PIXAR_SR', 1.0) spec.meta['_pixel_scale_factor'] = pix_scale_factor # inform the user if scale factor keyword not in metadata diff --git a/jdaviz/configs/default/plugins/model_fitting/model_fitting.py b/jdaviz/configs/default/plugins/model_fitting/model_fitting.py index 20a166d70a..ec1d2105cc 100644 --- a/jdaviz/configs/default/plugins/model_fitting/model_fitting.py +++ b/jdaviz/configs/default/plugins/model_fitting/model_fitting.py @@ -328,7 +328,7 @@ def _dataset_selected_changed(self, event=None): # during initial init, this can trigger before the component is initialized return - selected_spec = self.dataset.selected_spectrum + selected_spec = self.dataset.selected_obj if selected_spec is None: return @@ -842,6 +842,10 @@ def _fit_model_to_spectrum(self, add_data): self.hub.broadcast(msg) return + selected_spec = self.dataset.selected_obj + if '_pixel_scale_factor' in selected_spec.meta: + fitted_spectrum.meta['_pixel_scale_factor'] = selected_spec.meta['_pixel_scale_factor'] + self._fitted_model = fitted_model self._fitted_spectrum = fitted_spectrum @@ -933,6 +937,10 @@ def _fit_model_to_cube(self, add_data): output_cube = Spectrum1D(flux=fitted_spectrum.flux, wcs=fitted_spectrum.wcs) + selected_spec = self.dataset.selected_obj + if '_pixel_scale_factor' in selected_spec.meta: + output_cube.meta['_pixel_scale_factor'] = selected_spec.meta['_pixel_scale_factor'] + # Create new data entry for glue if add_data: self.add_results.add_results_from_plugin(output_cube) diff --git a/jdaviz/tests/test_app.py b/jdaviz/tests/test_app.py index a3dd376f69..e2d3ca11bb 100644 --- a/jdaviz/tests/test_app.py +++ b/jdaviz/tests/test_app.py @@ -232,7 +232,7 @@ def test_to_unit(cubeviz_helper): # will be a uniform array since not wavelength dependent # so test first value in array - assert np.allclose(value[0], 4.800000041882413e-08) + assert np.allclose(value[0], 8e-11) # Change from Fnu to Flam (with values shape matching spectral axis)