How to split my collection in Darktable?

I have a few pretty big collections in Darktable – 500-1000 photos per collection – from when I was starting with all this. Now I’d like to get at least some of them in order, split them up into several theme-related collections.

Additionally, sometimes when I’m importing photos from my camera, I pull them all without dividing them by event.

Is this possible with an existing collection in Darktable, selecting several photos and moving them to a different, new collection? Or should I just move the files manually out of the collection folders?

How do I batch apply sidecar files to the corresponding photos by filename in darktable?

I have pretty much the opposite question to this one.

I recently needed to upgrade my computer. On my new computer, I still have all of the documents from my old computer, copied over in the same directory structure. This means that within my darktable working location, I have all of my original raw files, and all of my sidecar files (thankfully). Unfortunately, the fresh version of darktable doesn’t automatically know that, for example, IMG_1234.CR2.xmp should be applied to IMG_1234.CR2. So none of my previous developing and editing work shows up anymore.

Obviously, I could manually apply each sidecar file to its corresponding image file to get my edits back, but across thousands of photos, that would be tedious and error prone. Is there a way that I can automate this by filename across my whole photo collection from within darktable?

What I tried

For what it’s worth, I tried a couple things based on reading the online manual, but it didn’t quite do it. From section 2.2.7 Sidecar files:

Once an image has been imported into darktable the database entries take precedence over the XMP file. Subsequent changes to the XMP file by any other software are not visible to darktable – any changes get overwritten the next time darktable synchronizes the file. This behavior can be changed in the preferences dialog (see Section 8.2, “Core options”). On request darktable looks for updated XMP files at startup and offers a choice whether to update the database or overwrite the XMP file.

… and from section 8.2 Core options:


Check file modification times of all XMP files on startup to find out if any got updated in the meantime by some other software. If updated XMP files are found a menu opens for the user to decide which of the XMP files to be reloaded – replacing darktable’s database entries by the XMP file contents – and which of the XMP files to be overwritten by darktable’s database. Activating this option also causes darktable to check for text sidecar files that have been added after import time – see option “overlay txt sidecar over zoomed images” in Section 8.1, “GUI options” (default off).

I tried selecting the “LOOK FOR UPDATED XMP FILES ON STARTUP” option, then restarting darktable, but this only worked for one photo. I’m not sure, but I think it’s because the sidecar files are all from before the photos were imported into the new install, so darktable ignores them because it thinks they’re old.

Kludgy last ditch option

I’d prefer to find some way native to darktable to get this done, but failing all else, I might try the following from my base darktable working directory (I’m in a Linux environment):

for i in $(find . -name "*.xmp")
do touch $i

After this, I’d try the “LOOK FOR UPDATED XMP FILES ON STARTUP” option again. This approach makes me vaguely nervous.

jpeg – Why are thumbnails bad, when jpgs are good, with raw processed with darktable?

Your image contains an embedded color profile for “PQ Rec2020 RGB”. According to the Exif, Darktable appears to be the source of the profile. (See ExifTool output below.)

Some programs ignore embedded color profiles, which results in the washed out appearance of the thumbnails. For better results, select “sRGB (web-safe)” as the output profile for export. Be aware, there are two locations where the output profile may be set. One is set on a per image basis. The other is in the export options. Make sure they are both set correctly.

In the export settings, if you select “image settings” it should use whatever is set for each image. If you put something else, it would over-ride the image settings. Based on information you’ve provided at the Darktable github site, it appears the images were set for sRGB output, but the export was set for Rec2020, so Rec2020 over-rode the sRGB setting.

If you are meticulous about checking the per image settings, it would be fine to export to “image settings”. If you’re not sure, it’s safer to set it to “sRGB”. The only time I would use something else is for 16-bit TIFF output that I’d want to edit in another program. Then when done editing, I would still export to sRGB JPGs.

Another scenario in which it might make sense to export to a different profile is if you are absolutely certain all of your intended output devices are compatible with a different profile, and you either don’t care or are certain that everything else is properly color managed. If I were using 100% Apple devices and high-gamut monitors, I would consider using an Apple Display P3 profile, since that is what iPhone already uses by default. But it could cause problems similar to what you’ve experienced for non-Apple users (eg, images posted to social media).

If changing the output profile does not correct the issue, consider using a different raw-processing program, such as RawTherapee.

darktable sidebar
darktable export

Here is the output from ExifTool regarding the embedded profile of your image.

