photoshell / rawkit

ctypes based libraw bindings
https://rawkit.readthedocs.io/
MIT License
68 stars 21 forks source link

Add per-channel darkness option #46

Open SamWhited opened 9 years ago

SamWhited commented 9 years ago

Add an option for setting the black level per channel (libraw: user_cblack).

I've made this a separate issue from the normal options issue because we need to experiment with it and decide on an API. My first thought was that if you set darkness to a 3 or 4 tuple it knows to do it per channel, otherwise do it globally. However, the options may stack (addative?) and if so we might want to support both (or we could just leave that up to the user and do it the original way... if they want extra black per channel they can just add some ammount per channel, it's not that hard).

Thoughts? /cc @campaul

TL;DR —

raw.options.darkness = (1, 2, 3, 4)
# or raw.options.darkness = 1, but we can't do both together

or

raw.options.darkness = 1
raw.options.channel_darkness = (1, 2, 3, 4) # Why didn't we just do (2, 3, 4, 5) (if that's actually how this works)?

Possibly blocking on #51 depending on what we decide to do.

SamWhited commented 9 years ago

I double checked this today: user_cblack is a per-channel adjustment to the normal black level (it's relative, not absolute, so it will stack ontop of the default value).