Exemplo n.º 1
0
    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
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
    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