Incoherent#

class deeptrack.optical.scatterers.Incoherent(feature: Feature, input_unpolarized: bool = True, output_unpolarized: bool = True, **kwargs: Any)#

Bases: StructuralFeature

Average intensities over orthogonal polarization states.

This meta-feature evaluates a child feature for a set of polarization configurations and returns the incoherent (intensity) average. If both input_unpolarized and output_unpolarized are False, the wrapper acts as a pass-through and returns the child feature unchanged.

By default, unpolarized states are approximated by averaging over two orthogonal linear polarizations (0 and π/2).

Methods Summary

get(inputs, input_unpolarized, ...[, _ID])

Incoherently average the feature over polarization states.

Methods Documentation

get(inputs: Any, input_unpolarized: bool, output_unpolarized: bool, _ID: tuple = (), **kwargs: Any) Any#

Incoherently average the feature over polarization states.

Evaluates the feature for different polarization states and returns the incoherent average. If both input_unpolarized and output_unpolarized are False, the feature is evaluated once with the provided polarization states (or defaults) and returned directly.

Parameters#

inputs: Any

The input to the feature, passed through to the child feature.

input_unpolarized: bool

Whether the input light is unpolarized.

output_unpolarized: bool

Whether the output light is unpolarized.

_ID: tuple, optional

The identifier for the current feature evaluation, passed through to the child feature.

**kwargs: dict

Additional keyword arguments passed to the child feature.

Returns#

Any

The incoherent average of the feature evaluated over the specified polarization states.