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

CHDKPTP - PC Remote Control Performance Analysis

  • 465 Replies
  • 98057 Views
*

Offline reyalp

  • ******
  • 13746
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #390 on: 07 / October / 2012, 22:14:09 »
Advertisements
Some newer cameras require an extra call for ISO overrides. Here's 1.1 builds for s90 with this implemented.

I'd if this works, I'd still like like confirmation that the previous one did or did not using just the overrides from the menu.
Don't forget what the H stands for.

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #391 on: 07 / October / 2012, 22:28:24 »
Quote "That's because there is no such function, only tv and av have _direct variants. If you did error checking, you'd know this. Please don't waste my time with nonsense like this."

http://chdk.wikia.com/wiki/CHDK_scripting#get_sv96
      "Returns the Speed Value (ISO, image sensor sensitivity) that the camera is set to in APEX96 units.
      Use in conjunction with set_sv96_direct (or set_sv96 if you must) described below."
I don't understand your meanness to me ... I'm trying my best to help for everyone.  This is what your documentation said so I tried everything possible to help, and also, so you would not accuse me of not trying something, and gave you the results.  I could not even find the usage syntax explained clearly for how con:execwait() works for example, where the con: object is etc, explanations of those functions, what syntax to use where, return values and so on, so I've been perusing code and taking guesses.  I don't even know how the global architecture of your entire system is organized.  If in there, well then it's probably scattered over several web pages.  Perhaps .. if you put all your web documentation together with some very simple basic but good examples into one big PDF with a top down view, then maybe it would be easier to search and lead to less confusion among users like me.  I know your CHDK creation is purely from the heart // benevolence // so it's only a suggestion.

The reason why I went through great lengths to figure out and document the sequence was exactly not to waste your time by creating informational voids.  Does the non-existence reality of this function you now declare justify addressing me in demeaning tone, even if I actually had made a mistake?  I am not your punching bag // there are gyms available for that.  I would appreciate it if we can keep our conversation civilized // thanks.

Quote "If ISO overrides don't work at all on this camera, that's definitely a problem. Can you please test this using ISO override from the CHDK menu ? "

Since I do not have direct access to CHDK menus on the 101a because it has no LCD and buttons, I could only do your procedure on the 100c.  I still had srsa's 1.2 special test version for the dumps he wanted on that one.  With v1.2, I was unable to get a bright exposure probably because the options in that menu choice are very different from v1.1.  Putting back in srsa's v1.1 test1, I can confirm I did get the bright exposure you expected according to your procedure.  However, connecting 100c to CHDKPTP I still get the same shoot -sv ISO override problem I described in my #2.  Next I tried your test version 2163 on the 100c, and the same behavior.

So yes, you have the expected result from your procedure, but, there is a problem with ISO override using shoot -sv.

Note: Just received your last message and will test shortly.
« Last Edit: 07 / October / 2012, 22:36:52 by SticK »

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #392 on: 07 / October / 2012, 22:36:28 »
Quote "Here's 1.1 builds for s90 with this implemented."

I'm working on this ... is there any way of getting CHDK menus to work from CHDKPTP?

« Last Edit: 07 / October / 2012, 22:38:34 by SticK »

*

Offline reyalp

  • ******
  • 13746
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #393 on: 07 / October / 2012, 22:52:24 »
Quote "That's because there is no such function, only tv and av have _direct variants. If you did error checking, you'd know this. Please don't waste my time with nonsense like this."

http://chdk.wikia.com/wiki/CHDK_scripting#get_sv96
I don't understand your meanness to me ... I'm trying my best to help for everyone.
Sorry, I didn't realize someone had put that in the wiki. I've corrected it there.

