StackedPhysics#

class deepinv.physics.StackedPhysics(physics_list, **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, **kwargs)[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

Returns:

measurements

Return type:

TensorList

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

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

Parameters:

y (deepinv.utils.TensorList) – measurements

Returns:

noisy measurements

Return type:

TensorList

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

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

Parameters:

y (deepinv.utils.TensorList) – measurements

Returns:

measurements

Return type:

TensorList

set_noise_model(noise_model, item=0)[source]#

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

Parameters:

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