supplierdeeply

rawopint.lua: Fast, accurate intervalometer with raw exposure metering

  • 74 Replies
  • 10631 Views
Re: rawopint.lua: Fast, accurate intervalometer with raw exposure metering
« Reply #40 on: 28 / August / 2017, 03:00:59 »
Advertisements
This adds ND filter control for cameras that have both and adjustable aperture and ND filter.

If I remember correctly, it wasn’t possible to change the ND Filter while you are in ‘quick’ or ‘continuous’ running mode. Would this work on my G1x now?

Another think about rawopint:
I have some presets for rawopint. If I  use them on EOS M3, I got sometimes the error
error("meter step too small")
Yes I know, that has to do with the larger senor size.
But do you really have to make an error here? It’s not enough to make a warning or just increase the value to a minimum?
Does this value only affect the run time or does this makes internal overflows?

*

Offline reyalp

  • ******
  • 11443
Re: rawopint.lua: Fast, accurate intervalometer with raw exposure metering
« Reply #41 on: 28 / August / 2017, 03:17:27 »
If I remember correctly, it wasn’t possible to change the ND Filter while you are in ‘quick’ or ‘continuous’ running mode. Would this work on my G1x now?
Changing the ND works in continuous and quick on the cameras that I have with ND (g7x, d10, elph130).

rawopint previously didn't support controlling the ND on cameras with both ND and adjustable aperture, but that was because I hadn't come up with code to deal with the complications mentioned in my post, not because of a camera limit.

Quote
I have some presets for rawopint. If I  use them on EOS M3, I got sometimes the error
error("meter step too small")
Yes I know, that has to do with the larger senor size.
The 14 bit sensor is the biggest factor. See http://chdk.wikia.com/wiki/Lua/Raw_Hook_Operations#rawop.meter

rawopint could do something smarter, for example, break the meter up into smaller regions and average the results. A function that does this automatically would be a good addition to rawoplib, or perhaps the C code. I hadn't worried about this much because there was only on 14 bit camera, but now there are more...

edit:
It seems ND control may fail in quick mode on some cameras.
« Last Edit: 01 / September / 2017, 01:07:42 by reyalp »
Don't forget what the H stands for.

Re: rawopint.lua: Fast, accurate intervalometer with raw exposure metering
« Reply #42 on: 05 / September / 2017, 10:24:43 »
Just for understand how ND works on my cams with IRIS and ND filter (G1x and S110)

1) Sunset
In this case, I want that ND goes in after start
- I expect that TV goes to longest exposure time.
- Than ND goes out.
- Tv goes shorter
- Tv goes again to longest exposure time.
- Than ISO will increase

Script settings:

ui_nd_force_e= 1  => ND in
ui_nd_value = 284  => (G1x) because auto detected does not work
ui_tv_nd_thresh_s10k = ui_tv_max_s1k*10

If this is correct?
Why (ui_tv_max_s1k = Sec/1000) and (ui_tv_nd_thresh_s10k= Sec/10000) are different?

*

Offline reyalp

  • ******
  • 11443
Re: rawopint.lua: Fast, accurate intervalometer with raw exposure metering
« Reply #43 on: 05 / September / 2017, 14:02:12 »
Just for understand how ND works on my cams with IRIS and ND filter (G1x and S110)

1) Sunset
In this case, I want that ND goes in after start
- I expect that TV goes to longest exposure time.
- Than ND goes out.
- Tv goes shorter
- Tv goes again to longest exposure time.
- Than ISO will increase

Script settings:

ui_nd_force_e= 1  => ND in
Since these cameras have manual ND, setting it in the Canon UI should also work, and allow the initial exposure to be correct.

Quote
ui_nd_value = 284  => (G1x) because auto detected does not work
ui_tv_nd_thresh_s10k = ui_tv_max_s1k*10

If this is correct?
I haven't tested the case where ND thresh is exactly the same as Tv max. It might work, but I'd suggest testing. You might need to make the ND thesh at least slightly less then the tv max.
Quote
Why (ui_tv_max_s1k = Sec/1000) and (ui_tv_nd_thresh_s10k= Sec/10000) are different?
Because normal menu inputs only accept 5 digits, and I expect most people will want the ND at the short end of the exposure range (need to be able to enter something like 1/2000th), while max tv needs to allow the longest exposure anyone would reasonably use (> 10 seconds)

When I set this up, I wasn't thinking about people wanting to keep the ND for motion blur.

I know the x/n format and different scales is annoying, but I haven't come up with another way that allows sufficient flexibility within the limits of the script menu system. There is an option for "long" inputs, which would allow more consistent units but keeping track of the digits gets even more annoying.
Don't forget what the H stands for.


Re: rawopint.lua: Fast, accurate intervalometer with raw exposure metering
« Reply #44 on: 06 / September / 2017, 13:58:35 »
First run with ND on G1x. Looks like Tv goes to 2s and then ISO increases to 1000 (at 186). Than ISO goes to 160. Different as I expected but from motion blur it is better to keep the 2s.
But why ISO goes from 1000 to 160 and not from 800 to 100? Is this the Hysteresis?
You might need to make the ND thesh at least slightly less then the tv max.
I set tv_nd_thresh to 2s and tv_max to 2s? Did this make the difference?
At the point where ND goes out, there is no jump in meter. So, ND value from propset looks correct.

When I go to the picture review, the cam gives me the information, if ND is used. All pictures have the ND info so I guess that the cam doesn’t know that ND was switched out.

I'm happy with the run....  :)

*

Offline reyalp

  • ******
  • 11443
