Current Server Time: 19:49 (Central Europe)

#apertus IRC Channel Logs

2014/02/15

Timezone: UTC


01:01
SashaC
joined the channel
02:30
Bertl
off for a nap ... bbl
02:31
SashaC
rest well Bertl
04:35
troy_s
Bertl: FANTASTIC Bertl !!!
04:35
troy_s
Bertl: I have been slugging on the Axiom lab app... no matrix yet. :(
04:35
troy_s
Bertl: 12 mean error is crap. You can use profcheck to get DE values
04:36
troy_s
Bertl: DE 1.0 is undetectable. (less than)
04:36
troy_s
Bertl: Use DE2000
04:36
troy_s
(our current matrices are probably de 14 :))
04:36
troy_s
(as in crap)
06:51
Bertl
back now ...
06:53
Bertl
so you've been giving me crap all the time :)
07:08
troy_s
Bertl: Always.
07:08
Bertl
appreciate it, but seriously, any idea what the problem with the calibration is?
07:09
Bertl
gabe hat similar issues with similar results (like 12-15%)
07:09
troy_s
Bertl: To be fair, all Gabe and I do is take the crap you two give us and reshape it into different crap. Lulz.
07:09
troy_s
Bertl: Well he and I were using your shot
07:09
troy_s
Bertl: Which is inconsistently lit (top to bottom) and sub exposed.
07:09
Bertl
okay, so let's say that one is crap, no problem with that, why don't we get better results with new shots?
07:10
troy_s
Bertl: Se6's are very exhaustive
07:10
troy_s
Bertl: But I haven't seen them debayered with VNG yet. I was going to kill two birds and use the lab.
07:10
Bertl
and as you say, uneven lighting, could this be the main issue?
07:11
troy_s
Bertl: Because Gabe didn't see them yet (I remember Se6 taking the shots, but I hadn't looked)
07:11
troy_s
Bertl: It is also a scanner image.
07:11
troy_s
Bertl: So we may be fighting a few things.
07:11
Bertl
okay, we haven't found a 'camera' chart yet
07:11
troy_s
Bertl: 1) Lack of daylight shot. We couldn't do it previously as the prototype was hard mounted.
07:12
Bertl
IIRC, somebody suggested to send us one, but then didn't
07:12
troy_s
2) Chart might be decayed and likely sub optimal due to scanner.
07:12
troy_s
(I think Se6 bought a new one)
07:12
Bertl
sebastian has a new IT8 chart, yes
07:12
troy_s
3) I haven't twiddled enough yet.
07:12
Bertl
it is again a 'scanner' chart, as they do not sell anything else AFAIC
07:13
Bertl
*AFAIK
07:13
troy_s
Hrm. Wolf had a camera chart I thought.
07:14
Bertl
maybe but please double check with sebastian, I had a quick look at the ITU docu, and it doesn't really differentiate between scanner or camera
07:14
troy_s
C1
07:14
troy_s
http://www.targets.coloraid.de
07:14
Bertl
they only have reflective and non-reflective charts
07:14
troy_s
Yep
07:14
Bertl
and IIRC, your suggestion was to take the reflective one
07:14
troy_s
I am unsure. I suspect the camera charts have some anti-yellowing twinges to pull the illuminant to more neutral
07:15
Bertl
on the page you linked: Wolf Faust is manufacturing reflective and transmissive scanner calibration targets
07:15
troy_s
Well a glossy chart has a wider gamut, but more difficult to shoot.
07:15
troy_s
Yes look at C1
07:15
troy_s
Bertl: But again, we are miles away from a high grade calibration
07:16
troy_s
Bertl: Eventually a Hutch or something would probably be something to aim for.
07:16
troy_s
Bertl: I just want to get to a 2de zone
07:16
Bertl
yes, I agree, but it annoys me that we do not even have a basic 'working' calibration
07:16
troy_s
Which is more than satisfactory for me.
07:16
troy_s
Bertl: Part of it is me. I need to do calibs on the new images.
07:16
troy_s
Bertl: If you can tiff 16 that link se6 sent us
07:16
Bertl
btw, the matrix you gave last time has coefficients up to 12
07:17
troy_s
I will do some more tests tomorrow
07:17
troy_s
Bertl: Exposure proble.
07:17
Bertl
that looks somewhat fishy to me with 'red' around 2 or so
07:17
troy_s
I had one that had correct exposure, but the mean error was 13.9
07:17
troy_s
Which is bad
07:17
Bertl
i.e. first, I presume it needs to be inverted/transposed
07:17
troy_s
Basically our chart shot stinks
07:18
troy_s
But seb's new ones look exhaustibe
07:18
troy_s
exhaustive
07:18
Bertl
but still, that means that green/red or red/green is a factor of 6, which is almost a magnitude higher?
07:18
troy_s
With well noted color temp etc. I want to generate a neutral (as in color temp is achromatic equal channel)
07:18
troy_s
Well the curves are wonk
07:19
troy_s
Relatively smooth, but wonk
07:19
troy_s
which I _think_ is because our chart shot sucked
07:19
troy_s
Linear 16 bit TIFFs of the new batch would be excellent
07:20
troy_s
The software lab is still a ways off.
07:20
troy_s
(much dickery to get things working for forward thinking items)
07:20
troy_s
(EG: An image cache for multiple frames, scrubbing, scrobbling image, etc.)
07:21
troy_s
I have about 98% of that done, just need to cooy / paste some code.
07:21
troy_s
Then I can do up some OCIO configs and we are home free.
07:21
troy_s
A viewer app that will spit out TIFFs and EXRs and DPXs with full color management.
07:21
Bertl
just use the raw16 and convert them like this:
07:22
Bertl
convert \( -size 4096x3072 -depth 16 gray:IT8_incand.raw16 \) \( -clone 0 -crop -1-1 \) \( -clone 0 -crop -1+0 \) \( -clone 0 -crop +0-1 \) -sample 2048x1536 \( -clone 0,1 -average \) -delete 0,1 +swap -combine IT8_incand.tiff
07:22
troy_s
Crappers.
07:22
troy_s
What does sample do?
07:22
troy_s
That is some IM fu there.
07:22
Bertl
reduce the pixels to separate the bayer pattern
07:23
troy_s
How does it interp the RGGB mosaic?
07:23
Bertl
this is a simple/primitive debayer, we have it on the wiki since I came up with that
07:23
Bertl
i.e. it overlays R,(g1+g2)/2,B
07:23
troy_s
Genius boy.
07:24
troy_s
Are the greens at the same gain?
07:24
Bertl
there is a small variation if you have flipped images
07:24
troy_s
Ok I will do that now.
07:24
Bertl
convert \( -size 4096x3072 -depth 16 gray:colors_500ms.raw16 \) \( -clone 0 -crop -1-1 \) \( -clone 0 -crop -1+0 \) \( -clone 0 -crop +0-1 \) -sample 2048x1536 \( -clone 2,3 -average \) -delete 2,3 -swap 0,1 +swap -combine colors_500ms.tiff
07:25
Bertl
this is for flipped ones, which should be the default now as it gives 'normal' looking images :)
07:25
Bertl
i.e. if the first one looks wrong, take the second one :)
07:25
troy_s
Which ones are flipped?
07:25
troy_s
And why?
07:25
troy_s
(Haven't been following the transitions.)
07:25
Bertl
the sensor can do image flipping, horizontal and vertical
07:26
troy_s
Does that change the RGGB alignment?
07:26
Bertl
in the beginning, I turned that off, so the early images are not flipped
07:26
troy_s
(Asking because my debayer will obviously need to know)
07:26
troy_s
Need a bash script to do that.
07:26
troy_s
Hrm...
07:26
Bertl
yes, the pattern is flipped as well, i.e. RGGB becomes GBRG
07:26
troy_s
Ok. I guess I'll include all debayers then
07:27
troy_s
Is there a simple bash script on the wiki?
07:27
troy_s
I'm going to decode them all.
07:27
Bertl
bash script for what exactly?
07:27
troy_s
(Does Imagemagick try to apply a tone curve to the data or does it dump the raw linear values?)
07:27
troy_s
To convert the images.
07:27
Bertl
well, the lines I pasted here are all you need
07:28
Bertl
they are listed here for reference: https://wiki.apertus.org/index.php?title=Axiom_Alpha_Software#Simple_debayer_with_ImageMagick:
07:28
troy_s
Converting batch 3 now.
07:28
troy_s
(Not sure the difference in batches.)
07:28
SashaC
left the channel
07:28
Bertl
and AFAIK, imagemagic doesn't apply anything unless you specify extra spaces
07:28
Bertl
which you can easily do
07:29
Bertl
(e.g. with -colorspace)
07:30
troy_s
Well that thing was riddled with bugs
07:30
Bertl
a good way to check is with the test pattern
07:30
troy_s
I can't count the number of forum posts.
07:30
Bertl
let me see if I have that uploaded somewhere
07:30
troy_s
I only care about linear
07:30
troy_s
If you can do a quick test that'd be awesome.
07:30
Bertl
yes, the test pattern is 0 1 2 3 4 5 ... 127, then 1 2 3 4 5 ... 128 ...
07:30
troy_s
(The PNGs I have _no_ way of knowing, but I do know that PNGs are enforced sRGB so any tool should actually be assuming a transfer curve.
07:31
Bertl
so it should be easy to check with a histogram on the resulting tiff
07:31
troy_s
With the test pattern raw data sample?
07:31
Bertl
yep
07:31
troy_s
Where's the tester?
07:32
troy_s
(Is the Hist tool listed on the wiki?)
07:32
troy_s
(By the way, OIIO has some image buffer algos that are at least as effective, plus OIIO is specifically crafted for scene referred images - a great toolset for this project.)
07:33
troy_s
(I did a test with a DNG by loading it as a tiff (rename) then resaving it as a TIFF. Worked great. In fact, probably the easiest way to get to a DNG by supplying tags. Yet to test this though)
07:33
troy_s
I see the hist command on the wiki
07:33
Bertl
http://vserver.13thfloor.at/Stuff/AXIOM/RAW/test_pattern.raw16.xz
07:34
Bertl
if you like, I can also create an artificial one with full gray range
07:34
Bertl
(this one is the actual built in sensor test pattern)
07:35
troy_s
Damn. Looks full frame
07:35
troy_s
But something is wrong methinks.
07:35
troy_s
(Slightly rotated, but Argyll can deal with that)
07:35
troy_s
Colors look whack. Green. Would that be wrong flip?
07:36
Bertl
probably, try the other line
07:37
Bertl
since a few days I've been playing with the HDMI output now, and I've added a shuffle unit to rearrange the bit pattern, you wouldn't believe how 'good' wrong colors can look :)
07:37
troy_s
That's it.
07:38
troy_s
Should write a quickie bash script that does both commands and toggles based on a CLI param.
07:38
troy_s
Shuffle does what Bertl?
07:38
Bertl
you could actually figure out the right one from the register dump at the end
07:39
Bertl
@shuffle, do you want a technical explanation or a simple one?
07:42
troy_s
Bertl: How about a middle ground.
07:43
troy_s
Bertl: A technical explanation for someone with an IQ of about 40.
07:43
Bertl
okay, let's try: it cuts a packed 64bit word into 4bit pieces and rearranges the order according to a configureable scheme
07:45
Bertl
so for example, 0123456789ABCDEF -> 01245689ACDE37BF
07:46
Bertl
this allows to accomodate the different formats the HDMI chip understands, but it also allows to swap channels
07:47
Bertl
so for example, swapping one green with the red channel gives really cool images :)
07:48
Bertl
pure green becomes yellow, red becomes green, yellow gets more orange, blue stays the same
07:48
troy_s
Damn. Having an error with scanin
07:56
troy_s
Odd
07:56
troy_s
Rotate is sucking
07:56
troy_s
convert foo.tiff -rotate 10 foobar.tiff
07:56
troy_s
is giving me tif_dirwrite.c TIFFWriteDirectoryTagCheckedRational: Assertion 'value>=0.0' failed.
07:57
Bertl
try with png? :)
07:57
troy_s
Again, PNG is junk. Argyll won't read it and it cannot be linear.
07:57
troy_s
:)
07:58
Bertl
try with .png, then convert it to tiff
07:58
Bertl
I presume imagemagick tries to be smart and not rotate the image at all
07:58
troy_s
And what's betting Imagemagick will convert the transfer curve?
07:58
Bertl
i.e. just specify a magic tiff tag that it is rotated
07:58
troy_s
Huh?
07:58
troy_s
I don't get it.
07:58
troy_s
WriteDirectoryTag is an odd one.
07:59
Bertl
I presume, one of the many tiff tag says, rotate this image by N degree
07:59
Bertl
and so, imagemagick being lazy does not want to rotate it at all, just sets a flag, this image needs to be rotated by N degree
08:00
Bertl
and as this is not well tested/your tools are out of date, it causes an obscure error
08:03
Bertl
it should be simple to check the transfer curve theory, by converting a tiff to png and back to tiff, then comparing the two tiff images (original and converted one)
08:03
troy_s
GRRRRR WHY is it failing loading the IT8 reference chart values in the Argyll dir????
08:03
troy_s
Grr.
08:24
troy_s
About to give up
08:24
troy_s
Bertl: I can't seem to crop the blasted images down to the chart only and get the rotate decent
08:24
troy_s
Imagemagick is a gongshow nightmare of segfaults
08:24
Bertl
what version/OS do you use?
08:25
troy_s
I'm on a Linux
08:25
troy_s
And god I hate it.
08:25
Bertl
and why not process it in steps as suggested and only convert the image at the end to tiff?
08:25
troy_s
(I've come to hate Imagemagick. So crap)
08:25
troy_s
I've been trying that.
08:26
troy_s
But the crop function is crap
08:26
Bertl
maybe you use it wrong or misinterpret what it does?
08:26
troy_s
-crop 1841x1305+149+116
08:26
troy_s
No. It's pretty much crap.
08:27
troy_s
Crop should give you a window (if you follow it with a !) that is widthxheight+xoffset+yoffset
08:27
Bertl
maybe add +repage ?
08:27
Bertl
http://www.imagemagick.org/Usage/crop/
08:28
Bertl
also be careful with unescaped '!' on a (ba)sh
08:29
Bertl
http://www.imagemagick.org/Usage/crop/#crop_repage
08:29
troy_s
Done the repage
08:29
troy_s
Keeps telling me no image is left
08:29
troy_s
(and I always escape it)
08:30
Bertl
okay, can you give me the complete command you are trying?
08:30
Bertl
note that the command you used before might have left an image with offsets
08:30
Bertl
check that with 'file <image>'
08:31
Bertl
(because you were missing the +repage before)
08:32
Bertl
no, sorry, check with:
08:32
Bertl
identify <image>
08:32
Bertl
it might show you an offset +x+y on the input image
08:32
Bertl
thus the specified crop region might be outside the actual image data
08:33
troy_s
Hold.
08:33
troy_s
First I did a crap dump to PNG because ImageMagick sucks donkey ween.
08:33
troy_s
Then I cropped using:
08:33
troy_s
convert ./out.png -crop 181x135+149+116\! +repage ./test-crop.png
08:33
troy_s
and that shits the bed
08:34
troy_s
(I actually wanted a much larger image, but it too shits the bed in ways only Imagemagick can)
08:34
troy_s
convert ./out.png -crop 1841x1305+149+116\! +repage ./test-crop.png
08:34
troy_s
Super Bed Shit.
08:34
troy_s
So frustrating.
08:36
troy_s
Format: TIFF (Tagged Image File Format)
08:36
troy_s
Class: DirectClass
08:36
troy_s
Geometry: 2084x1584+0+0
08:36
troy_s
So the resolution is larger than my crop window.
08:41
troy_s
God. I. Hate. The. Tools.
08:43
troy_s
Yay bugs
08:43
troy_s
I think I have negotiated it
08:43
troy_s
What junk
08:45
troy_s
Spoke. Too. Soon.
08:45
Bertl
well, I can't complain here, it works just fine for me, it is not one of the most intuitive tools out there but in my experience it gets the job done
08:45
Bertl
so maybe upload a complete script from .raw16 to your problem then I can take a look
08:47
troy_s
And ARGYLL BUG
08:47
troy_s
This is so awesome.
08:47
troy_s
Good luck... Here's what I've tried to do:
08:48
troy_s
(I got the buggy shitbag of IM to finally crop and rotate the image)
08:48
Bertl
btw, if you just want to cut out the chart, it is simple to do with the perspective transform
08:48
troy_s
Take seb's 3rd set of images
08:48
Bertl
just find the 4 corner points and use them as input
08:48
troy_s
1) I randomly picked the 15ms
08:49
troy_s
2) Rotate it and crop it or use the perspective tool.
08:49
troy_s
3) Generate a tiff.
08:49
troy_s
(linear)
08:49
troy_s
then try scanin -v -G1.0 ./test.tiff /usr/share/color/argyll/ref/it8.cht ~/Develop/raws/R100604.txt
08:49
Bertl
can you do an md5sum <image> for me?
08:49
Bertl
so that we have the same source .raw16 image
08:50
troy_s
7ffcf417c906fccaf180d739a9d484af
08:50
troy_s
ls
08:51
troy_s
scanin will either segfault (using repository Argyll) or bail out.
08:51
troy_s
Which is... well wrong.
08:51
Bertl
7ffcf417c906fccaf180d739a9d484af IT8-tungsten-halogen-Run03-9.1.2014/IT8-tungsten-halogen-Run03-9.1.2014-15ms.raw16
08:51
troy_s
That's the one.
08:51
troy_s
15ms.
08:55
troy_s
Bertl: Perspective is top left, top right bottom left bottom right?
08:59
Bertl
yes
08:59
Bertl
-distort Perspective '254,144 48,48 1876,188 2000,48 233,1242 2000,1488 1854,1275 48,1488' should work
09:00
Bertl
nope, sorry
09:00
troy_s
Why 48,48?
09:00
troy_s
Why not just scale it to original size?
09:01
Bertl
-distort Perspective '254,144 48,48 1876,188 2000,48 1854,1275 2000,1488 233,1242 48,1488'
09:01
Bertl
because that gives the correct source for the perfect chart :)
09:01
troy_s
at 2000x1488?
09:02
Bertl
yes, I wanted a border reference of 48 pixels
09:02
troy_s
read_line is erroring for me on scanin
09:03
troy_s
ARRGGGHHHHHHHFFHFHFHFHFFUFUUUU
09:04
troy_s
scanin: Error - CGATS file '/home/aphorism/Develop/raws/R100604.txt' read error : Read line got symbol
09:04
troy_s
'��������������������������������¿����������ü��������������������������������������������������������������������������������������������������������
09:04
troy_s
��������������������������������������������������������������������������Ŀ�������������������������������������������������������������������������
09:04
troy_s
���������������������������������������������������������������������������������������������������������������������������������������������������ï¿
09:04
troy_s
½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï
09:04
troy_s
¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
09:04
troy_s
���������������������������������������������������������������������������������������������������������������������������������������������������ï¿
09:04
troy_s
½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½' that's too long
09:04
troy_s
That's a great error.
09:04
Bertl
convert \( -size 4096x3072 -depth 16 gray:IT8-tungsten-halogen-Run03-9.1.2014/IT8-tungsten-halogen-Run03-9.1.2014-15ms.raw16 \) \( -clone 0 -crop -1-1 \) \( -clone 0 -crop -1+0 \) \( -clone 0 -crop +0-1 \) -sample 2048x1536 \( -clone 0,1 -average \) -delete 0,1 +swap -combine +repage -distort Perspective '254,144 48,48 1876,188 2000,48 1854,1275 2000,1488 233,1242 48,1488' IT8-tungsten-halogen-Run03-9.1.2014/IT8-tungsten-halogen-Run03-9.1.2014-15ms_c
09:05
Bertl
here, that gives the tiff you want without any problems
09:06
troy_s
apparently a bugger on larger images
09:06
troy_s
Trying smaller.
09:06
troy_s
Still bombing.
09:07
Bertl
and scanin runs fine, results are here:
09:07
troy_s
Good god.
09:07
Bertl
http://vserver.13thfloor.at/Stuff/AXIOM/RAW/IT8-tungsten-halogen-Run03-9.1.2014-15ms_cut.ti3
09:07
troy_s
All of my Argyll's die
09:07
troy_s
Now try this on that result:
09:08
Bertl
http://pastebin.com/wnnYJs94
09:08
troy_s
colprof -v -D"Berts Camera Matrix" -qh -am -u tungsten-halogen-RunBLAHBLAHBLAH (without the ti3)
09:09
Bertl
Matrix = 0.107625 1.044939 -0.850347 -0.150982 1.577119 -1.062272 -0.256328 0.420066 1.000908
09:09
Bertl
Profile check complete, peak err = 58.453423, avg err = 17.580975
09:09
troy_s
Error
09:09
troy_s
Fuuuuuu
09:09
troy_s
I'd need to check on how underexposed it is.
09:09
troy_s
That's the quickie version.
09:10
troy_s
If you batch that on all of the images
09:10
troy_s
I'd be interested in the lowest mean
09:12
troy_s
Bertl: This is the command to generate meaningful delta e's - which again, 1.0 or less is the discernable to average standard observer
09:13
troy_s
Bertl: profcheck -v 2 -k input.ti3 outputicc.icc
09:13
troy_s
and you can plot the curves using
09:13
troy_s
xicclu -g -f b output.icc
09:14
troy_s
-U in the colprof will apply a linear multiplier to get to 100 L
09:14
troy_s
(Which is basically needed to 'stretch' the values to the full range)
09:14
troy_s
a near perfect profile will show you three curves
09:15
troy_s
from 100 to 100
09:19
troy_s
Odd how fanned out the blasted curves are (Got mine to work)
09:20
troy_s
Likely due to the Tungsten source methinks.
09:21
troy_s
Average DE 10.5
09:21
troy_s
LOL
09:21
troy_s
That's ... uh... not good.
09:25
troy_s
Bertl: I'm going to bed it. You can also plop the values into Calc and read them (start at the row with the values and use spaces to separate)
09:25
troy_s
Bertl: That will give you some idea as to the readings.
09:25
Bertl
http://pastebin.com/FjHgjt8A
09:26
Bertl
so you already picked the best one :)
09:26
troy_s
Fluke
09:26
troy_s
Egads.
09:26
troy_s
I think we desperately need a Daylight shot to really figure out what is going on.
09:27
troy_s
(Properly exposed)
09:27
troy_s
I was JUST looking at the RGB values
09:27
guest
if that chart made a curve in blue or what i have noticed you talked about, then with linear matrix you are getting big errors, or does the error relate to a 3d lut ?
09:27
troy_s
and coincidentally the Greens are coming in at 99.977 which was a flukey guess
09:27
troy_s
Did you plot them using xicclu?
09:27
troy_s
You can see three fanned out curves
09:27
troy_s
I suspect our lighting sucks ass.
09:28
Bertl
guest: yes that would definitely explain the error, but nobody could explain those error values to me (yet)
09:28
troy_s
Bertl: Again, use profcheck
09:28
guest
what about running calibration on my chart, to see how much does it differ (e.g. problem of a source/exposure)
09:28
troy_s
Bertl: DE is a known idea of value - where < 1.0 is not discernable. > 1.0 is.
09:29
troy_s
guest: I have a hunch it's crap lighting or a decayed chart or... who knows.
09:29
guest
troy_s: but the number is linear (e.g. %) or logarithmic (like bits / dB)
09:29
guest
that is the most interesting question about DE
09:29
philippej
joined the channel
09:29
Bertl
profcheck gives me a usage message
09:30
troy_s
guest: Google DE2000 or DE76
09:30
troy_s
Bertl: Using the commands I listed?
09:30
Bertl
ah, it needs the icc, where do I get the icc from?
09:30
troy_s
profcheck -v2 -k foo.ti3 foo.icc
09:30
troy_s
Bertl: Look in the directory
09:31
troy_s
Bertl: It will have created the ICC (matrix format) in there after colprof.
09:31
troy_s
:)
09:31
troy_s
scanin reads the chart
09:31
troy_s
colprof creates the color profile
09:31
Bertl
http://pastebin.com/5rBxi7W6
09:31
troy_s
xicclu is an xwindows icc look up
09:31
troy_s
and profcheck we.... profile checkers
09:32
troy_s
try -v2
09:32
troy_s
no space
09:32
Bertl
nice
09:32
troy_s
?
09:32
Bertl
yep, that does it
09:33
troy_s
Your average Delta-E 2000 is 10.529ish
09:33
troy_s
Si?
09:33
Bertl
give really nice curves
09:33
troy_s
I _think_ that is largely due to the Tungsten
09:33
troy_s
And perhaps the metamerism is causing a nightmare for the chart.
09:34
Bertl
red starts on 200 wossname, and goes down to zero on whatnot
09:34
troy_s
I don't recall it being that bad with pure tungsten light.
09:34
troy_s
But that tungsten is pretty damn warm
09:34
troy_s
Yes
09:34
troy_s
And a well behaved profile should have smooth curves like that
09:34
Bertl
blue around 75 wossname and also down to 0 whatnot
09:34
troy_s
but closer together
09:34
troy_s
not stacked
09:34
troy_s
and about 100 to 100
09:34
troy_s
guest: Delta-E 2000 is more perceptual based
09:35
troy_s
guest: Meaning that the errors are biased toward perception and particular hue ranges
09:35
Bertl
no idea, what does that plot tell me?
09:35
troy_s
That the curves are decent
09:35
troy_s
(as in the curve responses aren't abnormal aside from the values they are showing)
09:35
Bertl
okay, so that is the profile curve, yes?
09:35
troy_s
The color of the light illuminating the chart can cause the colors to reflect their saturation values wrongish.
09:35
troy_s
That's the profile curves.
09:36
philippej
would it be related to the fact that the sensor seems to provide better daylight images without correction? That tungsteen creates too much distortion vs sensor "native" white balance (I know it's not the proper term), and that when daylight is done, you can compute tungsteen ?
09:37
troy_s
philippej: The sensor _always_ needs a profile
09:37
Bertl
tungsten should really be a 'smooth' spectral light, i.e. no fancy peaks anywhere
09:37
guest
where is the picture (jpeg is enough) of the chart you try to use ?
09:37
philippej
or said otherwise, that the chart should be done with daylight
09:37
troy_s
philippej: What you are seeing is in fact random when you view the data dumped directly to a near-sRGB display.
09:37
troy_s
philippej: There is no such thing as meaningful RGBs - RGB by definition is a relative color model.
09:37
guest
philippej: unless the values are clipped, it is fine even if it is warm
09:37
troy_s
philippej: Meaning that you _must_ account for the primaries. Always.
09:38
Bertl
guest: it is a normal IT8 chart
09:38
troy_s
guest: Normally. But again, malformed light can twist the values into what amounts to what humans see as metamerism - some colors lose their color due to white point / color of the source.
09:38
philippej
still it looks more correct (or needing less corection) when it's daylight. What you call "damn warmish" :-)
09:38
troy_s
philippej: That's just the wrong way to think of color.
09:38
troy_s
philippej: It's why I prefer to show people in XYZ
09:38
troy_s
philippej: Because the models mean nothing. RGB is just Foo, Bar, Blick.
09:39
guest
Bertl: i meant the shot you pass to the color detector.. export it please to quickly viewable form
09:39
troy_s
philippej: Because it HAPPENS to sort of kind of look sort of kind of like a reddish tint
09:39
troy_s
philippej: Means nothing.
09:39
troy_s
philippej: That's just random chance garbage.
09:39
troy_s
guest: Hold.
09:39
troy_s
bear in mind this is a literal dump of the image to sRGB so what you are seeing is random
09:40
guest
i know, i want to check for other things for which i have made my calibs to take a week (in terms of exposing the chart correctly , and I still have no perfection in that )
09:40
guest
-i
09:40
troy_s
guest: It's not that hard.
09:41
Bertl
http://vserver.13thfloor.at/Stuff/AXIOM/RAW/IT8-tungsten-halogen-Run03-9.1.2014-15ms.jpg
09:41
troy_s
guest: and the most ideal
09:41
troy_s
guest: Is to tweak the values using a spradsheet
09:41
Bertl
I also uploaded the profile results
09:41
troy_s
to 'idealize' the scales
09:41
troy_s
I can explain that if you'd like, but likely tomorrow
09:41
troy_s
(You effectively will end up creating an achromatic white - perfectly scaled RGB)
09:41
troy_s
http://www.pasteall.org/pic/show.php?id=66837
09:43
guest
bad exposure, col 15 is mostly 0xFF
09:43
guest
in reds
09:46
troy_s
Shiiit
09:46
troy_s
Bertl: -i
09:46
troy_s
dammit
09:46
troy_s
colprof can take the illuminant
09:46
Bertl
guest: gives different values when sampled manually
09:47
troy_s
guest: scanin samples across mean
09:47
Bertl
troy_s: okay, so what command now?
09:48
troy_s
IIRC
09:48
troy_s
-i A
09:48
guest
those patches are clipped, so you cant do a calibration with that shot
09:48
troy_s
(Which SHOULD be illuminant A)
09:48
troy_s
(Aka 2848k)
09:48
troy_s
guest: They are NOT clipped
09:48
troy_s
guest: That's an 8 bit dump
09:48
troy_s
and I have no idea where you are seeing clips
09:49
troy_s
That's also a linear dump.
09:49
guest
split the image to R/G/B planes, and check in the red, col. 15
09:49
troy_s
guest: That's an 8 bit dump.
09:49
guest
except few bottom patches, they all are full
09:49
troy_s
HUH?
09:56
Bertl
http://vserver.13thfloor.at/Stuff/AXIOM/RAW/IT8-tungsten-halogen-Run03-9.1.2014-15ms_perfect.png
09:57
troy_s
Some patches suck ass
09:57
troy_s
pastelink.me/dl/a8778e
09:57
troy_s
that's the ODS of the data
09:57
Bertl
the 'tiff' version is still uploading (slightly larger :)
09:57
troy_s
you can see the swatches and the readings
09:57
troy_s
Bertl: Is there a 12 ms?
09:57
troy_s
guest: pastelink.me/dl/a8778e
09:57
troy_s
guest: CHANGE YOUR HANDLE TO YOUR DAMN NAME
09:57
troy_s
guest: YOU AREN'T A GUEST ANY MORE
09:57
troy_s
Lulz.
09:57
guest
:)
09:58
Bertl
yes, there is a 12ms version :)
09:58
troy_s
Bertl: Check out that ODS. Guest _does_ have a point with the heavy exposure on the red channel, but that said, the others worry me more (the higher DE versions)
09:59
guest
so lets see if it helps, reconnect
09:59
guest
left the channel
09:59
troy_s
Ideally we'd love to see a 5400k
09:59
daniel
joined the channel
09:59
daniel
thats luck
10:00
daniel
changed nick to: Guest32211
10:00
Guest32211
ahh
10:00
Guest32211
changed nick to: danieeel
10:00
Bertl
weeelcome danieeel! :)
10:00
danieeel
hello :)
10:01
troy_s
Greets
10:01
Bertl
I have to leave for a little, grab my snail-mail, bbs
10:01
troy_s
danieeel: http://trumpetpower.com/photos/Exposure#Normalizing_exposure
10:01
troy_s
That's also a useful linky on normalizing.
10:04
danieeel
troy_s: can metamerism happen with tungsten?
10:04
troy_s
In humans. :)
10:05
troy_s
But it adversely impacts reproduction of all colours to some extent as I understand it.
10:05
troy_s
(Shooting a red swatch in a blue light for example)
10:05
danieeel
but tungsten is not blue light.. is shall have all wavelenghts (unless those shots lack true blue)
10:06
danieeel
i did my calibration on cloudy sunlight
10:07
danieeel
what are the column names in the ODS file ?
10:09
troy_s
danieeel: Too blue
10:09
troy_s
danieeel: If you do it in cloud, your sky taints the kelvin.
10:09
troy_s
danieeel: ICCs are all based around D50
10:10
troy_s
danieeel: No matter what light you pick, you will bias the color swatches
10:10
danieeel
my point was rather to get correct images under skylight
10:11
troy_s
danieeel: Shoot in direct sun then, in a covered area
10:11
troy_s
danieeel: You want to eliminate the blue sky
10:11
troy_s
danieeel: And use only the 5400 sun.
10:12
jucar
left the channel
10:12
troy_s
danieeel: XYZ RGB to answer your next question
10:13
danieeel
with that i can not yet find a location which is not colored - it would need to be some skate field or some grayins surroundins to do it correctly
10:13
danieeel
grayish
10:18
se6astian
joined the channel
10:35
danieeel
se6astian: any chance to stop by in Prague for a quick image comparison ?
10:36
se6astian
good morning
10:36
se6astian
ah nice, I see you dont consider yourself a guest only anymore
10:36
se6astian
we can ask the pilot of our flight to berlin if he would mind a little detour ;P
10:40
danieeel
pull your camera and shout the correct words, they might instantly land :)
10:42
troy_s
Night all.
10:42
troy_s
danieeel: I'll step you through normalizing tomorrow
10:42
troy_s
danieeel: You basically take the XYZ values, figure out the multipliers and scale them all
10:43
troy_s
danieeel: Then add two sets of data for Black and White (reverse engineer 100, 0, 0 Lab to XYZ)
10:43
troy_s
Ok... nacht.
10:55
philippej
left the channel
10:59
jucar
joined the channel
11:04
jucar
left the channel
11:05
jucar
joined the channel
11:09
se6astian
left the channel
11:10
jucar
left the channel
11:10
jucar
joined the channel
11:28
Bertl
back now ...
11:40
se6astian
joined the channel
12:02
Bertl
wb se6astian!
12:20
se6astian
good morning :)
16:23
Bertl
off for a nap ... bbl
16:39
philippej
joined the channel
16:51
se6astian
hey philippej
16:58
philippej
left the channel
17:14
gwelkind
joined the channel
17:46
philippej
joined the channel
17:53
philippej
left the channel
18:16
philippej
joined the channel
18:57
se6astian
time to leave
18:57
se6astian
see you
18:57
se6astian
left the channel
19:12
troy_s
Morning all.
19:13
troy_s
Bertl: Back for monkey work for a bit.
19:13
troy_s
Greets also to the regular peeps philippej danieeel gwelkind etc.
19:21
troy_s
danieeel: If you are around, I can try to explain how to normalize your whites (Essentially Wrong Von Kries AFAICT)
19:21
troy_s
danieeel: Which leads to exceptional profiles (even with WVK aka XYZ scaling)
19:21
danieeel
i do not need to (yet) - found another issue
19:21
troy_s
danieeel: I'd suggest at least trying it. You will A) learn much and B) end up with the 'best' profile you can manage from the given limitations.
19:23
danieeel
anybody else interested? or we let them to read back from logs?
19:23
troy_s
Bertl: As an aside, a ColorChecker 24 swatch shot (Aka Macbeth) would be excellent to baseline our issues against (as opposed to single point of failure on an IT8)
19:24
troy_s
danieeel: I suspect very few would be.
19:24
troy_s
danieeel: It's sort of ++ thinking.
19:24
troy_s
(and logs are decent.)
19:24
troy_s
You asked what was going on with that TI3 chart
19:24
danieeel
i thought of simpler charts too.. but I ended up with HCT
19:24
troy_s
It's basically what you were doing sample picking, only a little more reliable and a little more uniform
19:24
troy_s
HCT is ideal
19:24
troy_s
More swatches = Better idea
19:25
troy_s
But more swatches also will reveal more inconsistencies
19:25
danieeel
so hit me, i give up on rgb-ycbcr yet - lets continue with that later.
19:25
troy_s
(Making LUTs more considerate of inconsistencies, but also more prone to potentail errors based on photograph of chart for example)
19:25
troy_s
LOL
19:25
troy_s
RGB YCbCr isn't nearly as complex as this.
19:25
danieeel
it is not working realtime with existing software :)
19:26
troy_s
(Two relative color models. Dead simple if you focus on that. One with by-the-book scaling if you are going to call it 709)
19:26
troy_s
Erf.
19:26
troy_s
Good times.
19:26
danieeel
i wanted to stream live.. its failing on this conversion
19:26
troy_s
So the TI3
19:26
danieeel
ok so..
19:26
troy_s
See that spreadsheet I posted?
19:26
danieeel
yes
19:26
danieeel
column names pleas
19:26
troy_s
Did I include the column names?
19:26
danieeel
no
19:26
troy_s
Do you have Calc handy or another spreadsheet?
19:27
danieeel
oocalc
19:27
danieeel
line 1 is A01 patch
19:27
danieeel
what is that patch/swatch difference?
19:29
troy_s
danieeel: Have you done any scanin or colprof?
19:29
troy_s
danieeel: Because when you do a scanin, you get a ti3 file
19:29
troy_s
I can post one if you don't have one.
19:29
danieeel
no
19:30
troy_s
danieeel: Save this and label it as TI3.
19:30
danieeel
ok
19:30
troy_s
http://pastebin.com/JXmZWnJ8
19:31
troy_s
danieeel: And to be clear, you are aware of the differences between RGB and XYZ (relative vs absolute and unscaled)
19:31
danieeel
sort of
19:32
troy_s
(XYZ is technically a "scene referred" absolute color model. See J. Selan's PDF on cinematic color if you still don't quite understand scene referred versus display referred (http://cinematiccolor.com))
19:32
troy_s
RGB is always relative.
19:32
troy_s
Taking values is meaningless.
19:32
danieeel
we have discussed that last time - and I have managed to make a xyz to sRGB converter to visualize my chart
19:32
troy_s
If I give you any display referred RGB values, you cannot replicate the color without asking what the primaries are (which is part of defining a color space)
19:32
troy_s
Clear?
19:33
troy_s
So when someone says "I have RGB values 1.0, 0.324, and 0.4333" it means _nothing_
19:33
danieeel
relative as - you need the specific color of color filters (primaries) on the display to make up the absolute color
19:33
troy_s
(Similar to saying some other stupid statement like "This is in linear color space!" Linear is an _attribute_ of a color space, not a color space. RGB is an attribute of a color space (the _model_) not a color space.)
19:33
danieeel
i think we are clear
19:34
troy_s
display referred = places special meaning on a 'maximum' value - generally 1.0 (or whatever the bit depth permits). Sometimes called output referred.
19:35
troy_s
scene referred = places no special value on the data range. Represents the 'reality' of the physics of the environment. Range is 0 to theoretical infinity.
19:35
danieeel
that is ok
19:35
troy_s
scene referred will be _linear_ data, meaning that if you want to go up a stop, double the values. Down a stop, halve them.
19:36
danieeel
display referred is before or after the transfer curve?
19:36
troy_s
display referred values _may_ be linearized. If you linearize display referred data, you are _always_ trapped in the 'max' range, and will arrive at linearized values by inverting the tone response / transfer curve.
19:36
troy_s
display referred is an attribute of the data
19:36
troy_s
0..1 is always display referred
19:37
troy_s
device referred. display referred. output referred.
19:37
troy_s
All the same essentially
19:37
troy_s
they have a minimum and a maximum.
19:37
troy_s
So... quick tangent
19:37
danieeel
ok
19:38
troy_s
When we ship values to our display, are they display referred?
19:38
danieeel
yes
19:38
troy_s
Yes. And if we shipped display linear values to a display, will they display correctly?
19:39
danieeel
if you can set on it an linear input curve
19:39
troy_s
It won't.
19:40
troy_s
Because you are shipping linear values and your display is LDR.
19:40
danieeel
LDR?
19:40
troy_s
Low Dynamic Range.
19:40
troy_s
So your value .5 is not _half_ of the value output of 1.0 if you ship it directly.
19:40
troy_s
So your eye won't see it as the linearized values were in 'the real world'.
19:41
troy_s
Hence the need for a transfer curve.
19:41
troy_s
To 'cheat' the values
19:41
troy_s
danieeel: Sense?
19:42
troy_s
IF we had some UberTV, and the level of luminance were Uber(tm), we could in theory ship linearized values directly to the display
19:42
troy_s
and they would display in the same ratios as real-world physics.
19:43
danieeel
we should make a real example - tell me if that is correct
19:43
troy_s
Here's a simple example
19:43
troy_s
You go out and manually make a real world image in greyscale
19:43
danieeel
we ship 0-255 to our displays, as this is how the "linear" scale is percieved
19:43
troy_s
so you take a spot meter and meter every single 'pixel'
19:43
troy_s
we record the results
19:43
troy_s
and we are going to use linearized values
19:44
troy_s
so say the side of the barn is f2.0
19:44
troy_s
and the grass is f2.4
19:44
troy_s
(one stop hotter)
19:44
troy_s
(the grass is)
19:44
troy_s
If we used value 0.3 for our barn side
19:44
troy_s
(arbitrary)
19:44
troy_s
grass is .6
19:44
troy_s
If we did this for every pixel in the scene, we'd have a greyscale image in theory.
19:44
troy_s
danieeel: With me so far?
19:45
danieeel
yes of course
19:45
troy_s
danieeel: If we record those to a file, and we decide 1.0 is our upper limit
19:45
danieeel
i have got my linear data, and used a lut to view them correctly, in terms of intensity
19:45
troy_s
We have a display linear greyscale image.
19:45
troy_s
If we dump that file to the display
19:46
troy_s
it will look 'dark' because the values will not
19:46
troy_s
(when they are displayed) maintain the physical real-world ratios
19:46
troy_s
and our eyes won't see it as the ratios were in reality.
19:46
troy_s
danieeel: Clear?
19:46
troy_s
so key points:
19:46
danieeel
of course, have experienced that
19:46
troy_s
1) display linear vs scene linear
19:46
troy_s
2) display referred versus scene referred
19:47
troy_s
3) absolute color models (xyY, XYZ, etc.) versus relative color models (RGB, YCbCr, etc.)
19:47
troy_s
Clear on all those points?
19:47
danieeel
so scene linear: render of a lamp, with true values of big intensities
19:48
danieeel
display linear: trim/crop/clip that to some usable max value
19:48
danieeel
good?
19:48
troy_s
danieeel: A scene referred image of a typical landscape with sun in the frame would have ranges from extreme low levels in shadows, to extremely MASSIVE numbers of the sun itself.)
19:48
troy_s
bingo.
19:48
troy_s
You got it!
19:48
troy_s
And the reasons for noting these differences are large.
19:48
troy_s
As you will hopefully see in hindsight ages later.
19:48
troy_s
So
19:48
danieeel
now.. the referred - it points to two sides of the transfer curve?
19:49
troy_s
XYZ
19:49
danieeel
as a point of conversion between scene/linear to display/curved
19:49
troy_s
It is A) an absolute color model
19:49
troy_s
B) scene referred (and hence scene linear)
19:49
troy_s
(Correct, but also in more subtle ways I'll try to touch on if you remind me after this quickie TI3 investigation)
19:50
troy_s
Clear on XYZ?
19:50
troy_s
(or at least those two facets of it.)
19:50
danieeel
in scene linear, the Z is any number
19:50
troy_s
They are all any numbers
19:50
troy_s
:)
19:50
troy_s
As you increase intensity of a color, all three vectors grow.
19:50
troy_s
Clear?
19:50
danieeel
xy usually being 0..1 no? :)
19:50
troy_s
Whoa! DIFFERENT MODEL FRIEND!
19:51
troy_s
Clear on XYZ as per A and B above?
19:51
danieeel
"increase intensity of a color" is very unspecific what you mean - saturation / brightness?
19:51
troy_s
danieeel: No, increase intensity.
19:51
troy_s
The side of the barn
19:51
troy_s
if we increase the intensity of the side of the barn
19:51
troy_s
XYZ all grow
19:52
troy_s
Up to infinity
19:52
troy_s
Clear?
19:52
troy_s
Think of it as three vectors that grow upwards and outwards like a pyramid (infinitely large base) on its head.
19:52
danieeel
okay, assume that. (not used to it yet) so continue
19:53
troy_s
A straight line down to the tip of the pyramid in any direction is a 'color'. Increasing the intensity of the color (the scene referred ratio) will move the color up and outward (unless it is perfectly in the center of the pyramid)
19:53
troy_s
XYZ is a unique model
19:53
troy_s
Which was deduced in 1931 by the CIE
19:53
troy_s
Using three lights.
19:53
troy_s
A red light
19:53
troy_s
a green light
19:53
troy_s
and a blue light
19:53
troy_s
with SPECIFIC colors
19:54
troy_s
(RGB model is relative. The primaries are fixed when using lights.)
19:54
troy_s
(That is, for RED for example, the color does not CHANGE as it increases in intensity.
19:54
troy_s
likewise, red 0.0001 on our display is the SAME 'color' as it is at 1.0
19:54
troy_s
Clear?
19:54
danieeel
yes
19:54
troy_s
The CIE used three lights
19:55
troy_s
and showed swatches of colors in a 2 degree field
19:55
troy_s
observers tried to match the colors in the swatches
19:55
troy_s
The CIE also chose primaries such that equal amounts of light pulled directly away from the other color.
19:55
troy_s
This forms a TRIANGLE at the base
19:56
troy_s
extending up in a warped fashion if you tried to view it in 3D.
19:56
troy_s
SOME swatches however, could not be matched using the three lights.
19:56
troy_s
They were OUT OF THE GAMUT.
19:56
troy_s
And so the researchers added small amounts of the primaries to the swatch values (thereby decreasing their saturation INTO gamut)
19:56
troy_s
until the observer could find a reasonable match
19:57
troy_s
By figuring out how much the observer added AND paying attention to how much THEY added to the swatches, they could fix the 'actual' color position relative to the smaller gamut three RGB primaries.
19:57
troy_s
Is this clear?
19:57
troy_s
(the transform of color in the real world is a simple thing - it is just a transform because all the values are linear as per energy laws)
19:58
troy_s
Are you clear on this danieeel?
19:58
troy_s
Or something not quite clear?
19:58
danieeel
trying to visualize it
19:58
troy_s
See a swatch in front of you
19:58
troy_s
You have THREE lights, RED, GREEN and BLUE of FIXED chromaticity (color)
19:58
troy_s
you can dial up the lights
19:58
troy_s
or down the lights
19:58
troy_s
When I show you some colors, you can't reach them!
19:59
troy_s
(the greenest of green things simply isn't the same green as your light)
19:59
troy_s
So I can desaturate the swatch green
19:59
troy_s
by adding RED and BLUE of my lights
19:59
troy_s
until you can match it.
19:59
troy_s
Clear?
19:59
danieeel
so if i have a very green swatch, on a poor green light, it will be percieved poor
19:59
troy_s
By POOR we need to be explicit
19:59
troy_s
the color is not saturated
20:00
troy_s
We can make it deadly deadly bright
20:00
troy_s
and it will be the same green
20:00
troy_s
The more saturated green is simply unreachable.
20:00
troy_s
Clear?
20:00
troy_s
So your three lights can't replicate the green
20:00
troy_s
So we need to figure out a way to replicate it and figure out what the green was
20:00
danieeel
because they are poor :) the green is not enough greenish
20:00
troy_s
So I 'reel it in' by adding RED and BLUE
20:00
danieeel
so clear
20:01
troy_s
Ok
20:01
troy_s
So we gather up our data
20:01
troy_s
and we have our ORIGINAL three CIE RGB values
20:01
troy_s
which form a triangle and a strange looking mesh as we work upward to 'white'
20:01
troy_s
Clear on this?
20:01
troy_s
PLUS we have all of the 'outside' stuff
20:01
troy_s
Which extend beyond the legs of the triangle
20:02
danieeel
yes
20:02
troy_s
The problem is, our RGB values go from 0 to .... HEY THAT'S REALLY BRIGHT
20:02
troy_s
So we need to scale all the values
20:02
troy_s
When we scale them in
20:02
troy_s
We can create a finite 'map' of the colors
20:02
troy_s
Which would be again, our CIE RGB triangle
20:03
troy_s
AND the stuff that 'pours over' beyond it.
20:03
troy_s
And that forms... something... that ... looks like...
20:03
troy_s
https://www.google.ca/search?q=cie+rgb&client=ubuntu-browser&tbm=isch&imgil=EkYw_LbmADWVaM%253A%253Bhttps%253A%252F%252Fencrypted-tbn0.gstatic.com%252Fimages%253Fq%253Dtbn%253AANd9GcTnqnu6Wco6Bmw67wRIlQ_iiRqa-cMrReaTA2H-50PNmqzgWoF_IQ%253B325%253B345%253BSKRQ9HbFToIhFM%253Bhttp%25253A%25252F%25252Fen.wikipedia.
20:03
troy_s
org%25252Fwiki%25252FCIE_1931_color_space&source=iu&usg=__PVA0sud8qse4CMkY1BYQPrCrkdQ%3D&sa=X&ei=Ccj_UoWXHZDjoAToh4CgAw&ved=0CDAQ9QEwAQ&biw=1145&bih=786#facrc=_&imgdii=_&imgrc=EkYw_LbmADWVaM%253A%3BSKRQ9HbFToIhFM%3Bhttp%253A%252F%252Fupload.wikimedia.org%252Fwikipedia%252Fcommons%252Fthumb%252F6%252F60%252FCIE1931xy_CIERGB.svg%252F325px-CIE1931xy_CIERGB.svg.png%3Bhttp%253A%252F%252Fen.wikipedia.
20:03
troy_s
org%252Fwiki%252FCIE_1931_color_space%3B325%3B345
20:03
troy_s
Grr.
20:03
danieeel
display the final image and post its link
20:03
troy_s
http://upload.wikimedia.org/wikipedia/commons/thumb/6/60/CIE1931xy_CIERGB.svg/325px-CIE1931xy_CIERGB.svg.png
20:04
troy_s
The BIGGER map
20:04
troy_s
is 'scaled' RGB values (actually another model we are almost at.)
20:04
troy_s
the TRIANGLE are the CIE lights (the primaries)
20:04
troy_s
and the stuff that escapes
20:04
troy_s
are the out of CIE RGB gamut values that were transformed back to their original positions.
20:04
troy_s
So... see the bluey green area? That's escape
20:04
danieeel
okay so in practice:
20:05
troy_s
There is much more slight escape in magenta / orangey
20:05
troy_s
(look closely)
20:05
danieeel
if we were to take 3 (r/g/b) lasers, the triangle would extend to the side of the colored area
20:05
troy_s
The EDGES of that triangle
20:05
danieeel
but once we use 3 not so saturated lights or filters, the triangle is all inside
20:05
troy_s
are the mix points
20:06
troy_s
So equal intensity GREEN and RED are the MIDDLE of that line
20:06
troy_s
With NO blue
20:06
troy_s
that is the full line
20:06
troy_s
same goes for the other legs
20:06
troy_s
Sense?
20:06
danieeel
that is simple, my point was somewhere else
20:06
troy_s
Yes... but there's a tricky thing to that chart
20:06
troy_s
It is a SCALED version of the primaries
20:06
troy_s
the chart is like looking DOWN on that pyramid
20:07
troy_s
Which is a little bit of a mind warp, but stay with me.
20:07
danieeel
like - more up you are, smaller the triange?
20:07
troy_s
No
20:07
troy_s
The chart is like grabbing it in a scaling image app
20:07
troy_s
As we scale it downward, we approach black
20:07
troy_s
as we scale it upward, we approach infinite intensity
20:07
troy_s
The vectors grow TOWARDS your eye and OUTWARD
20:08
troy_s
Just like scaling the image
20:08
troy_s
No matter how much you increase the intensity of the three primaries
20:08
troy_s
the out of gamut is always outside it
20:08
troy_s
The 'intentisy' of the light grows upward and outward
20:08
troy_s
danieeel: Clear?
20:08
troy_s
(I'll link to a video after this to visualize it)
20:08
danieeel
okay, fine with that
20:08
troy_s
So the researchers had a dilemma
20:09
troy_s
They could use RGB and have negative R, G, and B values to represent human standard observer vision
20:09
troy_s
(Which is a nightmare as you can imagine)
20:09
troy_s
or they could 'normalize' them
20:09
troy_s
into a lovely consistent triangle
20:09
troy_s
So they did this
20:09
troy_s
The 'BLUE' however
20:09
troy_s
would be at 0 0 in that chart
20:09
danieeel
negative rgb meant that swatch after-painting when it could not be matched, right?
20:09
troy_s
the 'RED' would be at way the hell off the chart
20:10
troy_s
the GREEN is way up top off the chart
20:10
troy_s
Forming a unique triangle
20:10
troy_s
The issue with this system is that it creates "imaginary" primaries
20:10
troy_s
they don't exist in the real world
20:10
troy_s
we cannot craft any light that is of the color those 'fake' primaries are.
20:10
troy_s
danieeel: Clear?
20:10
troy_s
Look at that chart again to see the triangle I speak of.
20:10
danieeel
yes
20:11
troy_s
So... it isn't RGB... we need a new name for it...
20:11
troy_s
Let's call it XYZ
20:11
troy_s
Where X is our fake RED, Y is our fake GREEN, and Z is our fake BLUE
20:11
danieeel
ah
20:11
troy_s
And while we are making this model, we could bend the values a wee bit and isolate intensity across the board as purely Y
20:11
troy_s
(But remember, it isn't that simple, all colors grow UP and OUTWARD)
20:12
danieeel
so as the Z is the blue thing, the top of the pyramid gets finally white
20:12
troy_s
Nope
20:12
troy_s
A) no such thing as white
20:12
troy_s
B) the XYZ model is infinitely large
20:12
danieeel
that E point, is it for equivalence?
20:12
troy_s
C) Each X, Y, and Z are TWO coordinates
20:12
troy_s
(Well three technically)
20:12
troy_s
We are inside a 3D space, NOT a 2D.
20:13
troy_s
With me so far (I appreciate there are outstanding questions... hopefully it will become clearer)
20:13
troy_s
So we have a NEW system
20:13
danieeel
so 3D XYZ is not that image, that is clear
20:13
danieeel
how does it get mapped to 2D XY?
20:13
troy_s
XYZ that we can express ALL possible standard observer colors (last point is critical - change the observer and this model sucks)
20:13
troy_s
Now to TALk about color
20:13
troy_s
we can SCALE the model
20:13
danieeel
wait
20:13
troy_s
so that we can uniquely LOOK at it on paper like our chart here
20:14
danieeel
XYZ can represent any color of any intensity
20:14
troy_s
see the lowercase x and y?
20:14
troy_s
Yes.
20:14
troy_s
All color
20:14
troy_s
Absolutely.
20:14
troy_s
(as in 'absolute model' not 'yes absolutely)
20:14
danieeel
by color i usually understand chromacity
20:14
troy_s
If we SCALE the X and Y channels
20:14
troy_s
we can map all possible intensities to a finite chart
20:14
troy_s
(again, think scaling the image in a 2D processor)
20:15
troy_s
As we scale the image UP, that's our intensity increasing
20:15
troy_s
but the relative distances will always be the same
20:15
troy_s
so we can scale the X and Y axis
20:15
troy_s
!
20:15
troy_s
which leads us to the FIRST subset model
20:15
troy_s
xyY
20:15
troy_s
Which is SCALED X, SCALED Y, and UNSCALED Y
20:15
troy_s
(hence lowercase and uppercase)
20:15
troy_s
THAT is your answer.
20:16
troy_s
So the chart we are looking at is scaled x, scaled y, and unscaled Y (Growing upward to our face, which completely FLATTENS the 2D image we are looking at - there is no more 'pyramid' because we have scaled the XYZ model in a unique way)
20:16
troy_s
danieeel: PHEW is that clear?
20:17
danieeel
that is possible because XY keeps its shape limited to that outside curve (annotated by wavelengts)
20:17
troy_s
well kind of
20:17
troy_s
remember - the three vectors travel from a single point if we were looking down
20:18
danieeel
xy is decoupled from XY by the scale of Y ...
20:18
troy_s
UP towards our eye and OUTWARD
20:18
troy_s
Yes.
20:18
danieeel
so what is lost from XYZ -> xzZ ?
20:18
troy_s
Simple scale
20:18
troy_s
xyY
20:18
troy_s
Y is luminance.
20:18
troy_s
PUre
20:18
troy_s
you cannot do it any other way
20:18
danieeel
ah, i forgot
20:18
danieeel
no longer Z
20:18
troy_s
If you are looking at the pyramid, the overall intensity of the light grows UPWARD (toward the wide base)
20:18
troy_s
but not all colors are at the same luminance
20:19
troy_s
(Greens and yellows live higher up for example to reds and blues)
20:19
troy_s
but the chart lets you visualize the 'color' separate from the intensity.
20:19
troy_s
and by having xyY (where Y is unbounded in theory)
20:19
troy_s
we can easily get our Z and z back.
20:19
troy_s
(basic fill-in-the-blank algebra
20:19
troy_s
danieeel: This clear or muddy as hell?
20:20
danieeel
it is perfectly clear now
20:20
troy_s
Great
20:20
troy_s
So XYZ is a relative or absolute color MODEL?
20:20
danieeel
absolute
20:20
troy_s
xyY?
20:20
danieeel
should be absolute too
20:21
troy_s
Yep
20:21
danieeel
it is derived from XYZ wihout using any external constants/data
20:22
troy_s
RGB?
20:22
danieeel
which RGB? :))
20:22
danieeel
RGB is relative to what the actual R,G,B is
20:22
troy_s
Bingo
20:22
troy_s
How about... uh... CIE RGB?
20:23
danieeel
that can do all colors.. but does it mean it is absolute?
20:23
troy_s
danieeel: Simpler question
20:23
troy_s
Is CIE RGB relative or absolute?
20:24
troy_s
(worry not about range or gamut)
20:24
danieeel
relative to those lamps CIE used
20:24
troy_s
Absolute
20:24
danieeel
why is that
20:24
troy_s
the CIE primaries are well known and well documented
20:24
troy_s
So when I say CIE RGB values Foo, Bar, Bing
20:24
danieeel
that is cheating :)
20:24
troy_s
You know precisely what chromaticity the result is.
20:24
danieeel
sRGB primaries are also well documented
20:24
troy_s
How about sRGB?
20:24
troy_s
Indeed.
20:25
danieeel
okay, so absolute is anything specific
20:25
troy_s
and it too is an absolute (of course, intensity aside for all of these RGB models)
20:25
danieeel
relative is just a format
20:25
troy_s
Yes.
20:25
danieeel
like - YCbCr ... relative
20:25
troy_s
Bingo
20:25
danieeel
709 / 601 / 2020 absolute
20:25
troy_s
Bingo.
20:25
troy_s
Exactly.
20:25
troy_s
Relative models until you state which one.
20:25
troy_s
Phew.
20:25
troy_s
Ok.
20:25
troy_s
Soooooo
20:25
troy_s
TI3
20:25
troy_s
Did you download that one?
20:25
danieeel
yes
20:25
troy_s
See the column headers?
20:26
danieeel
yes, filled in the ODS file
20:26
troy_s
FIRST three are XYZ
20:26
troy_s
SECOND three are RGB
20:26
troy_s
THIRD three are error calcs.
20:26
troy_s
danieeel: Clear?
20:27
troy_s
The FIRST TWO sets of THREE columns we care about.
20:27
troy_s
So... what are the primaries of the RGBs in the file?
20:27
troy_s
(Trickier questions... :) )
20:27
danieeel
cie?
20:27
troy_s
(What do you think the RGB values are measurements of?)
20:27
troy_s
LOL
20:27
troy_s
They are arbitrary.
20:27
troy_s
They are in fact literal values of the RGB from the file
20:27
troy_s
Which are unknown
20:28
danieeel
those are the values from the sensor?
20:28
troy_s
So how can scanin deliver XYZ values from them?
20:28
troy_s
Yep.
20:28
danieeel
strange to appear in the middle :)
20:28
troy_s
(Or photo or whatever)
20:28
troy_s
So how does scanin know XYZ values for the swatch then??????
20:29
danieeel
xyz can come from reference data of the chart by series
20:29
troy_s
Yes. And white point here is elephant in the room
20:29
danieeel
that are the 3 columns before RGB
20:29
troy_s
ICC illuminant is ALWAYS D50 in the PCS
20:29
troy_s
(Profile connection space)
20:29
troy_s
So the "What should this XYZ value be" is calculated based on D50 formulas.
20:29
troy_s
And XYZ is aboslute
20:30
troy_s
Absolute even.
20:30
troy_s
And the values are LINEARIZED
20:30
troy_s
so the ratios can be manipulated accordingly.
20:30
troy_s
(For the RGBs)
20:30
danieeel
seems to be in 0..100 range
20:30
troy_s
Yep.
20:30
troy_s
Because they have to have an upper limit
20:30
troy_s
(Sensor, display whatever.)
20:31
troy_s
Quick note
20:31
troy_s
The Horseshoe image
20:31
troy_s
It is NOT perceptually uniform
20:31
troy_s
Meaning that if you took a measuring stick
20:31
troy_s
and measured a color
20:31
danieeel
100 is easy if you want to find the 18% gray paper... it should have 18 in it, as this is linear, right?
20:31
troy_s
in 'distance' away from another color
20:31
troy_s
is NOT an accurate measurement as to how different it will appear to a standard observer
20:32
troy_s
You would need MacAdams circles to figure out roughly how 'warped' the model is to a perciever
20:32
troy_s
(And yes, there are models that take the XYZ CIE research and 'warp' it to be perceptually uniform, see Lab for example.)
20:32
danieeel
that is clear
20:32
troy_s
So that the distance across the whole model represents (relatively) how 'different' a color is.
20:33
danieeel
the relative being to the 2 colors in question
20:33
danieeel
pretty useless information that distance then
20:34
troy_s
http://en.wikipedia.org/wiki/File:CIExy1931_MacAdam.png
20:34
troy_s
So you can sort of see that ranges of reds and greens look JND (just noticable difference)
20:34
troy_s
Which is a little deceptive
20:35
danieeel
okay
20:35
troy_s
because it is easier to see a change in kelvin at say 2000-2100 versus say, 6000-6100 (you couldn't see a difference in the blue)
20:35
troy_s
Part of the lovely complexity of luminance tied to color.
20:36
troy_s
danieeel: So the TI3 has the values for the swatches
20:36
troy_s
danieeel: And we can scale an achromatic one to give us a theoretical 'neutral' (in terms of RGB values)
20:36
troy_s
danieeel: As well as add a "perfect' black (0,0,0,0,0,0) and a perfect white
20:37
philippej
left the channel
20:37
troy_s
which allows the profile generator to create a more idealized profile.
20:37
troy_s
And HOPEFULLY the basics of the ICC system are a little clearer.
20:38
troy_s
ICC is NOT color management, but rather a form of color management.
20:38
troy_s
And it has plenty of nuances and details that aren't perfectly obvious.
20:38
troy_s
If we take our white swatch patch (the one that should be 'bright white' in our display referred model scale)
20:38
troy_s
we can pipe the values to xicclu
20:39
troy_s
to get our "perfect" white values in RGB
20:39
troy_s
(which is interpolated)
20:40
danieeel
so icc is a matrix and a lut for transfer curve ?
20:41
troy_s
xicclu -v (verbose) -s 100 (scale it to 0..100) -f if (if is INVERTED and FORWARD) -p l (l is LAB model) -i a (ABSOLUTE colorimetric - no warping) INPUT.ICC
20:41
troy_s
danieeel: Can be. Can also be a matrix with a LUT for color etc.
20:41
troy_s
danieeel: Can be plenty of things.
20:41
troy_s
danieeel: ICCs wrap up the rather confusing FROM and TO assumptions of all color
20:41
jucar
left the channel
20:41
troy_s
And always have a protocol (which is limiting if you are an artist trying to do things with models and color)
20:42
troy_s
They always go TO an absolute Profile Connection Space (often XYZ)
20:42
troy_s
and wrap up assumptions in the protocol (this is why you can have an sRGB ICC profile - it can manage any from and any to in the assumptions and the protocol of application)
20:43
troy_s
(OCIO on the other hand is like a lower level thing - it has no such assumptions. You can muck with more variables and control)
20:43
troy_s
danieeel: So did the above ridiculous dribble help in any way?
20:44
troy_s
(The useful part of the xicclu command is that you can take a theoretical L 100 for example (press 100 0 0 then enter) and it will spit out the 'theoretical' values for that according to your data
20:44
danieeel
the basics, yes
20:44
troy_s
Then you can go back and reverse engineer your values (scale them) such that you are getting a more accurate profile.
20:44
troy_s
(or profile estimation)
20:44
danieeel
do you know how to interpret icc and what A and B are, they appear in the dng specs too
20:45
troy_s
The PCS in ICC must be D50
20:45
troy_s
(long history, but it was designed for print so has this rather goofy thing baked into it)
20:45
troy_s
and white point scaling wasn't mandated until later too (Bradford now)
20:45
troy_s
So you can see some skips that are weird... sRGB goes to a D50 PCS for example.)
20:46
jucar
joined the channel
20:48
danieeel
i have an icc which says PCS: Lab
20:48
troy_s
Yep
20:48
troy_s
It's another absolute space (based off of the original 1931 CIE work of XYZ)
20:49
troy_s
Once you understand XYZ, you understand all models that are derived from it.
20:49
danieeel
my question is rather, where to use the values from this icc
20:49
troy_s
And the difference between absolute models / relative, perceptuals versus non perceptuals.
20:49
troy_s
You can scale the values manually in a spreadsheet.
20:49
troy_s
So for example, if your white point results in non achromatic balance of RGB
20:50
troy_s
you can scale them
20:50
troy_s
and then feed the result back into colprof and get a nicely aligned 'neutral' profile.
20:51
danieeel
but when you get a profile, how do you actually use it?
20:51
troy_s
(neutral by ICC standards, which means it is balanced against the D50, which makes not a huge difference to whatever you go to from the PCS)
20:51
troy_s
Well you have to slug it into your color pipeline
20:51
troy_s
So in this case... if you have a profile for your camera
20:51
troy_s
We have three sort of phases for our pipeline:
20:51
danieeel
it has an illuminant (XYZ) and a whitepoint (XYZ) - with these, we can make a matrix which fixes the whitebalance ?
20:51
troy_s
1) Input
20:51
troy_s
2) Working / Manipulation
20:51
troy_s
3) Output
20:51
troy_s
Our input might be a Camera
20:52
troy_s
our working might be... Foobar.
20:52
troy_s
our Output might be sRGB display
20:52
troy_s
So...
20:52
troy_s
When we load our data
20:52
troy_s
We transform the data into our Foobar
20:52
troy_s
So we need a Camera to Foobar transform
20:52
troy_s
1) Camera -> Foobar
20:52
troy_s
Then when working, we work in foobar
20:53
troy_s
2) Work in foobar
20:53
troy_s
3) Foobar -> sRGB
20:53
troy_s
which actually adds a third instance here
20:53
troy_s
4) sRGB -> DaniMonitor.
20:53
troy_s
If we do this with ICCs there's secret sauce in there
20:53
troy_s
1 becomes:
20:53
troy_s
1) Camera -> ICC PCS -> Foobar
20:54
troy_s
2) Foobar
20:54
troy_s
3) Foobar -> ICC PCS -> sRGB
20:54
troy_s
4) sRGB -> ICC PCS -> DaniMonitor
20:54
troy_s
danieeel: Clear?
20:54
troy_s
In OCIO it could be much simpler
20:54
danieeel
yes, that is the outside.. i am rather after how can I code it :)
20:55
troy_s
Erm... actually I left out more crap... remember that the PCS is linearized and absolute
20:55
troy_s
So let's pretend the PCS is XYZ
20:55
troy_s
1 looks more complex
20:55
troy_s
Let's pretend that the camera isn't linearized data format.
20:56
troy_s
1) CameraSpace -> Linearize via inverse transfer curve -> XYZ -> Foobar Space (is it linearized?)
20:56
troy_s
2) Work in Foobar
20:56
troy_s
(and all tools need to transform (think color pickers!)
20:56
danieeel
camera->linear ... is that a B curve in icc?
20:57
danieeel
i see it has a description: A curve -> multiLUT -> M curve -> matrix -> B curve ...
20:57
danieeel
A being the input color space (in case of camera, the linear RGB)
20:57
troy_s
3) Foobar -> Linearized if needed via inverted curve -> XYZ -> sRGB display linear -> sRGB tone curve
20:57
danieeel
B being... LAB ?
20:58
troy_s
There's a transfer curve
20:58
danieeel
as icc PCS = LAB ?
20:58
troy_s
PCS _can_ be Lab
20:58
troy_s
I believe
20:58
troy_s
and it commonly is XYZ
20:58
troy_s
A B tables I'm unsure of role
20:58
troy_s
I know they exist, but they fit into that overall idea.
20:59
danieeel
that icc is maybe perfect, but just for a color picker.. if I want to run live, maybe 4k over it.. cant imagine it now how that would work
21:00
danieeel
how can we reduce that TI3 file to a single 3x3 matrix?
21:01
troy_s
If you use the TI3 to generate an ICC matrix
21:01
troy_s
You get the matrix.
21:01
troy_s
:)
21:02
danieeel
my icc does not have a matrix - i need to figure out how to reduce the luts to that
21:03
troy_s
colprof does that
21:03
troy_s
So do you have an image handy of a chart?
21:03
troy_s
danieeel: ?
21:05
troy_s
danieeel: I can quickly step you through it so you can generate your own TI3 and ICC.
21:05
danieeel
i already have an icc, i need to understand what its fields are meant for
21:06
troy_s
the ICC is probably sub optimal if you don't have a matrix
21:06
troy_s
Nor if you don't know how it was calculated.
21:06
troy_s
ICCs hide so much they are a mess for this sort of thing.
21:06
troy_s
takes two seconds to generate profiles etc.
21:06
troy_s
Not long.
21:06
danieeel
it uses luts insted of matrices
21:07
troy_s
Yes, which reveals how bunk your ICCs are.
21:07
troy_s
Matrices should give you a good idea how out of whack your shot is.
21:07
troy_s
Because the matrix is a strictly real world transform to XYZ effectively.
21:07
troy_s
LUTs can hide how whack your data is.
21:07
danieeel
so which tools are required?
21:07
troy_s
(Because everything looks 'good')
21:07
troy_s
danieeel: Hardly any. Have Argyll handy?
21:08
troy_s
It's two commands.
21:08
troy_s
Sorry... what raw format is the image in?
21:08
danieeel
this? media-gfx/argyllcms
21:08
danieeel
16bit png or tiff
21:10
troy_s
You need Argyll yes.
21:10
troy_s
And you will need a raw linear TIFF (debayered)
21:11
danieeel
it is linear
21:11
troy_s
danieeel: TIFF? If you have Argyll and that, you are good.
21:11
troy_s
danieeel: Ready?
21:12
troy_s
The two commands:
21:12
troy_s
http://www.argyllcms.com/doc/scanin.html
21:12
troy_s
http://argyllcms.com/doc/colprof.html
21:13
troy_s
Let me know when you are ready and I'll step you through the two commands
21:13
danieeel
the tiff has to be rotated and cropped?
21:13
troy_s
(And how to check them inspect them)
21:13
troy_s
Not entirely if it is reasonably squareish
21:13
troy_s
You can try and use the evaluation diagnostics to evaluate it.
21:15
troy_s
danieeel: Good? (You will also need the text file that came with your chart with spectro readings)
21:15
danieeel
i have to fix the file, it is rotated
21:16
troy_s
Rotated?
21:16
troy_s
Flipped?
21:17
danieeel
rotated, like 15 degrees
21:18
danieeel
how do we evaluate it then?
21:18
troy_s
Argyll should do that
21:18
troy_s
I wouldn't worry about it.
21:18
troy_s
You can see from diagnostics
21:18
troy_s
Don't worry about rotation
21:18
troy_s
Ready?
21:18
danieeel
yes
21:18
troy_s
Okie...
21:18
troy_s
You need to locate the chart reference
21:19
troy_s
is it an it8?
21:19
danieeel
hct
21:19
danieeel
FUJI-57R-0583.txt: ASCII text, with CR line terminators
21:19
troy_s
What OS?
21:19
troy_s
Great.
21:19
danieeel
gentoo
21:19
troy_s
Ok.
21:20
troy_s
Use 'find / -name Hutchcolor.cht'
21:20
troy_s
(It is a Hutch yes?
21:20
danieeel
can you be more specific? :) there is like 20TB of stuff to search for / :)
21:20
troy_s
Try /usr/share
21:20
troy_s
(if you have a color, it should be in ther)
21:20
danieeel
/usr/share/argyllcms/ref/Hutchcolor.cht
21:20
troy_s
Ok.
21:20
troy_s
Great.
21:21
troy_s
And the path to your chart spectro readings?
21:21
danieeel
./
21:21
danieeel
its that FUJI-57R-0583.txt
21:22
troy_s
scanin -G1.0 -dipn -vv -p /path/to/image.tiff /path/to/chart.cht /path/to/spectro/values.txt
21:22
troy_s
WHERE:
21:22
troy_s
G = estimate of gamma in the chart 1.0 here.
21:22
danieeel
there is no scanin
21:23
danieeel
argyll-scanin
21:23
troy_s
-dipn generate diagnostics and use b&w image (i) p (draw pixel areas sampled) n (draw sample box names) -vv double verbose -p perspective correct (also will show up in diag)
21:23
troy_s
No... just scanin
21:24
danieeel
running...
21:24
troy_s
And... ?
21:24
danieeel
which is a general output how good/bad it is?
21:24
troy_s
You end up with TWO files
21:25
troy_s
filename.ti3 (we've covered this)
21:25
troy_s
and diag.tif
21:25
troy_s
Which is worth looking at to evaluate how it 'looked' at the chart.
21:25
danieeel
nice
21:26
danieeel
pretty smart
21:26
troy_s
Does it look valid?
21:26
troy_s
(Should show angle correction and the swatch regions it sampled)
21:27
danieeel
yes
21:27
troy_s
Ok.
21:27
troy_s
So let's generate a profile.
21:27
danieeel
http://home.rozsnyo.com/diag.jpeg
21:27
troy_s
Bingo.
21:27
troy_s
Looks good here.
21:27
troy_s
and the swatch regions are pretty good.
21:27
troy_s
Nice eh?
21:28
danieeel
so what with the TI3
21:28
troy_s
danieeel: That's the conversion of values to XYZ
21:28
troy_s
as discussed
21:28
danieeel
yes
21:28
troy_s
That is that lovely little spreadsheetable text file
21:28
danieeel
and from there?
21:28
troy_s
with errors and such
21:28
troy_s
now we will generate a profile from that data
21:28
troy_s
ready?
21:28
danieeel
of course
21:31
troy_s
danieeel: Sorry checking
21:31
troy_s
danieeel: colprof -vv -am -D"test" -u -qu ./sample
21:31
troy_s
-vv verbose level 2
21:31
troy_s
(or v2)
21:32
troy_s
-am Matrix
21:32
troy_s
-D description
21:32
troy_s
-u Scale auto scale white point
21:32
troy_s
-qu quality ultra
21:33
troy_s
danieeel: Give it a run
21:33
troy_s
You do NOT put the ti3 on there.
21:33
troy_s
It will find it.
21:33
danieeel
Profile check complete, peak err = 33.259319, avg err = 6.316813
21:34
troy_s
That's not horrible. Could be better.
21:34
troy_s
Your peaks will reveal the errors when you run profcheck
21:34
danieeel
there are reflections in the chart
21:34
troy_s
You can see where things are whack
21:34
troy_s
http://www.argyllcms.com/doc/profcheck.html
21:34
troy_s
So
21:35
troy_s
profcheck -v2 -k data.ti3 iccprofile.icc
21:35
troy_s
and that will spit out the superior DE2000 values for each.
21:35
troy_s
(lots of them)
21:36
danieeel
Profile check complete, errors(CIEDE2000): max. = 13.986425, avg. = 3.836771, RMS = 4.445354
21:36
danieeel
can it draw some red/green lights into the chart to see where are the issues?
21:37
troy_s
danieeel: Look at your diagnostic tif
21:37
troy_s
danieeel: And look at the text output
21:38
troy_s
danieeel: The values where you are getting 33 are the ones to look at
21:38
troy_s
(the high ones)
21:38
troy_s
and figure out which squares are which)
21:39
danieeel
the 13.98 is the worse
21:39
troy_s
SO 13 is quite whack in terms of DE2000
21:39
troy_s
can you evaluate why?
21:39
troy_s
(sheen or darker or?
21:40
danieeel
all above 10 are the very dark patches
21:40
troy_s
Do me a favor
21:40
troy_s
Pastebin your ti3
21:41
troy_s
Okie?
21:41
troy_s
And tell me what swatch is 'bright white'
21:41
troy_s
on your hutch
21:41
troy_s
what swatch is bright white?
21:42
danieeel
L1 white
21:42
troy_s
Ok great hold.
21:42
troy_s
See your TI3?
21:42
troy_s
for L1?
21:42
danieeel
yes
21:43
troy_s
L14 L1 etc
21:43
troy_s
Look at the RGB column
21:43
troy_s
You can jack up the exposure a little from what I can see.
21:43
danieeel
what about evennness?
21:44
danieeel
the 4 corners shall be same, does argyll count with that?
21:44
troy_s
danieeel: The revealing set is L1 L14 and
21:44
troy_s
Where's K29?
21:44
danieeel
not defined
21:45
troy_s
Interesting.
21:45
troy_s
So we can see from A29
21:45
troy_s
to L1
21:45
troy_s
what?
21:45
troy_s
:)
21:45
danieeel
it is not evenly lit, that i know for sure
21:45
troy_s
:)
21:45
troy_s
That's a big one.
21:46
troy_s
So your light is middle of the card on the left
21:46
troy_s
:)
21:46
troy_s
Look at L
21:46
danieeel
so at the end, the tool is not that smart, to compensate for such things (i know.. one can argue if unevenness is linear or what shape)
21:46
troy_s
G (most sensitive to luminance (Y closest value))
21:46
troy_s
is 93 in the middle
21:46
troy_s
and lower at top (A1)
21:46
troy_s
Well it can't.
21:46
troy_s
If you start mucking too much with non-linearity across a chart
21:47
troy_s
You are fudging numbers
21:47
troy_s
And those might be valid
21:47
troy_s
It has no real idea of figuring out what is white
21:47
troy_s
So it can't excatly interpolate that.
21:47
troy_s
Get my point?
21:47
danieeel
yes
21:47
troy_s
danieeel: Needless to say, evenness will help you
21:48
troy_s
Because the chart is underexposed by and large
21:48
troy_s
But you can't increase exposure much in that setup
21:48
troy_s
because you'll blow out that left side white region
21:48
troy_s
But I can also see from V01 that you have some room too
21:48
troy_s
So even lighting would let you more heavily saturate the image.
21:48
danieeel
have to go
21:48
troy_s
and probably bring up the values in the darker swatches
21:48
troy_s
danieeel: Okie.
21:49
troy_s
One more thing
21:49
troy_s
Do a plot
21:51
troy_s
xicclu -g -fb ./iccprofile.icc
22:11
danieeel
done
22:11
danieeel
back for a sec, but i have to end today
22:16
troy_s
danieeel: I'm sure you have plenty to chew on now
22:16
troy_s
danieeel: Probably some ideas too.
22:18
danieeel
well, it definitely helps to reach rec.709
22:19
troy_s
reaching rec709 is easy once you have a matrix.
22:19
troy_s
You just have to A) go to D65, B) go to 709 via a single matrix.
22:19
troy_s
Then probably slap on 1886
23:54
Bertl
back now ...
23:56
Bertl
is reading up ...