The confusion with the abstract profile is that you can make image appear as if it were encoded with other primaries or another TRC, but ultimately the export profile determines that. This point in particular is the main reason why I don’t like the introduction of the abstract profile.
I’d say better only from the standpoint of being V2. I know Elle “scooched” the primaries of her profiles a bit to accommodate a rounding/truncation error she believed exists in the math, but I really don’t think you’ll notice a material difference in hue…
Thanks for clarifying …I fully understand it as you explain it but not as to how it comes across in the documentation…so it would be passed to the screen as linear but in the end encoded as dictated by the gamma of the output profile?? How would this get linear data to GIMP and photoshop as it appears to be given as a use case for that function??
Actually, the display profile will inflict it’s own departure from linearity, with its TRC. All of this filmic/log/sigmoid/basecurve shenanigans is between linear and that…
@Thanatomanic ICC profle inspector show that my new profile is ProPhoto and gamma=1 (curves are linear). However ICC profle inspector is Windows only.
Is there a Linux alternative? iccdump from Argyl does not support icc-v4.
Exiftool on icc-profile or extracted icc does not show gamma directly. Instead exiftool -icc_profile:* gives me: ‘Red Tone Reproduction Curve : (Binary data 16 bytes, use -b option to extract)’, etc.
Here’s the extract from the ICC spec regarding the format of the tag value:
6.5.2 curveType
The curveType contains a 4 byte count value and a one-dimensional table of 2 byte values. The byte stream is given below:
Byte Offset
Offset Content
Encoded as...
0-3
‘curv' ‘(63726469h) type descriptor
4-7
reserved, must be set to 0
8-11
count value specifying number of entries that follow
uInt32Number
12-end
actual curve values starting with the zeroth entry and ending with the entry count-1.
uInt16Number[]
Unless otherwise specified (see clauses 6.4.5: “blueTRCTag”, 6.4.16:
“grayTRCTag”, 6.4.18: “greenTRCTag”, and 6.4.37: “redTRCTag”) these 16 bit
unsigned integers in the range 0 to 65535 linearly map to curve values in the
interval [0.0, 1.0].
So, 8-11 are a 32-bit value, 1, indicates the curve is one 16-bit value in length, and 12-13 are a single u8fFixed8Number, a a fixed unsigned 2 byte/16 bit quantity which has 8 fractional bits (ha, wrap your head around that), with ‘01 00’ being the number 1.
I’m seeing even @Thanatomanic recommending Elle’s profiles over ones generated using RT’s icc profile generator
Is the icc profile generator built into RT (NOT the Abstract Profile which is not what I was suggesting) that broken?
I’ve used Elle’s code, but only because I found that modifying it it was the easiest way to generate ICC profiles with alternate/nonstandard transfer functions and gamuts. (Sony S-Log2/3, Panasonic V-Log, Sony S-Gamut, etc)
My current preferred ICC profile dumper is “iccDumpProfile.exe”. It comes with various other programs such as IccToXml and IccFromXml. I forget where I got it from. Possibly http://sampleicc.sourceforge.net/
For example:
iccDumpProfile.exe %ICCPROF%\LargeRGB-elle-V4-g10.icc ALL
One part of the text output is:
Contents of redTRCTag tag ('rTRC' = 72545243)
Type: parametricCurveType
FunctionType: 0000h
Y = X ^ 1.0000
I have no opinion on whether Elle’s profiles are better or worse than others, in general.
@Entropy512Elle has an explanation somewhere on her website with an ODT file showing annotated calculations. At one point, I asked @jdc (RT dev) about the differences between the transform matrices. If I recall correctly, he implied that he carried over the decimals, whereas Elle considered the encoding while maintaining her well-behaved colour profile criteria.
I said it is the simplest option, not the only better one It’s perfectly fine to generate a profile using RT’s ICC creator. It’s just a little more work.
If a user already has RT, I’d consider anything that requires doing something outside of the application (such as grabbing Elle’s profiles) to be more work…
I get what you’re saying, but I’ve found the work it took to get them to be well-worth the effort. It was those profiles that taught me the independence of their color and tone transforms; I used to wonder why folk were complaining about ‘sRGB’ in regard to tone transformation, because I had a set of sRGB profiles that included one with ‘g=1.0’, which is really an ‘identity transform’ that is, doesn’t change the data. i use them as working and output profiles (heck, sRGB-elle-V4-srgbtrc.icc is the display profile on my tablet, too lazy to make a calibrated profile…) in a variety of situations.
Contents of redTRCTag tag ('rTRC' = 72545243)
Type: parametricCurveType
FunctionType: 0004h
Y = 0.077393 * X + 0.0000 when (X < 0.0393)
Y = (0.9479 * X + 0.0521) ^ 2.4000 + 0.0000 when (X >= 0.0393)
and my linear ProPhoto (RTv4_Large), from RT ICC Profile Creator:
./iccDumpProfile RTv4_Large_Linear_g=1.0.icc ALL
Contents of redTRCTag tag ('rTRC' = 72545243)
Type: parametricCurveType
FunctionType: 0000h
Y = X ^ 1.0000
@ggbutcher, than you for the explanation. It is always the best to read the specification. Now, when I know it, I can run iccDumpProfile and actually understand what it does.
I store my output profiles in:
“home”/programs/rawtherapee/iccprofiles/output
It seems output profiles are also picked up from
“home”/.config/RawTherapee5-dev/profiles
then RawTherapee Color-tab |’ output profile’, show me the output profiles.
I am on Debian Linux, but my case is not Debian package standard, since I build from source with:
-DCACHE_NAME_SUFFIX=“5-dev”
-DBUNDLE_BASE_INSTALL_DIR="$HOME/programs/rawtherapee"
Edit: Color Management addon - RawPedia states:
'They must be installed in the RawTherapee “Iccprofiles/output” folder or in \windows\system32\spool\drivers\color for Windows and /usr/share/color/icc for the other systems. ’
Another way to find the path(s) is to do a system wide search for existing files. I tend to be forgetful and that is the quickest method for me to double check.