Re: rawopint.lua: Fast, accurate intervalometer with raw exposure metering
« Reply #45 on: 06 / September / 2017, 16:26:40 »
First run with ND on G1x. Looks like Tv goes to 2s and then ISO increases to 1000 (at 186). Than ISO goes to 160. Different as I expected but from motion blur it is better to keep the 2s.
But why ISO goes from 1000 to 160 and not from 800 to 100? Is this the Hysteresis?
You're right, I totally forgot about the hysteresis.

The effect is that the ND is put in when Tv would otherwise be shorter than Tv ND thresh, and after it is in, will only be put out when Tv is longer than Tv ND thresh + hysteresis value (in consistent units, which they aren't in the script UI.)

Since this means the ND should have only been removed when the exposure was below the limit, how did your run use the ND at all? In the calculation, all the exposure change starts on Tv, even if it's outside limits, and the calculation for ISO happens after the ND calculation. So the ND calculation still saw the Tv go longer than the ND limit, and it looks like it did the right thing, although I didn't really design it for this.

To avoid this, you could make ND thresh 1 second, hysteresis 1 stop, and then the ND should be removed at 2 seconds, and only put back in if tv goes shorter than 1 second. I chose 1 stop hysteresis here only because it makes the math simple, other values should be fine.
Quote
You might need to make the ND thesh at least slightly less then the tv max.
I set tv_nd_thresh to 2s and tv_max to 2s? Did this make the difference?
I said this because I'm lazy and didn't want to try to figure out which calculations use > or >= etc and how they might interact. In the example above, if you set ND thresh to 0.9 seconds then the ND will come out slightly above the absolute tv limit of 2 seconds (including the 1 stop hysteresis) and there should be no ambiguity. From an exposure point of view, the difference between changing the ND at ~1.9 or 2 sec is insignificant.
Don't forget what the H stands for.

Re: rawopint.lua: Fast, accurate intervalometer with raw exposure metering
« Reply #46 on: 07 / September / 2017, 03:41:17 »
Just a second run. Was made before I read you quote.
Different to first run is that this time v_nd_thresh is set to 1.9s instead 2s. And I run the script a little bit longer so ND goes out and in again.

Both tests were made with my test video which decreases my monitor from 255 to 0 and increases back to 255 again. I know that it is not linear from the viewpoint of exposure levels. Also the area around 0 (Monitor black) is not really accurate. But the video gives me reproducible results.

how did your run use the ND at all?
Before I start the script, I set ND in the Canon UI.

and it looks like it did the right thing, although I didn't really design it for this.
Of course…

To avoid this, you could make ND thresh 1 second, hysteresis 1 stop, and then the ND should be removed at 2 seconds,
I think its great how works now… :)
For example:
Sunset over the ocean. The exposure goes to 2s and smooths the waves. If now goes ND out and exposure would go to 0.5s that would be probably more noticeable as the ISO jump from 800 to 100. Since G1x has no problem at ISO 320 anymore it’s perfect (Not sure how the status is for S110 and SX50).

I do not know if that makes sense:
Sometimes (when I’m traveling) I’m using the ‘HOSTLUA’ environment. Unfortunately the 'rawoplib' will not be supported. I tried to implement these functions with simply returns but haven’t finished yet. Would the
Simulation mode run in this  environment ?(ui_sim=true "Run simulation")


*

Offline reyalp

  • ******
  • 11443
Re: rawopint.lua: Fast, accurate intervalometer with raw exposure metering
« Reply #47 on: 07 / September / 2017, 13:41:46 »
Quote
how did your run use the ND at all?
Before I start the script, I set ND in the Canon UI.

Sorry, that was a poorly worded rhetorical question. What I meant (and explained in the following text) was: Given that the Tv (+ hysteresis value) where the ND was supposed to be put out was longer than the maximum, why did the ND go out at all?

Quote
Sometimes (when I’m traveling) I’m using the ‘HOSTLUA’ environment. Unfortunately the 'rawoplib' will not be supported. I tried to implement these functions with simply returns but haven’t finished yet.
That would be a lot to implement...
Quote
Would the
Simulation mode run in this  environment ?(ui_sim=true "Run simulation")
I haven't kept the code up to date, so right now it doesn't work at all. If it was fixed, you would need less of rawop, but (without looking) I think you might still need the raw/APEX conversion functions, which might be difficult without floating point.
Don't forget what the H stands for.


Re: rawopint.lua: Fast, accurate intervalometer with raw exposure metering
« Reply #48 on: 07 / September / 2017, 14:23:04 »
Sorry, that was a poorly worded rhetorical question. What I meant (and explained in the following text) was: Given that the Tv (+ hysteresis value) where the ND was supposed to be put out was longer than the maximum, why did the ND go out at all?
 
Ok understood. You think ND should never go out because Tv goes never over Tv + hysteresis….
The whole stuff gets really complicated also with tv_sv_adj which is also set to 2s…

That would be a lot to implement...

Just an idea … I wrote my fist simple time-lapse script with basic histogram complete in the ‘HOSTLUA’ environment by reading values from a file…

Re: rawopint.lua: Fast, accurate intervalometer with raw exposure metering
« Reply #49 on: 03 / October / 2017, 16:00:13 »
Hi,

A question to the developers:

I tried setting the Interval to 600 (* 1/10 s -> one picture every 60 seconds), with Shots set to 0 (unlimited), but the camera only took one picture.

I take plenty of time lapse in continuous mode with the Interval set to 0, so it 's not the camera, and possibly not me, but what might be standing in the way between wanting a shot/minute and getting it done?

BTW is there a way of reading/setting menu values on the card?

Cheers, Lee

 

Related Topics