trident.spectrum_generator.SpectrumGenerator.add_gaussian_noise
- SpectrumGenerator.add_gaussian_noise(snr, seed=None)[source]
Postprocess a spectrum to add gaussian random noise of a given SNR.
Parameters
- Snr
float
The desired signal-to-noise ratio for determining the amount of gaussian noise
- Seed
optional, int
Seed for the random number generator. This should be used to ensure than the same noise is added each time the spectrum is regenerated, if desired. Default: None
Example
Make a one zone ray and generate a COS spectrum for it. Add noise to the spectrum as though it were observed with a signal to noise ratio of 30.
>>> import trident >>> ray = trident.make_onezone_ray(redshift=0.5) >>> sg = trident.SpectrumGenerator('COS') >>> sg.make_spectrum(ray) >>> sg.add_gaussian_noise(30) >>> sg.plot_spectrum('spec_noise_corrected.png')
Plot a DLA with SNR of 10.
>>> import trident >>> ray = trident.make_onezone_ray(column_densities={'H_p0_number_density':1e21}) >>> sg = trident.SpectrumGenerator(lambda_min=1200, lambda_max=1300, dlambda=0.1) >>> sg.make_spectrum(ray, lines=['Ly a']) >>> sg.add_gaussian_noise(10) >>> sg.plot_spectrum('spec_noise.png')