+1

Am Fr., 12. Okt. 2018 um 09:00 Uhr schrieb rawfiner <rawfi...@gmail.com>:

> Hi
>
> I strongly agree that the order of modules should be more clear in the UI,
> and that the UI should guide the user more. I like the suggestion Aurélien
> made for this.
>
> Trying to follow the module order in the pipeline gives the best
> performance, as computations are done once.
> In addition, not following the module order turns into a nightmare if you
> use parametric mask: as soon as you modify a module which is earlier in
> pipeline, you have to redo your parametric masks.
> Currently, I do that by learning by heart which module comes after which
> module, which is not an ideal solution.
>
> Cheers,
> rawfiner
>
> Le jeudi 11 octobre 2018, Jason Polak <jpo...@jpolak.org> a écrit :
>
>> I have given a lot of thought about your idea, which is obviously very
>> well thought out. Thanks for having this discussion; at the very least,
>> it is making me examine editing carefully. Of course I am not a dev so I
>> don't make any decisions for darktable, so feel free to ignore this but
>> I have some thoughts to your process:
>>
>> 1. I don't think denoising should happen before sharpening/local
>> constrast. Here's why: I take a lot of noisy shots (typically an APS-C
>> camera at ISO3200 in the forest will make some noise). I have tried an
>> experiment of denoising before the sharpening. What happens here is that
>> if I denoise first, the later sharpening stage sometimes can enhance the
>> noise, or make the OOF area worse. It seems much more logical to me to
>> do the sharpening/equalizer enhancement before denoising. Only then can
>> I see what kind and how much denoising to apply. Moreover, your
>> suggested experiment with local contrast and denoising does not seem to
>> have much effect in a real-life scenario.
>>
>> 2.  However, to your credit, the use of the color balance module as you
>> suggested DOES work pretty well for portraits.
>>
>> To me it seems then that the fundamental problem then is: what is the
>> most efficient way to process a photo so that it goes from the flat Raw
>> image to something with the correct dynamic range and correct colours at
>> the same time with a minimal amount of editing? Is this the same for all
>> types of shots? And will changing the user interface help with this
>> process? Well I'm not sure...but at least I learned something new in
>> this discussion :)
>>
>> Jason
>>
>> On 2018-10-09 07:17 PM, Aurélien Pierre wrote:
>> > What I call "signal-processing" here are all the module intended to
>> > clean the data and turn an (always) damaged picture into what it is
>> > supposed to look like in theory. That is :
>> >
>> >  1. reconstructing missing parts (clipped highlights)
>> >  2. recovering the dynamic range (tonemapping)
>> >  3. reconstructing the damaged parts (denoising)
>> >  4. reverting the optical artefacts (vignette, CA, distorsion),
>> >  5. reverting the color inaccuracies (white balance and ICC color
>> >     correction).
>> >
>> > You think you can waltz around modules and do the retouch in the order
>> > you like. Well, you can, but that is asking for trouble.
>> >
>> > Take 2 examples :
>> >
>> > 1. Open a noisy image, turn on the laplacian local contrast, save a
>> > snapshot, then enable a heavy denoising, and compare the 2 outputs : in
>> > some case, the local contrast output will look harsher with denoising.
>> > That means you should fix the noise before setting the local contrast.
>> >
>> > 2. On a portrait photo done with a camera for which you have an enhanced
>> > matrix (basecurve = OFF), tweak the exposure until you get a nice
>> > contrast (Lmax = 100, Lmin = 0). Then, in the color balance, tweak the
>> > gamma factor to get the L_average on the face = 50. Save the snapshot.
>> > Now, disable the color balance, tweak the exposure again to get a dull
>> > image (fix Lmax = 96, Lmin = 18). Then, in the color balance, tweak the
>> > gain factor to get Lmax = 100, the lift factor to get Lmin = 0 and the
>> > gamma factor to get L_average on the face = 50. Which skin tones look
>> > the more natural and which has less out-of-gamut issues ? (spoiler alert
>> > : #2)
>> >
>> > Nobody will think of crushing the contrast first in the exposure module,
>> > then bring it up later in the pixelpipe, in order to get better colors,
>> > until he has seen the math going on inside… In fact, the autoexposure
>> > tool even lures you into doing the opposite.
>> >
>> > Because darktable is modular by nature, modules are fully independant
>> > and don't share data, but that leads to a fair amount of inconsistency.
>> > You can tweak the contrast and lightness in 8 different modules
>> > (exposure, contrast/saturation/lightness, tone curve, base curve, zone
>> > system, color balance, unbreak input profile, levels) and people may
>> > think they are equivalent, but they are not. I believe this
>> > inconsistency should be adressed from the UI.
>> >
>> > In order to get the color correction right, you need to input a
>> > well-behaved, dull-looking, image. So I want to put all the modules
>> > doing that (before the color correction) in a #1 tab, and say to the
>> > user : at the end of this tab, your image should look dull (not
>> > beautiful). If this is done, proceed to tab #2 and never go back.
>> >
>> > Between tabs #1 and #2 -> correct the colors on (now) valid data.
>> >
>> > In the tab #2, I want to put all the cleaning modules that can affect
>> > all upcoming local contrast ones, and say to the user : at the end of
>> > this tab, your image should look clean. If this is done, proceed to tab
>> > #3 and never go back.
>> >
>> > After tab #2, the image should be clean so do whatever you want and
>> > enjoy your artistic life. And more importantly, if tabs/steps #1 and #2
>> > are done properly, you can copy/paste the editing done in the following
>> > tabs from one picture to the other (almost) without any adjustement. So
>> > you gain in reproductibility.
>> >
>> > If you want your daily-needed modules close to you, you will still have
>> > the favorite tab. Currently, I bet they are mostly redundant with the
>> > basic modules for most of us.
>> >
>> > As for high-pass and sharpen modules, the maths inside are exactly the
>> > same : they are an unsharp masking
>> > <https://en.wikipedia.org/wiki/Unsharp_masking>. The sharpen module has
>> > just an hard-set overlay blending mode whereas the high-pass lets you
>> > choose.
>> >
>> > What do you think ?
>> >
>> > Aurélien.
>> >
>> > Le 09/10/2018 à 15:11, Jason Polak a écrit :
>> >>>   * in/out color profiles are stored in the color tabs, whereas they
>> are
>> >>>     "basic" in the sense they are needed from technical requirements
>> and
>> >>>     always on,
>> >> Yes they are needed, but I wouldn't want them cluttering up the 'basic'
>> >> group. If they have to be modified, it's likely to be not very often
>> and
>> >> then they can be found in the color group because they have to do with
>> >> color (at least, not coming from an image processing background, it
>> >> makes sense for them to be there).
>> >>
>> >>>   * signal-processing modules are mixed with creative ones
>> >> Do you mean highpass and lowpass? If so, I don't think it's really
>> >> strange. The highpass and lowpass modules create a sort of more
>> advanced
>> >> mask that could be used for sharpening, but they could also be used for
>> >> more creative effects by using different blend modes. Regular
>> sharpening
>> >> and equalizer seem like more basic corrective modules (sharpening is
>> >> typically because of anti-aliasing filters or softer lenses, equalizer
>> >> for microconstrast-to-macroconstrast adjustments.
>> >>
>> >> The creative group consists of modules that provide a little more
>> >> unusual effects that you might not really need for most shots but can
>> >> often radically alter the look of them, or else things like framing and
>> >> watermark.
>> >>
>> >>>   * you get sharpen in enhancements and high-pass in effects, but they
>> >>>     do exactly the same thing
>> >> Sharpening and highpass don't do exactly the same thing. In order for
>> >> the highpass module to actually do something like sharpening, you have
>> >> to combine its output with the image using a blend mode. If you use a
>> >> different blend mode, the result wouldn't just be what you might call
>> >> sharpening. Just try 'difference' blend mode for instance. You can
>> >> create funny effects with it that might actually have an occasional
>> use.
>> >>
>> >>>   * same for local-contrast and wavelet equalizer
>> >> I agree that this could be confusing, but here is some logic to it as
>> >> well. The local constrast module in 'local laplacian filter' mode has
>> >> sliders for how it operates on shadows, highlights, and midtones. It is
>> >> supposed to enhance by operating on these three brightness areas of an
>> >> image, whereas the equalizer more emphasizes the whole image all at
>> once.
>> >>
>> >>>   * same for the crop/flip and the perspective correction.
>> >> Perspective correction is supposed to correct converging lines caused
>> by
>> >> the placement of the sensor plane away from the plane of converging
>> >> lines. Crop isn't supposed to correct for anything. It's just taking
>> >> part of the image.
>> >>
>> >>> I mean, even with my own workflow set apart, I just think it would
>> make
>> >>> sense to separate technical and creative modules completely. And by
>> >>> technical, I mean everything related to image reconstruction and
>> >>> normalization (things you would do in Matlab). Especially since the
>> >>> technical modules mostly come early in the pipe, it would make sense
>> to
>> >>> have them grouped explicitely so that you set them first.
>> >> Look, I don't think the arrangement of modules is 100% perfect, and
>> >> certainly people will have different preferences. But I am also not
>> sure
>> >> why modules should be separated based on where they are in the
>> >> pixelpipe. The pixelpipe is just the order of how the modules are
>> >> applied and there are technical reasons for the pipe to be in a fixed
>> >> order.
>> >>
>> >> For example, in an image I processed today, 'defringe' comes before
>> >> 'equalizer' in the pixelpipe. But fringing is one of the last things I
>> >> think about when editing because I care a lot more about general
>> >> composition and look and feel.
>> >>
>> >> Jason
>> >>
>> ___________________________________________________________________________
>> >> darktable developer mailing list
>> >> to unsubscribe send a mail to
>> darktable-dev+unsubscr...@lists.darktable.org
>> >>
>> >
>> >
>> >
>> ___________________________________________________________________________
>> > darktable developer mailing list to unsubscribe send a mail to
>> > darktable-dev+unsubscr...@lists.darktable.org
>>
>> ___________________________________________________________________________
>> darktable developer mailing list
>> to unsubscribe send a mail to
>> darktable-dev+unsubscr...@lists.darktable.org
>>
>>
> ___________________________________________________________________________
> darktable developer mailing list to unsubscribe send a mail to
> darktable-dev+unsubscr...@lists.darktable.org
>

___________________________________________________________________________
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org

Reply via email to