Closed so-rose closed 7 years ago
The rawkit module might bring this closer to reality - a completely non-bash development method. This code works against openlut's IO system to develop 'test.dng' to 'devTest.exr' with everyday settings:
#devTest.py
import sys
sys.path.append('/home/sofus/subhome/src/openlut')
import openlut as ol
from rawkit.raw import Raw
from rawkit.options import WhiteBalance, interpolation
with Raw(filename='test.dng') as raw :
raw.options.white_balance = WhiteBalance(camera=False, auto=True)
raw.options.auto_brightness = False
raw.options.gamma = (1, 1)
raw.options.interpolation = interpolation.linear
raw.options.bps = 16
width = raw.metadata.width
height = raw.metadata.height
img = ol.ColMap.fromBinary(bytes(raw.to_buffer()), fmt="RGB", width=width, height=height)
img.save('devTest.exr')
A GUI would be nice. It would assemble a command, that would then run. A few problems:
I honestly think that this kind of endeavor would be best served by re implementing convmlv in Python/C++, partly to fix some longstanding bugs (like #3), partly for speed concerns, partly to make use of LibRAW (which is far less weird than dcraw), and to clean up bash code that currently only I can understand :).