Node-based image editing

Hello everybody!

I have been working on a personal project, a node-based image editor for still images.

It is still in an early stage but coming along quite nicely if I may say so myself.

The last week I spent mostly on integrating G’MIC. It still needs debugging, optimizations and testing but the basics work.

Here is a little video of how that looks like.

If you want to check it out, the application is free and open source and lives here: https://github.com/ttddee/Cascade

I’ll have a release with G’MIC included, hopefully soon :stuck_out_tongue:

Have a great weekend!

17 Likes

very nice! quick linux build instructions?

Sorry am on my phone right now. But basically you need: Qt, OpenImageIO, OpenColorIO, vulkan-headers, TBB and Gmic.

On Arch those are all available through the package manager, other distros probably too.

Then manually build QtAdvancedDocking, that’s a submodule. Like in the Windows instructions.

I’ll write some proper instructions the next days.

2 Likes

Any plans to integrate babl/(the back end for gimp)?

1 Like

@till G’MIC proper and its filters update regularly. If you allow the user to do both, I think you will have something compelling.

No plans yet. For IO and color space handling I am using OpenImageIO/OpenColorIO.

What functionality are you looking for?

Nothing specific, but I know that babl is node based on the backend and already provides a whole bunch of functions. I don’t have windows, so I can’t try this out yet, but it looks cool.

This already looks great ! Wonderful idea :slight_smile:

Does Cascade require additional libraries to be installed?
Cascade-0-1-5-Win10-x64 version starts fast - but I cannot display any type of image.
The cascade.log is attached.
With G’MIC it will be a great program. :wink:


cascade-log.zip (1,7 KB)

Hi, thanks for trying it out!

You need to press F4 to view the output of the node you have currently selected. Does that work?

Read: F4 - Switch between RGB output of selected node and alpha output. (switches View: Alpha output to RGB).
But I have nothing to edit - no image wants to be displayed and the screen will remain black all the time (except for blinking white at startup).
Thought Cascade might need the libraries: qt5 \ plugins \ imageformats ?

how did you implement the connectable nodes canvas ? in pure Qt ?

If you still get a black screen after selecting the Read Node and pressing F4 I’ll have to investigate what’s wrong. Your logs look fine. It might be a Radeon issue, I’ll see if I can reproduce that.

Yes it’s based on a QGraphicsView and the nodes are just items in that view.

1 Like

ok thank you! I have searched for something in Python in the mean time and have found this: https://github.com/wonderworks-software/PyFlow … which is backend agnostic (they have maya and 3dsmax backends already…)… Sorry I am bit off topic… Maybe I can do some 2d/3d generation with such a node-based framework some day, why not with gmic-py…

Sounds nice! It would also be straight forward to add a node in Cascade that lets you input a gmic command as text. Then these nodes could be chained together to create effects. Sort of like visual scripting.

1 Like

Yes this could even allow to generate audio or send an email etc…

I think you meant GEGL there :slight_smile:

Ah yes, I do, thanks.