Jump to content
jorismak

linear profiles only in 32bit?

Recommended Posts

Hi,

 

I have some color profiles installed under Windows that are linear variants of srgb and adobergb. I even used the File -> Import ICC profile to try to add them to Affinity Photo.

 

Yet, they don't show up when editing 16bit images!

 

Only when I switch the color format to 32bit do they suddenly show up, but since Affinity automatically tries to convert to linear-space the profiles are messed up.

 

Is there _any_ way to tell Affinity Photo that the data in the file is _already_ in linear space. So to _interpret_ the data as gamma 1.0 instead of converting it?

 

It doesn't help that the gamma slider in the Levels-adjustment doesn't go higher than 2.0 as well :)

 

Share this post


Link to post
Share on other sites

Well.. with other things they just said clearly 'by design' or "won't fix". They acknowledged that it didn't do what you want it to do, but it did what they wanted it to do :).

 

In other words, they listened to questions / bug reports but didn't agree on them. Which is OK, people can have different opinions :P.

 

They're just blatantly being silent on threads about this topic which I find very weird and annoying.

 

As an example, how Affinity Photo loads a file and how Photoshop loads the file:

7X1SR3.jpg

 

and I get the message in Affinity Photo when loading the file that it ignored the embedded profile and assigned my working space profile (where it of course goes wrong).

 

If the files are linear-AdobeRGB I can somewhat managing it by applying a gamma correction of 2.2 (which is still annoying to do with the 'max correction' of 2.0, requiring two level-corrections).

But for profiles such as sRGB which don't have a perfectly linear gamma curve this means that I can't properly convert the linear-srgb into gammacorrected-sRGB inside of Affinity Photo, and it doesn't open files with an embedded profile correctly.

 

One of the little reasons why this awesome piece of software is now sitting unused on my system.

 

edit: I tried to be smart. Open the file in Photoshop, save it as 32bit floating-point TIFF, open it up in Affinity Photo. This opens the 32bit file OK (and I see the name of the embedded profile even).

But then when I try to convert it to RGB-16, Affinity Photo turns it into sRGB instead of (in this case) Adobe RGB... Wrong again.

So while still in 32bit I 'assign' a profile, the 'Adobe RGB (1998) (linear)' option that Affinity Photo gives me. (the image had my own custom adobergb-linear profile previously). When I try to switch this file back to RGB-16, it _still_ makes it sRGB instead of Adobe RGB!!

 

So it seems even if I manage to assign Affinity Photo's own linear-AdobeRGB profile, I can't convert to non-linear 16bit AdobeRGB with it.

As long as they don't even respond to this I'm afraid this won't ever be the program I hoped it would be.

Share this post


Link to post
Share on other sites

Hi Jorismak

 

I can only apologise for the lack of reply, this is not a section I frequent as I'm mainly tasked the bugs sections. As you have found we currently only support linear profiles in 32bit colour space. We have had a number of reports with 16bit linear profiles so this is something that is being looked into but is not currently available. I know a lot of render work uses the 16bit linear profiles so I am keen to see support for this.

 

I'm moving your thread to our feature requests section to have the support of 16bit linear profiles implemented


Serif Europe Ltd - Check the latest news at www.affinity.serif.com

Share this post


Link to post
Share on other sites

But also the conversion from 32bit (in linear adobergb for example) to 16bit (normal adobergb) does not work.. it always turns 32bit into 16bit-sRGB which is a waste if you were working in bigger color gamuts.

Share this post


Link to post
Share on other sites

But also the conversion from 32bit (in linear adobergb for example) to 16bit (normal adobergb) does not work.. it always turns 32bit into 16bit-sRGB which is a waste if you were working in bigger color gamuts.

 

 

For what it is worth, I cannot replicate this in v 1.5.  I can make a 32bit AdobeRGB (linear) image in Photoshop, save it as a TIFF, bring it into AP and change the document mode to 16bit and it will just convert the image to AdobeRGB (normal AdobeRGB, gamma 2.2).

 

You can try to work around the AP 16bit linear limitation by using LUTs.  Load the linear 16bit image that you have into AP - it will assign the working color profile to the image.  So far, assuming that your working color space in AP is the same as the color space of your image file, that does not really matter other than your image will look dark and not display with the gamma transformation that the linear profile would instruct AP to perform for display.  The color numbers are still linear because the working profile was assigned.

 

Add a LUT adjustment layer and load an AdobeRGB linear to Adobe gamma 2.2 LUT.  This will transform the image for display but once you are finished your image editing you can turn the LUT off (delete it from the layer stack) to save your work in linear numbers (flatten your work without the LUT if you are saving to a format that does not support layers).  Then export the result as a 16bit TIFF -in the TIFF export dialog hit the "More" button at the bottom of the dialog and uncheck the "Embed ICC Profile" option.  Now you will export and untagged image that has linear AdobeRGB numbers that do not have the normal gamma 2.2 profile embedded.  When you open the image in another color managed application, ASSIGN AdobeRGB (linear) and you are back on track.

 

