Author Topic: Realtime Histogram  (Read 488 times)

garry23

  • Contributor
  • Hero Member
  • *****
  • Posts: 1772
Realtime Histogram
« on: July 06, 2019, 06:23:47 AM »
We are beginning to see new functionality in cameras that seems to hint at new/additional ML features.

One that got my attention is the Olympus OM-D EM1 Mk II, which shows a histogram of the realtime development of a LE image. For example
My 'obvious' question is: with the power of ML and the inginuity of the developers, could ML deliver a similar functionality?

Even if it was not continuous, it would be a game changer to show the histogram at discrete time points in the LE.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12280
  • Emergencies only
Re: Realtime Histogram
« Reply #1 on: July 06, 2019, 08:42:23 AM »
My previous answer was affirmative; however, after some extra thought, it no longer makes sense to me, and here's why.

First, you cannot interrupt an image capture process in the middle, in order to see its (partial) histogram. You can see the histogram in advance (maybe on some test pictures taken at higher ISO / shorter exposure time), or after capturing the entire long exposure, but not in the middle.

What you can do is to capture many frames (for example, 1-second exposures) and stack them in the camera. You could, of course, display a real-time histogram of the stacked image. But - if you do the stacking correctly (without clipping highlights), the histogram of the stacked image will be pretty much the histogram of one single frame (besides noise and unexpected subjects appearing in the frame).

So, the actual request would be... in-camera image stacking. It's doable and only requires manpower.

However, you can stack the images in post-processing. For example, record a full-res LiveView video on your 5D3 (with the crop_rec_4k builds), set the frame rate and exposure time to something close to 1 FPS, et voilà - you've got a long exposure movie. You can already average it with mlv_dump (or other tools, if you prefer). Main disadvantage: lots of storage for one single picture.

garry23

  • Contributor
  • Hero Member
  • *****
  • Posts: 1772
Re: Realtime Histogram
« Reply #2 on: July 06, 2019, 08:58:57 AM »
@a1ex

Apologies for wasting your time.

I should have searched first  >:(

Already do the LE post stacking ‘trick’, ie when I don’t have the right ND with me.

Cheers

Garry

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12280
  • Emergencies only
Re: Realtime Histogram
« Reply #3 on: July 06, 2019, 09:11:55 AM »
What makes sense, in this case, is the real-time preview of the stacked image. This one is doable, and the previous answer is still valid.

Only the "growing histogram" (i.e. displaying the image with progressive brightness) doesn't make much sense to me. I'd rather display the result of the image stacking, at each intermediate step, with the same brightness. You want to know when to stop the exposure, based on the motion of the subjects (i.e. clouds, water, people and so on), right?

garry23

  • Contributor
  • Hero Member
  • *****
  • Posts: 1772
Re: Realtime Histogram
« Reply #4 on: July 06, 2019, 09:30:23 AM »
@a1ex

My use case, ie see a real-time histogram ‘develop’.

Thus, if the crop 4_k build had this, it would be great for the non-video shooters like me, ie a frame+frame integrated view.

Maybe this feature could ‘just’ be limited for LE use?

BTW. I’ve only experimented with the stacking route via scripting and timelapse.

I’m on travel at the moment, but on my return I’m going to try the video route with mlv_dump.

Cheers

Garry

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12280
  • Emergencies only
Re: Realtime Histogram
« Reply #5 on: July 06, 2019, 09:54:58 AM »
If you would look at the raw histogram of a "progressive" exposure, you would see the histogram of the first sub-frame, being translated to the right (and some barely-noticeable refinements). What's the purpose?

With a proper image stacking algorithm, you could expose the same daylight scene for a split-second (one LiveView frame) or for a few hours (thousands of stacked frames), resulting an image with exactly the same brightness. The differences will be in the motion blur (obviously) and in the noise (lower as you keep stacking new frames). The clipping point of the final output is not going to change, as a "growing" histogram might suggest (unless the scene changes suddenly, e.g. you point a flashlight towards the camera).

Sorry, I don't see a purpose (other than "it looks cool" and maybe "marketing") for the "growing" histogram. OK, you may want to use this histogram to know when to stop the exposure:

- When the image starts to become overexposed? You would know that from the very first frame. A growing histogram will be misleading in this case - the overexposure of the final output is not going to change as you keep adding identically exposed frames from the same (mostly static) scene.

- When the image is "clean" enough (i.e. no longer noisy) ? ML already shows the noise floor on its raw histogram, and it also prints the dynamic range that can be captured with current settings. No need for a "growing" histogram for this.

- When the motion blur looks "just right"? A real-time preview of the stacked image will do this. A histogram (growing or not) will not show motion blur.

Are there other reasons (visible on the histogram) to stop the long exposure?

garry23

  • Contributor
  • Hero Member
  • *****
  • Posts: 1772
Re: Realtime Histogram
« Reply #6 on: July 06, 2019, 10:01:36 AM »
@a1ex

No.

You are correct and I am 100% wrong.

As I say, I’ll give the 4K route a go when I return from travels, and try and understand how to use mlv_dump  ;)

Cheers

Garry


garry23

  • Contributor
  • Hero Member
  • *****
  • Posts: 1772
Re: Realtime Histogram
« Reply #7 on: July 13, 2019, 10:39:28 AM »
I’m back from business travel now and wish to explore using 4K Raw video experimental branch to enhance my still photography ;)

‘All’ I wish to do is to use this branch to create an MLV video, using full res LV, and then merge the captured dnngs using, say, MLV_dump or photoshop to merge the captured dngs into a pseudo LE; as suggested by @a1ex in a previous post.

I have never used raw video, but have read several posts to get me going, but am a little confused regarding settings.

Bottom line: I would welcome some kind videographer giving me a hint at the simplest way to achieve what I’m try to do, ie what settings to use the raw video tools in ML to capture full res images, at say a 1s exposure, to then process in post.