(ICC_Profile)   Profile CMM Type                : Little CMS
(ICC_Profile)   Profile Version                 : 2.1.0
(ICC_Profile)   Profile Class                   : Display Device Profile
(ICC_Profile)   Color Space Data                : RGB
(ICC_Profile)   Profile Connection Space        : XYZ
(ICC_Profile)   Profile Date Time               : 2020:09:23 19:05:34
(ICC_Profile)   Profile File Signature          : acsp
(ICC_Profile)   Primary Platform                : Apple Computer Inc.
(ICC_Profile)   CMM Flags                       : Embedded, Independent
(ICC_Profile)   Device Manufacturer             : 
(ICC_Profile)   Device Model                    : 
(ICC_Profile)   Device Attributes               : Reflective, Glossy, Positive, Color
(ICC_Profile)   Rendering Intent                : Perceptual
(ICC_Profile)   Connection Space Illuminant     : 0.9642 1 0.82491
(ICC_Profile)   Profile Creator                 : Little CMS
(ICC_Profile)   Profile ID                      : 0
(ICC_Profile)   Profile Description             : PQ Rec2020 RGB
(ICC_Profile)   Profile Copyright               : Public Domain
(ICC_Profile)   Media White Point               : 0.3127 0.32899 1
(ICC_Profile)   Chromatic Adaptation            : 1.04788 0.02292 -0.05022 0.02959 0.99048 -0.01707 -0.00925 0.01508 0.75168
(ICC_Profile)   Red Matrix Column               : 0.67348 0.27904 -0.00194
(ICC_Profile)   Blue Matrix Column              : 0.12505 0.04561 0.79684
(ICC_Profile)   Green Matrix Column             : 0.16566 0.67534 0.02998
(ICC_Profile)   Red Tone Reproduction Curve     : (Binary data 8204 bytes, use -b option to extract)
(ICC_Profile)   Green Tone Reproduction Curve   : (Binary data 8204 bytes, use -b option to extract)
(ICC_Profile)   Blue Tone Reproduction Curve    : (Binary data 8204 bytes, use -b option to extract)
(ICC_Profile)   Chromaticity Channels           : 3
(ICC_Profile)   Chromaticity Colorant           : Unknown (0)
(ICC_Profile)   Chromaticity Channel 1          : 0.70799 0.29201
(ICC_Profile)   Chromaticity Channel 2          : 0.17 0.797
(ICC_Profile)   Chromaticity Channel 3          : 0.131 0.04601
(ICC_Profile)   Media Black Point               : 0 0 0
(ICC_Profile)   Device Model Desc               : PQ Rec2020 RGB
(ICC_Profile)   Device Mfg Desc                 : Darktable

raw – After exporting from Darktable, I continue getting a message stating, “IMG…CR2 file is currently unavailable”

I’m about 2 weeks new to darktable. I (almost) successfully imported, edited & exported my current project. When I was done editing in darktable, I noticed that about 32 photos didn’t export into my designated folder on my desktop. When I go back in to export the remaining files, I continue getting a message stating, “IMG…CR2 file is currently unavailable”.

darktable – How to go back to a snapshot after moving elsewhere in history?

I was editing my photo in DarkTable.

I took a snapshot and then went back in the history and tried to use a different approach to editing my photo.

My new approach looked worse than the snapshot of my previous edits.

How can I now go back to the snapshot that I took and keep editing from there?

Kinda weird the manual doesn’t even mention it.

Darktable: zoom impacts exposure? – Photography Stack Exchange

I just have observed a strange behavior in Darktable (Fedora 32, darktable-3.2.1-1.fc32.x86_64): when looking at the image with ‘fit screen’, it is much darker than the 100% view. After saving the image in 16bit TIFF and opening it with GIMP, I can see that the 100% view is much closer to what GIMP shows.

More: in Darktable, going from 100% to fit screen gradually, I can see the image getting darker and darker.

Why is this? Mabye a config thing? A Bug?

Here you can see screenshots with the two views of Darktable, and the 10bit Tiff opened with GIMP:

enter image description here

raw – How do I generate linear output from darktable?

How do I use the basecurve in Darktable to make sure that the final output is linear? That is, if the irradiance E is received at the front lens, I want the pixel values in the final values to be k*E, where k is constant. Does the default curve compensate for any non-linearities, or is the input already assumed to be linear, so the curve should be used to create a certain look?

The purpose of the images are for textures, and I want to have a linear workflow all the way until the final render, where the appropriate curves should be applied.

In other words, a non-tonemapped image is required, such that the image may be used in other programs that expect linear images.

Darktable film rolls — how to remove a film roll from ‘collect images’?

There is indeed no remove button for film rolls in darktable; according to the program’s developers, this is a feature, not a bug.

You can remove a film roll, however, by opening the roll, selecting all photos in the roll and clicking ‘remove’ under ‘selected image(s)’ in the right-hand toolbar. This will remove those photos from darktable’s database but not delete the photos from your file system (if the latter outcome is desired, click ‘trash’ instead).

How to batch edit a collection of raw files in Darktable?

A useful feature which I have only just found is the ability to copy and paste with short cut keys as shown here darktable manual. I’ve spent too long right – clicking all over the interface for a context menu whist working on auto pilot….

  • ctrl + c – copy history stack

  • ctrl + v – paste history stack

  • ctrl + shift + c – copy partial history stack (a dialogue pops up with check box’s to allow selection of individual modules to copy)

  • ctrl + shift + v – paste partial history stack (dialogue box as above), can follow either copy action

To batch process –

  1. In the darkroom edit one image as required
  2. Select the image on the filmstrip at the bottom of the screen (ctrl + f to toggle on) if its the current image it will be highlighted in the centre of the strip.
  3. ctrl + c to copy the history stack
  4. Select the rest of the images in your batch on the filmstrip
  5. ctrl + v to paste the history stack
  6. Switch to the lighttable
  7. Select the images to be processed and have a cuppa whilst darktable chugs away on your batch!

Caution must be used with some modules which are dependent on the input given to them by the image such as white balance and lens corrections. They will copy and paste the actual module settings from the source image to the destination image ignoring exif data.


I have just noticed, though it might always have worked in this way, that as of darktable v3.0.2 if you were to follow steps 1 thru’ 4 then settle your mouse pointer over an image that is not in your batch, ie not selected but still highlighted, the paste is applied to that image not your selection.