After fiddling a bit and learning from my mistakes I now know the following things:
You must specify a module to keyframe. Only one module can be specified at a time, so if you want to keyframe both exposure and white balance (called ‘temperature’ here) you need to run dtlapse twice.
All the images (not only the keyframes) must have existing xmp files.
The first and last images of a series must be keyframes (yes, it’s in the readme but I managed to screw it up anyway )
All the keyframes must have the module you are keyframing enabled. Even if for example your exposure correction is zero for that image. For the rest of the images enabling is not necessary.
Besides Filmic (to be expected) also the Exposure module keyframing does not work with 3.2.0 yet. Unpacking the struct fails because there is now an extra parameter.
the --xmps parameter may only contain xmp files, other types are not filtered. You have to use ‘find -iname ".xmp" ’ or '/.xmp’ to isolate them.
Thank you, those are very good points!
I will add them to the documentation.
That’s the stuff I didn’t see anymore because I’m so used to it. It’s really nice that you pointed that out!
Also, I might need to rewrite the documentation, it’s pretty cluttered right now. Next would be to improve the XML code, because I’m quite sure that I’m not doing it right (although it works). Then it would be nice to refactor the whole thing into separate modules and classes
suppose you have all your timelapse pictures (and nothing else) in one folder, e.g. /path/to/my/timelapse.
Then you just do this:
$ cd /path/to/my/timelapse
$ darktable .
# or
$ darktable *.arw # *.nef *.cr2 or what you're using
# edit edit edit
$ dtlapse.py ${operation} --xmps *.xmp # --plot --smooth --window --order etc
$ darktable . # or ..
Practical tips:
Use shell globbing. I leave the sequence number in my RAW files, so I can do something like this:
(zsh) $ dtlapse.py ${operation} --xmps *{0000..0200}.xmp
If darktable is acting strangly or overwrites your XMPs, run it without the database: darktable --library :memory:
If you have used more than one module and need to run dtlapse multiple times, use a for loop:
for op in exposure temperature filmicrgb; do
dtlapse ${op} --xmps ${xmps}
done
I saw your updated docs, I will read through them later this week to see if I have more questions
Two more things: I wrote a .json file for the tone equalizer module. I plan on expanding it and I made a PR on your gitlab. Someone else has also added modules!
And secondly: The ‘eval’ parsing for iops was broken by the addition of modversion. I don’t speak python well enough to fix it, but I started an issue on GL (not sure if you have seen it) and I thought I would mention it here as well.
Under my home directory on all my little linux boxes, I make a bin directory and add that to the PATH. When I write a script or some one-off program, I put it in the ~/bin directory and I can then run it from any shell I have open.
I’m sorry you’re having so much trouble
I’m in the process of packaging the program for pypi so it should become way easier to get up and running. Thank you for sticking to it!
Oh, don’t worry about it. I’m sure the instructions are clear for most Linux users, unfortunately I am still in the early stages of learning. I am up and running now!
I have a question about capturing the images if that’s OK? During the shoot, do you make adjustments to exposure as the light changes to not loose shadows or highlights?
The simplest method is to use the aperture mode and automatic ISO. That way you’ll set your aperture to a fixed value (E.g. F8) and the camera adjusts the exposure and if the exposure gets too long (on my camera that’s configurable) adjust the ISO. For that method I usually use an EV -1.0 to prevent highlight blowout. Shadows can usually be recovered pretty well.
That’s the (imo) easiest method if your camera supports A-mode and auto-ISO with a maximum exposure time.
A little bit more convoluted is the second approach. Use shutter mode and a variable ND filter with auto ISO. The pitfall here is that variable NDs show a strong “cross” when you turn them to far. Also, most camera’s will just use maximum aperture (e.g. F22 or so) in shutter mode which you also want to avoid because of difraction. I’ve had limited success with this method.
The third approach would be to go fully manual, meaning that you adjust exposure, ISO and aperture manually when required. The backdraw is that you have to touch your camera, every time risking to shake it. You will see even minimal movements later in the footage. My cameras have very tight knobs to turn, so I avoid that method. Also, when it’s cold outside it’s even harder with trembling fingers. And if you’re using a slider or so then you shouldn’t touch your camera at all.
Method number four would be to use a software qdslrdashboard. I haven’t tried it (extensively) yet, but from what I read it looks promising. Backdraw would be higher power consumption which is prohibitive when you are on a multi-day trip without grid access (e.g. backcountry or mountain hike)
Finally you could use a dedicated device like the Timelapse View+ sold by an NZ company. I don’t know much about it, because it sells for around $400.
I am definitely flattered about Jochen’s work and will try it out after the current heatwave with my Neowise TL-shots. Exposure (hopefully the automatic mode is working) and WB is already huge improvement, especially for holy grail shots, where night-time-compensation (NTC) is used.
I also appreciate the maturity of LRTimlapse and hence I hope one day dt could reach compatibility level, which we got a huge step closer with the new introspection from @dterrahe, if I understood this correctly. Hence I am still on for my article
I just did pip install dtlapse and cannot wait, weather getting more normal again