Restriction:
Note that SNR calculations become complex in case the signal is truncated or clipped in any way, either by reaching the limits of the AD converter or in case the sensor reaches its full well limits. No conclusions should be drawn from SNR values in (or very close to) the red and yellow zones of the "Optimize SNR" tab. SNR values inside these regions are constructed such that they will be lower than those in the non-truncated region. As a result the optimum will always be found in the non-truncated region. In certain cases it may appear that this is not the case, but that is a consequence of the discrete choices available (the optimal value may be in between two available choices).
After some interesting experimentation with simulated truncated distributions I decided that incorporating this in the program does not add any value. In many cases the differences are negligible. Where differences are found this has to do with the precise definition of SNR in a clipped situation and not so much with getting an optimal exposure (where you do not want clipping of the target of interest). Note that in practical situations, you should probably allow for clipping of bright stars in case these are not your actual target of interest.
So do not go blind on all the values presented. The most useful takeaway for me is that settings like gain and exposure time are less critical than you might think in case you stack images.
No updates past 2.06 are foreseen in the near future.
Version history:
2.06 mostly internal changes to simplify testing. Visible changes: help states restriction with respect to SNR values in case of clipping. Values at full well may differ slightly from version 2.01. Calculated optima are equal to 2.01. No need to switch to 2.06 if you have 2.01.
2.01 bug fixed
2.0 calculates optimal gain, note: contains bugs, to be tested
1.5 added a tab to calculate optimal exposure time due to frames ruined by passing satellites, airplanes etc. Added extra info in groupboxes.
1.25 restructured a lot (compared to 1.21) to simplify testing and added unit tests to get more confidence in results
1.21 fixed error in SNR at values of gain other than 1.0. Added SkyMag (in addition to Bortle), fixed label of offset (ADU instead of electrons)
1.2 SNR calculation simplified and now conform standard (noise of signal included in denominator)
1.1 added nebulosity, added total time in groupbox, fixed bug for small SNR
1.0 added GNU 3.0 license, minor changes in labels
0.11 beta: added tracking error, moon phase and improved help
0.1 beta: first commit