5
\$\begingroup\$

I was on an observation deck taking pictures of a city, it's an overcast day and the air is hazy. The pictures come out and looking at the histogram everything is bunched in the center.

enter image description here

enter image description here

The image represents what I saw with my eyes but I'd like to be able to tell the camera to capture as much data as possible, in other words if looking at that histogram I'd like to be able to tell it "use the sensor in such a way the range is from ~0.4 to ~0.8 as the entire range and expand it to fit. Not sure that makes any sense. Yes I have the raw image but still so much color resolution has been discarded already.

Is there a way to tell the camera to expand some smaller range up to the full range. Hopefully when reading the sensor (so i get the most data), not by interpolating digitally (where data is just made up, same and upping the contrast in Photoshop)

NOTE: I'm looking for way to get the camera to expand the signal (or interpret the signal) at the analog level, before it converts it to digital. Once the data is digital any expansion is just making up data (like digital zoom). I'm explicitly NOT looking for a digital solution.

\$\endgroup\$
2
  • \$\begingroup\$ If you want an analog solution, then use high contrast film. All data from a digital sensor must be processed before it is a viewable picture. Whether the conversion is done in camera or post camera to the RAW file data the effect is the same. Any decisions made before the WB, contrast, brightness, etc. are 'baked in' by the conversion to jpeg will not suffer any type of degradation analogous to using 'digital zoom', which is just another way of saying 'cropping and remapping'. \$\endgroup\$
    – Michael C
    Oct 13, 2013 at 17:39
  • \$\begingroup\$ By your definition, any digital image produced by demosaicing data from a Bayer filtered sensor (the overwhelming majority of all color digital cameras on the planet) is 'just making up data'. "Digital Zoom" isn't really zoom at all, it is just cropping and then possibly remapping to expand the resolution to a predetermined value. Just because "Digital Zoom" results in less detail compared to an image made using a longer focal length to begin with doesn't mean any type of "digital" processing necessarily has to! \$\endgroup\$
    – Michael C
    Oct 13, 2013 at 18:02

7 Answers 7

5
\$\begingroup\$

Given the heart of your question is to "Expand the analog signal in hardware", then what you really want is to increase the ISO setting. At ISO 100, a camera will record the image signal using the maximum available range. In a scene like you described, one that is naturally low in contrast, if your total sensor dynamic range is around 11 bits of data, when the scene only contains 4 bits, you'll end up with most of that information bunched up in one area or the other.

You effectively have a dynamic range problem, although one a bit different than what most photographers encounter: You have too much. For each stop of increase to ISO, dynamic range drops by approximately a factor of two. If you are using 1/2 of your available dynamic range at ISO 100, increasing ISO to 200 would reduce the useful dynamic range by a factor of two, in line with what you need. Similarly, if you are using 1/4 of your available dynamic range at ISO 100, increasing ISO to 400 would reduce the useful dynamic range by a factor of four, again in line with what you need.

This is because the camera changes the white point, or "saturation level", when you change ISO. Changing ISO does not increase the sensitivity of the camera, it is simply a change of instruction to the analog amplifier. If your camera's maximum per-pixel charge level (FWC, full well capacity) is 60,000 electrons, and a "saturated" charge of 60,000 electrons gets converted into a digital unit of 2^14 (16,384), increasing to ISO 200 means that the maximum allowed charge per pixel is 30,000. Now a "saturated" charge of 30,000 electrons is converted into DU 16,384. Similarly, increasing ISO to 400 means that a "saturated" charge of 15,000 electrons is converted into DU 16,384.

When you increase ISO, you have to adjust your exposure to compensate. You will have to "fit" the exposure into the available dynamic range. Increase ISO high enough, and your blacks will ultimately reach the noise floor, and your whites will begin to clip...you've effectively used your entire dynamic range, all in-camera, changing nothing but the analog amplification. It should be noted that at very high ISO settings, usually above ISO 1600 (although newer Canon cameras should be good up to ISO 6400) increasing ISO further results in a mix of per-pixel amp, downstream amp, and possibly even digital amp simultaneously.

