CHDKPTP - PC Remote Control Performance Analysis - page 41 - RAW Shooting and Processing - CHDK Forum

CHDKPTP - PC Remote Control Performance Analysis

  • 465 Replies
  • 98055 Views
*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #400 on: 08 / October / 2012, 15:27:50 »
Advertisements
@philmoz
Thanks for the heads up.  I do use RawTherapee on the main instrumentation computer // I just used what I had ready available on the 100c testbed computer.  FYI, RT has a demosaicing bug relevant to crashing with overexposed (esp. all white) RAWs that I reported a month ago and they have accepted.  But I am pretty sure they haven't fixed it yet.

Quote "It's more likely the RAW converter software is either using a lens correction matrix stored in the .CR2 file, or has built in lens correction parameters for the camera."

Yes, to do it in FW would likely require too much computational cost/time.  What you are saying is somewhat possible since it is Canon Zoombrowser that decoded my CR2 and if it has built-in knowledge of the model, then yes // good point.  If however, your talking about a transformation matrix embedded in EXIF then unlikely because barrel correction is highly nonlinear and dependent on lens focal length ... a simple matrix wouldn't cut it.  I am investigating this thoroughly, will explore your suggestions and some ideas I have with RT, and will post results. 

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #401 on: 08 / October / 2012, 16:24:09 »
S90 Canon Barrel Correction

Here is the result attached.  Fig 1 shows a Canon native RAW in RT that demonstrates that barrel distortion is not done in the camera.  To extend the exploration, Fig 2 is the same file but JPG, as downloaded by CHDKPTP where the correction was applied prior to download. 

Hence the answer is that ZoomBrowser does the correction for native RAWs and the camera does the correction for JPGs.  Therefore Zoombrowser must know the camera model for correcting native RAWs.  From a PTP download, Fig 2 illustrates that JPGs are corrected in the camera. 

This is a good result for both my application (RAWTherapee use) and photographers using Zoombrowser and Digital Photo Professional.

*

Offline reyalp

  • ******
  • 13746
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #402 on: 08 / October / 2012, 16:50:53 »
Clear as mud .. words, not (ARM?) assemby code ... you know I don't have clue about it.
Well yes, but there really isn't another way to describe it. Phil discovered that some cameras didn't do override correctly without this extra call. (shooting_expo_param_override also does the ISO override along with the others). I added the extra call in the equivalent location to those cameras.

