23:11 | danhanes | left the channel | |
23:20 | sb0 | left the channel | |
23:37 | sb0 | joined the channel | |
23:38 | Bertl | troy_s: ping
| |
23:49 | sb0 | left the channel | |
23:51 | sb0 | joined the channel | |
00:35 | gwelkind | joined the channel | |
00:40 | troy_s | Bertl: Greets Bertl you in?
| |
00:40 | troy_s | Bertl: Just did some profiling here at home to test the general RGBs... and it is entirely consistent with my estimations. (I also have a DE 1.3 here on a pretty lame ass flash shot)
| |
00:40 | troy_s | (Which is ... well a little better than we are getting with the default curves coming out of the CMV12000)
| |
00:42 | gwelkind | left the channel | |
00:56 | gwelkind | joined the channel | |
01:13 | Bertl | okay?
| |
01:14 | Bertl | guess I I'm off to bed ... pretty tired, seems I almost fell asleep
| |
01:14 | Bertl | let's postpone this a little ...
| |
01:30 | gwelkind | left the channel | |
01:35 | gwelkind | joined the channel | |
01:56 | gwelkind | left the channel | |
02:42 | troy_s | Bertl: Ping me when you awake Herb.
| |
03:16 | gwelkind | joined the channel | |
04:31 | sb0 | left the channel | |
04:41 | gwelkind | left the channel | |
06:48 | jerknextdoor | left the channel | |
08:29 | jucar | left the channel | |
08:50 | jucar | joined the channel | |
09:01 | jucar1 | joined the channel | |
09:04 | jucar | left the channel | |
09:44 | jucar1 | left the channel | |
11:44 | intracube | left the channel | |
12:57 | Bertl | morning folks!
| |
12:57 | Bertl | troy_s: ping
| |
13:12 | ThatCantBe | left the channel | |
14:09 | se6astian | joined the channel | |
14:09 | se6astian | good afternoon
| |
14:12 | Bertl | afternoon!
| |
16:00 | jucar | joined the channel | |
16:24 | ThatCantBe | joined the channel | |
16:47 | troy_s | Bertl: Greets!
| |
16:47 | troy_s | (wow our time zones are apart)
| |
16:49 | Bertl | at the moment, yes
| |
16:50 | troy_s | How goes the fight Bertl
| |
16:52 | Bertl | no fight today :)
| |
16:55 | troy_s | Bertl: Rest is for the weak!
| |
16:56 | troy_s | Bertl: Did you manage to tweak the offsets to get the blasted sensor to be more continuous?
| |
16:57 | Bertl | as I wrote, it looks fine to me if you are not at the lower or upper limits where clipping happens
| |
16:58 | Bertl | I think the main problem is that it doesn't seem to be easy/simple to adjust it in such a way that the entire 12bit range is covered
| |
16:59 | troy_s | Bertl: The upper limits? Uh that GS strip is only a couple of stops.
| |
16:59 | troy_s | Bertl: It is well out of whack.
| |
16:59 | troy_s | Bertl: As is evidenced by the error ratios.
| |
16:59 | Bertl | the range is 12bit, but with the default settings, the 'linear' range only covers like 10-11bit
| |
17:00 | troy_s | Bertl: Those errors shouldn't be nearly that high.
| |
17:00 | troy_s | Bertl: Even closer to middle ranges is whack. I am not sure why.
| |
17:00 | Bertl | i.e. the channels converge around 100-150 and they top around 2500-3000
| |
17:01 | Bertl | each channel is a little different, each column also because of the FPN
| |
17:01 | troy_s | Bertl: If that is "the best it can do" with rainbowing on the GS strips at 70% RGB, it is done.
| |
17:01 | troy_s | Bertl: I cannot think for a moment a single imager will find it tolerable.
| |
17:02 | Bertl | as long as you stay in a middle ray, let's say, 500-2500 the channels look fine, linear and consistent
| |
17:02 | Bertl | s/ray/range/
| |
17:02 | troy_s | Bertl: This is a cinema camera. To ask shooters to stay below 70RGB is uh...
| |
17:02 | troy_s | Bertl: And I am not at all certain it is behaving correctly.
| |
17:03 | Bertl | I'm not convinced yet that this sensor is the best choice, it also isn't the only one we are considering
| |
17:03 | troy_s | Bertl: Again, why on earth is the red photosite at equal to green in D60?!
| |
17:03 | Bertl | but the actual 'range' doesn't matter that much
| |
17:03 | troy_s | Bertl: So you do not think there is the chance of a setting or configuration issue?
| |
17:04 | troy_s | Bertl: Explain?
| |
17:04 | Bertl | everything is possible, we do not have much support from cmosis
| |
17:04 | troy_s | Bertl: Yes. Not surprising.
| |
17:04 | Bertl | but for now, I'm going to simplify the calibration part, or at least try to :)
| |
17:05 | troy_s | I really wonder about that red response. I mean I completely can see the double hum non narrow response of the filter.
| |
17:05 | troy_s | Bertl: You will likely fail. Not easy to "remove" colors.
| |
17:05 | Bertl | not planning to remove anything :)
| |
17:05 | troy_s | Bertl: You can try a colorchecker.
| |
17:06 | troy_s | Bertl: Just going to hide the warts?
| |
17:06 | Bertl | but as first step, I'll eliminate the illumination from the equation
| |
17:06 | troy_s | My larger concern is that the sensor cannot deliver a matrix with a smaller error than about 9, no matter how it has tried.
| |
17:06 | Bertl | doesn't need to be a matrix
| |
17:06 | troy_s | I know this
| |
17:06 | Bertl | we have many options there
| |
17:07 | troy_s | But that is symptomatic.
| |
17:07 | troy_s | Even junky attempts should deliver a matrix.
| |
17:07 | Bertl | I blame the calibration process
| |
17:07 | troy_s | Example: I did a _quickie_ flash shot and got de 1.4 (de2k)
| |
17:07 | troy_s | How so?
| |
17:07 | troy_s | You can look at those strips Bertl
| |
17:08 | troy_s | achromatic strips with rainbow firing
| |
17:08 | troy_s | Sensor is behaving exceptionally poorly.
| |
17:08 | Bertl | because it doesn't account for the to-be-corrected effects currently plaquing the calibration attempts
| |
17:08 | troy_s | What is going to be corrected exactly?
| |
17:09 | troy_s | Is that GS strip going to be homogenous?
| |
17:09 | Bertl | first, we have to make sure to only use the 'linear' range (i.e. not the areas where the clipping happens)
| |
17:10 | troy_s | So tell me why every other sensor ever profiled has never had these constraints?
| |
17:10 | Bertl | it doesn't matter what the actual range there is, as long as it is consistent
| |
17:10 | Bertl | which sensor have you calibrated yet?
| |
17:10 | Bertl | I mean, starting with real raw data
| |
17:10 | troy_s | Normally you can push white achromatic patches to 94+ RGB
| |
17:10 | Bertl | not the preprocessed data called 'raw'
| |
17:10 | troy_s | You can process any DSLR with real raw data.
| |
17:10 | Bertl | show me
| |
17:11 | troy_s | They all start raw Bertl. dcraw peels off the bayer
| |
17:11 | troy_s | using AHD or VNG.
| |
17:11 | Bertl | those are already pre processed
| |
17:11 | troy_s | So again
| |
17:11 | Bertl | i.e. not the data acquired from the sensor
| |
17:11 | troy_s | if you are suggesting pre-processing
| |
17:11 | troy_s | What precisely do you propose to pre-process that signal?
| |
17:11 | troy_s | You intend to clamp the sensor range?
| |
17:12 | troy_s | (asking so I can understand)
| |
17:12 | Bertl | first, noise correction (we are already able to do that, it's just not properly calibrated)
| |
17:12 | troy_s | (But again, from what I see, if the raw output is symptomatic of the full latitude, you would have to very much constrict that pipe.)
| |
17:12 | Bertl | then range clipping and stretching (can be 11 or 10 bit)
| |
17:12 | troy_s | Ok
| |
17:12 | troy_s | I understand then.
| |
17:12 | Bertl | maybe we can figure out how to do that in the sensor properly
| |
17:13 | troy_s | Yes.
| |
17:13 | Bertl | then maybe (we have to check that) linearity corrections
| |
17:13 | troy_s | Yes.
| |
17:13 | Bertl | if there is some kind of subtle non linearity
| |
17:13 | troy_s | Is there a place for linearity corrections?
| |
17:13 | Bertl | we can do that with a LUT
| |
17:13 | troy_s | It seems there might be a chance from the curves I looked at.
| |
17:13 | Bertl | (per channel or one in general, we'll see)
| |
17:14 | troy_s | The curves fan out quite smoothly
| |
17:14 | Bertl | after that, it's the 'normal' matrix ICC
| |
17:14 | troy_s | which probably exacerbates the edges badly
| |
17:14 | Bertl | i.e. the data you get from a DLSR as raw
| |
17:14 | troy_s | So... is there a way to offset the individual sensels?
| |
17:14 | Bertl | not in the sensor, but we already do that in the FPN corrections
| |
17:15 | Bertl | we can also do that in a separate LUT if we want
| |
17:15 | troy_s | (was thinking it might be an interesting thing if it can twiddle the second green sensor for HDR - undergain it ex)
| |
17:15 | troy_s | So perhaps we should peel apart the gamma response tables and try one of them?
| |
17:16 | troy_s | (Namely to drag that red way the hell down)
| |
17:17 | Bertl | as cmosis obviously isn't doing their homework, we have to do that if we want to use the sensor
| |
17:17 | troy_s | Bertl: Possible to scale the channel down and offset?
| |
17:17 | troy_s | It would probably greatly crunch that irregularity
| |
17:17 | Bertl | with a 12->16 LUT per channel you can go crazy
| |
17:18 | Bertl | and that is easy to do in the FPGA
| |
17:18 | troy_s | Ok. Well I guess will need to think on it.
| |
17:18 | troy_s | Muck with this data and see if there is a way to massage some reasonable values.
| |
17:19 | Bertl | so in general, I'd stay away from saturation and underexposure
| |
17:19 | Bertl | mostly because both ends will give strange (non linear) results
| |
17:19 | Bertl | mostly because one channel saturates before the other
| |
17:19 | troy_s | and over
| |
17:20 | troy_s | only middle grey zone seems close
| |
17:20 | Bertl | yes, that's what I mean
| |
17:21 | troy_s | Bertl: Will be interesting to see how you work at it.
| |
17:21 | troy_s | Bertl: One would think the sensor would allow for channel swizzing at some damn level.
| |
17:22 | Bertl | have to try a few things, but I have a number of ideas
| |
17:22 | troy_s | Okie. Keep me in the loop.
| |
17:22 | Bertl | will do
| |
17:28 | sb0 | joined the channel | |
17:33 | troy_s | Bertl: I don't think many commercial sensors do clips as far as I have seen. Can deduce it from the highlight reconstruction etc.
| |
17:33 | troy_s | (the techniques to balance the areas that the sensels are full in a single channel)
| |
17:34 | troy_s | Bertl: We could do a LUT.
| |
17:34 | troy_s | Bertl: If you can install it. See if it makes a difference.
| |
17:35 | troy_s | (push the values to a threshold - not fully "corrected" but rather just enough to achieve linearity in the channels)
| |
17:41 | Bertl | I don't think you would know (if the sensor does or not)
| |
17:42 | Bertl | if 'black' is mapped to 0 and 'white' is mapped to max, how to tell if it was clipped/scaled or not?
| |
17:44 | troy_s | I would expect to see some degredation in the ranges.
| |
17:45 | Bertl | okay, how many bit does the DSLR raw give you?
| |
17:45 | troy_s | (Likely as irregular gradation)
| |
17:45 | troy_s | Bertl: Dumps same as what you dump.
| |
17:45 | Bertl | so 12bit, yes?
| |
17:45 | troy_s | 12 bit in 16 wrappers normally
| |
17:46 | troy_s | (I am sure there are exceptions, but ballpark guess)
| |
17:46 | Bertl | okay, so let's assume that we can use 11 of the 12bit, half the range
| |
17:46 | troy_s | I am very interested to see where the linearity skew happens worst
| |
17:46 | Bertl | we still have information for interpolating brigtness across the sensels
| |
17:46 | troy_s | How to calculate that is tricky.
| |
17:47 | troy_s | yes
| |
17:47 | troy_s | true
| |
17:47 | Bertl | which will give us roughly one bit
| |
17:47 | troy_s | Can you truncate the red?
| |
17:47 | troy_s | Actually, I would be interested to see what happens if you only clip the red bit.
| |
17:48 | Bertl | sure, will take a little to add (code wise) and to test though
| |
17:48 | troy_s | I am sure I can give you an easy "shoot until this value is xxx"
| |
17:48 | troy_s | in fact, I would very much love to see you do a series of tests with the older chart and plot them
| |
17:49 | troy_s | With that Bertl magic
| |
17:49 | troy_s | (like the data charts you made earlier)
| |
17:49 | troy_s | it might help to diagnose the most surgical adjustments
| |
17:49 | Bertl | I'm not sure I want to spend much more time on the chart at this stage
| |
17:50 | Bertl | for one thing, as I wrote, I want to eliminate the illumination problem from the equation
| |
17:50 | troy_s | I might be WAY off course, but my gut is telling me that the red is the biggest culprit at the moment. Just scaling back its sensitivity somehow.
| |
17:50 | troy_s | The evenness?
| |
17:51 | troy_s | Or the skewed linearity portions?
| |
17:51 | Bertl | all of it, eveness, color temperature, etc
| |
17:51 | troy_s | How to accomplish that though?
| |
17:51 | Bertl | I think I can do perfectly fine calibration just with physics
| |
17:52 | troy_s | How?
| |
17:53 | troy_s | Bertl: Non narrow filters.
| |
17:53 | troy_s | Bertl: Nigh on impossible, but you are welcome to give it a kick at the can. LOL.
| |
17:53 | Bertl | first, we need a light source of known wavelength, more precisely several of them
| |
17:54 | troy_s | The issue is the sensor is not firing in a homgeneous fashion.
| |
17:54 | troy_s | All of the massaging is already happening.
| |
17:54 | troy_s | Argyll (or any other calibration system) bends and warps like mad.
| |
17:55 | Bertl | yes, but that's exactly what we do not want
| |
17:55 | troy_s | Color isn't all physical nor all psychological - psychophysical.
| |
17:55 | troy_s | It is.
| |
17:55 | troy_s | Because you are dealing with the standard observer. You cannot escape that.
| |
17:55 | Bertl | agreed, but at the sensor level, it's just physics
| |
17:55 | Bertl | i.e. no observer but the sensor itself
| |
17:56 | troy_s | Yes, but that portion of physics isn't all pure physics.
| |
17:56 | Bertl | an that's exactly what we want to measure first
| |
17:56 | troy_s | You cannot generate color purely in the physics domain.
| |
17:56 | Bertl | not talking color, just talking wavelength :)
| |
17:56 | troy_s | Ugh.
| |
17:57 | troy_s | All of this stuff has been rehashed over and over for many years now.
| |
17:57 | Bertl | note: I'm not trying to calibrate the color
| |
17:57 | troy_s | Seems like reinventing the wheel to work around and back to the same issue.
| |
17:57 | troy_s | Sure.
| |
17:58 | Bertl | that is something we can do once we know the sensor range/behaviour with the mechanisms we already have
| |
17:58 | Bertl | like argyll and friends
| |
17:58 | troy_s | That is sort of what I was suggesting - tweak the knobs based on data.
| |
17:59 | troy_s | If you chart how that sensor responds, you can dial it in with a decent dataset.
| |
17:59 | troy_s | Should be obvious where the issue appears.
| |
17:59 | troy_s | I mean it doesn't take Mr
| |
17:59 | troy_s | Mr. Fairchild to look at the results and see roughly where badness is ensuing.
| |
18:00 | troy_s | Heck, you can probably see the error shooting just a grey card.
| |
18:00 | troy_s | (at various exposures)
| |
18:01 | troy_s | And seeing how the curves from the channels unfold (likely R then G then B)
| |
18:04 | intracube_ | joined the channel | |
18:05 | troy_s | greets intracube_
| |
18:07 | intracube_ | hey troy_s, hows things?
| |
18:07 | intracube_ | changed nick to: intracube
| |
18:07 | troy_s | Holding.
| |
18:08 | troy_s | Bertl: There is _no_ disclosed gain controls on the channels at all eh?
| |
18:08 | troy_s | (Other than on a global level)
| |
18:08 | Bertl | there is gain, but not per channel
| |
18:09 | Bertl | you can check yourself, the datasheet is on github IIRC
| |
18:09 | troy_s | Bertl: There must be undocumented interfaces to that thing eh?
| |
18:10 | Bertl | undocumented = we don't know about
| |
18:10 | troy_s | Bertl: Abd out of curiosity, has undergaining been tried?
| |
18:10 | troy_s | (I know, was asking for specultation if you think that would be common)
| |
18:11 | Bertl | I think there is a lot of hidden knobs and switches
| |
18:12 | Bertl | you can see that by comparing different datasheet version
| |
18:12 | Bertl | *versions
| |
18:12 | Bertl | for example there is no mentioning of the test pattern in older data sheets
| |
18:12 | Bertl | and suddenly *bam* there is a test pattern :)
| |
18:18 | troy_s | Hrm. I wonder what they would do if you voiced a concern over the response for color.
| |
18:18 | troy_s | They might listen to you Bertl.
| |
18:19 | Bertl | we will try to improve the connection, but as I said, the sensor itself is just one of many
| |
18:20 | Bertl | of course, it would be a shame to just have wasted a lot of time on figuring out sensor details, but that's life
| |
18:21 | Bertl | anyway, nothing decided yet, and we'll know more soon
| |
18:21 | intracube | troy_s: holding?
| |
18:46 | gwelkind | joined the channel | |
18:57 | gwelkind | left the channel | |
19:29 | danieel | Bertl: how precisely you can set exposure time?
| |
19:29 | danieel | i was thinking if you can make a graph how values rise depending on time (should be linear)
| |
19:31 | Bertl | roughly in 10us steps
| |
19:38 | gwelkind | joined the channel | |
19:44 | Bertl | yes and no (regarding linearity) it gives a good approximation in the typical range (i.e. 1ms - 1000ms) outside the exposure will become nonlinear because auf noise and decay
| |
19:58 | gwelkind | left the channel | |
20:19 | danieel | i would wonder if you get a 4K BMCC and tap the sensor's spi if you discover access to undocumented registers
| |
20:20 | gwelkind | joined the channel | |
20:20 | Bertl | there are 128 registers, so it's not a problem to 'discover' undocumented ones
| |
20:20 | danieel | (i did a 5.5 fhd lcd interface, and it did not worked according to datasheet, so I borrowed a competitive interface and tapped it... no surprise there - different data were used! )
| |
20:20 | Bertl | I don't think that they actively hide registers though
| |
20:21 | danieel | not hide, just enable bits which are not documented
| |
20:21 | danieel | or do you have the map of all 128x16 ?
| |
20:21 | Bertl | no, we do not know what each bit does
| |
20:22 | danieel | i would assume writing 1's to undocumented shall make one suspecting
| |
20:22 | Bertl | but logging SPI traffic won't help there, just narrow down the search space
| |
20:38 | intracube | left the channel | |
21:07 | se6astian | time for bed
| |
21:07 | se6astian | good night!
| |
21:07 | se6astian | left the channel |