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:
- 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:
- 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:
- set_noise_model(noise_model, item=0)[source]#
Sets the noise model for the physics operator at index
item
.- Parameters:
noise_model (Callable, deepinv.physics.NoiseModel) – noise model for the physics operator.
item (int) – index of the physics operator
Examples using StackedPhysics
:#
Remote sensing with satellite images
A tour of forward sensing operators