Current Server Time: 02:20 (Central Europe)

#apertus IRC Channel Logs

2013/12/31

Timezone: UTC


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