jax_sn.operators.transport_operator.transport_operator_strategies module¶
Strategy objects for the transport operator. Here, we have subtypes that compose from a inner single-angle strategy.
- class ComposedMultiAngleForwardStrategy(inner: SingleAngleForwardStrategy)[source]¶
Bases:
MultiAngleForwardStrategyA multi-angle forward strategy that is a combinator over a single-angle strategy.
- inner: SingleAngleForwardStrategy¶
- class ComposedMultiAngleInversionStrategy(inner: SingleAngleInversionStrategy)[source]¶
Bases:
MultiAngleInversionStrategyA multi-angle inversion strategy that is a combinator over a single-angle strategy.
- single_angle_strategy()[source]¶
The single-angle
SingleAngleInversionStrategythis angle inversion corresponds to (used for composited strategy, error if does not exist)- Return type:
- required_capabilities()[source]¶
Sweep-data capability interfaces this strategy requires (e.g.
(ProvidesLevels,)). Empty (the default) means anySweepDatais acceptable.- Return type:
Tuple[type,...]
- build_default_sweep_data(geometric_domain, angle)[source]¶
The minimal sweep data this strategy needs, built for
geometric_domainandangle(single or batched – dispatched onangle.ndim).This builds rather than naming a type because a strategy may carry build-time knobs of its own (a level-padding width, say): those are properties of how this kernel sweeps, so they live as static fields on the strategy and are applied right here. Nothing upstream has to know they exist.
- Return type:
- check_compatible(data: TransportData)[source]¶
Asserts whether the sweep data is compatible with this inversion strategy (just typing information).