I didn't mean to be demeaning, my frustration is the the lack of basic debugging. If you don't notice a fatal runtime error in your code, then you are going to have difficulty doing useful diagnostics. In this particular case, the cause would be obvious if you wrapped
cli:execute('shoot ...
with
cli:print_status()
as is done for the rm and mdl commands.

Quote
Perhaps .. if you put all your web documentation together with some very simple basic but good examples into one big PDF with a top down view, then maybe it would be easier to search and lead to less confusion among users like me.
Unfortunately, I have not had time to document chdkptp beyond what is in the source code. That is on the TODO list, but is a lower priority until the APIs have stabilized a bit more. Many of the core functions are documented in the source, e.g. con:exec* is here http://trac.assembla.com/chdkptp/browser/trunk/lua/chdku.lua#L549

cli:execute also describes it's return values http://trac.assembla.com/chdkptp/browser/trunk/lua/cli.lua#L219

Quote
Putting back in srsa's v1.1 test1, I can confirm I did get the bright exposure you expected according to your procedure.  However, connecting 100c to CHDKPTP I still get the same shoot -sv ISO override problem I described in my #2.  Next I tried your test version 2163 on the 100c, and the same behavior.

So yes, you have the expected result from your procedure, but, there is a problem with ISO override using shoot -sv.

Note: Just received your last message and will test shortly.
If using the menu works, then my test version is unnecessary and the problem lies elsewhere.

Quote
I'm working on this ... is there any way of getting CHDK menus to work from CHDKPTP?
For the Nth time no, and fixing this requires substantial architectural changes in CHDK. Anyway, as described above, there's no need for my last test builds.

edit:
Have you tested the shoot -sv command with an iso less that 1600, e.g. 800 like I had you use in the menu ? Sometimes the higher ISO levels are handled differently in the Canon firmware.
« Last Edit: 07 / October / 2012, 22:56:54 by reyalp »
Don't forget what the H stands for.


*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #394 on: 07 / October / 2012, 23:29:05 »
Quote "For the Nth time no, and fixing this requires substantial architectural changes in CHDK."

N only equals 2.  // just being my persistent usual self.  ;)

Quote " Anyway, as described above, there's no need for my last test builds"

Hold your horses! // you got this right on the money // good job // attached. The 1st thumbnail is shoot -tv=1/4 -av=2 -sv=1600.  The 2nd is shoot -tv=1/4 -av=2 -sv=400.  Exposures are right.  Liveview still goes dark, but the override now works.  So this test version is like your A540 (and it seems to me you have srsa's image tearing fix in there too, right?).  What did you do?  Please explain in as much detail as your pen has ink.  I will explore this further over the next day or two to make sure there are no other caveats.

So then ..... do you want to hear from me a very emphatic "you're wrong"??  I have seen all too often how telling folks this absurdity stifles creativity and the quest for knowledge.   When I had kids, from the first moment, I made a very conscious pact with myself not ever to express this under any circumstance, even implicitly.  Instead, each and every time I could feel this way, I would back off and take the time to acknowledge their effort allowing them to express whatever it was they wanted with patience and detail, engage them, and only then by positivity (psychologists would call it "positive reinforcement" I suppose), fill in the empty holes: "Hmmmm, what you're saying is insightful because ... here's something to think about so you could see it in different way" in sense enabling their own discovery of an improvement or mistake.  Even my emergency "no" I replaced by "careful!"  When you have 6 year-old asking "moah moah daddy" over and over again for years, you know it will work in very long run.  It has succeeded with flying colors .. my older fella is acing university.  I wonder ... should we treat ourselves differently because we are adults?


*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #395 on: 08 / October / 2012, 00:19:40 »
Update for 2201 ISO Override Solution

I'm using the 101a did variations of this:
  > set ISO manually (CHDKPTP always with 101a) to a middle value, tried 400 and 800.
  > shoot -sv at 100, 200, 400, 800, 1600 and 3200.

So far  ... they all work Ok as expected, except 3200.  If I shoot -sv=3200 EXIF is correct and does report 3200, but photo exposure is at 1600.  It's as though there is a limiter in there that truncates at 1600.  Is that fixable?

edit:
Attached photos 583-589.  Photo 588 was shoot -sv=3200 and should be the same brightness as 589, which was done by manually setting ISO to 3200 and then saying shoot without -sv.  I noticed that despite M mode, (Auto) is reported on all the other exposures 100-1600, and not reported for the last image 589 only.  I hope this helps.
« Last Edit: 08 / October / 2012, 00:44:58 by SticK »

*

Offline reyalp

  • ******
  • 13746
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #396 on: 08 / October / 2012, 00:32:38 »
Hold your horses! // you got this right on the money // good job // attached. The 1st thumbnail is shoot -tv=1/4 -av=2 -sv=1600.  The 2nd is shoot -tv=1/4 -av=2 -sv=400.  Exposures are right.  Liveview still goes dark, but the override now works.
If your observation that the menu override worked on the old build is correct, then I'm pretty certain my build does not "fix" scripted overrides. They both use the same mechanism under the hood, so either there is some other variable at play, or one or more of the test results is in error.
Quote
What did you do?  Please explain in as much detail as your pen has ink.
Code: [Select]
--- D:/chdk/release-1_1/platform/s90/sub/100c/capt_seq.c (revision 2202)
+++ D:/chdk/release-1_1/platform/s90/sub/100c/capt_seq.c (working copy)
@@ -100,6 +100,7 @@
 "loc_FF87A2E0:\n"
         "B       loc_FF87A518\n"
 "loc_FF87A2E4:\n"
+        "BL shooting_expo_iso_override\n"      // added
         "BL      sub_FF87AB20\n"
  "BL      shooting_expo_param_override\n"  // +
         "BL      sub_FF877B70\n"
(by analogy to g12)

Quote
So then ..... do you want to hear from me a very emphatic "you're wrong"?? 
If it makes you feel better, have at it. ;)

At risk of further offense, one of the things that frustrates me most in this dialog is trying to extract the relevant information from your very wordy posts. I'm not interested in discussing psychology or answering questions I've answered already.
Don't forget what the H stands for.

*

Offline reyalp

  • ******
  • 13746
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #397 on: 08 / October / 2012, 00:40:11 »
So far  ... they all work Ok as expected, except 3200.  If I shoot -sv=3200 EXIF is correct and does report 3200, but photo exposure is at 1600.  It's as though there a limiter in there that truncates at 1600.  Is that fixable?

