Pixel precision

Images, mostly, are stored in a variety of low dynamic range formats. JPG, PNG, BMP; they're all the same, all low dynamic range. Generally, this means 256 levels of brightness for each of the red, green and blue components that comprise a pixel. The reason for this? A computer byte contains whole numbers between 0 and 255. Until recently, this was an accurate way of describing a colour, but times have changed.

If you perform several operations upon an image where the pixel colours are changed, you will lose information. The reason for this is that the maths involved in manipulating colours is done with a high level of accuracy, but each time you store the result of an operation it is clamped to this arbitrary 0 to 255 range with no facility at all to use fractional numbers. This limits the accuracy of the result, dramatically. If you perform several operations in turn, then each step of the way you will lose information, resulting in a final image that will sometimes be way off representing the theoretical (and desired) result.

Does that mean all is lost when editing images in this way? Well, no. The simple way around this is to use the "prefer quality of over speed during processing" option in Imagina's Preferences.

What will happen when this option is switched on is a little bit of magic. Instead of using 256 levels of brightness for each pixel component, it will then use 65,536 levels instead. And not only that, the format of the numbers changes from integers to floating point, which means you are no longer working over a normalised range but instead a potentially vast range (several hundred times higher than normal).

But the range isn't everything. You will often work in something very broadly approximating the normalised range, as otherwise you can't see what you are doing when making your edits to your images. In this case, the precision of floating point numbers is truly impressive with it storing numbers with over 100 times the precision of their byte counterparts. To all intents and purposes, floating point numbers will give you flawless results. Just what you need from your favourite image processing tool.