\$\endgroup\$
14
  • \$\begingroup\$ Thank you for this technical explanation. This make sense. Would an ND filter and a longer exposure work? The ND filter would lower what the camera sees as black. Would that even help or would I just get the same picture but it took twice as long to make? Actually that makes no sense does it. I guess an ND filter (to bring the black down) and a higher ISO would expand the range but still only digitally. Ideally I'd need some kind of sensitivity control for the sensor rather than a divider setting (your explanation of ISO) which I guess doesn't exist. \$\endgroup\$
    – gman
    Oct 13, 2013 at 18:09
  • \$\begingroup\$ @gman You do realize that the increased ISO, and the resulting lower exposure level used to take the photo, will increase the noise in the image (a lower Signal to Noise Ratio)? The resulting noise reduction needed will degrade the final result in a similar way to the "Digital Zoom" you are obsessed with avoiding: it will reduce the amount of detail in the image. \$\endgroup\$
    – Michael C
    Oct 13, 2013 at 18:15
  • \$\begingroup\$ @MichaelClark: Not necessarily true RE noise. Noise is the consequence of less light, not because ISO was increased. So long as the same quantity of light is gathered during the exposure, noise should remain the same. Now, if shutter speed must shrink or aperture stop down to fit the exposure into the lesser dynamic range of a higher ISO, then yes, noise would likely increase...but that is ONLY if less light in total is gathered. If the real exposure (quantity of light over time) is the same, the noise will be the same. \$\endgroup\$
    – jrista
    Oct 13, 2013 at 19:20
  • 1
    \$\begingroup\$ To utilize the full range of DR with nothing but analog amplification, gman would most likely be required to increase ISO by several stops (800-1600), which would also likely force an increase in either shutter speed or aperture to darken the exposure and fit it within the available lesser DR, and that would result in more noise. \$\endgroup\$
    – jrista
    Oct 13, 2013 at 19:26
  • 1
    \$\begingroup\$ Sorry, but I think you are missing the OP's real problem. He did ask about expanding the range, but his real problem is that his scene had a significant offset on the black level. No amount of gain manipulation, which is really all that ISO settings and exporsure manipulate, can recover dynamic range lost to a black offset. That would require in-camera subtraction of the measured black level. I don't know of any cameras that have that capability. Put another way, without a offset adjustment, which cameras don't have, there will always be a gap to the left of the histogram. \$\endgroup\$ Oct 14, 2013 at 13:50
6
\$\begingroup\$

I don't think any common camera gives you that kind of control. Mine certainly doesn't.

The basic problem is that a strong bias level is added to black. Digital sensors are basically linear, so even if the picture is exposed so that the strongest highlight it just at the top end of the sensor's range, the bottom end of the range below the black offset won't be used.

I just analyzed your picture, and the black level is .363, .376, .406. As proof, here is your picture with that value used as the black level:

That wastes at most .4 of your sensor range, which is less than one bit of resolution.

The white level in your original is .852, .856, .910. That represents a small but reasonable unused sensor range at the high end. Here is your picture with both black and white expanded to the ends of the range:

Note that considering both the black and white ends of the range, you lost about 1 bit of sensor resolution. If you have a 14 bit sensor, for example, then this picture actually has 13 bits of brightness resolution. For a 12 bits sensor, you ended up with 11 bits.

Even just 11 bits is still plenty since most ways of displaying the image won't be good to any more than 8 bits or so. That leaves a factor of 8 (3 bits) resolution overhead for things like non-linear brightness adjustments and other effects you might want to add. The point is that loosing 1 bit from the maximum sensor range is perfectly fine and normal, is the kind of thing you should expect, and in the end isn't hurting your picture. You would end up with the same captured detail if the darkest parts of the picture were really black but you underexposed it by 1 f-stop. Again, 1 bit of dynamic range loss should be well within expectations and what you can deal with in your normal workflow.