Here are Dropbox links for a couple of LUTs that may help:

 

AdobeRGB linear to gamma 2.2:

https://www.dropbox.com/s/sf09acotl1x1hda/AbobeLin-g22.cube?dl=0

 

AdobeRGB gamma 2.2 to linear:

https://www.dropbox.com/s/gzbefiacn6qtujw/AdobeRGBg22-lin.cube?dl=0

 

Hopefully this kludge will help until proper linear profile support is included in AP.

 

kirk

Share this post


Link to post
Share on other sites

Luts sure help with looking at the project :). May I ask how did you get those, generated them somewhere somehow?

 

But are they also precise enough to 'apply' / rasterize the effect?

 

For what  it's worth, my test case was this: I have a 16bit tiff file in Photoshop, with my own generated / customized profile assigned, which is AdobeRGB with a gamma of 1.0. I called this 'adobergb-lin'.

So that 16bit file my my adobergb-lin assigned gets converted to 32bit in Photoshop. Photoshop at this points still lists my 'adobergb-lin' as the profile assigned to the image. 

I save this, embedding the ICC profile.

 

I open this in Affinity Photo and it looks OK, and Affinity Photo also lists my 'adobergb-lin' profile as the assigned profile. This file, I can't get to 'normal' AdobeRGB inside of Affinity Photo. If I convert that 32bit tiff file into 16bit, it becomes sRGB. If I assign the 32bit tiff file the 'Adobe RGB (linear)' profile that Affinity Photo lists, I also still get sRGB when converting to 16bit... This is in the .54 public beta btw.

 

 

I missed that there was a lut-adjustment layer. Opens up a lot of stuff :P. Let me try a bit today, I think it's a workaround for now but will have to do some quality checks with the final output.

The idea is still to convert the image to 16bit-non-linear at some stage to.. well.. actually view it :). It now still requires some roundtripping through ImageMagick or something. Not bad, but not ideal either :).

Share this post


Link to post
Share on other sites

What is the working color space that your AP (beta) is currently using (set in the Preferences > Color Profiles?  I ask because it appears that AP will (convert?) to this color space when the Document mode is changed from 32bit to 16bit - i.e., it does not preserve the 32bit color space (embedded in your file) and make the necessary gamma conversion, it changes to the specified working space you set up in the Preferences.  If that is the case, then you should specify (in your case example) AdobeRGB as the RGB working space and AdobeRGB (linear) as the 32bit color space.  Then everything will be in alignment for your workflow in AdobeRGB.

 

I made the LUTs in Lattice, specifying AdobeRGB as the color space and specifying a linear to gamma 2.2 transform.  The LUTs i linked for download are 32x32x32 (about 1.3MB for each LUT file).  Here:

 

https://db.tt/cVBVIIDWRi

 

is a link to a 64x64x64 LUT (about 10MB) - you can use this one and compare its rendering to the lower res LUT to see if your display can render any noticeable difference between the two.

 

You may also be able to do the display transform using the OCIO adjustment layer and the appropriate OCIO configuration.  See:

 

http://opencolorio.org/downloads.html

 

This might give you more flexibility in how your display transform is constructed (to avoid clipping, for example, that might occur using a LUT).

 

Good luck.

 

kirk

Share this post


Link to post
Share on other sites

Thanks for the tips ! Been using luts in videoworld , never thought about using them in photo work. Stupid :).

 

If the 16bit conversion is indeed done in working space, that means I can work around it which is a huge help already

Share this post


Link to post
Share on other sites

The issue is not specially connected to 16-bit mode, at least on my  v1.5.1 on MacOS. 

 

I got a 16-bit picture with a linear ICC profile from a previous post. As told before, it does not correctly open in AP since it is converted into my default RGB space (sRGB for me).  When I convert this picture into 8-bit mode in Photoshop and I open it in AP, I obtain the same behavior.

 

Actually, when I try to use the menus Document>Assign ICC Profile ou Convert ICC Profile, the linear profiles (gamma=1) do not appear in the drop-down list. Currently I use two of them, based on sRGB and Adobe-98, who are accepted by both Photoshop and Chromix Color Think.  Apparently, such profiles are not recognized by AP as valid ICC profiles. 

 

Charles

Share this post


Link to post
Share on other sites

Hmm, no.. it's not 'limited' to 16bit.. it's more like "only working in 32bit" :P.

 

But linear-space work in 8bit isn't recommended at all and will cause problems, so I wouldn't hold it against the Affinity team if they prevented linear spaces on purpose in 8bit

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Please note the Annual Company Closure section in the Terms of Use. These are the Terms of Use you will be asked to agree to if you join the forum. | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.