Idea for a new dt module - Posterize

Wouldn’t such “special effects” be better off in G’MIC? The possibilities for effects are almost endless and would make darktable rather cluttered.

10 Likes

Great!, some comments!

@Juha_Lintula -
I want to promote Posterize of course!, but I’m not sure how it would help with your Pure B&W, where it seems to me placing the cut-off point is crucial. I remember seeing tools for doing this, maybe Photoshop a long time ago, perhaps Rawtherapee… high pass / low pass? Not sure.

When you say about fiddling with curves, you are referring to the use of RGB curves, right?

@flannelhead -
Looks good to me, thanks. I didn’t think through the hue aspect. So it’s more like dividing a circle into segments than a line into steps. And then specifying a rotational offset.

@Thomas_Do -
It saves the learning curve and inconvenience of using multiple apps.

You are right, it requires placing the cut-off where you want it. For a generic module, a number of steps would be a better approach, otherwise the UI would become too cluttered.

And to your question:

the answer is yes.

The cutoff adjustment (or a generic luminance offset adjustment) can be realized by placing an instance of the exposure module before the proposed posterization module.

1 Like

If you run windows you can do this I believe in picture window pro 8. I will check but it has a lot of features and a cool almost node like workflow with connections and branching…some elements of the GUI are non standard but it is written by one of the original lotus 123 creators and while not open source it is free…https://www.dl-c.com/

See page 121 or 122… @RawConvert it also has a posterize transform and step curve in the curves transform

EDIT sorry I forgot the link to the page reference… https://www.dl-c.com/Documents/Transformations.pdf

Almost equal as I post in Pure Black and White the posterize effect can be made easy with the tone curve and blurs modules. Personally I don’t think a new module (posterize) is needed. Maybe using G’MIC is better for that kind of effects, and darktable must be the link between the apps.

This is a screenshot of the posterize effect.

This is another sample more aggressive

Screenshot-20210922203441-446x612

Screenshot-20210922203449-443x606

1 Like

Well, that’s two modules to adjust just for starters.
The problem for me with curves is that you have to make a guess about the number/size of steps, then set them up by dragging points, and see what you get. If you then fancy fewer steps, say, you have to start again. It’s slow and cumbersome.
With a dedicated posterize module, you’d simply change the no. of steps from 4 to 3, say, and you’d quickly see the result. I’ve used posterize functions previously, and it’s quite an experimental process. It’s hard to guess what the result will be. You choose a photo that you think could become an interesting image with posterization, and experiment. Hence the desire to have various channels available for use, and of course the no. of levels.
Your first example is fine, with 7 levels. But you can’t quickly see what it would be like with say 5 levels. And from experience, it can be very different.
I know little about G’MIC but it seems to be a programming language essentially? I know it can do clever processing, but I (and I would guess many others) simply don’t want to get into that.

1 Like

So yes, sounds like easily adjustable black and white splitting could be achieved with 2 levels of posterize and the Exposure slider.

In case people think the smoothing looks difficult, I’m not imagining any curve fitting, just some simple smoothing along the lines -
Y(n) = .06y(n-2) + .14y(n-1) + .6y(n) + .14y(n+1) + .06y(n+2)
plus a control to choose from a handful of predetermined patterns of coefficients in order to give varying amounts of smoothing (perhaps).

G’MIC can be used that way, but it also exists as a plugin for e.g. GIMP and Krita. This may be an easier way to use it.

Also, I wonder if this kind of operations are really suitable for direct inclusion into darktable. darktable still presents itself as a program for raw development. Posterisation and such feel to me like they go way beyond that.

Just in case that a dev show interest in create a posterize module I made a Mock up with some parameters and integration with dt.

This is just an idea, maybe other parameters must be important too. I don’t know what other options can be place to improve the posterize effect.

@rvietor , the headline on darktable.org says “darktable is an open source photography workflow application and raw developer”. I think it’s a tricky question to say what that scope is. dt has modules which can arbitrarily change colours in an image. @anon41087856 has introduced colour grading and censorize (blocking out sensitive areas). @s7habo produces great images using the Bloom tool - Bloom example -

There’s also a module for putting a frame around your image.
You could have a long discussion about where “raw development” ends and general image processing begins.
I think the bottom line with posterize is that lots of users would get pleasure and satisfaction from it.

@difrkaguilar phew! that’s quite comprehensive! I’m glad you’re interested!
I think you’ll need to explain some of the inputs though!
It seems based around RGB. I’d seen it as having 3 channels and you choose what these are, like in tone curve, so the gui labels could be simply channel 1,2 & 3 rather than RGB. The channel choices at outset could be ? -
R G B or L a b or jz cz hz

I hope there will be interest in posterize and the devs will consider building it. Overall though, I think we should leave detailed design and gui to them.

1 Like

Can G’MIC be used as a plug-in to darktable, like GIMP? If not, perhaps that could be done.

I think there is huge mileage in making tools interoperate, rather than trying to make all tools do what some other tool can do.

Might need a source for that :slight_smile:
I have to admit my first thought was this sounded very niche. But if enough users want it, then that’s an argument for its inclusion. The majority of the special effects modules in DT can be used for raw development as well as creatively. Even liquify can be used to straighten a curved horizon.

If posterize also has a utilitarian function and not just a niche creative tool, then it would be another tool in the toolbox.

1 Like

Gimp is a raster app, darktable is a non-destructive editor. Having the whole stack of image filters recomputed on-the-fly on each and every pan/zoom, including Gmic filters if it happens, is going to be painfully slow. Also, Gmic doesn’t do OpenCL, so good luck with that.

Making all tools interoperate, while sounding good on paper, is only going to turn the slowest into performance bottlenecks for all the others. The ability to run anything on GPU is not really standard in FLOSS image apps.

1 Like

Do you or the devs have a view on how many dt users there are pls?

Nope! Impossible to say really.

@europlatus , Do you think the new Blurs module is niche?
Blurs “simulates physically-accurate blurs in scene-referred RGB space”
It looks pretty niche to me. There are already ways to blur photos in dt, and this module is not exactly exciting, simulating as it does effects that are usually considered a defect!

I still think there is mileage in a posterize module. It would allow people to be creative and experiment in dt with stuff like this -

It was exciting enough for a developer to spend effort for it. That’s what’s relevant :wink: