MART

class esis.data.inversion.mart.mart.MART(use_maximize=True, use_filter=True, anti_aliasing=None, use_lgof=True, contrast_exponent=0.2, max_filtering_iterations=10, max_multiplicative_iteration=40, photon_read_noise=1, simple_mart=None, lgof_mart=None, track_cube_history=False, rotation_kwargs=<factory>, verbose=False)

Bases: object

__init__(use_maximize=True, use_filter=True, anti_aliasing=None, use_lgof=True, contrast_exponent=0.2, max_filtering_iterations=10, max_multiplicative_iteration=40, photon_read_noise=1, simple_mart=None, lgof_mart=None, track_cube_history=False, rotation_kwargs=<factory>, verbose=False)

Initialize self. See help(type(self)) for accurate signature.

Parameters
Return type

None

Attributes

anti_aliasing

contrast_exponent

lgof_mart

max_filtering_iterations

max_multiplicative_iteration

photon_read_noise

simple_mart

track_cube_history

use_filter

use_lgof

use_maximize

verbose

MART is the Multiplicative Algebraic Reconstruction Technique, developed here for use and application in general slitless imaging spectrograph, such as the Multi-Order Solar EUV Spectrograph (MOSES) and the EUV Snapshot Snapshot Imaging Spectrograph (ESIS) instruments constructed and launched by the Kankelborg Group at Montana State University, Bozeman.

Methods

__init__([use_maximize, use_filter, …])

Initialize self.

filter(cube, kernel)

Filter for use in MART, developed from CCK’s contrast_smooth function.

generate_filtering_kernel(dimensions[, …])

Generate the kernel used during the filtering iterations.

maximize(cube)

Maximize function for use in MART, developed from CCK’s entropy and negentropy :param cube: :return:

Inheritance Diagram

Inheritance diagram of esis.data.inversion.mart.mart.MART

filter(cube, kernel)

Filter for use in MART, developed from CCK’s contrast_smooth function. :param cube: input array :param kernel: the kernel to use for the convolution :return: filtered version of input array.

Parameters
  • cube (np.ndarray[float]) –

  • kernel (np.ndarray[float]) –

Return type

np.ndarray[float]

static generate_filtering_kernel(dimensions, x_axis=- 3, y_axis=- 2, w_axis=- 1)

Generate the kernel used during the filtering iterations. Takes standard 1-D kernel of [0.25, 0.5, 0.25] and generalizes it to a given number of dimensions. :type dimensions: int :param dimensions: number of dimensions the kernel needs to be :type x_axis: int :param x_axis: index of the x-axis :type y_axis: int :param y_axis: index of the y-axis :type w_axis: int :param w_axis: index of the wavelength axis :rtype: numpy.ndarray :return:

Parameters
  • dimensions (int) –

  • x_axis (int) –

  • y_axis (int) –

  • w_axis (int) –

Return type

numpy.ndarray

static maximize(cube)

Maximize function for use in MART, developed from CCK’s entropy and negentropy :param cube: :return:

Parameters

cube (np.ndarray[float]) –

Return type

float

anti_aliasing: str = None
contrast_exponent: float = 0.2
lgof_mart: esis.data.inversion.mart.lgof_mart.LGOFMART = None
max_filtering_iterations: int = 10
max_multiplicative_iteration: int = 40
photon_read_noise: float = 1
rotation_kwargs: Dict[str, Any]
simple_mart: esis.data.inversion.mart.simple_mart.SimpleMART = None
track_cube_history: bool = False
use_filter: bool = True
use_lgof: bool = True
use_maximize: bool = True
verbose: bool = False

MART is the Multiplicative Algebraic Reconstruction Technique, developed here for use and application in general slitless imaging spectrograph, such as the Multi-Order Solar EUV Spectrograph (MOSES) and the EUV Snapshot Snapshot Imaging Spectrograph (ESIS) instruments constructed and launched by the Kankelborg Group at Montana State University, Bozeman. MART was originally developed to reconstruct images in MOSES, and has since been generalized.

MART is built as a callable object. Parameters determined during construction of a MART object are pertinent to how the algorithm will be carried out. When the MART object is called, input data is then specified.

Parameters
  • use_maximize – if True, use the maximize method during each filtering iteration.

  • use_filter – if True, apply the filter method during each filtering iteration.

  • anti_aliasing – ‘before’ means that the test projection is anti-aliased before the goodness of fit is determined in each multiplicative iteration. ‘after’ means the de-projection is anti-aliased. ‘single’ means that the indivudual projections are anti-aliased only once, before beginning the multiplicative or filtering iterations.

  • use_lgof – if True, use the Local Goodness of Fit routine.

  • contrast_exponent – During contrast enhancement, what scalar value is used as the exponent on the data.

  • max_filtering_iterations – maximum number of filtering iterations to do

  • max_multiplicative – maximum number of multiplicative iterations to do within a single filtering iteration.

  • simple_mart

  • lgof_mart

  • track_cube_history – if True, a copy of the cube after each iteration will be stored. Very memory intensive, and not currently working.