Current Server Time: 03:31 (Central Europe)

#apertus IRC Channel Logs

2013/12/31

Timezone: UTC


00:45
se6astian
left the channel
02:20
yaufman
joined the channel
02:29
yaufman
left the channel
02:55
gcolburn
joined the channel
03:12
gcolburn
left the channel
03:24
gcolburn
joined the channel
03:24
gcolburn
hello
03:34
Bertl
hey, how's going?
03:36
Bertl
anyway, off to bed now ... have a good one!
03:36
gcolburn
good
03:36
gcolburn
just made some progress
03:36
Bertl
ah, okay?
03:37
Bertl
btw, I finished the new deserializer/train/snap stuff tonight
03:37
gcolburn
I have c++ code performing demosaiqing with VNG, apply CameraToXYZ, and XYZtosRGB, and dumping as a TIFF
03:37
gcolburn
awesome!
03:37
gcolburn
good job!
03:37
Bertl
i.e. we can now reliably take pictures
03:37
gcolburn
right now I'm converting the code to a LUT
03:37
gcolburn
great! I'll be curious to see if that improved some of the artifacts we were seeing
03:38
Bertl
yes, I think the lines you stumbled upon should be gone now
03:38
gcolburn
so you'll have a fully working package with using the LUT and you can grab the parts out for what you need
03:38
gcolburn
awesome
03:38
Bertl
okay, sounds good, the proposed lut setup is sufficient for the conversions you do?
03:39
gcolburn
I think there is no reason I won't be able to do Camera to sRGB in 9 LUTs
03:39
gcolburn
I believe so
03:39
gcolburn
on paper mathematically it looks good
03:39
gcolburn
I'll write the code so we can try direct computation verse the LUT and compare the output images
03:39
Bertl
okay, we actually target 12 luts (i.e. 3x3 for the 'matrix' and 3 for gamma)
03:39
gcolburn
not numerically, just aesthetically
03:39
gcolburn
hmm
03:40
Bertl
but the 3 gamma can be identity as well
03:40
gcolburn
iif the goal is to go to sRGB I think it can all be in one step probably
03:40
Bertl
it's just an idea I had to simplify the tuning
03:40
gcolburn
yeah
03:40
gcolburn
the sRGB gamma requires if statements :)
03:40
gcolburn
but that doesn't matter with the LUT, as it will be pre-built obviously
03:40
Bertl
yup
03:41
gcolburn
the code doesn't take long to run, most of the time is spent in the VNG
03:41
gcolburn
it takes maybe 5 seconds to do it all
03:41
Bertl
okay, great
03:41
gcolburn
I'll have to play with the other demoaiqing algorithms and see how much faster they are
03:41
Bertl
I started to look at the noise/artefacts as well
03:41
gcolburn
oh yeah?
03:42
Bertl
and I think we can compensate for quite a number of them
03:42
gcolburn
great
03:42
Bertl
sebastian will do more test images later today, so we will know more in the new year :)
03:42
gcolburn
I have high hopes that we will be able to get great quality images out of the sensor
03:42
gcolburn
awesome
03:42
gcolburn
I'm going to try and get the LUT code down now. then I can upload to Github
03:43
gcolburn
at first i was working on a c++ version of the DNG writer, but got side tracked and worked on the demosaiqing/LUT
03:43
gcolburn
I'll upload all the code since it uses one Makefile
03:43
gcolburn
but the DNG part just reads tags right now is all
03:43
Bertl
excellent! drop me a note with details how to use it here, I'll read up on it after a sleep
03:43
gcolburn
ok sounds good
03:43
gcolburn
catch you later
03:43
Bertl
thanks, cya
05:19
gcolburn
left the channel
06:41
jucar
joined the channel
06:49
troy_s
Bertl: The transfer curve is a 1D LUT.
06:50
troy_s
Bertl: The XYZ to sRGB / 709 primaries is a 3D LUT.
06:50
troy_s
Bertl: Not sure how you handle the latter.
06:50
troy_s
Bertl: General order of events for any color transform is pretty simple and follows the following outline:
06:50
troy_s
1) Invert any TRC (Tone Response Curve / Transfer Curve - the "intensity" of the values that controls the presentation on Low Dynamic Range outputs (Displays, etc.))
06:51
troy_s
2) Conver the RGB values to XYZ of a given color temperature (your color temperatures must always be aligned for your transforms to XYZ or else all hell breaks loose)
06:52
troy_s
3) Conver the XYZ values to the RGB values for the destination color space (in this case sRGB/ 709 primaries) which is done via a 3x3 matrix (as with step 2) or a 3D LUT.
06:53
troy_s
4) Apply the TRC for the destination space. (For sRGB it is a two part formula with an if - a curve with a linear toe. Overall average is ~2.2. 709 has a different two part TRC, and rougly averages to ~1.9)
07:30
jucar
left the channel
10:30
se6astian
joined the channel
10:33
se6astian
good morning!
11:13
se6astian
left the channel
11:14
se6astian
joined the channel
11:48
philippej
joined the channel
11:56
se6astian
left the channel
12:07
se6astian
joined the channel
12:09
[1]se6astian
joined the channel
12:12
se6astian
left the channel
12:12
[1]se6astian
changed nick to: se6astian
12:26
se6astian
left the channel
12:57
philippej
left the channel
13:49
jucar
joined the channel
14:17
gcolburn
joined the channel
14:30
gcolburn
left the channel
14:59
jucar
left the channel
15:05
Bertl
troy_s: we will do a nonlinear matrix multiplication with a 3x3 LUT (not a 3D lut) and post process with 3 gamma LUTs (which are probably unnecessary but simplify adjustments)
15:48
natalval
joined the channel
16:01
natalval
left the channel
16:27
se6astian
joined the channel
16:28
se6astian
good evening
17:22
gcolburn
joined the channel
17:24
jucar
joined the channel
17:31
Bertl
se6astian: evening
18:38
gcolburn
hello
18:42
se6astian
hi there!
18:43
gcolburn
It looks like I have working LUT code :)
18:43
se6astian
hurray!
18:43
se6astian
I just made some straylight tests
18:43
gcolburn
oh nice
18:45
gcolburn
how did you do the test?
18:48
se6astian
first darkframe in surrounding darkness
18:49
se6astian
then 3 images with strong light shining on the prototype
18:49
gcolburn
I see
18:49
se6astian
now its time to start the cheese fondue before I capture more test images :)
18:53
gcolburn
:)
18:54
gcolburn
so there are some issues we're going to have to figure out with using the LUT
18:54
gcolburn
if the LUT is a float, the results are visually identical to doing the matrix transforms on the fly
18:55
gcolburn
with the current code if I switch to an int or long there is an overall change in tint in the image
18:55
gcolburn
I'm trying to remember if Herbert was going to implement the LUT in the FPGA or on the CPU
18:56
gcolburn
and the LUT has to have signed values, since the matrix can have negative values
19:21
gcolburn
never mind. looks like it was a casting issue
19:21
gcolburn
seems to work with int
19:26
se6astian
great
19:26
gcolburn
I can push the code to github
19:26
se6astian
please do
19:26
gcolburn
its part of my C++ port of the DNG writer
19:26
gcolburn
which isn't quite finished
19:27
gcolburn
but if you run the Makefile it will also make the code for the LUT
19:27
gcolburn
where would you prefer to place it within the respository?
19:34
se6astian
I started putting my tools into https://github.com/apertus-open-source-cinema/alpha-software/tree/master/misc_scripts_and_utilities
19:34
se6astian
maybe that would fit?
19:36
gcolburn
sure
19:46
gcolburn
done
19:46
gcolburn
https://github.com/apertus-open-source-cinema/alpha-software/tree/master/misc_scripts_and_utilities/dng
19:53
se6astian
thanks
19:55
troy_s
aaarrggh
19:55
gcolburn
let me know if you have any problems building it
19:55
troy_s
So I am struggling like mad to get OpenEXR 2.1 to compile so that I can get OIIO to compile.
19:56
gcolburn
oh yeah?
19:57
troy_s
Greets G.
19:57
troy_s
I can't get the blasted OEXR to link. sem_init missing.
19:57
troy_s
Which is -pthread but it is in there.
19:57
gcolburn
I just sent out an email with a link to the code to transform raw16 to sRGB
19:58
troy_s
Driving me nuts. I would love to even use system OEXR but OIIO insists on looking for an Ilm file in IlmBase that is only in 2.1 and giving fits.
19:58
gcolburn
I'll probably try and get OIIO installed tomorrow. if I have any luck I'll let you know but sounds like it'll be a challenge
19:58
gcolburn
what OS are you using?
19:58
troy_s
gcolburn: OCIO is what we need.
19:58
troy_s
gcolburn: I can't stress it enough.
19:59
troy_s
The reason is that it allows us to quickly change the matrix or 3D LUT transforms without recompiling.
19:59
troy_s
Just update the LUT configs (via GitHub or whatnot)
19:59
troy_s
Better for iteration, and better for forward looking (think many frames)
20:00
troy_s
OIIO has never been an issue for me.
20:00
gcolburn
so would a plugin be needed for OCIO?
20:01
troy_s
No.
20:01
troy_s
OCIO only needs the transform hooks integrated.
20:01
troy_s
OIIO isn't even needed.
20:02
troy_s
I just want to integrate it for post. EG: Going to EXR with the raw (untransformed RGB debayered) data.
20:02
troy_s
Irking me.
20:02
gcolburn
i see
20:03
gcolburn
what do you need to determine the gamut of the sensor?
20:03
troy_s
A proper profile.
20:03
gcolburn
I believe Herbert finished his new firmware update, and sebastian is taking new images
20:04
troy_s
Direct sun and tungsten ideally (no sky on sun to raise color temp)
20:04
gcolburn
just the ICC profile from argyll?
20:04
troy_s
If we can get to a low error ICC it should be enough for evaluation.
20:07
gcolburn
ok
20:08
troy_s
But any further work should go toward a reference viewer
20:09
troy_s
gcolburn: I can only see pain with the DNG path.
20:10
troy_s
Pretty sure I can whip the viewer up in a day assuming I can overcome my EXR woes. Sooner if I ignore OIIO but...
20:12
gcolburn
what type of viewer are you referring to?
20:16
gcolburn
out of curiosity I tried opening one of the generated ICC profiles in ColorSync and overlaid it with standard spaces⦠the profile looks quite bizarre with 20% errors!
20:38
troy_s
Well that is 20% errors and colorsync
20:38
troy_s
ColorSync isn't exactly the world's best reference.
20:41
gcolburn
yeah
20:43
gcolburn
well I'm going to head off
20:43
gcolburn
catch you guys later
20:44
gcolburn
left the channel
23:17
se6astian
happy new year!
23:25
guesst
happy new year indeed!
23:25
guesst
got any fireworks picture? :)
23:34
se6astian
https://www.youtube.com/watch?v=GsKnPDeU9vI
23:34
jucar
left the channel
23:59
se6astian
left the channel