I've been working to learn the new scene-referred (linear RGB) workflow introduced in recent versions of Darktable with the filmic rgb module. After watching some of the excellent videos by Aurélien Pierre and Bruce Williams, reading the filmic faq and this thread, and reviewing the list of which modules to use, I think I finally have a good understanding of how to apply this new workflow.
After entering the darkroom mode, hit Shift+O to check raw overexposure (this is what filmic rgb's reconstruction will focus on); if there are clipped highlights in the raw (as seen above with the light), consider enabling the highlight reconstruction module in addition to the reconstruction that filmic rgb will provide; hit Shift+O to stop showing the raw overexposure. Note: raw overexposure will not change based on the adjustments you make to the exposure below.
Now, use the white balance module to adjust the white balance if needed. Enable haze removal and/or lens correction if necessary for this scene.
Hit Ctrl+B to show the color assessment window (and ensure you're using the grey theme). On the exposure module, use the exposure slider to increase the midtones until they look good relative to the grey background (which is roughly 18% grey); similarly, adjust the highlights so that they look good relative to the white border. If you have trouble matching the midtones to the grey background, consider enabling the monochrome module temporarily while making this adjustment.
Do not worry about the highlights or shadows seeming to be clipped (we will pull those back shortly). You'll likely not need to adjust other sliders on this module.
Shadows and Highlights Exposure
On the filmic rgb module, use the white relative exposure and black relative exposure sliders on the scene tab to adjust the highlights and shadows respectively to recover clipped areas. Use the reconstruct tab to recover the raw overexposed highlights from the beginning (if there were any).
Contrast and Saturation
On the look tab, adjust contrast using the contrast and latitude sliders. Adjust midtone saturation using the middle tones saturation slider as needed to boost saturation.
Hit O to show clipping for the adjusted image; refine values based on clipping and hit O again to hide when done. Note that the current version of the over/under exposure indicator is showing a mixture of luminance clipping and gamut clipping. As noted here, it would be better to show just luminance clipping when adjusting the exposure; this feature is coming in the next Darktable release. You may also want to adjust the lower and upper thresholds to values closer to 0% and 100% since data in this range is still valid (not really clipped). Again, this will be improved in the next Darktable release.
In the case of this image, I want to push down the shadows to make the sky uniform and a dark black, so I am not concerned about the clipping seen here. Finally, hit Ctrl+B to hide the color assessment window.
Perform additional adjustments such as cleaning up noise, enhancing local contrast, and color adjustments:
- enable denoise (profiled) if necessary to correct noise (the default settings using mode set to non-local means should handle both chroma and luma noise). You could also use raw denoise if necessary but prefer denoise (profiled). For working with persistent noise, try setting the demosaicing method in the demosaic module to AMaZE (slow)
- enable local contrast to increase contrast and detail
- for adjusting color, use color balance with a mask to operate on the area of interest. Alternatively, use color zones
- for converting to black and white, use lut 3d with a black and white LUT
- for fine-tuning exposure in part of the image, use tone equalizer (don't forget to set mask exposure compensation and mask contrast compensation before making adjustments); see this tutorial for details
- for these specific issues, use chromatic aberrations, hot pixels (this image has many red hot pixels in the sky), or retouch
We now arrive at the final image as seen above. For reference, the comparison below shows the difference between a LAB-based workflow that I used to use using the tone curve module (left) and the new linear RGB mode using filmic rgb (right):