1 (edited by Ben321 2017-08-02 1:54:09)

Topic: Better handling for 16bits-per-channel color images

Currently the way IA handles 48bit (3 channels, 16 bits per channel) pictures is to convert them to 24bit images. Problem is that this loses a lot of detail.

A better way to handle it would be to have it automatically split the 48bit color image into 3 images of type Float Matrix (which is what Image Analyzer calls high bitdepth grayscale images). Then each of these 3 images could be separately processed with the "Complex Representation" command, and then converted into 8bit grayscale images with the "Convert to Grayscale" command. Lastly, these 3 8bit grayscale images could be combined into a 24bit color/RGB image with the "Combine Images" command. All of these steps are currently available in Image Analyzer except for one important one, and that is the ability to load a 48bit color image into Image Analyzer as 3 Float Matrix Images.

2

Re: Better handling for 16bits-per-channel color images

What kind of processing would you do on such images?
Currently you can use the Import for HDR feature to import and process an image in full bit depth. In this dialog you have access to many common operations. This is what I do myself with the output of my raw converter.

Michael Vinther

> software developer <

3 (edited by Ben321 2017-08-08 3:18:41)

Re: Better handling for 16bits-per-channel color images

mv wrote:

What kind of processing would you do on such images?
Currently you can use the Import for HDR feature to import and process an image in full bit depth. In this dialog you have access to many common operations. This is what I do myself with the output of my raw converter.

The defaults in that dialog box don't perfrom zero processing. For example, the value for Maximum Contrast isn't set to allow unlimited contrast in the image, instead it is set to 50, which clips any contrast levels in the image that are higher than 50 down to 50. If there was more than 50 contrast in the original image, this setting forces processing of the image to bring the contrast down to 50.

I don't want any pre-processing of the image. I want full control of what happens to the image after I load it. And also since I don't understand the mathematical equations used in that dialog box, I can't have full control of the processing at that stage. If I'm taking a picture for scientific use (i.e. using my camera simply as a method of recording scientific data) then I don't want any processing to happen to the picture that I don't fully understand or control (or else the picture immediately ceases to have scientific value, and is at that moment converted from a scientific record of data into into just a photographic work of art).

My solution to resolve this problem is simple:
I want any 48bit color image to be split into three floating-point grayscale images (aka Image Maps or Float Matricies). Each of these images can then be operated on using any functionality in your program that is designed for such high-bitdepth images (such as the Complex Representation dialog box, and the User Defined FIR Filter dialog box, as well as the DCT and DFT transforms).

What should happen when I load a high-bitdepth image (such as a 48bit RGB TIFF image) is that instead of seeing one picture, I should see 3. The name that shows in the title bar for each image be the original file (without the file extension), followed by a space and then the letter for the color channel. For example if I load testpic.tif (if it's a 48bit color image) into Image Analyzer, is I should see 3 pictures, and the names in their title bars should be as follows "testpic R", "testpic G", and "testpic B". Each one should be an Image Map so that high-bitdepth processing can be performed.