SpectrogramCube#

class irispy.spectrograph.SpectrogramCube(data, wcs, uncertainty, unit, meta, *, mask=None, copy=False)[source]#

Bases: SpectrogramCube

Class representing SpectrogramCube data described by a single WCS.

Parameters:
  • data (numpy.ndarray) – The array holding the actual data in this object.

  • wcs (ndcube.wcs.wcs.WCS) – The WCS object containing the axes’ information

  • unit (astropy.unit.Unit or str) – Unit for the dataset. Strings that can be converted to a Unit are allowed.

  • meta (dict-like object) – Additional meta information about the dataset. Must contain at least the following keys: - detector type: str, (FUV1, FUV2 or NUV) - OBSID: int - spectral window: str

  • uncertainty (any type, optional) – Uncertainty in the dataset. Should have an attribute uncertainty_type that defines what kind of uncertainty is stored, for example “std” for standard deviation or “var” for variance. A metaclass defining such an interface is NDUncertainty - but isn’t mandatory. If the uncertainty has no such attribute the uncertainty is stored as UnknownUncertainty. Defaults to None.

  • mask (any type, optional) – Mask for the dataset. Masks should follow the numpy convention that valid data points are marked by False and invalid ones with True. Defaults to None.

  • copy (bool, optional) – Indicates whether to save the arguments as copy. True copies every attribute before saving it while False tries to save every parameter as reference. Note however that it is not always possible to save the input as reference. Default is False.

Methods Summary

convert_to(new_unit_type[, time_obs, ...])

Converts data, unit and uncertainty attributes to new unit type.

plot(*args, **kwargs)

Visualize the NDCube.

Methods Documentation

convert_to(new_unit_type, time_obs=None, response_version=4)[source]#

Converts data, unit and uncertainty attributes to new unit type.

Takes into consideration also the observation time and response version.

The presence or absence of the exposure time correction is preserved in the conversions.

Parameters:
  • new_unit_type (str) – Unit type to convert data to. Three values are accepted: “DN”: Relevant IRIS data number based on detector type. “photons”: photon counts “radiance”: Perorms radiometric calibration conversion.

  • time_obs (astropy.time.Time, optional) – Observation times of the datapoints. Must be in the format of, e.g., time_obs=Time('2013-09-03'), The argument time_obs is ignored for versions 1 and 2.

  • response_version (int, optional) – Version number of effective area file to be used, by default = 6.

Returns:

New SpectrogramCube in new units.

Return type:

SpectrogramCube

plot(*args, **kwargs)[source]#

Visualize the NDCube.

Parameters:
  • axes (WCSAxes or None:, optional) – The axes to plot onto. If None the current axes will be used.

  • plot_axes (list, optional) – A list of length equal to the number of pixel dimensions in array axis order. This list selects which cube axes are displayed on which plot axes. For an image plot this list should contain 'x' and 'y' for the plot axes and None for all the other elements. For a line plot it should only contain 'x' and None for all the other elements.

  • axes_unit (list, optional) – A list of length equal to the number of world dimensions specifying the units of each axis, or None to use the default unit for that axis.

  • axes_coordinates (list, optional) – A list of length equal to the number of pixel dimensions. For each axis the value of the list should either be a string giving the world axis type or None to use the default axis from the WCS.

  • data_unit (astropy.units.Unit) – The data is changed to the unit given or the NDCube.unit if not given.

  • wcs (astropy.wcs.wcsapi.BaseHighLevelWCS) – The WCS object to define the coordinates of the plot axes.

  • kwargs – Additional keyword arguments are given to the underlying plotting infrastructure which depends on the dimensionality of the data and whether 1 or 2 plot_axes are defined: - Animations: mpl_animators.ArrayAnimatorWCS - Static 2-D images: matplotlib.pyplot.imshow - Static 1-D line plots: matplotlib.pyplot.plot