Intensity Transformation

Gain Offset changes each pixel to [old gray value * Gain coefficient + Offset].
- gain adjusts contrast. It should remain close to 1.
- offset adjusts intensity (brightness). It can be positive or negative.
- The resulting values are always saturated to range [0..255].
In this example, the resulting image has better contrast and is brighter than the source image.
Source and result images (with gain = 1.2 and offset = +12)
Color images have three separate gain and offset values, one per color component (red, green, blue).
Example of gain/offset applied on a color image

Normalize makes images of the same scene comparable, even with different lighting.
It compares the average gray level (brightness) and standard deviation (contrast) of the source image and a reference image. Then, it normalizes the source image with gain and offset coefficients such that the output image has the same brightness and contrast as the reference image. This operation assumes that the camera response is reasonably linear and the image does not saturate.
The reference image (from which the average and standard deviation are computed),
the source image (too bright),
and the normalized image (contrast and brightness are the same as the reference image)

Uniformize compensates for non-uniform illumination and/or camera sensitivity based on one or two reference images. The reference image should not contain saturated pixel values and have minimum noise.
- When one reference image is used, the transformation is similar to an adaptive (space-variant) gain; each pixel in the reference image encodes the gain for the corresponding pixel in the source image.
- When two reference images are used, the transformation is similar to an adaptive gain and offset; each pixel in the reference images encodes either the gain or the offset for the corresponding pixel in the source image.
Example of an image uniformized with two reference images

Lut uses a lookup table of new pixel values to replace the current ones - efficient for BW8 and BW16 images. If the transform function never changes, it is best to use a lookup table.
Example of a transform