When assembling the synthetic power spectra in gen.py here:
powers = np.power(10, ap_vals + pe_vals + noise)
obviously it is assumed, that all components are on log10 scale. However when tracing the periodic component (gen_periodic -> get_pe_func -> gaussian_function), it is clear that the Gaussians are evaluated on a linear scale and then still exponentiated.
To directly see this, one can simply do:
import fooof
import matplotlib.pyplot as ppl
gauss_peak_val = 2
ppl.plot(*fooof.sim.gen_power_spectrum([1, 40], [0, 1e-10], [20, gauss_peak_val, 1]))
which results in:

Note that the peak value in that supposedly linear scale is $10^2 = 100$, whereas the gauss_peak_val was set to 2. Also note that I effectively disabled the aperiodic component by setting the exponent very close to 0 to show this as clearly as possible.
When assembling the synthetic power spectra in
gen.pyhere:obviously it is assumed, that all components are on log10 scale. However when tracing the periodic component (
gen_periodic->get_pe_func->gaussian_function), it is clear that the Gaussians are evaluated on a linear scale and then still exponentiated.To directly see this, one can simply do:
which results in:

Note that the peak value in that supposedly linear scale is$10^2 = 100$ , whereas the
gauss_peak_valwas set to 2. Also note that I effectively disabled the aperiodic component by setting the exponent very close to 0 to show this as clearly as possible.