CanonHDRcap exposure determination

Here is one for Greg (of course):

How does CanonHDRcap determine the "minimum" exposure that is relevant for an HDR capture dataset?
where a min. % of pixels are "blown out" and then start marching up the exposure scale from there based on your spacing and # of shots. I'm sure this is an over-simplification of things, but I tried (in my "tethered-to-a-G5-tower-in-a-windowless-office" tests) to find that threshold of minimal % where the limits of my camera's shutter speed would be hit.

Since I'm stuck inside with my workstation, the "best and brightest" to focus on is a 22w halogen bulb on the ceiling track lights. It seemed that under certain "ideal" camera conditions (f/8, ISO 100) the "searching" would stop at 1/500 sec., regardless of the step amount for searching (and 1 stop search takes a while). If I shot additional images I could march down to 1/2500 sec. and still have nearly the same # of blown out pixels in the image (after that I started to resolve the bulb and reflector).

I then checked to see if the captured image resolution has anything to do with it (a strict # instead of %) and found no difference. When I tested it under tungsten bulbs, it started the series at the point where *no* pixels were blown out, but perhaps this is due to my camera settings and the dimmer bulb. Again, this is without a laptop to go out and sample some serious range, but I'm working on that...

BTW, I shot 13 HDRs in 2 hours, including a disappointing panorama of the dusty floor of my office (without being able to "lock" in the settings after a "search," multi-shot panos are impossible - the range keeps adjusting).

-Mark

···

From my observations it seems to "search" for the darkest exposure

Hi Mark,

I thought I had explained this at some point, but I guess not....

CanonHDRcap works as you surmised, but only looks at the image thumbnails, not the whole image (which would take too long). As a result, it doesn't always pick the right exposure to start with -- if your bright spot takes up less than a pixel in the thumbnail, it may choose a shutter speed that's slower than it should to start.

The application actually keeps the exposure right before the one that was blown out, so sometimes you can capture this by setting a *larger* search step. This also makes the capture sequence faster. You may end up with a bit of a jump between the shortest exposure and the next-longest, but you're more likely to capture that peak. I wouldn't recommend a search step greater than 4, in any case.

I could be persuaded to add a parameter for the starting shutter speed. If set to some positive value, CanonHDRcap would then start from the specified speed rather than doing its search.

-Greg

···

From: "Mark Banas (lists)" <[email protected]>
Date: February 2, 2006 7:08:41 PM PST

Here is one for Greg (of course):

How does CanonHDRcap determine the "minimum" exposure that is relevant for an HDR capture dataset?
From my observations it seems to "search" for the darkest exposure where a min. % of pixels are "blown out" and then start marching up the exposure scale from there based on your spacing and # of shots. I'm sure this is an over-simplification of things, but I tried (in my "tethered-to-a-G5-tower-in-a-windowless-office" tests) to find that threshold of minimal % where the limits of my camera's shutter speed would be hit.

Since I'm stuck inside with my workstation, the "best and brightest" to focus on is a 22w halogen bulb on the ceiling track lights. It seemed that under certain "ideal" camera conditions (f/8, ISO 100) the "searching" would stop at 1/500 sec., regardless of the step amount for searching (and 1 stop search takes a while). If I shot additional images I could march down to 1/2500 sec. and still have nearly the same # of blown out pixels in the image (after that I started to resolve the bulb and reflector).

I then checked to see if the captured image resolution has anything to do with it (a strict # instead of %) and found no difference. When I tested it under tungsten bulbs, it started the series at the point where *no* pixels were blown out, but perhaps this is due to my camera settings and the dimmer bulb. Again, this is without a laptop to go out and sample some serious range, but I'm working on that...

BTW, I shot 13 HDRs in 2 hours, including a disappointing panorama of the dusty floor of my office (without being able to "lock" in the settings after a "search," multi-shot panos are impossible - the range keeps adjusting).

-Mark

Hi Mark,

I thought I had explained this at some point, but I guess not....

Sorry, you explained it in your introductory post on this software... the problem would just be me not reading everything in the archives when I finally get the app up and running.

CanonHDRcap works as you surmised, but only looks at the image thumbnails, not the whole image (which would take too long). As a result, it doesn't always pick the right exposure to start with -- if your bright spot takes up less than a pixel in the thumbnail, it may choose a shutter speed that's slower than it should to start.

Hmmm... so is there any way in the Canon SDK for CanonHDRcap to look at the thumnails *without* transferring the full-res files from the camera over the USB/Firewire cable? For the ones it "keeps" it would simply be writing them to the CF card for later conversion to HDR. This would speed things up for those of us with the low-end cameras, but also for the high-end cameras that can knock out 8+ frames a second!

The application actually keeps the exposure right before the one that was blown out, so sometimes you can capture this by setting a *larger* search step. This also makes the capture sequence faster. You may end up with a bit of a jump between the shortest exposure and the next-longest, but you're more likely to capture that peak. I wouldn't recommend a search step greater than 4, in any case.

Okay, that explains the unusual HDRs produced from my experiments with 5 and 6 search steps! I was curious as to the 'jump" at the start of the series.

I could be persuaded to add a parameter for the starting shutter speed. If set to some positive value, CanonHDRcap would then start from the specified speed rather than doing its search.

That sounds great for those situations where the range is already "known" and repeatability is required (and I run into that all the time). Actually, what would be great would be for a way in the CanonHDRcap.out screen to have it pause at the end of a cycle and then accept a keystroke to either "repeat" the series of shots it just did with no searching (for multishot panoramas, stitched ultra-res images, or the off-axis shot of a mirrorball), or to "restart" the process (allowing time for on-camera adjustments like aperture, ISO, etc.).

And then it would also be great to let CanonHDRcap do its magic and find the best starting point and proceed up until it either hits the # of exposures specified, or a shutter speed specified as an "ending limit" (to avoid those 15 sec. exposures).

Of course, the basics are already there (and it works great so far) so really these are situation-specific requests. Thanks a lot for this, Greg. It really will be a time-saver!

-Mark

···

On Feb 2, 2006, at 10:30 PM, Greg Ward wrote:

Hi Mark,

From: "Mark Banas (lists)" <[email protected]>
Date: February 2, 2006 8:30:26 PM PST

CanonHDRcap works as you surmised, but only looks at the image thumbnails, not the whole image (which would take too long). As a result, it doesn't always pick the right exposure to start with -- if your bright spot takes up less than a pixel in the thumbnail, it may choose a shutter speed that's slower than it should to start.

Hmmm... so is there any way in the Canon SDK for CanonHDRcap to look at the thumnails *without* transferring the full-res files from the camera over the USB/Firewire cable? For the ones it "keeps" it would simply be writing them to the CF card for later conversion to HDR. This would speed things up for those of us with the low-end cameras, but also for the high-end cameras that can knock out 8+ frames a second!

Indeed, this is what I originally had in mind, but I scaled back my ambitions after a little quality time with the Canon SDK documentation. Saving to the card and downloading images later is a bit of a hassle, requiring figuring out rather a lot I don't currently understand... If I just left the images on the card, that would be one thing, but I need to download them for my application, and figuring out which images were saved, where, and how they were named, and doing all the associated file management is rather painful. Not having the images written to the card in the first place is a whole lot simpler, so that's what I did. I may get around to the more sophisticated method at some point, but don't hold your breath.

I could be persuaded to add a parameter for the starting shutter speed. If set to some positive value, CanonHDRcap would then start from the specified speed rather than doing its search.

That sounds great for those situations where the range is already "known" and repeatability is required (and I run into that all the time). Actually, what would be great would be for a way in the CanonHDRcap.out screen to have it pause at the end of a cycle and then accept a keystroke to either "repeat" the series of shots it just did with no searching (for multishot panoramas, stitched ultra-res images, or the off-axis shot of a mirrorball), or to "restart" the process (allowing time for on-camera adjustments like aperture, ISO, etc.).

Pausing for input with this stupid interface means using 100% of the CPU in a polling loop. (CodeWarrior and the Carbon library needed by the SDK are incorrigible on this point.) You can always run CanonHDRcap in auto mode first, check the exposures, then set the camera and put it in manual mode again (by setting the f-stop search step to 0). I just added this feature.

And then it would also be great to let CanonHDRcap do its magic and find the best starting point and proceed up until it either hits the # of exposures specified, or a shutter speed specified as an "ending limit" (to avoid those 15 sec. exposures).

Hmmm... I can give you the code, and you can do what you want to with it. I'm not quite so fussy, it seems.

Of course, the basics are already there (and it works great so far) so really these are situation-specific requests. Thanks a lot for this, Greg. It really will be a time-saver!

The new version with manual control over the starting point is now on my website. I've also made some enhancements to raw2hdr, which works for non-Canon cameras as well.

-Greg

P.S. The URL is still http://www.anyhere.com/gward/pickup/HDRcapOSX.tar.gz