Current Server Time: 15:43 (Central Europe)

#apertus IRC Channel Logs

2022/05/30

Timezone: UTC


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