Transformers

Abstract Class

class Transformer[source]

These classes can be used to compose functions applied to a radiance for use in a MeasurementVectorElement.

Altitude Normalizations

class AltitudeNormalization(norm_alts: Tuple[float, float], nan_above=False, couple_altitudes: bool = True)[source]

Apply an altitude normalization

Parameters:
  • norm_alts (Tuple[float, float]) – Tuple consisting of low and high altitude limits of the normalization range.

  • nan_above (bool) – Make values above the altitude normalization range NaN. Default False

  • couple_altitude (bool) – Account for altitude coupling in the Jacobian. Default True

Examples

>>> from ali.retrieval.measvec.transformer import AltitudeNormalization
>>> from ali.retrieval.measvec import MeasurementVectorElement
>>> alt_norm = AltitudeNormalization((35000.0, 40000.0))
>>> meas_vec_el = MeasurementVectorElement()
>>> meas_vec_el.add_transform(alt_norm)
class AltitudeNormalizationShift(norm_alts: Tuple[float, float], nan_above=False, couple_altitudes: bool = True)[source]

Apply an altitude normalization that shifts the measurements rather than using a division. This can be useful for cases when

Parameters:

norm_alts (Tuple[float, float]) – Tuple consisting of low and high altitude limits of the normalization range.

Wavelength Normalizations

Spectral Ratio

class SpectralRatio(wavel_1: float, wavel_2: float)[source]

Spectral ratio at two wavelengths.

Parameters:
  • wavel_1 (float) – Wavelength of numerator.

  • wavel_2 (float) – Wavelength of numerator.

Frame Ratio

class FrameRatio(index_1: int = 0, index_2: int = 1)[source]

Data Selection

class WavelengthSelect(wavelength: float, method='nearest')[source]

Select a single wavelength

class FrameSelect(index=0)[source]

Additional Transforms

Measurement Combinations

class LinearCombination(weights: Dict[int, float])[source]

Compute a linear combination of radiances. l1_data is expected to be a List[RadianceBase]. Often useful for computing polarization states.

\[y = \sum_{i=0}^{N} l1[key_i] * weight_i\]
Parameters:

weights (Dict[int, float]) – Dictionary in the form {frame_index: weight, …}

Smoothing

class SplineSmoothing(smoothing=200)[source]

Derivatives

class VerticalDerivative(smoothing=200)[source]

Log Space

class LogRadiance[source]