From 9dc6d6ee47fb5b35409d7c26693b1d88c8bb9250 Mon Sep 17 00:00:00 2001 From: "P. L. Lim" <2090236+pllim@users.noreply.github.com> Date: Tue, 24 Sep 2024 17:45:54 -0400 Subject: [PATCH] Add test and change log --- CHANGES.rst | 2 ++ .../configs/specviz2d/tests/test_parsers.py | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index b371412871..a447f8324e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -254,6 +254,8 @@ Specviz Specviz2d ^^^^^^^^^ +- Fixed Subset unit when it is created in 2D spectrum viewer. [#3201] + 3.10.3 (2024-07-22) =================== diff --git a/jdaviz/configs/specviz2d/tests/test_parsers.py b/jdaviz/configs/specviz2d/tests/test_parsers.py index 4a9d1b2233..30a9840d12 100644 --- a/jdaviz/configs/specviz2d/tests/test_parsers.py +++ b/jdaviz/configs/specviz2d/tests/test_parsers.py @@ -1,7 +1,10 @@ import pytest import stdatamodels +from astropy import units as u from astropy.io import fits from astropy.utils.data import download_file +from glue.core.edit_subset_mode import NewMode +from glue.core.roi import XRangeROI from jdaviz.utils import PRIHDR_KEY from jdaviz.configs.imviz.tests.utils import create_example_gwcs @@ -134,6 +137,25 @@ def test_2d_1d_parser(specviz2d_helper, mos_spectrum2d, spectrum1d): specviz2d_helper.load_data(spectrum_2d=mos_spectrum2d, spectrum_1d=spectrum1d) assert specviz2d_helper.app.data_collection.labels == ['Spectrum 2D', 'Spectrum 1D'] + spec2d_viewer = specviz2d_helper.app.get_viewer("spectrum-2d-viewer") + assert spec2d_viewer.figure.axes[0].label == "x: pixels" # -0.5, 14.5 + spec2d_viewer.apply_roi(XRangeROI(10, 12)) + + spec2d_viewer.session.edit_subset_mode._mode = NewMode + + spec1d_viewer = specviz2d_helper.app.get_viewer("spectrum-viewer") + assert spec1d_viewer.figure.axes[0].label == "Wavelength [Angstrom]" # 6000, 8000 + spec1d_viewer.apply_roi(XRangeROI(7000, 7100)) + + # Subset 1 should follow Spectrum 2D viewer unit. + # Subset 2 should follow Spectrum 1D viewer unit. + subsets = specviz2d_helper.app.get_subsets() + assert len(subsets) == 2 + s1 = subsets["Subset 1"] + s2 = subsets["Subset 2"] + assert s1.lower.unit == s1.upper.unit == u.pix + assert s2.lower.unit == s2.upper.unit == u.AA + def test_parser_no_data(specviz2d_helper): with pytest.raises(ValueError, match='Must provide spectrum_2d or spectrum_1d'):