The thing to notice here is that this will affect all overrides equally, whether they come from script or menu (unless I'm missing some subtlety...)

Quote
I am almost certain you must be referring to the faked very high ISOs that they advertise in some cameras.  They do that by reducing resolution and binning pixels, in effect, summing the light flux over a larger sensing area.
No, I'm talking about something different. Many modern Canon cameras do have a binning mode, but this is (usually ?) exposed as a separate shooting mode ("high ISO", "ISO 3200" etc). It also forces reduced resolution. Not that you can't shoot CHDK raw/DNG in these modes at all, because the full raw buffer never exists.

What I'm talking about has been observed on older cameras, and does not affect the resolution of the final image. I don't know for sure whether it applies to more modern cameras or not.
Don't forget what the H stands for.

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #403 on: 08 / October / 2012, 20:10:25 »
Quote "The thing to notice here is that this will affect all overrides equally, whether they come from script or menu (unless I'm missing some subtlety...)"

Script is still working fine (other than 3200 which shoots at 1600).  The entire CHDK+CHDKPTP solution is shaping up very nicely.  For my application, script is the important one.  If you'd like me to test the on-camera functionality with the 100c, please give me a procedure as last time, and I'd be happy to contribute my test results to the forum.

Quote "but this is (usually ?) exposed as a separate shooting mode ("high ISO", "ISO 3200" etc). It also forces reduced resolution."

Agreed // jives with my explanation.  In the S90 case, it *is* a real 3200 VGA-controlled setting, and it would be great if you can enable script access to it.  Can you look at a solution?

edit:
Look at the difference here.  This is the liveview in a completely dark room where the only illumination is a dim screen facing away from the computer chassis.  I found the cut-off Tv and Av settings to be 0.5s and f2 where increasing Tv does not increase liveview brightness anymore.  Images have the same brightness difference // this camera is amazing.
« Last Edit: 08 / October / 2012, 20:37:09 by SticK »


*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #404 on: 08 / October / 2012, 22:54:51 »
Simple question ... Is there a way to programmatically turn OFF|ON the CHDK messages to the camera LCD?  Most have *** FINISHED *** flashing up on the OSD // I looked through conf.c but could not find anything obvious.

*

Offline reyalp

  • ******
  • 13746
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #405 on: 08 / October / 2012, 23:50:21 »
Look at the difference here.  This is the liveview in a completely dark room where the only illumination is a dim screen facing away from the computer chassis.
I don't understand what this is supposed to be showing. If you want to check for the thing I'm talking about, you need to compare raw pixel values. What the live view does is irrelevant.

Take a DNG at ISO 1600. Take another DNG at ISO 3200. Keep Tv and Av constant. Compare the histograms of the DNGs.

Quote
Script is still working fine (other than 3200 which shoots at 1600).
...
If you'd like me to test the on-camera functionality with the 100c, please give me a procedure as last time, and I'd be happy to contribute my test results to the forum.
 
I still don't see anyway the change in these test builds can behave different for script or menu overrides. What you've described appears impossible, I have no further testing suggestions.  Without some coherent results or explanation of the observed behavior, I will not be checking this change in.

Simple question ... Is there a way to programmatically turn OFF|ON the CHDK messages to the camera LCD?  Most have *** FINISHED *** flashing up on the OSD // I looked through conf.c but could not find anything obvious.
No.
Don't forget what the H stands for.

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #406 on: 09 / October / 2012, 01:07:18 »
Quote "Take a DNG at ISO 1600. Take another DNG at ISO 3200. Keep Tv and Av constant. Compare the histograms of the DNGs."

How do you want me to take this?  There are at least 3 ways:  1) Disconnect the camera, set Canon menus and shoot from the camera switch, 2) Connect to CHDKPTP, set the parameters from CHDKPTP and use the SHOOT button, 3) use shoot -sv= from CHDKPTP ....  What would you like?


Quote "I still don't see anyway the change in these test builds can behave different for script or menu overrides. What you've described appears impossible, I have no further testing suggestions.  Without some coherent results or explanation of the observed behavior, I will not be checking this change in."

Is this on-camera disconnected from CHDKPTP??  Of so, I have not tested menu overrides with this last test build and I don't how to do that.  Please give me a procedure for testing the menu overrides and I will do it// that's what I asked for.

*

Offline reyalp

  • ******
  • 13746
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #407 on: 09 / October / 2012, 02:02:01 »
Quote "Take a DNG at ISO 1600. Take another DNG at ISO 3200. Keep Tv and Av constant. Compare the histograms of the DNGs."

How do you want me to take this?
Not connected to PTP, using Canon controls only.
Quote
Of so, I have not tested menu overrides with this last test build and I don't how to do that.
If I understood correctly, you already tested overriding ISO from the CHDK "extra photo operations" menu in the old build, and said it worked correctly. You have also said that overrides from chdkptp did not work in the old build, but do work in the new one.

Since I have no idea how this could be possible, I don't have anything for you to test.
Don't forget what the H stands for.


*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #408 on: 09 / October / 2012, 11:44:42 »
Firmware: 2201-reyalp-test 1

TEST #1

Quote "Take a DNG at ISO 1600. Take another DNG at ISO 3200. Keep Tv and Av constant. Compare the histograms of the DNGs."
My quote: "How do you want me to take this?"
Quote "Not connected to PTP, using Canon controls only."

