NoiseParameters

class qdflow.physics.noise.NoiseParameters(white_noise_magnitude=0.0, pink_noise_magnitude=0.0, telegraph_magnitude=0.0, telegraph_stdev=0.0, telegraph_low_pixels=1.0, telegraph_high_pixels=1.0, noise_axis=0, latching_pixels=0.0, latching_positive=True, sech_blur_width=0.0, unint_dot_magnitude=0.0, unint_dot_spacing=None, unint_dot_width=0.0, unint_dot_offset=0.0, coulomb_peak_spacing=1.0, coulomb_peak_offset=0.0, coulomb_peak_width=None, sensor_gate_coupling=None, use_pink_noise_all_dims=True)

Bases: object

Set of parameters used to describe the various types and strengths of noise.

Parameters:
  • white_noise_magnitude (float) – Magnitude of the white noise to add to the data. The noise at each pixel is drawn from a Gaussian distribution with standard deviation white_noise_magnitude.

  • pink_noise_magnitude (float) – Magnitude of the pink noise to add to the data. The noise at each pixel will have standard deviation pink_noise_magnitude, but will have 1/f correlation.

  • telegraph_magnitude (float) – The magnitude of the telegraph noise to add to the data. Each jump will add or subtract a constant drawn from a normal distribution with mean telegraph_magnitude/2 and standard deviation telegraph_stdev/sqrt(2). This means that the total jump distance will have mean telegraph_magnitude.

  • telegraph_stdev (float) – The standard deviation of the telegraph noise to add to the data. Each jump will add or subtract a constant drawn from a normal distribution with mean telegraph_magnitude/2 and standard deviation telegraph_stdev/sqrt(2). This means that the total jump distance will have standard deviation telegraph_stdev.

  • telegraph_low_pixels (float) – The average number of pixels before a jump from low to high in the telegraph noise. Must be greater than or equal to 1.

  • telegraph_high_pixels (float) – The average number of pixels before a jump from high to low in the telegraph noise. Must be greater than or equal to 1.

  • noise_axis (int) – The axis along which to add telegraph noise, latching, and sech blur.

  • latching_pixels (float) – The average number of pixels to extend past transitions when applying latching noise.

  • latching_positive (bool) – Whether to shift in the positive or negative direction when applying latching noise.

  • sech_blur_width (float) – The width in pixels of the sech blur.

  • unint_dot_magnitude (float) – The strength of the unintended dot effects.

  • unint_dot_spacing (ndarray[float] | None) – A vector (with length equal to the number of gates) normal to the unitended dot transition, with magnitude equal to the spacing between transitions. If None, no unitended dot peaks will be applied.

  • unint_dot_width (float) – The width of the unitended dot peaks.

  • uint_dot_offset (float) – A value between 0 and 1 which defines by how much each unintended dot peak should be offset, relative to the norm of unint_dot_spacing.

  • coulomb_peak_width (float | None) – The width of the sech^2 curve for applying coulomb peak effects. If None, no Coulomb peak effects will be applied.

  • coulomb_peak_offset (float) – A value between 0 and 1 which defines by how much each sech^2 peak should be offset applying coulomb peak effects, relative to coulomb_peak_spacing.

  • coulomb_peak_spacing (float) – A value which determines how far apart each sech^2 peak should be when applying coulomb peak effects.

  • sensor_gate_coupling (ndarray[float] | None) – A vector with length equal to the number of gates, giving the value of the sensor-gate coupling per pixel for each gate. If None, no sensor-gate coupling will be applied.

  • use_pink_noise_all_dims (bool) – Whether pink noise should be correlated in all dimensions (True), or only along noise_axis (False).

__init__(white_noise_magnitude=0.0, pink_noise_magnitude=0.0, telegraph_magnitude=0.0, telegraph_stdev=0.0, telegraph_low_pixels=1.0, telegraph_high_pixels=1.0, noise_axis=0, latching_pixels=0.0, latching_positive=True, sech_blur_width=0.0, unint_dot_magnitude=0.0, unint_dot_spacing=None, unint_dot_width=0.0, unint_dot_offset=0.0, coulomb_peak_spacing=1.0, coulomb_peak_offset=0.0, coulomb_peak_width=None, sensor_gate_coupling=None, use_pink_noise_all_dims=True)

Methods

copy()

Creates a copy of a NoiseParameters object.

from_dict(d)

Creates a new NoiseParameters object from a dict of values.

to_dict()

Converts the NoiseParameters object to a dict.