← All articles

July 28, 2026  ·  🔭 Astronomy

Gain and offset – what the two camera dials really do

Gain and offset are two values set on my Player One Ares-M Pro – a mono camera built around the Sony IMX533 sensor. More precisely: two values that were already there when I got the camera.

I took over my rig as a finished setup, second-hand and already standing in Texas. Gain 125, offset 50 – they came with it. So I didn't choose those values, I inherited them.

At some point I wanted to know whether they were good values or merely the ones that happened to be set – and what the two dials actually do. Here is the version that finally made sense to me.

Gain – amplification, not "more light"

During the exposure the sensor collects photons and converts them into electrons. Gain determines how strongly that signal is amplified before it is turned into digital counts.

Those counts are called ADU, short for analogue-to-digital units. There is nothing mysterious about them: they are simply the numbers that end up in the image file. One ADU is one step of the counter – the smallest difference in brightness the camera can express at all.

Important: more gain does not mean more light is captured – it only turns up the existing signal. It is the volume knob on an amplifier, not the size of the bucket catching the light.

And that is exactly where the catch lies – one that at first glance contradicts the bucket image. The bucket stays the same size. But its contents are poured into a measuring jug with a fixed scale: the analogue-to-digital converter. The louder you turn it up, the more counts each individual electron uses – and the sooner the scale runs out. The pixel could hold more; the number cannot.

In concrete terms: my camera digitises at 14 bit, so the counter knows 16,384 steps – from 0 to 16,383, and no further. At gain 0 the scale is laid out to cover the whole bucket: the 73,000 electrons spread across those steps, so one step is a good four and a half electrons.

Every doubling of the amplification halves that figure – and with it the number of electrons that still fit into the scale at all.

Careful with the number in the menu: it isn't a multiplier but a logarithmic measure in tenths of a decibel. Doubling the amplification takes about 60 gain steps – going from gain 100 to 200 therefore doesn't double the amplification, it roughly triples it.

At my gain 125 the amplification is about 4.2×. One step is then barely more than a single electron, and the counter is full after roughly 17,000 electrons. From 73,000 down to 17,000 – without anything at the pixel having changed.

That is why data sheets list a smaller full well at higher gain. What they describe isn't the pixel but the readout chain: at what number of electrons does it stop, because the counter can't go any higher? For the finished image it amounts to the same thing – bright stars burn out sooner.

So the trade-off is: turn the gain up and read noise falls – but the usable full well shrinks with it. How much that ultimately costs in dynamic range – the span from "just above the noise" to "just short of blown out" – depends on the gain you pick. And there is one important exception.

Diagram: as gain rises read noise falls while full well shrinks; at the HCG point noise drops abruptly
Two curves, two axes: read noise (red, left axis) falls as gain rises, and so does the full well (blue, right axis). At one point only, one of them jumps.

The jump that decides everything

Modern CMOS sensors have one special point: above a certain gain threshold, read noise drops abruptly. This is called HCG – high conversion gain.

And that jump isn't an accident of the curve, it is a switch inside the sensor itself. Every pixel hands its collected electrons to a tiny capacitor, and that is where the voltage which is later measured actually appears. How much voltage a single electron produces depends on the size of that capacitor: a small capacitor yields more voltage per electron – that is the conversion gain.

Modern sensors carry two of these capacitors and switch between them at a fixed gain threshold. Below it the chip uses the large capacitor: it accepts a lot of electrons but produces little voltage per electron – so the noise of the downstream electronics weighs more heavily by comparison. Above it, the chip switches to the small one: each electron now produces considerably more voltage, and the same electronic noise weighs far less by comparison.

That is why read noise doesn't taper off at this point but jumps – it is a hardware switch, not a dial. And it is why every sensor has exactly one such threshold, listed in its data sheet.

On my Ares-M Pro that threshold sits at gain 125. I didn't invent the number and I didn't measure it either: Player One state it in the camera's data sheet, where it simply says "HCG open at gain=125".

It is not a camera default – Player One specify neither a standard gain nor a standard offset for the Ares.

That answered my original question: the 125 that came with the rig isn't some arbitrary number left behind by its previous owner, it is exactly the point at which this sensor switches over. Whoever set the camera up before me knew what they were doing – and I nearly changed it without understanding it.

Here is how the IMX533 behaves in numbers: the noise figures come from Player One, full well and dynamic range are calculated from them. The unit e⁻ stands for one electron – the raised minus is its negative charge; ke⁻ is a thousand electrons. Dynamic range is given in stops: each stop is a doubling, just as in photography:

Quantity at gain 0 from gain 125 (HCG) at gain 250
Read noise~4.5 e⁻~1 e⁻just under 1 e⁻
Usable full well73 ke⁻ (maximum)about 17 ke⁻about 4 ke⁻
Dynamic rangeroughly 14 stops (the largest)roughly 14 stops (practically the same)roughly 12 stops (clearly lower)
good forbright targets, star coloursfaint narrowbandrarely useful for deep sky

And here is the real point: read noise falls from about 4.5 to roughly 1 electron – an enormous win for narrowband. The usable full well does shrink considerably, but dynamic range stays practically the same.

