2023-01-19: APP 2.0.0-beta13 has been released !
!!! Big performance increase due to optimizations in integration !!!
and upgraded development platform to GraalVM 22.3 based on openJDK19
We are very close now to releasing APP 2.0.0 stable with a complete printable manual...
When you save an image in TIFF, PNG, JPEG format, you can specify a color space, such as sRGB. I am wondering how this is done. I expect APP just to set the chosen color space, and not do anything to the image itself. But it could be possible that the color space of the input files is used, eg, when you import DSRL RAW's.
Reason I am asking is because it appears to be possible to map emission line wavelengths to RGB colours in a color space, for instance: https://stackoverflow.com/questions/3407942/rgb-values-of-visible-spectrum/22681410#22681410.
Hi Sander, @svdwal
If you save an image with a color profile, an ICC profile is attached to the metadata which holds information for other applications so they can present the data in that way while respecting that color space.
When the ICC profile is applied to the metadata, there is a color convert operation done on the data so the data does change. This is needed for color management to work properly.
The color space of an input images does not apply nor is used nor is it relevant. The RAW images have linear RGB data, the metadata that says it might be sRGB or Adobe1998 for instance is just for image viewers to be able to show it in that color space in it's non-linear representation. The RAW data is simply the non-converted data, so you could present it in any color space as you want or need to 😉
As you could read in the mentioned topic on stack overflow, it is not a simple task to convert a visual wavelength to a specific 8bit RGB color... but yes you can get there of course. But I must point out, this is something completely different than color management in which you try to maintain the colors that you have on your computer screen and save it with an ICC profile, so another application on your computer and monitor will show the data exactly the same...
Color management takes places on many levels and is not an easy subject. The software needs to be able to do it. Then your computer monitor needs to be able to show that color space. Most monitors can only show sRGB fully... so using a color space like Adobe 1998 is not very usefull for many because their monitor can't show it properly. And then you still need to make sure that the monitor is well calibrated... if it is not, things will probably not look correct...
Thanks, Mabula. I am aware of some of the issues, and will run into some of the other ones too.
I have a better link, with a theory and accompanying Python code: http://www.markkness.net/colorpy/ColorPy.html