3 ms·
3. apply filter 4. apply inverse FT It is equivalent to replace 1, 2 and 3 with a proper stochastic but direct sampling of the 1/f function to get the Four
by frumiousirc 5y ago
3. apply filter
4. apply inverse FT
It is equivalent to replace 1, 2 and 3 with a proper stochastic but direct sampling of the 1/f function to get the Fourier amplitudes and a uniform sampling for Fourier phase.
This would save processing time by avoiding the calculation of one 2D FFT and the application of the filter (a 2D array multiplication).
- TheOtherHobbes 5y agoEven simpler: create your desired amplitude spectrum to match your desired filtered noise profile. This is trivial for any noise spectrum with a simple linear filter - it's just a linear function with the desired slope. It's only slightly less trivial for more complex spectra. Randomise the phases. (i)FFT. Done.
- frumiousirc 5y agoThe 1/f (or any) noise spectrum represents only the *mean* amplitude in frequency domain. In reality, the amplitude at each frequency itself has an associated distribution. Since frequency domain is complex the amplitude represents a radius in 2D space and if the underlying random walk is Gaussian then the amplitude is distributed according to Rayleigh. For generating artistic images, the artist may ignore this fact and generate only the random phases. Image to image, humans probably won't know the shortcut. But in fact, each image will have exactly the same amplitude spectra and that's not physical for real stochastic processes. Depending on the usage of the images, the shortcut could be fatal. Eg, if we train a neural net on these generated images we should not expect that NN to perform well on the real data which our generated images were meant to represent.