InstrumentDEM

class synthesizAR.instruments.InstrumentDEM(*args, temperature_bin_edges: Unit('K'), **kwargs)[source]

Bases: InstrumentBase

Attributes Summary

name

temperature_bin_centers

Methods Summary

calculate_intensity(dem, spectra, header[, meta])

Compute intensity from a DEM and a temperature-dependent spectra

calculate_intensity_kernel(loop, channel, ...)

Converts emissivity for a particular transition to counts per detector channel.

dem_maps_list_to_cube(dem_maps, ...)

dem_maps_to_cube(dem, time_index)

Convert a list of DEM maps to a DEM NDCube

get_instrument_name(channel)

make_slope_map(dem, time_index[, ...])

Calculate emission measure slope \(a\) in each pixel

Attributes Documentation

name = 'DEM'
temperature_bin_centers

Methods Documentation

static calculate_intensity(dem, spectra, header, meta=None)[source]

Compute intensity from a DEM and a temperature-dependent spectra

Parameters:
  • dem (NDCube) – The first axis should correspond to temperature

  • spectra (NDCube) –

  • header (dict or header-like) – Header information corresponding to the spatial axes of the DEM cube

  • meta (dict, optional) – Additional metadata

  • wavelength

static calculate_intensity_kernel(loop, channel, **kwargs)[source]

Converts emissivity for a particular transition to counts per detector channel. When writing a new instrument class, this method should be overridden.

static dem_maps_list_to_cube(dem_maps, temperature_bin_centers)[source]
dem_maps_to_cube(dem, time_index)[source]

Convert a list of DEM maps to a DEM NDCube

get_instrument_name(channel)[source]
make_slope_map(dem, time_index, temperature_bounds=None, em_threshold=None, rsquared_tolerance=0.5, full=False)[source]

Calculate emission measure slope \(a\) in each pixel

Create map of emission measure slopes by fitting \(\mathrm{EM}\sim T^a\) for a given temperature range. A slope is masked if a value between the temperature_bounds is less than \(\mathrm{EM}\). Additionally, the “goodness-of-fit” is evaluated using the correlation coefficient, \(r^2=1 - R_1/R_0\), where \(R_1\) and \(R_0\) are the residuals from the first and zeroth order polynomial fits, respectively. We mask the slope if \(r^2\) is less than rsquared_tolerance.

Parameters:
  • temperature_bounds (Quantity, optional) –

  • em_threshold (Quantity, optional) – Mask slope if any emission measure in the fit interval is below this value

  • rsquared_tolerance (float) – Mask any slopes with a correlation coefficient, \(r^2\), below this value

  • full (bool) – If True, return maps of the intercept and \(r^2\) values as well