00:51 | aombk2 | joined the channel | |
00:52 | aombk | left the channel | |
01:27 | Bertl_oO | off to bed now ... have a good one everyone!
| |
01:27 | Bertl_oO | changed nick to: Bertl_zZ
| |
02:16 | vup | hmm our darkframes seem to have a lot of (dynamic) column noise: https://files.niemo.de/darkframe_pdfs/darkframe_1x_4.990224.blob.single_frame_analysis.pdf
| |
02:16 | vup | (this is just the first 10 darkframes minus the average of 256 darkframes with that gain / exposure)
| |
02:16 | vup | does anybody have a idea why this might be the case?
| |
02:17 | vup | this column does does not seem to have occured in a1ex analysis...
| |
04:54 | aombk2 | left the channel | |
07:48 | se6astian | vup, interesting finding
| |
07:49 | se6astian | I will capture more darkframes on my beta soon to help verify the issue
| |
07:49 | se6astian | I have no immediate idea where it might be coming from
| |
09:47 | Bertl_zZ | changed nick to: Bertl
| |
09:47 | Bertl | morning folks!
| |
09:49 | Bertl | vup: could you average the columns and check the deviation from the mean? from the pictures it looks like each column receives a separate 'dynamic offset' here
| |
09:50 | Bertl | (i.e. would biasing the columns with the mean value eliminate the issue? how would the bias corrected result look like?)
| |
10:45 | mecrisp | left the channel | |
12:05 | illwieckz | left the channel | |
12:19 | illwieckz | joined the channel | |
14:37 | Bertl | off for now ... bbl
| |
14:37 | Bertl | changed nick to: Bertl_oO
| |
14:47 | vup | Bertl_oO: you mean substract the mean value of each column from the column values for each frame?
| |
14:48 | vup | yes that pretty much eliminates the offsets
| |
14:48 | vup | but how does one determine these offsets for an actual image that is not a darkframe?
| |
14:48 | vup | because the column mean over many frames is pretty much zero
| |
14:49 | vup | there are also some more interesting patterns
| |
14:50 | vup | if one groups the columns in steps of 32
| |
14:50 | vup | meaning the first group is column 0, 32, 64, etc, the second is 1, 33, 65, etc
| |
14:51 | vup | one get a pretty interesting image for the column means of the mean of many darkframes: https://files.niemo.de/darkframe_pdfs/column_wise_averages.png
| |
14:51 | vup | instead of being all over the place, like when plotting a line for columns, 0, 1, 2, 3, ...
| |
14:51 | vup | they follow a pretty smooth line, just all with different offsets
| |
14:53 | vup | finally the residual noise per column (what was visible in the pdf I linkend) also seems to follow some interesting patterns
| |
14:53 | vup | if again one groups the column in steps of 32
| |
14:54 | vup | then for example the column wise mean of the columns 0, 1, 2 is pretty similar. Again for 32, 33, 34, etc
| |
14:54 | vup | the column wise mean of columns 4, 5, 6 is again very similar, same for (4, 5, 6) + n * 32
| |
14:55 | vup | even more interesting is, that the column wise mean of columns 3 + n * 32 seems to be very similar to the mean of 0, 1, 2 and 4, 5, 6 (all + n * 32)
| |
14:56 | vup | for all columns this forms this pretty interesting symmetrical pattern: https://paste.niemo.de/raw/anihafahax
| |
15:04 | se6astian | very interesting
| |
15:04 | se6astian | might this be related to the 32 lvds channels we use to acquire data?
| |
15:08 | vup | yeah thats what I thought about aswell
| |
15:08 | vup | but it does not really match how the lvds channels work
| |
15:08 | vup | ie you get pixels 0 through 127 on channel one, 128 through 255 on channel two, etc
| |
15:09 | vup | my first throught was, that they maybe have all the analog readout stuff 32x times, multiplexed to 128 pixels each
| |
15:11 | se6astian | does this also mean it should be possible to compensate the coloumns effectively?
| |
15:11 | vup | well not sure yet really how to do it
| |
15:12 | vup | there are some interesting patterns one could maybe use to have some try at compensating it
| |
15:12 | vup | but in general, because it seems completely dynamic it will be pretty hard
| |
15:12 | vup | I am more wondering if we have some setting wrong in the sensor, because this column noise is not present at all in a1ex's experiments
| |
15:18 | se6astian | I see
| |
16:40 | aombk | joined the channel | |
16:53 | illwieckz | left the channel | |
17:07 | illwieckz | joined the channel | |
18:31 | Bertl_oO | vup: I have to look that up but what comes to mind is the top vs bottom read-out channels
| |
18:34 | Bertl_oO | it would probably be quite interesting to average over each pixel individually for a reasonably large number of dark frames and then put the mean as well as the std in some false color scale
| |
18:35 | vup | Bertl_oO: what does "a reasonably large number of dark frames" mean?
| |
18:35 | Bertl_oO | (pixel = pixel position (row, col))
| |
18:35 | Bertl_oO | maybe a 1000 or so
| |
18:35 | vup | hmm ok
| |
18:35 | vup | maybe anuejn or se6astian can capture a stack of 1024 darkframes
| |
18:36 | vup | I only have stacks of 255
| |
18:37 | Bertl_oO | we then should visualize it as 4096x3072 (or whatever the full resolution captured is) and also as 8192x1536 (i.e. where two rows are side by side)
| |
18:37 | vup | hmm would even and odd rows side by side be more interesting?
| |
18:37 | vup | as that would be the ones read of by top vs bottom
| |
18:38 | Bertl_oO | that's what I mean with 8192
| |
18:38 | vup | right ok
| |
18:38 | Bertl_oO | i.e. the first two rows are sent in one go
| |
18:38 | Bertl_oO | putting them in one long row should show the entire transfer in one line
| |
18:38 | vup | ah right and then if you have even rows beneath each other on the one side and odd ones on the other side
| |
18:39 | Bertl_oO | precisely
| |
18:41 | Bertl_oO | and also note: we should probably do that for more than one camera/sensor just to get a feeling how much this is a sensor/camera specific bias
| |
18:42 | Bertl_oO | I'll probably join the dark frame club with my setup next week ;)
| |
18:42 | Bertl_oO | (early next week that is, maybe even on the weekend ;)
| |
18:43 | vup | nice :)
| |
18:43 | vup | and yeah I fully agree re capturing multiple sensors
| |
18:43 | vup | there are already some pretty interesting differences I noticed between the sensor with anuejn and the one se6astian captured
| |
18:44 | vup | (for example the fft of the column means has the same general shape, but different peaks)
| |
18:55 | se6astian | will boot up the beta now
| |
19:15 | se6astian | sorry, was on the phone now
| |
19:15 | se6astian | so single exposure
| |
19:15 | se6astian | single gain
| |
19:15 | se6astian | 1024 instead of 255 frames
| |
19:16 | se6astian | file upload or analysis script execution locally?
| |
19:26 | se6astian | regarding sensor misconfiguration, I just checked some files
| |
19:26 | se6astian | as we had also not configured the sensor correctly when we got the beta hdmi up and running initially
| |
19:26 | se6astian | and ingmar was then so kind to figure out all the missing default values
| |
19:26 | se6astian | https://github.com/apertus-open-source-cinema/axiom-firmware/blob/main/software/scripts/axiom_ingmar.sh
| |
19:27 | se6astian | but those are now all moved to https://github.com/apertus-open-source-cinema/axiom-firmware/blob/main/software/scripts/axiom_cmv_init.sh
| |
19:27 | se6astian | just axiom_cmv_reg 107 is different
| |
19:27 | se6astian | need to read up why
| |
19:28 | se6astian | seems to be an undocmented register
| |
19:30 | se6astian | hmm, might be worth looking into to double check our current default is good
| |
19:30 | se6astian | as the datasheet says: "When you are running at a lower speed, register 107[13:7] has to be adjusted to keep the image
| |
19:30 | se6astian | quality good."
| |
19:31 | se6astian | and then a chart with CLK speed and register settings
| |
19:32 | se6astian | we currently run on the default, non adjusted value
| |
19:33 | se6astian | this section in the datasheet seems new
| |
19:38 | se6astian | we run at 250 MHz for the LVDS CLK correct?
| |
19:40 | se6astian | which gives me 10462 as correct value
| |
19:40 | se6astian | which is also what ingmar suggested
| |
19:40 | se6astian | this could influence image quality!
| |
19:41 | se6astian | pushed: https://github.com/apertus-open-source-cinema/axiom-firmware/commit/d773b7aa4cb77465f5b728ff243b488f4b2df890
| |
19:42 | Bertl_oO | yep 240-250MHz depending on the gateware version
| |
19:44 | se6astian | value seems also ok for 240 MHz
| |
19:45 | se6astian | as the graph has 50MHz steps basically
| |
19:53 | aombk | left the channel | |
19:55 | aombk | joined the channel | |
19:56 | se6astian | anuejn: please also make sure to change https://github.com/apertus-open-source-cinema/axiom-firmware/commit/d773b7aa4cb77465f5b728ff243b488f4b2df890 with your beta
| |
19:56 | se6astian | for new darkframe tests/captures
| |
20:31 | se6astian | also looked into ADC settings
| |
20:31 | se6astian | not 100% sure yet we cant use more options
| |
20:31 | se6astian | added https://github.com/apertus-open-source-cinema/axiom-firmware/issues/197
| |
20:32 | se6astian | setting register ADC_range_mult2 (reg 100) to x16 definitely works judging from the image on HDMI
| |
20:47 | se6astian | uploading new 1024 darkframe blob
| |
20:47 | se6astian | eta 1h
| |
21:01 | aombk | left the channel | |
21:51 | se6astian | vup: https://cloud.apertus.org/index.php/s/aJwdQ9BHQnm4k4p
|