| 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 |