OK, I fired up a Windows VM with ASCOM to look at the presets but I'm not sure what I'm seeing.
Offset should vary with gain. I checked two cameras, each of which has a preset for highest dynamic range, unity gain, and lowest read noise. They are:
- ASI183MC-Pro
- Gain 0, offset 10
- Gain 111, offset 10
- Gain 270, offset 10
- ASI294MM-Pro
- Gain 0, offset 30
- Gain 120, offset 30
- Gain 390, offset 30
These fixed offsets are contrary to what I understand about gain & offset. Then I started thinking this offset value was based on the maximum hardware gain, a common trick for standardizing your calibration library on a single offset -- but when I tested the ASI183 at Offset 10, it was pretty clearly clipping at gain 270. 20 seems decent, 30 seems safer still.
So, I don't know how these presets are supposed to work. Maybe I've got some ASCOM driver issue or something, though I did install the latest ZWO ASCOM drivers and it didn't make a difference.
I switched to the native driver for the ASI294MM-Pro and noticed that ASCOM default offset of 30 works great at gain 120 (unity), but is not enough for gain 390.
Then I thought I would try ZWO's ASIStudio software -- maybe they calculated offset automatically? That didn't expose offset at all, so initially I thought it must automatic... Gain "low" looked good. Gain "medium" seemed clipped. Gain "high" was badly clipped. So, I don't think it adjusts offset at all, and if you can't adjust it manually then it's effectively broken as an imaging application.
This seems like a missed opportunity for camera makers to deliver gain/offset lookup tables with their drivers (in ASCOM you can add your own presets, apparently). Software makers could provide a "calibrate offsets" button, but this would be best specified by the mfg in a lookup table. But absent the lookup table, the button in the astroimaging software could take some pictures to calculate a good offset for a given gain (e.g. at Gain 120 it could take 2-second exposures at offsets in increments of 5 or 10 (starting at 5, never 0) until no pixels clip). This would be a more automated way to do what the human eye can do with a histogram. Then it could do this for multiple gains.
Another consideration would be to maybe make the default in KStars larger than 8; 30 seems safe, but I'm sure this varies a lot by camera. I have no idea what a universally "safe" figure would be for all cameras and gains without needlessly affecting dynamic range.
Hopefully someone with more experience imaging and/or with ASCOM can comment on this further.