Take care when reading this: I am potentially the most dangerous man you will encounter. This ‘way beyond 6-sigma’ claim is founded on the well-established principle of “a little learning is a dangerous thing”. My little learning in general is especially applicable to darktable, into the understanding of which I have invested a slow lock-down year of my time. The trouble is that when I have a hard-won nugget of learning in my hand and start to examine it in detail, it soon begins a process of catastrophic dis-integration, transforming itself remorselessly into particles small enough to merely slip out between my fat, dumb fingers, leaving just a ‘WTF’ moment behind.
Let me give you an example: learning a functionally comprehensive module in darktable. Only because it is what I am trying to learn right now, I’ll pick the Tone Equalizer (fear not, I haven’t forgotten color calibration or filmic RGB or the magic new retouch module, but one step at time, even if it is backwards into grue-infested twisty little passages, all different, in my mind. My simple mind says this is a powerful module, constructed by a powerful mind(s): just look at how many options, parameters, sliders and charts it has; why, it barely fits in the right hand border on my 4K monitor without vertical scrolling, when I find the necessary scroll-bar…… “Ignore the quality; just feel the width”, as they say – anyway it’s fun to switch repeatedly from masking tab to advanced tab to see where the mask is now (wait… what ?).
So I’ve watched a number of tutorial videos on the Tone Equalizer by generous, well skilled and well informed presenters and think I now have a nugget of learning. I return to the manual (3.4 markdown version), which, it has to be said loudly, without equivocation and right away, is pretty damned good. The author(s) is/are obviously well-educated, well read, logically thinking, articulate, fluent in colloquial English and properly informed about the subject matter in hand – maybe they are even subject matter experts – which is not always necessarily a requirement for a good manual writer (I used to manage such creators, once….). Sometimes manuals produced by great writers have this strange psychological property of bonding immediately with (most of) the intended audience, while being deeply impenetrable to the awkward few. It’s not the fault of the writer, but the reader (dyslexia for example). I am positioned prominently in the awkward few.
An illustration of the process of disintegration of learning, after reading the manual, to which I previously referred, lies in trying to understand when and why to choose a particular option for, or to set a variable in, this module. It is here, in my opinion, that the manual has a problem. Yes, I think I have, at the very least, an initial understanding of what the options, sliders, presets, sampling pipettes etc. in this module do, but under what circumstances, and to what extent, do I apply them? That part of the manual is either indistinct in my reading, or suffers from Microsoft’s latest entry in the ‘shoot self in foot response to having shot ones-self in the foot’ competition with printing support (q.v.) in Windows 10 and is thusly missing altogether.
Example 1: What characteristics of my image would drive me to select a particular luminance estimator? In fact I choose it by what appeals to me on the screen - totally defeating the intention of the developer and doing despite to all the thinking and mathematics he has put into the development. There must be a more definitive guide to option selection, surely?
Example 2: As for Example1, but with ‘preserve details’ replacing ‘luminance estimator’
Example 3: What characteristics of my image would drive me to set the various options for mask edge feathering or mask ‘opacity’ (i.e. filter diffusion, smoothing diameter, edges refinement/feathering, mask quantization or mask compensation)? Here, the technique of using the blindingly stupid approach of ‘what looks good’ doesn’t really work since these are all about effects on the mask, not effects directly on the image pixels. So, I need to know what sort of image characteristics require sharply defined masked edges, or require a dense rather than a diffuse mask, or require a uniform rather than piebald mask, and so on. Today I don’t have a clue what to look for that might drive the setting of all these mask properties.
I want to make a special mention of the need for more ‘recipe’ or ‘prescription’ based documentation to help with the difficulty I have in understanding how module parameters should be set in relation to image aspects which have the property of ‘frequency’ – whether in association with noise or tone or sharpness or what, but especially in connection with wavelets. With my strange relationship with words, I tend to think of frequency as the number of cycles of value that a property goes through in a unit of time. Aside from physical effects beyond my understanding, I think the colours shown by the pixels on my monitor don’t have a ‘frequency’ in the sense that the blue, for example, continually cycles back and forth between, say, Prussian Blue (whatever that is) and Wedgwood. No, in time, is is always the same blue.
So this frequency being talked about isn’t time based. I conclude therefore is is ‘place’ based (if I remember the difference between Lagrangian and Laplacian analysis from my maths courses in the late 50s). So, if I were sub-pixel sized and were able to venture across the surface of my image data-set, it might be that I have to journey across a number of pixels before I see any difference in a specific property of the pixels. But what degree of difference is significant? If these pixels exist in a 16-bit world, am I looking for a change of 1 in 65 thousand or am I looking for changes of all 16 bits - between 16 zeros and 16 ones - to include in my ‘frequency’ count? Is frequency therefore related to the distance between different pixels as a proportion of all the pixels in a given dimension, or is it related to the size of the changes in pixels’ values? Or is it a combination of both?
The bottom line of all this is that if the manual says apply parameters of ‘this’ type if the image has high frequency aspects or ‘that’ type if there is low frequency, then I’m lost: all the understanding has run away through the holes in my hands.
Is there any salvation?