def get_spectral_regions(self): """ Retrieves glue subset objects from the spectrum viewer and converts them to `~specutils.SpectralRegion` objects. Returns ------- spec_regs : dict Mapping from the names of the subsets to the subsets expressed as `specutils.SpectralRegion` objects. """ regions = self.app.get_subsets_from_viewer("spectrum-viewer", subset_type="spectral") spec_regs = {} for name, reg in regions.items(): # Use the region's unit. If N/A, use the reference_data's unit = reg.meta.get("spectral_axis_unit", self.get_spectra( self.app.get_viewer("spectrum-viewer" ).state.reference_data.label, apply_slider_redshift=False ).spectral_axis.unit ) spec_reg = SpectralRegion.from_center(reg.center.x * unit, reg.width * unit) spec_regs[name] = spec_reg return spec_regs
def _on_subset_selected(self, event): # If "None" selected, reset based on bounds of selected data if self.selected_subset == "None": cube = self._selected_data.get_object(cls=SpectralCube) self.spectral_min = cube.spectral_axis[0].value self.spectral_max = cube.spectral_axis[-1].value else: spec_sub = self._spectral_subsets[self.selected_subset] unit = u.Unit(self.spectral_unit) spec_reg = SpectralRegion.from_center(spec_sub.center.x * unit, spec_sub.width * unit) self.spectral_min = spec_reg.lower.value self.spectral_max = spec_reg.upper.value
def _on_subset_selected(self, event): # If "None" selected, reset based on bounds of selected data if self.selected_subset == "None": self._window = None self.spectral_min = self._spectrum1d.spectral_axis[0].value self.spectral_max = self._spectrum1d.spectral_axis[-1].value else: spec_sub = self._spectral_subsets[self.selected_subset] unit = u.Unit(self.spectral_unit) spreg = SpectralRegion.from_center(spec_sub.center.x * unit, spec_sub.width * unit) self._window = (spreg.lower, spreg.upper) self.spectral_min = spreg.lower.value self.spectral_max = spreg.upper.value
def get_spectral_regions(self): """ Retrieves glue subset objects from the spectrum viewer and converts them to `~specutils.SpectralRegion` objects. Returns ------- spec_regs : dict Mapping from the names of the subsets to the subsets expressed as `specutils.SpectralRegion` objects. """ regions = self.app.get_subsets_from_viewer('spectrum-viewer') spec_regs = {} for name, reg in regions.items(): unit = reg.meta.get('spectral_axis_unit', u.Unit('Angstrom')) spec_reg = SpectralRegion.from_center(reg.center.x * unit, reg.width * unit) spec_regs[name] = spec_reg return spec_regs