calculate

SpectralShapeSkewedGaussian.calculate(axis: ndarray) ndarray[source]

Calculate the skewed Gaussian shape for axis.

The following equation is used for the calculation:

f(x, x_0, A, \Delta, b) =
\left\{
    \begin{array}{ll}
        0                                               & \mbox{if } \theta \leq 0 \\
        A \exp \left({- \dfrac{\log{\left(2 \right)}
        \log{\left(\theta(x, x_0, \Delta, b) \right)}^{2}}{b^{2}}}\right)
                                                        & \mbox{if } \theta > 0
    \end{array}
\right.

With:

\theta(x, x_0, \Delta, b) = \frac{2 b \left(x - x_{0}\right) + \Delta}{\Delta}

The parameters of the equation represent the following attributes of the shape:

  • x : axis

  • A : amplitude

  • x_0 : location

  • \Delta : width

  • b : skewness

Where \Delta represents the full width at half maximum (FWHM), see calculate_gaussian().

Note that in the limit of skewness parameter b equal to zero f(x, x_0, A, \Delta, b) simplifies to a normal gaussian (since \lim_{b \to 0} \frac{\ln(1+bx)}{b}=x), see the definition in SpectralShapeGaussian.calculate().

Parameters:

axis (np.ndarray) – The axis to calculate the shape for.

Returns:

An array representing a skewed Gaussian shape.

Return type:

np.ndarray