Data Analysis Plugins

The Specviz data analysis plugins are meant to aid quick-look analysis of 1D spectroscopic data. All plugins are accessed via the plugin icon in the upper right corner of the Specviz application. These plugins are built upon :ref:specutils to do the actual analysis work

Specviz Plugins

Any spectra generated by plugins (e.g., Gaussian Smooth) will generally be automatically displayed in the spectral viewer, and one can always see the spectra available and toggle their visibility in the data selection dropdown menu (see Selecting Data Set for more detail). If you are working in the notebook, you can also enable more reproducible analysis by using the Python API.

Metadata Viewer

See also

Metadata Viewer

Imviz documentation on using the metadata viewer.

Plot Options

See also

Spectral Plot Options

Documentation on further details regarding the plot setting controls.

Subset Tools

See also

Subset Tools

Imviz documentation describing the concept of subsets in Jdaviz.

Markers

See also

Markers

Imviz documentation describing the markers plugin.

Gaussian Smooth

Gaussian Smooth is performed on a Spectrum1D data object. The spectrum is convolved with a Gaussian function. The Gaussian standard deviation in pixels must be entered into the Standard deviation field in the plugin.

A new Spectrum1D object is generated and is added to the spectrum viewer. It can be selected and shown in the viewer via the Data icon in the viewer toolbar.

Model Fitting

../_images/model_fitting_components.png

Astropy models can be fit to a spectrum via the Model Fitting plugin. Model components are selected via the Model Component pulldown menu. The Add Component button adds a Model Components block.

Model Parameters are automatically initialized with a guess. These starting values can be edited by the user. They may also be fixed by selecting the checkbox, so that they are not fit or changed by the model fitting.

A mathematical expression must be entered into the Equation Editor to specify the mathematical combination of models. This is also necessary even if there is only one model component. The model components are specified by their labels and the equation defaults to the sum of all created components, but can be modified to exclude some of components without needing to delete them entirely or to change to subtraction, for example.

After fitting, the expandable menu for each component model will update to show the fitted value of each parameter rather than the initial value, and will additionally show the standard deviation uncertainty of the fitted parameter value if the parameter was not set to be fixed to the initial value.

Parameter values for each fitting run are stored in the plugin table. To export the table into the notebook via the API, call export_table() (see Accessing Plugin APIs).

See also

Export Models

Documentation on exporting model fitting results.

Unit Conversion

Note

This plugin is temporarily disabled. Effort to improve it is being tracked at https://github.com/spacetelescope/jdaviz/issues/1972 .

The spectral flux density and spectral axis units can be converted using the Unit Conversion plugin. The Spectrum1D object to be converted is the currently selected spectrum in the spectrum viewer Data icon in the viewer toolbar.

Select the frequency, wavelength, or energy unit in the New Spectral Axis Unit pulldown (e.g., Angstrom, Hertz, erg).

Select the flux density unit in the New Flux Unit pulldown (e.g., Jansky, W/(Hz/m2), ph/(Angstrom cm2 s)).

The Apply button will convert the flux density and/or spectral axis units and create a new Spectrum1D object that is automatically switched to in the spectrum viewer. The name of the new Spectrum1D object is “_units_copy_” plus the flux and spectral units of the spectrum.

Line Lists

Line wavelengths can be plotted in the spectrum viewer using the Line Lists plugin.

Line lists (e.g. Common Stellar, SDSS, CO) can be selected from Preset Line Lists via the Available Line Lists pulldown. They are loaded and displayed by pressing Load List. Each loaded list is shown under Loaded Lines. Loaded line lists may be removed by pressing the circled-x button.

../_images/line_lists.png

The Loaded Lines include a Custom line list which is automatically created, but populated with no lines. Lines may be added to the Custom line list by entering Line Name, Rest Value, and Unit for the spectral axis and pressing Add Line. Selected lines may be hidden by deselecting the associated check box.

The color of each line list may be adjusted with the color and saturation sliders. Entire line lists may be hidden in the display via Show All and Hide All, located at the bottom of each list. Similarly, all of the line lists may be shown or hidden via Plot All and Erase All, located at the bottom of the plugin.

Importing Custom Line Lists

Jdaviz comes with curated line lists built by the scientific community. If you cannot find the lines you need, you can add your own by constructing an astropy table; For example:

from astropy.table import QTable
from astropy import units as u

my_line_list = QTable()
my_line_list['linename'] = ['Hbeta','Halpha']
my_line_list['rest'] = [4851.3, 6563]*u.AA

viz.load_line_list(my_line_list)
# Show all imported line lists
viz.spectral_lines

Redshift Slider

Warning

Using the redshift slider with many active spectral lines causes performance issues. If the shifting of spectral lines lag behind the slider, try plotting less lines. You can deselect lines using, e.g., the “Erase All” button in the line lists UI.

The plugin also contains a redshift slider which shifts all of the plotted lines according to the provided redshift/RV. The slider applies a delta-redshift, snaps back to the center when releasing, and has limits that default based on the x-limits of the spectrum viewer. This provides a convenient method to fine-tune the position of the redshifted lines to the observed lines in the spectrum.

From the API

The range and step size of the slider can be set from a notebook cell using the set_redshift_slider_bounds() method in Specviz by specifying the range or step keywords, respectively. Setting either keyword to 'auto' means its value will be calculated automatically based on the x-limits of the spectrum plot.

The redshift itself can be set from the notebook using the set_redshift method.

Any set redshift values are applied to spectra output using the get_spectra() helper method. Note that using the lower-level app data retrieval (e.g., specviz.get_data()) will return the data as originally loaded, with the redshift unchanged.

Line Analysis

The Line Analysis plugin returns specutils analysis for a single spectral line. The line is selected via the region tool in the spectrum viewer to select a spectral subset. Note that you can have multiple subsets in Specviz, but the plugin will only show statistics for the selected subset.

A linear continuum is fitted and subtracted (divided for the case of equivalenth width) before computing the line statistics. By default, the continuum is fitted to a region surrounding the select line. The width of this region can be adjusted, with a visual indicator shown in the spectrum plot while the plugin is open. The thick line shows the linear fit which is then interpolated into the line region as shown by a thin line. Alternatively, a custom secondary region can be created and selected as the region to fit the linear continuum.

The statistics returned include the line centroid, gaussian sigma width, gaussian FWHM, total flux, and equivalent width.

The line flux results are automatically converted to Watts/meter^2, when appropriate.

Redshift from Centroid

Following the table of statistics, the centroid can be used to set the redshift by assigning the centroid value to a line added in the Line List Plugin. Select the corresponding line from the dropdown, or by locking the selection to the identified line and using the line select icon (line selector) tool in the spectrum viewer.

Export Plot

This plugin allows a given viewer’s plot to be exported to various image formats.