AlbumentationsExplore
DocumentationExploreAdoptionPricingBlog
GitHub

RicianNoise

Targets:
image
volume
Image Types:uint8, float32

Simulate MRI magnitude reconstruction with Gaussian real and imaginary components, yielding Rician noise and a positive low-signal noise floor.

The transform computes sqrt((signal + n_real)^2 + n_imag^2). Unlike additive Gaussian noise, this model remains biased upward at low signal-to-noise ratios, matching magnitude MRI reconstruction.

Arguments
std_range
tuple[float, float]
[0.05, 0.15]

Nondecreasing range in [0, 1] for the Gaussian component standard deviation as a fraction of the dtype range. Default: (0.05, 0.15).

per_channel
bool
false

If True, sample independent real and imaginary fields for each channel. If False, share one pair of fields across channels. Default: False.

p
float
0.5

Probability of applying the transform. Default: 0.5.

Examples
>>> import albumentations as A
>>> import numpy as np
>>> image = np.random.default_rng(137).integers(0, 256, (100, 100, 3), dtype=np.uint8)
>>> transform = A.RicianNoise(std_range=(0.05, 0.15), p=1.0)
>>> noisy_image = transform(image=image)["image"]
Notes
  • Volumes receive one independently sampled full-depth field rather than a slice-wise image batch.
  • A sampled standard deviation of zero is an exact identity.
See Also
  • GaussNoise: Additive Gaussian noise for sensor or transmission robustness.
  • ShotNoise: Poisson noise in linear space for photon-limited acquisition.
References
  • Gudbjartsson & Patz (1995)https://doi.org/10.1002/mrm.1910340618