Technical Notes on the Ramping Algorithm

  • It's analyzing the thumbnail from each image to determine how much it's under or over exposed relative to the starting image, and then feeds that info to the ramping algorithm

  • The ramping algorithm then filters (removes any outliers) and integrates the exposure readings as they are passed to a tuned PID function for tracking

  • The PID tuning is split into two parts -- one set of tuning parameters for rising light levels, and a separate set for falling light levels. This allows the system to "lag" a little bit for sunset so that it feels like it's getting darker, and also lets it aggressively "over-respond" to sunrise preventing it from blowing out. 
  • Additionally, after the PID step, an offset is applied based on the overall exposure value, compensating by -1 stops (configurable) during the night and 0 stops during the day (and interpolating in between). This helps night feel like night. 
  • All of the parameters above will be user accessible, but the defaults should always work so unless a person is curious to experiment, it should not be necessary to adjust anything. Right now there's a total of 16 parameters it uses for tuning, but I'm going to try to abstract that to a "more responsive/less responsive" slider setting. Still, the current defaults are working wonderfully.