GaussRand¶
- class GaussRand(*args, **kwargs)¶
Bases:
pybind11_object
Class for generating random number with normal probability density.
The algorithms and notations used are described in [15] .
The code below shows how to use the random generator to get values that have their mean equal to 10 with a standard deviation equal to 0.5.
#include <iostream> #include <visp3/core/vpGaussRand.h> int main() { vpGaussRand noise(0.5, 10); for(int i=0; i< 10; i++) { std::cout << "noise " << i << ": " << noise() << std::endl; } return 0; }
The previous example produces the following printings:
noise 0: 10.645 noise 1: 9.67129 noise 2: 10.1208 noise 3: 10.1039 noise 4: 10.8667 noise 5: 9.89823 noise 6: 9.81414 noise 7: 9.96076 noise 8: 11.0795 noise 9: 9.79229
Note that the previous example produces always the same “random” results. To produce real random values, you need to initialize the random generator with different values using seed() . For example, this could be done using the current time. The code becomes:
#include <iostream> #include <visp3/core/vpGaussRand.h> #include <visp3/core/vpTime.h> int main() { vpGaussRand noise(0.5, 10); long seed = (long)vpTime::measureTimeMs(); noise.seed(seed); for(int i=0; i< 10; i++) { std::cout << "noise " << i << ": " << noise() << std::endl; } return 0; }
Now if you run the previous example you will always get different values:
noise 0: 10.5982 noise 1: 9.19111 noise 2: 9.82498 noise 3: 9.07857 noise 4: 9.9285 noise 5: 10.3688 noise 6: 9.75621 noise 7: 10.3259 noise 8: 10.4238 noise 9: 10.2391
Overloaded function.
__init__(self: visp._visp.core.GaussRand) -> None
Default noise generator constructor.
__init__(self: visp._visp.core.GaussRand, sigma_val: float, mean_val: float, noise_seed: int = 0) -> None
Gaussian noise random generator constructor.
- Parameters:
- sigma_val
Standard deviation.
- mean_val
Mean value.
- noise_seed
Seed of the noise
Methods
Overloaded function.
Set the seed of the noise.
Set the standard deviation and mean for gaussian noise.
Inherited Methods
Operators
__doc__
Overloaded function.
__module__
Attributes
__annotations__
- __init__(*args, **kwargs)¶
Overloaded function.
__init__(self: visp._visp.core.GaussRand) -> None
Default noise generator constructor.
__init__(self: visp._visp.core.GaussRand, sigma_val: float, mean_val: float, noise_seed: int = 0) -> None
Gaussian noise random generator constructor.
- Parameters:
- sigma_val
Standard deviation.
- mean_val
Mean value.
- noise_seed
Seed of the noise