Closed jecampagne closed 1 year ago
Yes, there are various numerical approximations made throughout GalSim, which are usually controllable via GSParams
objects. Doing all the math to machine precision is overkill for almost all use cases. Our default accuracy/speed trade-off tries to target plausible accuracy requirements from typical weak lensing surveys (e.g. LSST). But we allow users to tune things differently, either for more accuracy or faster rendering. cf GSParams docs
It's not always obvious a priori which parameter is the most relevant for any particular imaging artifact. Before I tested, I expected maxk_threshold to be the one, since that controls the size of the FFT image that gets made. But in fact, in this case kvalue_accuracy is the relevant one. If you lower that from the default of 1.e-5 to 1.e-8, here is what I get back:
Thanks !
BTW, the easiest way to adjust the GSParams of an object that is already made is to use the withGSParams
method. E.g.
gal_high_flux = gal_high_flux.withGSParams(kvalue_accuracy=1.e-8)
You can include multiple parameters here. Or do it multiple times with different parameters if you prefer. This can make it easier to comment in or out particular choices to see which ones matter.
If you know what you want in advance, you can also create a gsparams instance and pass it as a parameter to the GSObject (Gaussian in this case) when you initially make it.
Hello, Here is a small snippet done with @aguinot (here on Colab)
We were wandering if these wiggling patterns are expected and what about their magnitude too. Are they due to some code optimisation which makes some hidden truncations/approximations?