ess.reduce.polarization.correction.compute_polarizing_element_correction#
- ess.reduce.polarization.correction.compute_polarizing_element_correction(channel, transmission)[source]#
Compute matrix coefficients for the correction of a polarizing element.
The coefficients stem from the inverse of a symmetric matrix of the form
[[Tplus, Tminus], [Tminus, Tplus]]. The inverse ismat = 1 / denom * [[Tplus, -Tminus], [-Tminus, Tplus]]with
denom = Tplus**2 - Tminus**2.As there are only two unique elements in the matrix, we return them as a dataclass with diagonal and off-diagonal elements.
- Parameters:
channel (
ReducedSampleDataBySpinChannel[TypeVar(PolarizerSpin,polarization.types.Up(int),polarization.types.Down(int)),TypeVar(AnalyzerSpin,polarization.types.Up(int),polarization.types.Down(int))]) – Data including wavelength (and time) for a given spin channel. Note that the values are not actually used here, but the data’s coordinates are required for evaluating the transmission function.transmission (
TransmissionFunction[TypeVar(PolarizingElement,polarization.types.Analyzer(str),polarization.types.Polarizer(str))]) – Transmission function for the polarizing element.
- Returns:
PolarizingElementCorrection[TypeVar(PolarizerSpin,polarization.types.Up(int),polarization.types.Down(int)),TypeVar(AnalyzerSpin,polarization.types.Up(int),polarization.types.Down(int)),TypeVar(PolarizingElement,polarization.types.Analyzer(str),polarization.types.Polarizer(str))] – Correction matrix coefficients.