Current Server Time: 23:44 (Central Europe)

#apertus IRC Channel Logs

2022/05/30

Timezone: UTC


04:50
littlebobeep
joined the channel
05:16
littlebo1eep
joined the channel
05:17
littlebobeep
left the channel
05:21
littlebo1eep
left the channel
05:32
littlebobeep
joined the channel
06:51
littlebobeep
left the channel
06:55
littlebobeep
joined the channel
07:35
se6astian
good day
07:47
Bertl_zZ
changed nick to: Bertl_oO
08:17
littlebobeep
left the channel
08:29
littlebobeep
joined the channel
08:42
littlebo1eep
joined the channel
08:43
littlebobeep
left the channel
09:02
littlebo1eep
left the channel
09:02
littlebobeep
joined the channel
09:07
littlebobeep
left the channel
09:07
littlebo1eep
joined the channel
09:15
monica44
joined the channel
09:16
monica44
left the channel
10:18
littlebo1eep
left the channel
10:20
littlebobeep
joined the channel
11:48
littlebobeep
left the channel
11:54
littlebobeep
joined the channel
13:34
littlebobeep
left the channel
13:42
littlebobeep
joined the channel
14:09
Spirit532
left the channel
14:09
Spirit532
joined the channel
14:11
littlebobeep
left the channel
14:18
littlebobeep
joined the channel
14:23
littlebobeep
left the channel
15:23
Spirit532
left the channel
15:23
Spirit532
joined the channel
17:00
se6astian
MEETING TIME, who is here?
17:00
vup
is here
17:00
vup
catching a meeting since quite some time
17:01
se6astian
hi vup, great, any news to report?
17:01
vup
a bit
17:01
se6astian
nice!
17:01
vup
this is not just from this week, but since I havent reported from meeting since some time:
17:01
vup
I have been working on improving the recorder a bit
17:02
vup
first, I looked into lossy, error bounded image compression, to use for example for the darkframe calibration frames
17:02
vup
I found sz3 to offer the best compression ration (while keeping the error bound constant)
17:03
vup
So I wrote some high level rust bindings for it: https://github.com/apertus-open-source-cinema/sz3-rs
17:03
vup
Furthermore, I worked a bit on the recorder.
17:03
vup
The recorder has always had a node graph based processing pipeline
17:04
vup
where nodes that performe single processing steps (like debayering, bitdepth conversion, displaying, reading a input file, etc) can be connected into a (directed) graph to create full processing chains (graphs)
17:05
se6astian
ah cool, screenshot?
17:05
vup
However the recorder could not make full usage of that architecture, because the cli interface only allowed to describe a single chain of processing nodes, meaning it was impossible to connect say a display node and a node that save output to the disk to the same input node
17:06
vup
I added a basic yaml based config format that now can describe arbitrary processing graphs
17:06
vup
For example: https://github.com/apertus-open-source-cinema/axiom-recorder/blob/b85e8a578b2da9d9997bd9a3f72eea8d36a1c945/darkframe.yml
17:07
vup
finally, to avoid work being one twice, I added a node that caches previously calculated frames
17:07
vup
furthermore I improved the average node to be able to calculate the per pixel variance aswell
17:09
se6astian
wow, so much progress!
17:09
vup
as for a screenshot, its hard to show whats done in a screenshot, but this shows 4 display nodes displaying the same input: https://f.coroot.de/2022-05-16%2016-48-05.mkv
17:10
vup
this was previously not possible
17:10
vup
I think this is basically it. Next up is integrating the sz3 compression and then actually capturing darkframes
17:12
se6astian
are you able to apply darkframes already?
17:12
se6astian
compensation
17:12
vup
no
17:13
vup
the main hurdle there would be a input format that actually carries the necessary metadata
17:13
vup
(ie gain and exposure time)
17:14
se6astian
could these parameters be set manually for now?
17:15
se6astian
which in a next step could be acquired/set through an SSH command that reads the necessary data from the camera
17:15
se6astian
uploaded above video to youtube for easier viewing: https://www.youtube.com/watch?v=phoot1YmpqM
17:16
vup
se6astian: sure thats a easy option
17:17
vup
I think the easiest option would be to support affine transformations in the lut3d node
17:18
vup
and just add a simple python script for now that creates a "3d lut" for a specific darkframe
17:18
vup
se6astian: do you know if you can create 3d luts that do affine transformations and not just linear?
17:19
vup
(i mean using "typical" 3d lut creation programs)
17:21
se6astian
"typical 3d lut" creation programs that I am aware of create creative color transformations
17:22
se6astian
for math defined specific 3d luts its probably easier to create a script?
17:22
se6astian
please elaborate on affine vs linear?
17:26
vup
well one property of linear transformations is that zero can only be transformed into zero
17:26
vup
affine means that you can also shift the value
17:26
vup
so zero can become nonzero after the transformation
17:27
se6astian
but any LUT can do that no?
17:27
vup
right
17:27
vup
I am stupid
17:27
vup
for some reason my head made LUT out to be a simple matrix transform
17:27
se6astian
<vup> I am stupid <- I highly doubt that but glad I could help :D
17:28
vup
hmm, ok, creating a simple darkframe compensation node that just subtracts a given darkframe is easy
17:28
se6astian
excellent!
17:28
se6astian
would a node that analyses effectiveness of a darkframe compensation also be an option?
17:29
vup
you mean, one that just calculates the sum of the image?
17:29
vup
(the sum of the pixel values)
17:29
vup
thats easy enough
17:29
vup
is outputting to the console good enough for now?
17:30
vup
I don't really know what a visually satisfying value for the resulting sum is though
17:31
se6astian
yes, a sum that tells how much noise remains from applying a darkframe to a single black image (or averaged number of images)
17:31
vup
well its composable
17:31
se6astian
maybe a percentage of remaining noise is a good single value?
17:31
vup
hmm how do you define the percentage?
17:31
vup
whats 100% remaining?
17:31
se6astian
and for that a console output is fine I guess
17:32
vup
(if you want it to analyze averaged frames, just put the average node in front of it)
17:32
se6astian
with raw2dng tool it looked like this:
17:32
se6astian
https://wiki.apertus.org/index.php?title=Factory_Calibration
17:32
se6astian
Average : 127.36 # about 128, OK <br />
17:32
se6astian
Pixel noise : 5.44 # this one is a bit high because we only corrected row and column offsets (it's OK) <br />
17:32
se6astian
Row noise : 2.30 (42.2%) # this one should be only dynamic row noise - see Method 3 below. <br />
17:32
se6astian
Col noise : 0.20 (3.8%) # this one is very small, that's what we need to check here
17:33
vup
hmm, I can look at how these values are calculated
17:36
se6astian
is it possible to visually define/connect nodes already or with the text description as in your screen capture video?
17:37
vup
currently its text only
17:38
vup
ok, I looked up how these values are calculated, we can easily reproduce that
17:39
se6astian
perfect
17:39
se6astian
right, text is fine, I hope I will find some time soon to try it and also document some things
17:39
se6astian
what are your planned next steps?
17:41
vup
as I said, integrating the sz3 compression and then capturing new darkframes
17:42
vup
after that, maybe adding some simple darkframes compensation / analysis nodes
17:42
se6astian
ah yes, great!
17:43
se6astian
very nice progress!
17:45
se6astian
anyone else who wants to report progress?
17:45
se6astian
Bertl already texted me he is occupied at the meeting today but also has nothing new to report
17:46
se6astian
from my side its mostly boring daily business unfortunately , package shipping, package receiving, preparing parts for hardware production, etc.
17:46
se6astian
PCBs have arrived so thats good
17:47
se6astian
still some parts inbound to belgium and Vienna ultimately
17:48
se6astian
right, anyone else?
17:49
se6astian
ok then, MEETING CONCLUDED!
17:49
se6astian
many thanks vup!
20:59
littlebobeep
joined the channel
21:20
littlebobeep
left the channel
21:36
littlebobeep
joined the channel
21:40
littlebobeep
left the channel
21:41
littlebobeep
joined the channel
21:55
littlebobeep
left the channel
21:58
littlebobeep
joined the channel
22:05
littlebobeep
left the channel
22:19
littlebobeep
joined the channel
00:30
littlebobeep
left the channel
00:51
littlebobeep
joined the channel