Module pyaurorax.tools.spectra
Work with spectrograph data.
Classes
class SpectraManager
-
Expand source code
class SpectraManager: """ The SpectraManager object is initialized within every PyAuroraX object. It acts as a way to access the submodules and carry over configuration information in the super class. """ def __init__(self): pass def plot(self, spect_data: Data, timestamp: Union[datetime.datetime, List[ datetime.datetime, ]], spect_loc: Union[int, List[int]], title: Optional[str] = None, figsize: Optional[Tuple[int, int]] = None, color: Optional[Union[str, List]] = None, ylog: bool = False, xlabel: str = "Wavelength (nm)", ylabel: str = "Intensity (R/nm)", ylim: Optional[Tuple[int, int]] = None, xlim: Optional[Tuple[int, int]] = None, plot_line: Optional[Union[float, List[float]]] = None, plot_line_color: Optional[Union[str, List[str]]] = None, returnfig: bool = False, savefig: bool = False, savefig_filename: Optional[str] = None, savefig_quality: Optional[int] = None) -> Any: """ Generate a plot of one or more spectra from spectrograph data. Either display it (default behaviour), save it to disk (using the `savefig` parameter), or return the matplotlib plot object for further usage (using the `returnfig` parameter). Args: spect_data (pyaurorax.data.ucalgary.Data): The data object containing spectrograph data. timestamp (datetime.datetime): A timestamp or list of timestamps for which to plot spectra from. spect_loc (int): An int or list of ints giving the spectrograph spatial bin indices to plot. title (str): The title to display above the plotted spectra. figsize (tuple): The matplotlib figure size to use when plotting. For example `figsize=(14,4)`. color (str, List): A string or list of strings giving the matplotlib color names to use for plotting spectra. ylog (bool): Plot on a logarithmic axis. Default is linear. xlabel (str): The x-axis label to use. Default is `Wavelength (nm)`. ylabel (str): The y-axis label to use. Default is 'Intensity (Rayleighs)'. ylim (Tuple[int]): The min and max values to display on the y-axis, in units of Rayleighs/nm. xlim (Tuple[int]): The min and max values to display on the x-axis, in units of nm. plot_line (float): A float, or list of floats, giving wavelengths at which to plot a vertical line, useful for comparing to known emission wavelengths (e.g. 557.7). plot_line_color (str): A string or list of strings giving the colors to use for plotting lines specified by 'plot_lines'. returnfig (bool): Instead of displaying the image, return the matplotlib figure object. This allows for further plot manipulation, for example, adding labels or a title in a different location than the default. Remember - if this parameter is supplied, be sure that you close your plot after finishing work with it. This can be achieved by doing `plt.close(fig)`. Note that this method cannot be used in combination with `savefig`. savefig (bool): Save the displayed image to disk instead of displaying it. The parameter savefig_filename is required if this parameter is set to True. Defaults to `False`. savefig_filename (str): Filename to save the image to. Must be specified if the savefig parameter is set to True. savefig_quality (int): Quality level of the saved image. This can be specified if the savefig_filename is a JPG image. If it is a PNG, quality is ignored. Default quality level for JPGs is matplotlib/Pillow's default of 75%. Returns: The displayed spectra, by default. If `savefig` is set to True, nothing will be returned. If `returnfig` is set to True, the plotting variables `(fig, ax)` will be returned. Raises: ValueError: issues encountered with supplied parameters """ return func_plot(spect_data, timestamp, spect_loc, title, figsize, color, ylog, xlabel, ylabel, ylim, xlim, plot_line, plot_line_color, returnfig, savefig, savefig_filename, savefig_quality)
The SpectraManager object is initialized within every PyAuroraX object. It acts as a way to access the submodules and carry over configuration information in the super class.
Methods
def plot(self,
spect_data: pyucalgarysrs.data.classes.Data,
timestamp: datetime.datetime | List[datetime.datetime],
spect_loc: int | List[int],
title: str | None = None,
figsize: Tuple[int, int] | None = None,
color: str | List | None = None,
ylog: bool = False,
xlabel: str = 'Wavelength (nm)',
ylabel: str = 'Intensity (R/nm)',
ylim: Tuple[int, int] | None = None,
xlim: Tuple[int, int] | None = None,
plot_line: float | List[float] | None = None,
plot_line_color: str | List[str] | None = None,
returnfig: bool = False,
savefig: bool = False,
savefig_filename: str | None = None,
savefig_quality: int | None = None) ‑> Any-
Expand source code
def plot(self, spect_data: Data, timestamp: Union[datetime.datetime, List[ datetime.datetime, ]], spect_loc: Union[int, List[int]], title: Optional[str] = None, figsize: Optional[Tuple[int, int]] = None, color: Optional[Union[str, List]] = None, ylog: bool = False, xlabel: str = "Wavelength (nm)", ylabel: str = "Intensity (R/nm)", ylim: Optional[Tuple[int, int]] = None, xlim: Optional[Tuple[int, int]] = None, plot_line: Optional[Union[float, List[float]]] = None, plot_line_color: Optional[Union[str, List[str]]] = None, returnfig: bool = False, savefig: bool = False, savefig_filename: Optional[str] = None, savefig_quality: Optional[int] = None) -> Any: """ Generate a plot of one or more spectra from spectrograph data. Either display it (default behaviour), save it to disk (using the `savefig` parameter), or return the matplotlib plot object for further usage (using the `returnfig` parameter). Args: spect_data (pyaurorax.data.ucalgary.Data): The data object containing spectrograph data. timestamp (datetime.datetime): A timestamp or list of timestamps for which to plot spectra from. spect_loc (int): An int or list of ints giving the spectrograph spatial bin indices to plot. title (str): The title to display above the plotted spectra. figsize (tuple): The matplotlib figure size to use when plotting. For example `figsize=(14,4)`. color (str, List): A string or list of strings giving the matplotlib color names to use for plotting spectra. ylog (bool): Plot on a logarithmic axis. Default is linear. xlabel (str): The x-axis label to use. Default is `Wavelength (nm)`. ylabel (str): The y-axis label to use. Default is 'Intensity (Rayleighs)'. ylim (Tuple[int]): The min and max values to display on the y-axis, in units of Rayleighs/nm. xlim (Tuple[int]): The min and max values to display on the x-axis, in units of nm. plot_line (float): A float, or list of floats, giving wavelengths at which to plot a vertical line, useful for comparing to known emission wavelengths (e.g. 557.7). plot_line_color (str): A string or list of strings giving the colors to use for plotting lines specified by 'plot_lines'. returnfig (bool): Instead of displaying the image, return the matplotlib figure object. This allows for further plot manipulation, for example, adding labels or a title in a different location than the default. Remember - if this parameter is supplied, be sure that you close your plot after finishing work with it. This can be achieved by doing `plt.close(fig)`. Note that this method cannot be used in combination with `savefig`. savefig (bool): Save the displayed image to disk instead of displaying it. The parameter savefig_filename is required if this parameter is set to True. Defaults to `False`. savefig_filename (str): Filename to save the image to. Must be specified if the savefig parameter is set to True. savefig_quality (int): Quality level of the saved image. This can be specified if the savefig_filename is a JPG image. If it is a PNG, quality is ignored. Default quality level for JPGs is matplotlib/Pillow's default of 75%. Returns: The displayed spectra, by default. If `savefig` is set to True, nothing will be returned. If `returnfig` is set to True, the plotting variables `(fig, ax)` will be returned. Raises: ValueError: issues encountered with supplied parameters """ return func_plot(spect_data, timestamp, spect_loc, title, figsize, color, ylog, xlabel, ylabel, ylim, xlim, plot_line, plot_line_color, returnfig, savefig, savefig_filename, savefig_quality)
Generate a plot of one or more spectra from spectrograph data.
Either display it (default behaviour), save it to disk (using the
savefig
parameter), or return the matplotlib plot object for further usage (using thereturnfig
parameter).Args
spect_data
:Data
- The data object containing spectrograph data.
timestamp
:datetime.datetime
- A timestamp or list of timestamps for which to plot spectra from.
spect_loc
:int
- An int or list of ints giving the spectrograph spatial bin indices to plot.
title
:str
- The title to display above the plotted spectra.
figsize
:tuple
- The matplotlib figure size to use when plotting. For example
figsize=(14,4)
. color
:str, List
- A string or list of strings giving the matplotlib color names to use for plotting spectra.
ylog
:bool
- Plot on a logarithmic axis. Default is linear.
xlabel
:str
- The x-axis label to use. Default is
Wavelength (nm)
. ylabel
:str
- The y-axis label to use. Default is 'Intensity (Rayleighs)'.
ylim
:Tuple[int]
- The min and max values to display on the y-axis, in units of Rayleighs/nm.
xlim
:Tuple[int]
- The min and max values to display on the x-axis, in units of nm.
plot_line
:float
- A float, or list of floats, giving wavelengths at which to plot a vertical line, useful for comparing to known emission wavelengths (e.g. 557.7).
plot_line_color
:str
- A string or list of strings giving the colors to use for plotting lines specified by 'plot_lines'.
returnfig
:bool
-
Instead of displaying the image, return the matplotlib figure object. This allows for further plot manipulation, for example, adding labels or a title in a different location than the default.
Remember - if this parameter is supplied, be sure that you close your plot after finishing work with it. This can be achieved by doing
plt.close(fig)
.Note that this method cannot be used in combination with
savefig
. savefig
:bool
- Save the displayed image to disk instead of displaying it. The parameter savefig_filename is required if
this parameter is set to True. Defaults to
False
. savefig_filename
:str
- Filename to save the image to. Must be specified if the savefig parameter is set to True.
savefig_quality
:int
- Quality level of the saved image. This can be specified if the savefig_filename is a JPG image. If it is a PNG, quality is ignored. Default quality level for JPGs is matplotlib/Pillow's default of 75%.
Returns
The displayed spectra, by default. If
savefig
is set to True, nothing will be returned. Ifreturnfig
is set to True, the plotting variables(fig, ax)
will be returned.Raises
ValueError
- issues encountered with supplied parameters