Sometimes the higher ISO levels are handled differently in the Canon firmware.
To elaborate, the highest ISO setting is frequently done in software in the Canon jpeg process. You can check if this is the case by comparing raws. I would test with with CHDK DNG, since Canon might do equivalent trickery in their raw software. CHDK override will probably not be able to set ISO values that behave this way.
Don't forget what the H stands for.


*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #398 on: 08 / October / 2012, 12:12:14 »
Quote "If your observation that the menu override worked on the old build is correct, then I'm pretty certain my build does not "fix" scripted overrides. They both use the same mechanism under the hood, so either there is some other variable at play, or one or more of the test results is in error."

This is very interesting.  For your test, on previous builds your on-camera procedure worked exactly as you predicted.  My own test results (the attachment with annotated -svs) is equally robust .. it worked immediately, and to be certain I tried it on both cameras.  So I can confirm both results are reliable.

My quote
  "What did you do?  Please explain in as much detail as your pen has ink."
Quote "Code: [Select]
...
(by analogy to g12)"

Clear as mud .. words, not (ARM?) assemby code ... you know I don't have clue about it.

Quote from: reyalp on Today at 07:52:24
    "Sometimes the higher ISO levels are handled differently in the Canon firmware.
Quote "To elaborate, the highest ISO setting is frequently done in software in the Canon jpeg process. You can check if this is the case by comparing raws. I would test with with CHDK DNG, since Canon might do equivalent trickery in their raw software. CHDK override will probably not be able to set ISO values that behave this way."

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.  For example, with uniform photon flux falling on a sensor surface, if you double the sensing area electrical noise increases as a function of the ratio of sqrt(2) of the respective noise levels, whereas, signal increases by 2.  The S90 does not have this "feature."  So at 3200, it is definitely using a gain control signal in its CCD variable gain amplifier ... in my opinion the S90 design is at the verge of solid state physics for room temperature operation, and is part of the many electronic design aspects that make this great camera.  This high ISO "feature" in other cameras has some relationship to "the more pixels the better" paradigm that has taken the general general public years to realize nothing is for free.  To be certain, I did all the tests you suggest here, and indeed they confirm my earlier engineering evaluation of this hardware: your DNGs and Canon CR2s are EXIF-tagged at 3200 but exposed at 1600, behaving like JPGs.  At shoot -sv values 1600 and lower, everything still works perfectly, so far.  To have access to this fabulous S90 high 3200 ISO via shoot -sv= will be very useful if you can think it through and find a way to enable it.  If possible, I would hugely appreciate it.  On another note, it is obvious to me your first explanation was insufficient and could have resulted in misguided perceptions.  Your elaboration was much better ... elaboration, thorough thought expression, and wordiness always helps, in my opinion // you can do it if you care to.  I believe my careful explanations helped you find a difficult problem which led you to one line of code that solved it.

AN IMPORTANT and INTERESTING DISCOVERY that may impact the CHDK Community

Your test above was planned for later but your request yesterday accelerated it.  It is known to most of us that Canon firmware corrects JPGs in many of its latest PowerShots to compensate for lens barrel distortion (straightens the curvatures in the photo).  This is an area where digital photography beats film photography hands-down.  It turns out that in the S90 (and likely in the S95) Canon native RAWs (CR2s) are also corrected.  Hence the conclusion is that Canon S90 native RAWs are not true RAW images.  This feature may help the average photographer, but carries with it the disadvantage that the original image space is re-mapped to another one, losing edge data. Worse, since pixels are moved around their values must be manipulated.  Thus the original 12-bit re-mapped pixel values cannot be reliable either.  In my lens-less application this is a very important consideration.  On the other hand, CHDK DNGs do not manipulate image data and are true RAW in this respect. The difference is dramatic // see Fig 1 (Canon native CR2) and Fig 2 (CHDK DNG).  There is more research that needs to be done // for example .. is full zoom on this lens (3.8x) enough for Canon disable the correction?  Because compression advantage of Canon native RAWs for transfer and PC disk storage efficiency ... could CHDK find a way to disable the correction??


*

Offline philmoz

  • *****
  • 3426
    • Photos
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #399 on: 08 / October / 2012, 15:03:16 »
AN IMPORTANT and INTERESTING DISCOVERY that may impact the CHDK Community

Your test above was planned for later but your request yesterday accelerated it.  It is known to most of us that Canon firmware corrects JPGs in many of its latest PowerShots to compensate for lens barrel distortion (straightens the curvatures in the photo).  This is an area where digital photography beats film photography hands-down.  It turns out that in the S90 (and likely in the S95) Canon native RAWs (CR2s) are also corrected.  Hence the conclusion is that Canon S90 native RAWs are not true RAW images.

Unlikely - in all cases I've seen the Canon native RAW image is not manipulated in the camera.

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.

Try downloading RawTherapee (Windows only) and opening the .CR2 file with that, instead of Photoshop.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

 

Related Topics