\$\endgroup\$
2
  • \$\begingroup\$ Thanks for this answer. You're right, I only lost ~1 bit so there's plenty of range the RAW file. \$\endgroup\$
    – gman
    Oct 13, 2013 at 17:55
  • 1
    \$\begingroup\$ BTW, it should be spelled "losing", it's not "loose", after all. Tried to correct the spelling error but this site won't let me fix typos unless I change something more :( Helpful answer overall, though. \$\endgroup\$ Oct 14, 2013 at 8:40
1
\$\begingroup\$

In this situation you're dealing with light that is being scattered and it's that which reduces clarity and dynamic range. Applying a 'levels' type selection before the a/d conversion isn't going to give you radically different results than applying those same changes to a raw file.

Without post-processing to get the best image in-camera you'll need to look at filters. More specifically a Circular Polariser filter. This fits onto the front of your lens and you can adjust it to reduce the haze and get more dynamic range out of your scene. It won't completely eliminate it, but it is the only option that's going to have an impact without being something that couldn't be replicated in post-processing.

While not specific to your street scene, this Flickr image should give you a good demonstration of how a polariser cuts through noise.

There are 'UV / Haze' filters available but they're only really valuable for shooting film.

\$\endgroup\$
0
\$\begingroup\$

You would have much more control over the expansion if you saved the image as a RAW file and then did it in post with a RAW convertor such as the ones in Lightroom, Aperture, or your camera manufacturers proprietary RAW convertor. In camera, about the best you can do is increase the contrast quite a bit and maybe saturate the colors a little more than the default settings. Slightly underexposing might also help in hazy conditions, but I would only do this if I weren't planning on processing the RAW file later, as underexposing will also increase noise.

\$\endgroup\$
4
  • \$\begingroup\$ I think maybe I wasn't clear. I mentioned that I had the raw image. That's not what I'm looking for. I'm looking for way to get the camera to expand the signal (or interpret the signal) at the analog level, before it converts it to digital. \$\endgroup\$
    – gman
    Oct 12, 2013 at 21:04
  • \$\begingroup\$ You do realize that the signal is not even an image until it is converted from the analog electrical signals from each photosite to a matrix of digital values for the R, G, & B value for each pixel? A RAW file is essentially a digital record of electrical values, and must be digitally converted before the data even remotely represents an image. You can let the camera do that conversion based on a generic profile created to fit the widest number of potential use cases possible, or you can create a profile to fit the conditions of your image before the RAW data is converted to an image file. \$\endgroup\$
    – Michael C
    Oct 13, 2013 at 17:54
  • \$\begingroup\$ Yes, I realize that. I also realize that it's possible electronically to boost and expand signals in the analog domain so with the right circuitry it should be possible to decide which "range" of the analog I want to convert to digital. Maybe no cameras are designed that way but that's why I asked the question. \$\endgroup\$
    – gman
    Oct 13, 2013 at 19:14
  • 1
    \$\begingroup\$ Since the effect would be exactly the same as applying the modification when the signal is converted to digital, manufacturers have zero incentive to include such a feature. Boosting an analog electrical signal after it comes off the sensor by a factor of x is no different than changing the table that converts a specific voltage to a specific digital numerical value (what an ISO setting change does). To do what you desire at the analog level itself would require a different sensor design with lower native dynamic range sensitivity, which is exactly the opposite of what the market demands. \$\endgroup\$
    – Michael C
    Oct 13, 2013 at 19:32
0
\$\begingroup\$

You could test the different metering modes on your camera or do an exposure bracketing. You could also try a polarizing filter which should give you more contrast.

But also in photoshop I get a nice result with the "Auto Levels" function:

enter image description here

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Thanks for the answer but as I said I'm not trying to fix it digitally. I'm trying to fix it in the analog domain. I'll add that to my question to make it clearer \$\endgroup\$
    – gman
    Oct 13, 2013 at 10:42
  • \$\begingroup\$ @gman I gave you 3 options for the analog domain.. \$\endgroup\$
    – redreggae
    Oct 13, 2013 at 17:00
  • \$\begingroup\$ @gman Any picture taken with a standard Bayer pattern sensor is 'fixing it digitally' just to give you a color instead of monochrome image. If you don't want to 'fix it digitally', use film. But you misunderstand what digital processing does. It simply converts the RAW data from the sensor, where each pixel is a luminance level of grey filtered by either a red, green, or blue mask. Demosaicing takes this monochrome data and interpolates the colors from the differences between adjacent pixels based on the differences between the levels of the pixels filtered by green, by red, and by blue. \$\endgroup\$
    – Michael C
    Oct 13, 2013 at 17:48
  • \$\begingroup\$ @regreggae, you're right. Sorry. Exposure bracketing doesn't seem like an option since things are moving. I was using a polarizer at the time. I'm not sure how the metering modes help. Assume I'm on manual. \$\endgroup\$
    – gman
    Oct 13, 2013 at 18:03
0
\$\begingroup\$

  • Overexpose the image, then pull it back down in post.
  • Keep an eye on the histogram so you know you're not clipping the highlights.
  • This will decrease noise and increase detail captured in the shadows.
  • It will look flat, so increase contrast again to taste.

\$\endgroup\$
0
\$\begingroup\$

Usually cameras have settings to expand the dynamic range, not to reduce it. But you usually get the least dynamic range with the highest ISO setting of your camera (which is not useful because you lose useful bit depth due the added noise).

For that kind of pictures, you need a camera with low dynamic range and a high bit depth to be able to expand it minimising the loss of detail. Medium format cameras usually have a moderate dynamic range (about 12.5 EV) and very high colour depth (about 25bit), but you know the price...

In this particular case, you are pretty confined to post-processing; maybe try with a haze filter (that do not work very well or at all despite manufacturer's claims).

If you can control your environment, you can try blocking some of the light and using strobes.

For stationary subjects, you can shoot a bunch of pictures and then average results to get the minimum amount of noise and then you can expand the contrast with little loss.

\$\endgroup\$
2
  • \$\begingroup\$ Every digital camera I've seen has the highest dynamic range at native ISO. For most cameras this is either the lowest ISO level, or very near it. As the ISO level increases, the dynamic range is reduced because the white level is reduced so that half the electrical signal from the sensor is interpreted as full saturation for each stop of increased ISO. \$\endgroup\$
    – Michael C
    Oct 13, 2013 at 18:14
  • \$\begingroup\$ doh, you are right, I don't know what I was thinking... I'll fix it \$\endgroup\$
    – fortran
    Oct 14, 2013 at 12:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.