Update, 17 August 2026: The values in the table have since been measured rather than estimated. At gain 0 it is 4.25 e⁻, from gain 125 1.395 e⁻ – a factor of 3.05 across that span. The HCG step itself sits between gain 124 and 125 and is a factor of 2.01. In passing, gain 124 is the worst setting on the whole curve: the highest noise immediately before the step, and the lowest dynamic range. The optimal sub length →

That sounds like a contradiction, but it takes three lines to check. Dynamic range is, at heart, full well divided by noise:

Gain 0:    73,000 ÷ 4.5 ≈ 16,000  →  log2(16,000) = 14.0 stops
Gain 125: 17,000 ÷ 1.0 ≈ 17,000  →  log2(17,000) = 14.1 stops
Gain 250:   4,000 ÷ 1.0 ≈  4,000  →  log2( 4,000) = 12.0 stops
The logarithm to base 2 counts how often you can halve the ratio before 1 is left. As a check: 2 to the 14th = 16,384, 2 to the 12th = 4,096.

From gain 0 to 125 both figures dropped by more than a factor of four – the full well by 4.2, the noise by 4.5. Because they fall together, their ratio survives.

The 14.1 against 14.0 in the second line shouldn't be read as an improvement: the manufacturer only quotes read noise in HCG mode as "about 1 e⁻". Calculate with 1.2 instead and you get 13.8 stops. Within the precision of the available figures the two are simply equal – and that is the point.

Why stops at all? Because they turn an unwieldy ratio into a small number – and because you can compare them directly: two stops fewer means four times less dynamic range. Which is exactly what happens in the third line.

The third line shows why that isn't a law of nature. From 125 to 250 the full well falls to a quarter again – but the noise barely moves, because it has already made its jump. This time nothing compensates for the loss: the ratio collapses from 17,000 to 4,000 – and 4,000 is 2 to the power of 12. Fourteen stops have become twelve, two full doublings less.

That is why the HCG point isn't a compromise you settle for but a sweet spot: much less noise at unchanged dynamic range. The only tangible price is the smaller full well – bright stars saturate sooner. Turning the gain up further, on the other hand, no longer pays off, as the third line shows.

IMX533 diagram: read noise drops abruptly at gain 125 from 4.46 to about 1 electron while full well falls steadily from 73 kiloelectrons
The vertical drop at gain 125 is the HCG point. The full-well curve beside it falls smoothly – which is why dynamic range is almost preserved there.

Applying this to other cameras

The principle is the same for every CMOS sensor – only the actual numbers and the position of the HCG point differ. If you know your sensor type (IMX533, IMX571, IMX585, say), you can find the right values in two places:

Once you know your chip's HCG point, you have already found the gain value that matters.

Offset – the pedestal that keeps data from being cut off

The offset is a fixed pedestal value added to every single pixel. It sounds pointless, but it matters.

Every signal has noise, and noise scatters in both directions – downwards too. Without an offset the darkest pixels would come out below zero in the arithmetic. A sensor cannot store negative values; everything below zero is clipped at 0. That loses information at the bottom end and distorts the background.

Two histograms: without offset the left flank is clipped at zero, with offset the whole distribution sits above zero
On the left, information disappears without the image showing it. On the right the same distribution sits entirely above zero.

The offset lifts the entire noise distribution safely above zero so that nothing gets clipped. It doesn't change the actual signal – it only moves the zero line up.

My value is offset 50, and this is where my investigation ends without a clear answer: I don't know where the 50 comes from. It came with the rig too. It certainly doesn't come from the manufacturer – Player One specify no offset for the Ares at all, and there is no universally "correct" value anyway. You read it off your own histogram. The practical test: take a bias or dark frame and look at its histogram – as long as there is no pile of pixels stuck against 0 on the left, the offset is high enough. Whether it is then 30 or 50 hardly matters.

I haven't done that test yet – I haven't taken any calibration frames at all so far, as I admitted elsewhere. So for now the 50 stands as an inherited value that looks plausible: high enough to do its job, low enough to cost almost no dynamic range. The proof is still missing.

One rule does matter: the offset must be identical across lights, darks and flats. Otherwise the calibration no longer fits together. The simplest approach is to leave it at the same value everywhere.

My values for the Ares-M – and when I change them

The default I run almost always: gain 125 (HCG), offset 50, with sensor temperature −10 °C as a separate setting. That is my deep-sky setup, particularly for narrowband (Hα, OIII, SII) and faint nebulae: the lowest noise at practically full dynamic range. On the vast majority of nights I don't touch these values.

When I'd move away from that on gain:

When I'd change the offset: once I have finally checked it – and then only if the histogram of a bias or dark clings to 0 on the left. All that matters is keeping it identical across lights, darks and flats.

What I do not control with gain and offset: image brightness. That comes solely from exposure time, not from gain.

The mental picture

Neither changes how much light the sensor collects – that is exposure time alone. Gain and offset only decide how that light is translated into numbers.

Anyone who knows their camera's HCG point and sets the offset just above the clipping threshold has essentially finished with these two dials – and will hardly need to touch them again.

🔭 The camera in the rig: My Rig @ Starfront in Texas  ·  What happens to the frames afterwards: Seven Filters, One Button →  ·  Why I dither anyway: Dithering →