StackedPhysics#

class deepinv.physics.StackedPhysics(physics_list: list[Physics], **kwargs)[source]#

Bases: Physics

Stacks multiple physics operators into a single operator.

The measurements produced by the resulting model are deepinv.utils.TensorList objects, where each entry corresponds to the measurements of the corresponding operator.

See Combining Physics for more information.

Parameters:

physics_list (list[deepinv.physics.Physics]) – list of physics operators to stack.

A(x: Tensor, **kwargs) TensorList[source]#

Computes forward of stacked operator

\[\begin{split}y = \begin{bmatrix} A_1(x) \\ A_2(x) \\ \vdots \\ A_n(x) \end{bmatrix}\end{split}\]
Parameters:

x (torch.Tensor) – signal/image

noise(y: TensorList, **kwargs) TensorList[source]#

Applies noise to the measurements per physics operator in the stacked operator.

sensor(y: TensorList, **kwargs) TensorList[source]#

Applies sensor non-linearities to the measurements per physics operator in the stacked operator.

set_noise_model(noise_model, item)[source]#

Sets the noise model for the physics operator at index item.

Parameters:

noise_model (list[Callable]) – noise models

Examples using StackedPhysics:#

Remote sensing with satellite images

Remote sensing with satellite images

A tour of forward sensing operators

A tour of forward sensing operators