CalcEDiff

class lsst.analysis.tools.actions.vector.CalcEDiff(*args, **kw)

Bases: VectorAction

Calculate the difference of two ellipticities as a complex quantity.

The complex ellipticity (for both distortion-type and shear-type) difference ( between \(e_A\) and \(e_B\) is defined as \(e_{A}-e_{B}=\delta e=|\delta e|\exp{(\mathrm{i}2\theta_{\delta})}\)

See also

CalcE

Notes

1. This is a shape measurement used for doing QA on the ellipticity of the sources.

  1. The ellipticityType of colA and colB have to be the same.

3. For plotting purposes we might want to plot quivers whose lengths are proportional to \(|\delta e|\) and whose angles correspond to \(\theta_\delta\). If halvePhaseAngle config parameter is set to True, then the returned quantity therefore corresponds to the complex quantity \(|\delta e|\exp{(\mathrm{i}\theta_\delta)}\).

Attributes Summary

colA

Ellipticity to subtract from (VectorAction, default <class 'lsst.analysis.tools.actions.vector.ellipticity.CalcE'>)

colB

Ellipticity to subtract (VectorAction, default <class 'lsst.analysis.tools.actions.vector.ellipticity.CalcE'>)

component

Which component of the ellipticity to return.

halvePhaseAngle

Divide the phase angle by 2? Suitable for quiver plots.

Methods Summary

__call__(data, **kwargs)

Call self as a function.

getInputSchema()

Return the schema an AnalysisAction expects to be present in the arguments supplied to the __call__ method.

validate()

Validate the Config, raising an exception if invalid.

Attributes Documentation

colA

Ellipticity to subtract from (VectorAction, default <class 'lsst.analysis.tools.actions.vector.ellipticity.CalcE'>)

colB

Ellipticity to subtract (VectorAction, default <class 'lsst.analysis.tools.actions.vector.ellipticity.CalcE'>)

component

Which component of the ellipticity to return. If None, return complex ellipticity values. (str, default None)

Allowed values:

'1'

\(\delta e_1\) or \(\delta g_1\) (depending on the common ellipiticityType)

'2'

\(\delta e_2\) or \(\delta g_2\) (depending on the common ellipiticityType)

'None'

\(\delta e_1+\mathrm{i}\delta e_2\) or \(\delta g_1 \mathrm{i}\delta g_2\) (depending on the common ellipticityType)

halvePhaseAngle

Divide the phase angle by 2? Suitable for quiver plots. (bool, default False)

Methods Documentation

__call__(data: MutableMapping[str, ndarray[Any, dtype[ScalarType]] | Scalar | HealSparseMap | Tensor], **kwargs) ndarray[Any, dtype[ScalarType]]

Call self as a function.

getInputSchema() Tensor]]]

Return the schema an AnalysisAction expects to be present in the arguments supplied to the __call__ method.

Returns:
resultKeyedDataSchema

The schema this action requires to be present when calling this action, keys are unformatted.

validate()

Validate the Config, raising an exception if invalid.

Raises:
lsst.pex.config.FieldValidationError

Raised if verification fails.

Notes

The base class implementation performs type checks on all fields by calling their validate methods.

Complex single-field validation can be defined by deriving new Field types. For convenience, some derived lsst.pex.config.Field-types (ConfigField and ConfigChoiceField) are defined in lsst.pex.config that handle recursing into subconfigs.

Inter-field relationships should only be checked in derived Config classes after calling this method, and base validation is complete.