skretrieval.core.lineshape.LineShape#

class skretrieval.core.lineshape.LineShape[source]#

Bases: ABC

Base class for implementing line shapes. A line shape represents integration across a high resolution measurement down to a lower resolution measurement.

__init__()#

Methods

__init__()

bounds([center])

Boundaries of the line shape.

integration_weights(mean, available_samples)

Integration weights for the line shape.

zero_centered()

True if the lineshape is centered on 0 rather than the nominal sample

abstractmethod bounds(center=0)[source]#

Boundaries of the line shape. Values outside this range are 0

Parameters:

center (float, optional) – Center of the line shape. Default is 0

Returns:

Left and right boundaries of the line shape

Return type:

(left, right)

abstractmethod integration_weights(mean: float, available_samples: ndarray, normalize=True)[source]#

Integration weights for the line shape.

Parameters:
  • mean (float) – Value to integrate to

  • available_samples (np.ndarray) – Array of sample values that are available to use in the integration.

  • normalize (bool, Optional) – If true, resulting weights are normalized such that np.nansum(weights) = 1

Returns:

Integration weights, same size as available_samples.

Return type:

np.ndarray

zero_centered()[source]#

True if the lineshape is centered on 0 rather than the nominal sample

Return type:

bool