Current Server Time: 07:43 (Central Europe)

#apertus IRC Channel Logs

2014/01/09

Timezone: UTC


00:02
troy_s
left the channel
00:03
rexbron
left the channel
00:13
danhanes
joined the channel
00:22
rexbron
joined the channel
00:22
troy_s
joined the channel
00:41
troy_s
left the channel
00:41
rexbron
left the channel
00:45
rexbron
joined the channel
00:49
troy_s
joined the channel
01:14
dmj_nova
joined the channel
01:32
troy_s
left the channel
01:32
rexbron
left the channel
01:33
rexbron
joined the channel
01:37
troy_s
joined the channel
01:43
rexbron
left the channel
01:47
rexbron
joined the channel
02:06
rexbron
left the channel
02:06
troy_s
left the channel
02:14
mars___
joined the channel
02:15
mars_
left the channel
02:31
rexbron
joined the channel
02:32
troy_s
joined the channel
02:51
danhanes
left the channel
03:25
dmj_nova
left the channel
03:27
Rambutan2000
left the channel
03:46
dmj_nova
joined the channel
03:46
troy_s
left the channel
03:47
rexbron
left the channel
03:51
rexbron
joined the channel
03:52
troy_s
joined the channel
04:22
test22
joined the channel
04:23
test22
Arrg, just typed a bunch off stuff but none of it seems to be here
04:23
test22
anyway morning all!
04:23
test22
Oh it's Geordie, I'll log out and change my nic
04:24
test22
left the channel
04:24
Rambutan2000_
joined the channel
04:25
Rambutan2000_
right
04:26
rexbron
left the channel
04:26
troy_s
left the channel
04:28
rambutan2000__
joined the channel
04:29
rambutan2000__
We use a similar technique as listed in this pdf
04:29
rambutan2000__
http://blog.selfshadow.com/publications/s2012-shading-course/mcauley/s2012_pbs_farcry3_notes_v2.pdf
04:29
rambutan2000__
They start talking about image capture a couple of pages in
04:29
rambutan2000__
We also use cross polarization to filter out specular reflection so we only capture the diffuse, here's an example:
04:29
rambutan2000__
http://filmicgames.com/archives/547
04:29
rambutan2000__
http://filmicgames.com/archives/233
04:29
rambutan2000__
So I'm thinking calibration might be easier if you don't have interference from specular reflection in the captured images
04:30
Rambutan2000_
left the channel
04:39
rexbron
joined the channel
04:39
rexbron
left the channel
04:39
rexbron
joined the channel
04:41
troy_s
joined the channel
04:55
mars___
left the channel
04:57
mars
joined the channel
04:58
mars
changed nick to: Guest39687
05:44
jucar
joined the channel
06:32
jucar
left the channel
07:51
guesst
Bertl: lets assume the white paper is a little bit brown... the calibration has to be done, that it renders #FFF in PC and then all those browninsh papers (= all white papers) will be captures really white. Maybe some specialty white paper will appear colder, blue, but that is only a small chance
08:12
se6astian
joined the channel
08:12
se6astian
good morning
08:28
jucar
joined the channel
08:37
jucar
left the channel
08:37
philippej
joined the channel
09:09
philippej
morning
09:10
philippej
I think there are 3 elements for the calibration :
09:13
philippej
1. a guy decide that there some colors that would make sense for a specific (or general) calibration purpose. He creates differents colors (including hard to match skin tones if it is the intented use). Those colors are printed. The chart is scanned and expected colour values are written in this file (it8.cht). They are not the pure colour the guy intented due to limitations in the printing/capture process. But at least the ex
09:14
philippej
2. the same guy, (or another one) decide to sell those charts. each batch is different, and need to be mesured to provide the effective colours you can assume are in this chart. This is R100604.txt
09:17
philippej
3. then we arrive with our captured chart. I'd say the purpose of providing expected values in the it8.cht is to assess the quality of the chart we use and the relative quality of calculation we'll get from the intended purpose of this particular chart system. If it's way of, and if the intent of the orginal chart was skin tones for example, it would mean that for this intent, the profile won't be of high interest.
09:24
philippej
The guy at step 1. could have put the pure white he wanted to print, but it would only tell us that the whole printing system has limitation, something we know already. That's why the numbers are of at this stage already.
09:31
philippej
If you read here the section "refining profiles" : http://www.northlight-images.co.uk/reviews/profiling/colormunki_printing.html
09:32
philippej
There is a very interesting explanation on how this printer profiling application work : """The first 50 patches are always the same set of device recipes (RGB or CMYK values).
09:32
philippej
With measurements from the first 50 patches, ColorMunki builds a profile and then runs a known set of Lab values (containing neutrals, skin tones, etc.) through the profile to determine roughly the device values of those desired colours.
09:32
philippej
Next, print and measure the newly created second target and then builds the final profile using both sets of device recipe and measurement data.
09:32
philippej
This refinement process helps identify exactly where these key colour areas reside in the printer gamut.
09:32
philippej
In previous methods, it wasn't known which combination of device recipes actually printed neutral tones so more combinations of colours were printed/measured to find out.
09:32
philippej
The new iterative discovery process helps find these neutrals much more easily with fewer colour patches."""
09:34
rambutan2000__
hi guys, can you see in the log what I wrote about specular reflectance? It may not be applicible at all but thought I'd share
09:35
philippej
reading it right now :-)
10:16
se6astian
I am fighting with permissions on the prototype running php
10:16
se6astian
to write/read sensor registers I need sudo priviledges which php/apache wont do
10:16
se6astian
now I run shell_exec() and could therefore use busybox su to get root
10:17
se6astian
but shell_exec is non interactive so I cant enter the root password
10:17
se6astian
and sshpass I cant install due to unmet dependencies
10:17
se6astian
any ideas?
10:34
danhanes
joined the channel
10:37
philippej
left the channel
10:42
philippej
joined the channel
10:47
troy_s
Bertl: Tell gabe you can get raw data using a library from Canons.
10:52
philippej
Hi troy_s, can you comment on what the average % error mean from argyll output?
10:57
troy_s
philippej: I cannot remember the exact formula. DE is the one that has a standard interpretation as well as standardized formulas.
10:58
philippej
can we assume that what argyll calls average error is in fact DE ?
10:58
troy_s
philippej: And all of what you typed is somewhat tangential. The easy thing to remember is that a chart maps colors that define the shape of the gamut and marks them to known xy coordinates in the xyY model.
10:59
troy_s
philippej: Those values are asserted with a spectrophotometer which is why on certain prints the data file accompanies the chart. Some charts are more reliable etc.
10:59
troy_s
and no
10:59
troy_s
DE is different than average error. Graeme _really_ is on point with all of this.
10:59
troy_s
DE is a perceptual measurement error.
11:00
philippej
ok, trying to understand as much as possible to spread knowledge and hopefully not bs :-)
11:04
guesst
what is the command to detect the errors?
11:04
guesst
or is there a gui for argyll ?
11:05
philippej
guesst: colprof -v -D"Apertus axiom" it8-tungsten-01-12ms-perfect
11:06
troy_s
guesst: No GUI and no GUI needed.
11:07
troy_s
philippej: Just think that the sensor captures random data, the charts of known xy coordinates (Google xyY which is a scaled XYZ that the "color" of the light relative to white is stored in two coordinates)
11:07
troy_s
philippej: The charts allow the random sensor data to be mapped and transformed into known CIE colors.
11:08
guesst
how does it know it is it8 ?
11:08
troy_s
guesst: You tell it.
11:08
philippej
guesst, read this part : http://www.argyllcms.com/doc/Scenarios.html#PS1
11:09
troy_s
guesst: There are _many_ charts... from rather sloppy 24 patches but key (caucasian skin bias eg) values to 400+ swatches.
11:09
troy_s
The greater the number of swatches, the smoother the transforms.
11:09
guesst
i have HCT
11:09
philippej
troy_s, how many swatches would we need to create a good profile?
11:09
troy_s
Hutch Color?
11:09
guesst
yep
11:10
troy_s
philippej: "good" is privileged language. For an alpha prototype, our baseline is probably "good enough to evaluate the gamut to see of the sensor is appropriate"
11:11
troy_s
philippej: So an IT8 is more than sufficient assuming we A) Have a proper one B) can get a shot that has a mean error of perhaps 3-5.
11:11
philippej
so, since it8 has 250+ patches, I guess we can assume it's good enough for our current purpose
11:11
troy_s
(Or a DE of maybe 3 ish. Not ideal. But we aren't fine brushstrokes. We are slapping paint on at this point :) )
11:12
guesst
you assume that the gamut will be the extrapolation of the info where the real patches fall?
11:12
troy_s
philippej: Yes. When we get the chart that is suitable for photography. I think the current is based on Illuminant Flor.
11:12
troy_s
guesst: Huh?
11:12
troy_s
guesst: Gamuts are gamuts. They are a volume.
11:12
troy_s
No magic.
11:13
troy_s
If the chart maps xy values of a given volume, the camera captures a subset of that, the result is a smaller volume.
11:14
guesst
i think the chart maps only a subset of some standardized (named) volume
11:14
troy_s
guesst: Of course it does.
11:14
guesst
e.g. BT2020 got lot of really imaginary colors :)
11:14
troy_s
guesst: The real full volume CIE standard observer gamut cannot be crafted with tri color stimulus.
11:15
troy_s
guesst: Exactly what I said.
11:15
troy_s
guesst: You _cannot_ map the full volume as the points of the triangle of the base of the gamut _must_ be imaginary.
11:15
danhanes
left the channel
11:15
troy_s
Which is precisely what XYZ is. And ACES. Etc.
11:16
troy_s
The maximum primary values in a tri color RGB system where equal parts map to achromatic values is already known as CIE RGB
11:17
troy_s
Which is the biggest volume subject to the rules above. When you map values that do not do that to achieve a wider gamut, your software had better account for it or even parts will _not_ result in a perceptual middle value.
11:18
guesst
ok, so you are trying to determine to how much % are your sensor's CFA close to the cie rgb
11:19
guesst
what volume you cover with the particular hw
11:21
troy_s
guesst: The important short term is how close to 709. :)
11:22
guesst
is such data available for other cameras?
11:22
guesst
with LCDs they tend to tell the gamut / 72% / 98% of something... but at cameras?
11:23
troy_s
guesst: Camera gamuts are generally well defined in motion picture land.
11:23
troy_s
guesst: Commercial DSLRs might cheat as they always force to either sRGB or AdobeRGB.
11:24
guesst
yes. they are calibrated... but it does not mean they can fully cover some standard space
11:24
troy_s
But gamuts are deadly important as it is a very important part of the data picture.
11:24
troy_s
For example, imagine a 12 bit capture of a very wide gamut versus very small.
11:24
troy_s
In the wider gamut, the "steps" are larger (and hopefully uniform)
11:25
troy_s
So gamut is a critical part of evaluating the resulting "quality" of an image.
11:25
troy_s
guesst: I suspect the major DSLR vendors prefer to keep gamuts on the sly.
11:29
guesst
in the above talk... have one measured the DE of a unprocessed or processed data? (unprocessed would mean nothing, no?)
11:30
troy_s
guesst: Think of it like bending metal
11:30
troy_s
guesst: Your chart has a particular shape
11:30
troy_s
guesst: Your raw sensor capture has a shape
11:31
troy_s
guesst: When you attempt to bend A to B, some things can't bend to match; you bend A and some of the curves end up moving away from their targets in B
11:31
se6astian
ha, I solved the PHP issue!
11:31
guesst
even with 3D lut ? :)
11:32
troy_s
guesst: So the error is telling you something along those lines.
11:32
troy_s
guesst: Which, given we are talking of light in the real physical world, is telling you that your capture / context / circumstance is incorrect.
11:32
troy_s
guesst: You missed my point.
11:33
troy_s
guesst: Think if R + G is supppsed to equal 6 and we figure R is 4 and G is 2
11:33
troy_s
guesst: We know roughly where R and G are in chromaticity
11:33
troy_s
guesst: But in the next swatch, R + G is supposed to be 8
11:34
guesst
swatch? patch??
11:34
guesst
lost a little
11:35
guesst
but if you shoot a chart, calibrate by it... you can shoot it again and if the light source is same, you should get the same result...
11:35
guesst
"bending" wont be linear or 3x1D lut... given the uneven shape of the CFA transmission curve
11:37
rexbron_
joined the channel
11:38
rexbron
left the channel
11:38
troy_s
left the channel
11:45
troy_s
joined the channel
11:57
danhanes
joined the channel
11:59
philippej2
joined the channel
12:01
philippej
left the channel
12:37
danhanes
left the channel
12:55
philippej2
gotta go, see you later guys!
13:50
Guest39687
changed nick to: mars_
13:58
philippej2
left the channel
15:00
se6astian
the prototype is now mobile, I just finished soldering the cable for the battery pack!
15:00
se6astian
and it works!
15:25
FergusL
excellent se6astian !
15:25
FergusL
will that make another news on the website ?
15:32
marink
joined the channel
15:33
dmj_nova
left the channel
15:40
se6astian
maybe, not sure yet, as there is not that much to show
15:41
philippej
joined the channel
15:48
marink
left the channel
16:15
Bertl
se6astian: \o/
16:16
Bertl
troy_s: I was just wondering because the 'measured' XYZ values of the IT8 charts (granted, they are designed for scanners) do not match my expectations
16:17
Bertl
i.e. I would expect white to be somewhat white and black to be somewhat black not some kind of beige and dark purple
16:21
Bertl
se6astian: ad php, simply run php as root for now
16:21
Bertl
or if you feel more secure with running php as user, simply change the access permissions on /dev/mem to this user
16:23
dmj_nova
joined the channel
16:23
se6astian
Hi Bertl
16:23
se6astian
I fixed the php issue already
16:24
se6astian
by changing root user to have no password and running sheel_exec("busybox su -c "whoami"); in php and all commands in a similar way
16:24
se6astian
just finsiedh turneding my living room into an IT8 chart laboratory
16:25
Bertl
so be it, but as I said, no need for that
16:26
Bertl
(i.e. unnecessary indirection/overhead)
16:26
troy_s
Bertl: A) "White" and "Black" do not exist.
16:26
se6astian
I tried running php as root first but it complained and refused to start up
16:27
se6astian
I would have to recompile with -really-bad-security-hole something as cparameter :)
16:27
troy_s
(White is effectively an adaptive phenomenon that is psychophysical; the sensation of achromatic)
16:27
troy_s
So given that our chart is a scanner chart, I am willing to wager it is colored for a fluorescent illuminant.
16:28
Bertl
troy_s: agreed, but why would the IT8 chart GS00 XYZ values end up at #FFEFCC when converted to sRGB?
16:28
troy_s
What white point?
16:28
troy_s
:)
16:28
troy_s
Bertl: There are two white points that play into that...
16:28
Bertl
I do not see the white point affecting XYZ to sRGB ... am I missing something?
16:28
troy_s
The white of our source illuminant
16:29
troy_s
It influences the color in the chart.
16:29
Bertl
I'm not illuminating anything
16:29
troy_s
Where the white lives
16:29
Bertl
I'm reading the calibration XYZ values
16:29
troy_s
Our source target
16:29
Bertl
from an ascii file
16:29
troy_s
If there is some illuminant strangeness, the achromatic is bent a certain way.
16:30
troy_s
(IE "not white")
16:31
troy_s
Ideally if illuminant matches destination color space
16:31
troy_s
those values will be ff ff ff
16:31
troy_s
As in D65
16:31
troy_s
(sRGB spec is D65)
16:32
Bertl
okay, where in the CIE XYZ to sRGB transformation does the white point come in?
16:32
Bertl
it is a fixed 3x3 matrix which simply get applied. period.
16:32
troy_s
(and we magically get a normalized and scaled perfect chart of course)
16:32
troy_s
They MUST be the same
16:32
troy_s
in this instance, our "connection space" (in ICC terms)
16:32
Bertl
I was hoping for that, instead I get FF EF CC for GS00 (aka white)
16:32
troy_s
is XYZ
16:32
troy_s
So when we go from source
16:33
troy_s
the source MUST be bradforded to the same color temp
16:33
troy_s
as the dest space
16:33
troy_s
Or
16:33
Bertl
so XYZ is not XYZ?
16:33
troy_s
LOL
16:33
Bertl
or sRGB is not sRGB?
16:33
troy_s
XYZ is always XYZ
16:33
troy_s
but color space transforms MUST have the same white point
16:33
troy_s
Always
16:34
Bertl
good, so given an XYZ value, how do I get the correct sRGB value?
16:34
troy_s
You will have a screw up with say, a modified D50 sRGB (sRGB munged to D50)
16:34
troy_s
If you are correctly INTO XYZ
16:34
troy_s
You can simply transform the primaries
16:35
philippej
left the channel
16:35
troy_s
but the white point for sRGB is D65 which impacts all transforms INTO XYZ.
16:35
troy_s
Sense?
16:35
troy_s
Let me find Lindbloom's page on it to help.
16:36
Bertl
I've read through that
16:36
Bertl
look, I have 'so called' XYZ values in the IT8.cht and measured XYZ values in the R100604.txt
16:37
troy_s
But you don't unless the whites are identical
16:37
Bertl
as the transformation to sRGB should be bidirectional, I'd expect at least the gray values to be somewhat near gray/black/white
16:37
troy_s
they are different spaces if the whites are different
16:38
troy_s
http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
16:39
troy_s
So "correct" (off the top of my still jetlagged head is)
16:39
troy_s
1) Transform from WhitePointInput IT8 RGB to SpaceOutputWhitePoint via Bradford Matrix and XYZ Matrix
16:39
Bertl
okay, let's do this the other way round, we agree that XYZ D65 white is 0.9505,1.0000,1.0890 yes?
16:40
troy_s
2) Transform from XYZ to SpaceOutput RGB
16:40
troy_s
I cannot riff off white points off the top of my head. But it doesn't matter.
16:40
troy_s
So "yes"
16:41
troy_s
So now we have a set of colors at D65 in XYZ.
16:41
troy_s
Fair?
16:42
Bertl
okay, so why does the IT8 chart say, XYZ for GS00 is 79.47 82.51 69.04
16:42
Bertl
and why does the R100604 measure the GS00 XYZ as
16:42
Bertl
76.53 79.65 68.26
16:43
Bertl
it simply doesn't make sense for me, why the GS00 (white bar) should be beige
16:44
guesst
because you have bad light on it (or simply to say white balance is off)
16:44
Bertl
I have no light on it at all :)
16:44
troy_s
Sorry Bertl AWFUL wireless here
16:44
guesst
eh?:)
16:44
Bertl
it is just math from the documented values
16:44
troy_s
Because it isnt white!!!!!!
16:44
guesst
then your equations are bad?
16:45
troy_s
It is an achromatic patch illuminated by a blue light
16:45
troy_s
(to exaggerate)
16:45
guesst
or yes.. the patch is not white, that is the other reason :)
16:45
troy_s
What would happen if we illuminated it with a green light?
16:45
troy_s
Same thing. D65 is not achromatic
16:46
Bertl
maybe, maybe all the conversion matrices are wrong
16:46
Bertl
but chances are good, that the IT8 chart is wrong or I am missing something crucial
16:46
Bertl
I presume, as the measured values are said to be XYZ, the light source is D65 no?
16:46
Bertl
(for the measurements taken on those charts)
16:47
guesst
when you have xyz, then there is no D50/D65... xyz is absolute, isnt it?
16:47
Bertl
yes, that is my understanding as well
16:47
guesst
which matrix have you useD?
16:49
guesst
and the values are what? xyz should be 0..1 no?
16:49
jucar
joined the channel
16:49
Bertl
3.2404542 -1.5371385 -0.4985314
16:49
Bertl
-0.9692660 1.8760108 0.0415560
16:49
Bertl
0.0556434 -0.2040259 1.0572252
16:49
Bertl
I presume the values are in % (according to the file format specification)
17:00
guesst
i would try to get some other conversion of IT8 to sRGB and see what matrix they have applied :)
17:01
Bertl
okay, off for now ... bbl
17:02
danhanes
joined the channel
17:03
troy_s
Converting to XYZ is _always_ relative guesst
17:03
troy_s
You are confusing things
17:04
guesst
how relative?
17:04
troy_s
Well if you use a green light to light your chart, you guess.
17:04
guesst
but we are talking about XYZ to RGB not TO xyz
17:04
troy_s
See how relative the conversion is?
17:04
troy_s
You are ALWAYS talking relative. ALWAYS.
17:04
guesst
having a image captured under green light is not an sRGB image...
17:04
troy_s
There is ALWAYS an implied white color
17:05
troy_s
For the love of god
17:05
troy_s
are you trolling me or asking?
17:05
troy_s
If you light a chart with a light
17:05
guesst
do not bring up new confusions :)
17:05
troy_s
it is biased
17:05
troy_s
clear?
17:05
troy_s
It is always biased by the light illuminating it
17:05
troy_s
And that light MUST be accounted for in converting to XYZ.
17:06
guesst
yes. but if you light it with a proper (calibrated) light... you should get RGB which conforms to a color space (eg. sRGB, maybe with some matrix transofrmation)
17:06
troy_s
If we used say, 2700k to illuminate our chart and went to XYZ
17:07
troy_s
the values of the swatches are relative to that illumination point and the sampled values will be skewed.
17:07
guesst
yes, but here the relative part is RGB
17:07
troy_s
There is no RGB color space
17:07
troy_s
Ever
17:07
troy_s
And the illuminant is always there.
17:07
troy_s
Implied or otherwise.
17:08
troy_s
So if you lit your chart with a uniform 6500k light source
17:08
troy_s
then your XYZ transform is 1:1 with sRGB.
17:08
troy_s
Si?
17:08
guesst
fine then
17:09
troy_s
This gets screwed all the time as ICCs use a D50 profile conmection space
17:09
troy_s
Connection even
17:09
guesst
what you want to say that RGB is relative, when we put RGB+K you have an "absolute color" as you have in xyz
17:09
guesst
absolute is: same numbers = same color
17:09
troy_s
Well
17:10
troy_s
I think now you are waffling off.
17:10
troy_s
But feel free to keep educating me on XYZ.
17:11
guesst
so what i think is wrong?
17:11
guesst
a fixed point in XYZ space is not a specific color?
17:12
guesst
(not a fully specified color)
17:12
troy_s
All of what you are saying has been generated based on a conversation that I have not been a part of.
17:12
troy_s
XYZ _is_ and absolute space
17:12
troy_s
BUT
17:13
troy_s
The input and output spaces must have consistent white points to get there.
17:13
troy_s
Otherwise it is apples to oranges.
17:15
troy_s
(In terms of calculating a transform from charts)
17:16
guesst
and if the white point is not consistent... where is the correction plugged in?
17:17
troy_s
Apply a chromatic adaptation matrix to the transform matrix
17:17
guesst
or you are trying to say there is an XYZ/D50 and XYZ/D65 where the same xyz's mean different colors?
17:17
troy_s
You can combine the two into a single matrix
17:18
troy_s
guesst: I am not trying to say anything. What you are inferring is up to you.
17:18
troy_s
XYZ is an absolute space
17:19
guesst
ok, so there is only XYZ needed in that "space", no white point spec
17:19
guesst
that describes all, perfectly, i understand that
17:19
troy_s
But all of color management is based on assumptions. So if you slug a chart (key here is chart) of known xy coord swatches into XYZ it will not be the precise values without a known color temp
17:27
guesst
so when we see a tinted image which should be achromatic (xyz to rgb conversion) then it is maybe a display calibration issue
17:28
troy_s
Huh? Achromatic swatch?
17:28
troy_s
That would be the chart experiment has probably high errors
17:29
guesst
have tried other methods (web converter) of xyz to srgb, and the numbers are not same for the gray patch..
17:30
guesst
one last question, can I assume that sRGB with its D65 is made in a way, that same r=g=b component form a gray scale? :)
17:30
guesst
or there is some other flavor of rgb where that is true
17:33
troy_s
guesst: I believe there are some spaces with primaries that are not subject to achromatic if all channels are equal.
17:33
troy_s
Not 100% certain
17:34
troy_s
guesst: Basically the software should be able to look at a chart and "reverse" calculate the bits. But if the chart shot is off, things will be warped.
17:34
troy_s
(which ours clearly still is)
17:35
troy_s
Assuming a decent transform is calculated, the XYZ values should be relatively close.
18:08
svetarazu
joined the channel
18:13
svetarazu
left the channel
18:14
se6astian
left the channel
19:55
jucar
left the channel
20:07
jucar
joined the channel
20:54
danhanes
left the channel
22:33
gcolburn
joined the channel
23:11
jucar
left the channel
23:20
danhanes
joined the channel