UniformNoise#
- class deepinv.physics.UniformNoise(a=0.1, rng: Generator | None = None)[source]#
Bases:
NoiseModel
Uniform noise \(y = x + \epsilon\) where \(\epsilon\sim\mathcal{U}(-a,a)\).
- Examples:
Adding uniform noise to a physics operator by setting the
noise_model
attribute of the physics operator:>>> from deepinv.physics import Denoising, UniformNoise >>> import torch >>> physics = Denoising() >>> physics.noise_model = UniformNoise() >>> x = torch.rand(1, 1, 2, 2) >>> y = physics(x)
- Parameters:
a (float) – amplitude of the noise.
rng (torch.Generator (Optional)) – a pseudorandom random number generator for the parameter generation.
- forward(x, a=None, seed: int | None = None, **kwargs)[source]#
Adds the noise to measurements x
- Parameters:
x (torch.Tensor) – measurements
a (float, torch.Tensor) – amplitude of the noise. If not None, it will overwrite the current noise level.
seed (int) – the seed for the random number generator, if rng is provided.
- Returns:
noisy measurements
- update_parameters(a=None, **kwargs)[source]#
Updates the amplitude of the noise.
- Parameters:
a (float, torch.Tensor) – amplitude of the noise.
Examples using UniformNoise
:#
Patch priors for limited-angle computed tomography
Patch priors for limited-angle computed tomography