Results attached.  Exposures: 1/4s f4 -- ISO 400, 800, 1600 and 3200.  Fig 1 are the DNGs and Fig 2 are the parallel JPGs.  It is clear the 3200 JPG is +1EV over the 1600, but, 3200 DNG has the same EV as the 1600 DNG // the histograms are almost identical -- the answer to your question. 

The 3200 is very strange ... To say this -- I am trusting CHDK in that it grabs the same raw frame that Canon exposed (actually at electronic 1600) and delivers it to us *before* Canon gets the chance to manipulate pixel intensity levels to ?possibly fake? their 3200 // BIG question.  Is my perception of CHDK architecture on the right track?  If that's true, would then would you suppose the converse, that "true electronic ISO settings" only are applied by Canon from 80 to 1600 inclusive, and there is no such thing as a "true electronic ISO setting" of 3200 in this camera?  Hmmmmm.

What is your assessment of this?


TEST #2

FWIW, you didn't ask for it, but I repeated your procedure for this build:

Quote "Not connected to PTP, using Canon controls only.
0) Power on the camera, not plugged into usb.
1) In the canon menu, set ISO 100 and a select a Tv and Av that give you reasonable exposure
2) Take a shot
3) In the chdk "Extra photo operations" menu
3a) make sure "disable overrides" is "off"
3b) In "Override ISO Value", select 8
3c) in "Value factor" below "Override ISO value" select 100
4) leave the chdk menu and take a shot
5) Compare the exposure of the two shots. The second shot should be over exposed significantly."

... and it works the same as the old build.

MY CONCLUSION

For the S90, the line of code you put into this build is working with PTP ISO override while the previous builds ignore it (take the shot at the Canon set value and always change the internal ISO to 100 after the shot), despite that the observed result from TEST #2 works with both this build and previous builds.  FYI, this build also sets the internal ISO to 100 internal ISO still gets set to 100 after the shot, which I have to manually reset.  So there is a big improvement in performance with the new line of code.
« Last Edit: 09 / October / 2012, 14:46:40 by SticK »

*

Offline reyalp

  • ******
  • 13746
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #409 on: 09 / October / 2012, 17:08:00 »
What is your assessment of this?
This is exactly matches what I've been trying to describe for the last several pages. As far as the raw is concerned, the last stop of ISO is fake, and is done in the Canon jpeg process.

For the jpeg, it's not clear if this is just the moral equivalent of jacking up the brightness of an ISO1600 shot in photoshop, since Canon could handle the bit depth reduction from raw to jpeg differently at ISO3200.

As far as I know, CHDK overrides do not successfully set ISO values that fall into this category. It's unlikely much effort will be put into changing this.
Quote
I am trusting CHDK in that it grabs the same raw frame that Canon exposed (actually at electronic 1600) and delivers it to us *before* Canon gets the chance to manipulate pixel intensity levels to ?possibly fake? their 3200 // BIG question.  Is my perception of CHDK architecture on the right track?
We get the raw from a framebuffer that has the bayer data in it. This is assumed to be raw data from the sensor. This is after dark frame subtraction (if applicable) but before any other image processing that we know of. However you should keep in mind this is from a poorly understood reverse engineered system, so very little can be said with absolute certainty.

My best guess is that almost all of Canon's image processing (including this "fake" ISO) happens in the jpeg pipeline, and so is never applied to the raw buffer.

It would be mildly interesting to know what Canon raws do at these ISO levels, although I would guess their PC software does something similar to the in-camera jpeg process.
Quote
For the S90, the line of code you put into this build is working with PTP ISO override while the previous builds ignore it (take the shot at the Canon set value and always change the internal ISO to 100 after the shot), despite that the observed result from TEST #2 works with both this build and previous builds.
As far as I know, there is no practical difference between "PTP ISO override" and the CHDK menu ISO override, so I can only assume there is some other difference between the tests, or some observational error.
Don't forget what the H stands for.

 

Related Topics